room-details: Use glib::Variant macro
This commit is contained in:
parent
da91255fd5
commit
1bac6724ad
|
@ -16,7 +16,7 @@ pub use self::{
|
|||
};
|
||||
use crate::session::model::Room;
|
||||
|
||||
#[derive(Debug, Hash, Eq, PartialEq, Clone, Copy)]
|
||||
#[derive(Debug, Hash, Eq, PartialEq, Clone, Copy, glib::Variant)]
|
||||
pub enum SubpageName {
|
||||
Members,
|
||||
Invite,
|
||||
|
@ -25,25 +25,6 @@ pub enum SubpageName {
|
|||
AudioHistory,
|
||||
}
|
||||
|
||||
impl glib::variant::StaticVariantType for SubpageName {
|
||||
fn static_variant_type() -> std::borrow::Cow<'static, glib::VariantTy> {
|
||||
String::static_variant_type()
|
||||
}
|
||||
}
|
||||
|
||||
impl glib::variant::FromVariant for SubpageName {
|
||||
fn from_variant(variant: &glib::variant::Variant) -> Option<Self> {
|
||||
match variant.str()? {
|
||||
"members" => Some(Self::Members),
|
||||
"invite" => Some(Self::Invite),
|
||||
"media-history" => Some(Self::MediaHistory),
|
||||
"file-history" => Some(Self::FileHistory),
|
||||
"audio-history" => Some(Self::AudioHistory),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mod imp {
|
||||
use std::{cell::RefCell, collections::HashMap};
|
||||
|
||||
|
|
Loading…
Reference in New Issue