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;
|
use crate::session::model::Room;
|
||||||
|
|
||||||
#[derive(Debug, Hash, Eq, PartialEq, Clone, Copy)]
|
#[derive(Debug, Hash, Eq, PartialEq, Clone, Copy, glib::Variant)]
|
||||||
pub enum SubpageName {
|
pub enum SubpageName {
|
||||||
Members,
|
Members,
|
||||||
Invite,
|
Invite,
|
||||||
|
@ -25,25 +25,6 @@ pub enum SubpageName {
|
||||||
AudioHistory,
|
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 {
|
mod imp {
|
||||||
use std::{cell::RefCell, collections::HashMap};
|
use std::{cell::RefCell, collections::HashMap};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue