From a57c0c87012b1364689ccf23f404523aa5949238 Mon Sep 17 00:00:00 2001 From: takotori Date: Mon, 11 Dec 2023 15:51:29 +0100 Subject: [PATCH] make savedwifientry consistent with other entries --- src/components/wifi/saved_wifi_entry.rs | 31 +++++++++---- src/components/wifi/saved_wifi_entry_impl.rs | 6 --- src/resources/resetSavedWifiEntry.ui | 32 -------------- src/resources/resetUI.cmb | 46 ++++++++++---------- 4 files changed, 46 insertions(+), 69 deletions(-) diff --git a/src/components/wifi/saved_wifi_entry.rs b/src/components/wifi/saved_wifi_entry.rs index 8143399..00db4fa 100644 --- a/src/components/wifi/saved_wifi_entry.rs +++ b/src/components/wifi/saved_wifi_entry.rs @@ -4,18 +4,18 @@ use crate::components::wifi::saved_wifi_entry_impl; use crate::components::wifi::wifi_box_impl::WifiBox; use adw::glib; use adw::glib::Object; -use adw::prelude::{ButtonExt, WidgetExt}; +use adw::prelude::{ActionRowExt, ButtonExt, PreferencesRowExt, WidgetExt}; use dbus::blocking::Connection; use dbus::{Error, Path}; use glib::subclass::types::ObjectSubclassIsExt; use glib::{clone, PropertySet}; -use gtk::gio; -use gtk::prelude::ListBoxRowExt; +use gtk::{Align, Button, gio, Orientation}; +use gtk::prelude::{BoxExt, ListBoxRowExt}; glib::wrapper! { pub struct SavedWifiEntry(ObjectSubclass) @extends adw::ActionRow, gtk::Widget, - @implements gtk::Accessible, gtk::Buildable, gtk::Actionable, gtk::ConstraintTarget, gtk::ListBoxRow; + @implements gtk::Accessible, gtk::Buildable, gtk::Actionable, gtk::ConstraintTarget, adw::PreferencesRow, gtk::ListBoxRow; } impl SavedWifiEntry { @@ -24,7 +24,24 @@ impl SavedWifiEntry { entry.set_activatable(false); let entry_imp = entry.imp(); - entry_imp.reset_edit_saved_wifi_button.connect_clicked( + entry.set_title(name); + entry_imp.reset_connection_path.set(path); + + let edit_button = Button::builder() + .icon_name("document-edit-symbolic") + .valign(Align::Center) + .build(); + let delete_button = Button::builder() + .icon_name("user-trash-symbolic") + .valign(Align::Center) + .build(); + + let suffix_box = gtk::Box::new(Orientation::Horizontal, 5); + suffix_box.append(&edit_button); + suffix_box.append(&delete_button); + entry.add_suffix(&suffix_box); + + edit_button.connect_clicked( clone!(@ weak entry_imp, @ weak wifi_box => move |_| { // TODO accesspoint has to be saved somewhere i guess // let _option = getConnectionSettings(entryImp.accessPoint.borrow().associated_connection.clone()); @@ -32,9 +49,7 @@ impl SavedWifiEntry { }), ); - entry_imp.reset_saved_wifi_label.set_text(name); - entry_imp.reset_connection_path.set(path); - entry_imp.reset_delete_saved_wifi_button.connect_clicked( + delete_button.connect_clicked( clone!(@weak entry as entry => move |_| { delete_connection(entry.imp().reset_connection_path.take()); // TODO handle error diff --git a/src/components/wifi/saved_wifi_entry_impl.rs b/src/components/wifi/saved_wifi_entry_impl.rs index ddf93f3..6317fd9 100644 --- a/src/components/wifi/saved_wifi_entry_impl.rs +++ b/src/components/wifi/saved_wifi_entry_impl.rs @@ -13,12 +13,6 @@ use super::saved_wifi_entry; #[derive(Default, CompositeTemplate)] #[template(resource = "/org/Xetibo/ReSet/resetSavedWifiEntry.ui")] pub struct SavedWifiEntry { - #[template_child] - pub reset_delete_saved_wifi_button: TemplateChild