Browse Source

misc: Remove num_enum dependency

Use the glib::Variant derive macro instead if needed
merge-requests/1327/merge
Kévin Commaille 3 years ago
parent
commit
640b286cb6
No known key found for this signature in database
GPG Key ID: DD507DAE96E8245C
  1. 22
      Cargo.lock
  2. 1
      Cargo.toml
  3. 8
      src/session/content/room_details/member_page/members_list_view/membership_subpage_row.rs
  4. 4
      src/session/content/room_details/member_page/mod.rs
  5. 6
      src/session/room/member.rs
  6. 5
      src/session/room/room_type.rs

22
Cargo.lock generated

@ -1259,7 +1259,6 @@ dependencies = [
"matrix-sdk-sled",
"mime",
"mime_guess",
"num_enum",
"once_cell",
"oo7",
"pulldown-cmark",
@ -3284,27 +3283,6 @@ dependencies = [
"libc",
]
[[package]]
name = "num_enum"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
dependencies = [
"num_enum_derive",
]
[[package]]
name = "num_enum_derive"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "objc"
version = "0.2.7"

1
Cargo.toml

@ -45,7 +45,6 @@ indexmap = "1"
log = "0.4"
mime = "0.3"
mime_guess = "2"
num_enum = "0.5"
once_cell = "1"
oo7 = { version = "0.1", default-features = false, features = [
"native_crypto",

8
src/session/content/room_details/member_page/members_list_view/membership_subpage_row.rs

@ -79,10 +79,10 @@ mod imp {
.connect_released(clone!(@weak obj => move |_, _, _, _| {
if let Some(item) = obj.item() {
obj.activate_action(
"members.subpage",
Some(&(item.state() as u32).to_variant()),
)
.unwrap();
"members.subpage",
Some(&item.state().to_variant()),
)
.unwrap();
}
}));

4
src/session/content/room_details/member_page/mod.rs

@ -71,9 +71,7 @@ mod imp {
});
klass.install_action("members.subpage", Some("u"), move |widget, _, param| {
let state = param
.and_then(|variant| variant.get::<u32>())
.and_then(|u| Membership::try_from(u).ok());
let state = param.and_then(|variant| variant.get::<Membership>());
if let Some(state) = state {
widget.set_state(state);

6
src/session/room/member.rs

@ -10,7 +10,6 @@ use matrix_sdk::{
OwnedMxcUri, UserId,
},
};
use num_enum::{IntoPrimitive, TryFromPrimitive};
use crate::{
prelude::*,
@ -23,9 +22,8 @@ use crate::{
},
};
#[derive(
Debug, Default, Hash, Eq, PartialEq, Clone, Copy, glib::Enum, IntoPrimitive, TryFromPrimitive,
)]
#[derive(Debug, Default, Hash, Eq, PartialEq, Clone, Copy, glib::Enum, glib::Variant)]
#[variant_enum(repr)]
#[repr(u32)]
#[enum_type(name = "Membership")]
pub enum Membership {

5
src/session/room/room_type.rs

@ -1,15 +1,12 @@
use std::fmt;
use gtk::glib;
use num_enum::{IntoPrimitive, TryFromPrimitive};
use crate::session::sidebar::CategoryType;
// TODO: do we also want custom tags support?
// See https://spec.matrix.org/v1.2/client-server-api/#room-tagging
#[derive(
Debug, Default, Hash, Eq, PartialEq, Clone, Copy, glib::Enum, IntoPrimitive, TryFromPrimitive,
)]
#[derive(Debug, Default, Hash, Eq, PartialEq, Clone, Copy, glib::Enum)]
#[repr(u32)]
#[enum_type(name = "RoomType")]
pub enum RoomType {

Loading…
Cancel
Save