room-details: Use glib::Variant macro

This commit is contained in:
Kévin Commaille 2023-12-22 15:15:36 +01:00
parent da91255fd5
commit 1bac6724ad
No known key found for this signature in database
GPG Key ID: 29A48C1F03620416
1 changed files with 1 additions and 20 deletions

View File

@ -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};