From 0695f4eb9abca5bf031e1a7b9a36bcc8752a375d Mon Sep 17 00:00:00 2001 From: takotori Date: Sun, 29 Oct 2023 12:50:19 +0100 Subject: [PATCH] Add poopover menu functionality --- src/components/window/mod.rs | 18 ++++++------- src/components/window/window.rs | 4 +-- src/resources/resetMainWindow.ui | 43 +++++++++++++++++++++++++++++--- 3 files changed, 49 insertions(+), 16 deletions(-) diff --git a/src/components/window/mod.rs b/src/components/window/mod.rs index cd95fe7..4d9914b 100644 --- a/src/components/window/mod.rs +++ b/src/components/window/mod.rs @@ -7,7 +7,6 @@ use glib::Object; use gtk::{Application, FlowBox, gio, glib}; use gtk::prelude::*; -use crate::components::wifi::WifiBox; use crate::components::window::handleSidebarClick::{ HANDLE_AUDIO_CLICK, HANDLE_BLUETOOTH_CLICK, HANDLE_CONNECTIVITY_CLICK, HANDLE_MICROPHONE_CLICK, HANDLE_VOLUME_CLICK, HANDLE_VPN_CLICK, HANDLE_WIFI_CLICK, @@ -41,15 +40,14 @@ impl Window { let selfImp = self.imp(); selfImp.resetSearchEntry.connect_search_changed(clone!(@ weak self as window => move |_| { - window.filterList(); + window.filterList(); })); selfImp.resetSideBarToggle.connect_clicked(clone!(@ weak self as window => move |_| { - window.toggleSidebar(); + window.toggleSidebar(); })); - selfImp.resetSidebarList - .connect_row_activated(clone!(@ weak selfImp as flowbox => move |_, y| { + selfImp.resetSidebarList.connect_row_activated(clone!(@ weak selfImp as flowbox => move |_, y| { let result = y.downcast_ref::().unwrap(); let clickEvent = result.imp().onClickEvent.borrow().onClickEvent; (clickEvent)(flowbox.resetMain.get()); @@ -59,15 +57,15 @@ impl Window { window.close(); })); - selfImp.resetMenu.connect_clicked(|_| { - WifiBox::donotdisturb(); - }); + // selfImp.resetMenu.connect_clicked(|_| { + // WifiBox::donotdisturb(); + // + // }); } fn handleDynamicSidebar(&self) { let selfImp = self.imp(); - selfImp.resetSidebarBreakpoint - .set_condition(BreakpointCondition::parse("max-width: 500sp").as_ref().ok()); + selfImp.resetSidebarBreakpoint.set_condition(BreakpointCondition::parse("max-width: 500sp").as_ref().ok()); selfImp.resetSidebarBreakpoint.add_setter( &Object::from(selfImp.resetOverlaySplitView.get()), "collapsed", diff --git a/src/components/window/window.rs b/src/components/window/window.rs index 13b8dc2..bc42a89 100644 --- a/src/components/window/window.rs +++ b/src/components/window/window.rs @@ -3,7 +3,7 @@ use adw::subclass::prelude::AdwApplicationWindowImpl; use adw::{Breakpoint, OverlaySplitView}; use glib::subclass::InitializingObject; use gtk::subclass::prelude::*; -use gtk::{glib, Box, Button, CompositeTemplate, FlowBox, ListBox, SearchEntry}; +use gtk::{glib, Box, Button, CompositeTemplate, FlowBox, ListBox, SearchEntry, PopoverMenu}; use std::cell::RefCell; use crate::components::wifi::WifiBox; @@ -28,7 +28,7 @@ pub struct Window { #[template_child] pub resetPath: TemplateChild, #[template_child] - pub resetMenu: TemplateChild