From 70c9895ba53806a7084dd2421a35fefcd8a24f6d Mon Sep 17 00:00:00 2001 From: takotori Date: Thu, 2 Nov 2023 16:31:32 +0100 Subject: [PATCH 01/11] Add scrollbar to sidebar and flowbox Set minimum height of scrolledwindow to 100 --- src/resources/resetBluetooth.ui | 4 ++- src/resources/resetMainWindow.ui | 33 ++++++++++++++---------- src/resources/resetUI.cmb | 44 +++++++++++++++++--------------- src/resources/resetWiFi.ui | 1 + 4 files changed, 48 insertions(+), 34 deletions(-) diff --git a/src/resources/resetBluetooth.ui b/src/resources/resetBluetooth.ui index 5c09e6e..ed88a67 100644 --- a/src/resources/resetBluetooth.ui +++ b/src/resources/resetBluetooth.ui @@ -48,12 +48,13 @@ start right - Available device + Available devices 5 + 100 True @@ -87,6 +88,7 @@ + 100 True diff --git a/src/resources/resetMainWindow.ui b/src/resources/resetMainWindow.ui index 63ff7af..60ae5ab 100644 --- a/src/resources/resetMainWindow.ui +++ b/src/resources/resetMainWindow.ui @@ -97,14 +97,23 @@ - - 25 - True - True - 5 - 25 - none - start + + True + + + + + 25 + True + True + 5 + 25 + none + start + + + + @@ -129,12 +138,10 @@ - - 5 + + True - - vertical - 150 + resetList diff --git a/src/resources/resetUI.cmb b/src/resources/resetUI.cmb index 3288001..8d41e21 100644 --- a/src/resources/resetUI.cmb +++ b/src/resources/resetUI.cmb @@ -21,16 +21,12 @@ (3,18,"GtkBox",None,2,None,None,None,-1,None), (3,19,"GtkWindowHandle",None,18,None,None,None,None,None), (3,20,"GtkSearchEntry","resetSearchEntry",19,None,None,None,None,None), - (3,21,"GtkViewport",None,18,None,None,None,1,None), - (3,22,"GtkBox",None,21,None,None,None,None,None), - (3,23,"GtkListBox","resetSidebarList",22,None,None,None,None,None), (3,24,"GtkWindowHandle",None,3,None,None,None,None,None), (3,25,"GtkBox",None,24,None,None,None,None,None), (3,26,"GtkButton","resetSideBarToggle",25,None,None,None,None,None), (3,27,"GtkButton","resetBack",25,None,None,None,1,None), (3,28,"GtkButton","resetForward",25,None,None,None,2,None), (3,31,"GtkButton","resetClose",25,None,None,None,5,None), - (3,32,"GtkFlowBox","resetMain",3,None,None,None,1,None), (3,33,"GtkMenuButton",None,25,None,None,None,4,None), (3,34,"GtkBox","resetPath",25,None,None,None,3,None), (3,35,"GtkPopoverMenu","resetPopoverMenu",33,None,None,None,-1,None), @@ -38,6 +34,12 @@ (3,37,"GtkButton",None,36,None,None,None,None,None), (3,38,"GtkButton",None,36,None,None,None,1,None), (3,39,"GtkButton","resetAboutButton",36,None,None,None,2,None), + (3,40,"GtkScrolledWindow",None,18,None,None,None,1,None), + (3,41,"GtkViewport",None,40,None,None,None,None,None), + (3,42,"GtkListBox","resetSidebarList",41,None,None,None,None,None), + (3,43,"GtkScrolledWindow",None,3,None,None,None,2,None), + (3,44,"GtkViewport",None,43,None,None,None,None,None), + (3,45,"GtkFlowBox","resetMain",44,None,None,None,None,None), (4,7,"GtkBox","resetWifi",None,None,None,None,None,None), (4,42,"GtkButton",None,7,None,None,None,2,None), (4,54,"GtkListBox","resetWifiDetails",7,None,None,None,None,None), @@ -143,11 +145,6 @@ (3,19,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None), (3,20,"GtkSearchEntry","placeholder-text","Search",None,None,None,None,None,None,None,None,None), (3,20,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None), - (3,21,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None), - (3,22,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None), - (3,22,"GtkWidget","width-request","150",None,None,None,None,None,None,None,None,None), - (3,23,"GtkWidget","css-name","resetList",None,None,None,None,None,None,None,None,None), - (3,23,"GtkWidget","width-request","150",None,None,None,None,None,None,None,None,None), (3,25,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None), (3,26,"GtkButton","icon-name","sidebar-show-symbolic",None,None,None,None,None,None,None,None,None), (3,26,"GtkWidget","visible","False",None,None,None,None,None,None,None,None,None), @@ -161,13 +158,6 @@ (3,31,"GtkWidget","css-classes","resetClose",None,None,None,None,None,None,None,None,None), (3,31,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None), (3,31,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None), - (3,32,"GtkFlowBox","column-spacing","25",None,None,None,None,None,None,None,None,None), - (3,32,"GtkFlowBox","row-spacing","25",None,None,None,None,None,None,None,None,None), - (3,32,"GtkFlowBox","selection-mode","none",None,None,None,None,None,None,None,None,None), - (3,32,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None), - (3,32,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None), - (3,32,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None), - (3,32,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None), (3,33,"GtkMenuButton","can-shrink","True",None,None,None,None,None,None,None,None,None), (3,33,"GtkMenuButton","icon-name","open-menu-symbolic",None,None,None,None,None,None,None,None,None), (3,33,"GtkMenuButton","popover",None,None,None,None,None,35,None,None,None,None), @@ -186,6 +176,17 @@ (3,38,"GtkButton","label","Preferences",None,None,None,None,None,None,None,None,None), (3,39,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None), (3,39,"GtkButton","label","About",None,None,None,None,None,None,None,None,None), + (3,40,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None), + (3,42,"GtkWidget","css-name","resetList",None,None,None,None,None,None,None,None,None), + (3,42,"GtkWidget","width-request","150",None,None,None,None,None,None,None,None,None), + (3,43,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None), + (3,45,"GtkFlowBox","column-spacing","25",None,None,None,None,None,None,None,None,None), + (3,45,"GtkFlowBox","row-spacing","25",None,None,None,None,None,None,None,None,None), + (3,45,"GtkFlowBox","selection-mode","none",None,None,None,None,None,None,None,None,None), + (3,45,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None), + (3,45,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None), + (3,45,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None), + (3,45,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None), (4,7,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None), (4,7,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None), (4,7,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None), @@ -222,6 +223,7 @@ (4,64,"GtkLabel","label","Available networks",None,None,None,None,None,None,None,None,None), (4,64,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None), (4,64,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None), + (4,65,"GtkScrolledWindow","min-content-height","100",None,None,None,None,None,None,None,None,None), (4,65,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None), (4,69,"GtkListBox","show-separators","True",None,None,None,None,None,None,None,None,None), (4,69,"GtkWidget","css-classes","boxed-list",None,None,None,None,None,None,None,None,None), @@ -307,7 +309,9 @@ (10,32,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None), (10,33,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None), (10,33,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None), + (10,34,"GtkScrolledWindow","min-content-height","100",None,None,None,None,None,None,None,None,None), (10,34,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None), + (10,39,"GtkScrolledWindow","min-content-height","100",None,None,None,None,None,None,None,None,None), (10,39,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None), (10,44,"GtkLabel","justify","right",None,None,None,None,None,None,None,None,None), (10,44,"GtkLabel","label","Connected devices",None,None,None,None,None,None,None,None,None), @@ -396,11 +400,11 @@ (13,9,"GtkWidget","width-request","40",None,None,None,None,None,None,None,None,None) - (3,23,"GtkWidget",1,1,None,None,None,None,None,None), - (3,23,"GtkWidget",2,2,None,1,None,None,None,None) + (3,42,"GtkWidget",1,1,None,None,None,None,None,None), + (3,42,"GtkWidget",2,2,None,1,None,None,None,None) - (3,23,"GtkWidget",2,2,"name","b"), - (7,9,"GtkScale",2,2,"value","50.0") + (7,9,"GtkScale",2,2,"value","50.0"), + (3,42,"GtkWidget",2,2,"name","b") diff --git a/src/resources/resetWiFi.ui b/src/resources/resetWiFi.ui index e75b3fc..bbf83bb 100644 --- a/src/resources/resetWiFi.ui +++ b/src/resources/resetWiFi.ui @@ -78,6 +78,7 @@ + 100 True From 203521ffff24c9def19b016899eb63f668ac00e7 Mon Sep 17 00:00:00 2001 From: takotori Date: Thu, 2 Nov 2023 16:41:18 +0100 Subject: [PATCH 02/11] Add example breadcrumb path --- src/resources/resetMainWindow.ui | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/resources/resetMainWindow.ui b/src/resources/resetMainWindow.ui index 60ae5ab..a49c79a 100644 --- a/src/resources/resetMainWindow.ui +++ b/src/resources/resetMainWindow.ui @@ -42,9 +42,38 @@ + start True True - start + center + + + False + Home + + + + + > + + + + + False + WiFi + + + + + > + + + + + False + Advanced + + From 2b227f9db1da747cc843f7b2f0462fdd0b3fef2c Mon Sep 17 00:00:00 2001 From: takotori Date: Thu, 2 Nov 2023 16:41:38 +0100 Subject: [PATCH 03/11] forgor --- src/resources/resetUI.cmb | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/resources/resetUI.cmb b/src/resources/resetUI.cmb index 8d41e21..0554101 100644 --- a/src/resources/resetUI.cmb +++ b/src/resources/resetUI.cmb @@ -37,9 +37,14 @@ (3,40,"GtkScrolledWindow",None,18,None,None,None,1,None), (3,41,"GtkViewport",None,40,None,None,None,None,None), (3,42,"GtkListBox","resetSidebarList",41,None,None,None,None,None), - (3,43,"GtkScrolledWindow",None,3,None,None,None,2,None), + (3,43,"GtkScrolledWindow",None,3,None,None,None,1,None), (3,44,"GtkViewport",None,43,None,None,None,None,None), (3,45,"GtkFlowBox","resetMain",44,None,None,None,None,None), + (3,46,"GtkButton",None,34,None,None,None,None,None), + (3,47,"GtkButton",None,34,None,None,None,2,None), + (3,48,"GtkButton",None,34,None,None,None,4,None), + (3,49,"GtkLabel",None,34,None,None,None,1,None), + (3,50,"GtkLabel",None,34,None,None,None,3,None), (4,7,"GtkBox","resetWifi",None,None,None,None,None,None), (4,42,"GtkButton",None,7,None,None,None,2,None), (4,54,"GtkListBox","resetWifiDetails",7,None,None,None,None,None), @@ -165,9 +170,10 @@ (3,33,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None), (3,33,"GtkWidget","valign","end",None,None,None,None,None,None,None,None,None), (3,33,"GtkWidget","vexpand","True",None,None,None,None,None,None,None,None,None), + (3,34,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None), (3,34,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None), (3,34,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None), - (3,34,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None), + (3,34,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None), (3,35,"GtkPopover","child",None,None,None,None,None,36,None,None,None,None), (3,36,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None), (3,37,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None), @@ -187,6 +193,14 @@ (3,45,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None), (3,45,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None), (3,45,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None), + (3,46,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None), + (3,46,"GtkButton","label","Home",None,None,None,None,None,None,None,None,None), + (3,47,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None), + (3,47,"GtkButton","label","WiFi",None,None,None,None,None,None,None,None,None), + (3,48,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None), + (3,48,"GtkButton","label","Advanced",None,None,None,None,None,None,None,None,None), + (3,49,"GtkLabel","label",">",None,None,None,None,None,None,None,None,None), + (3,50,"GtkLabel","label",">",None,None,None,None,None,None,None,None,None), (4,7,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None), (4,7,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None), (4,7,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None), From 6c1d1e6cd2bd2dddd2a9be0e56044175af720dd4 Mon Sep 17 00:00:00 2001 From: takotori Date: Thu, 2 Nov 2023 16:45:05 +0100 Subject: [PATCH 04/11] remove frame from close and menu button --- src/resources/resetMainWindow.ui | 2 ++ src/resources/resetUI.cmb | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/resources/resetMainWindow.ui b/src/resources/resetMainWindow.ui index a49c79a..c737bf2 100644 --- a/src/resources/resetMainWindow.ui +++ b/src/resources/resetMainWindow.ui @@ -80,6 +80,7 @@ True end + False True open-menu-symbolic @@ -117,6 +118,7 @@ resetClose start + False window-close-symbolic 5 diff --git a/src/resources/resetUI.cmb b/src/resources/resetUI.cmb index 0554101..d66e2a9 100644 --- a/src/resources/resetUI.cmb +++ b/src/resources/resetUI.cmb @@ -159,11 +159,13 @@ (3,28,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None), (3,28,"GtkButton","icon-name","go-previous-symbolic-rtl",None,None,None,None,None,None,None,None,None), (3,28,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None), + (3,31,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None), (3,31,"GtkButton","icon-name","window-close-symbolic",None,None,None,None,None,None,None,None,None), (3,31,"GtkWidget","css-classes","resetClose",None,None,None,None,None,None,None,None,None), (3,31,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None), (3,31,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None), (3,33,"GtkMenuButton","can-shrink","True",None,None,None,None,None,None,None,None,None), + (3,33,"GtkMenuButton","has-frame","False",None,None,None,None,None,None,None,None,None), (3,33,"GtkMenuButton","icon-name","open-menu-symbolic",None,None,None,None,None,None,None,None,None), (3,33,"GtkMenuButton","popover",None,None,None,None,None,35,None,None,None,None), (3,33,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None), From 7c630579ae99cb26270e7f5ba7afaf287820bb76 Mon Sep 17 00:00:00 2001 From: takotori Date: Thu, 2 Nov 2023 16:51:50 +0100 Subject: [PATCH 05/11] Add separator in sidebar --- src/components/window/window.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/window/window.rs b/src/components/window/window.rs index 249e1d0..ec8f97d 100644 --- a/src/components/window/window.rs +++ b/src/components/window/window.rs @@ -2,7 +2,7 @@ use adw::BreakpointCondition; use adw::glib::clone; use adw::subclass::prelude::ObjectSubclassIsExt; use glib::Object; -use gtk::{Application, gio, glib}; +use gtk::{Application, gio, glib, Orientation}; use gtk::prelude::*; use crate::components::window::handleSidebarClick::{ @@ -176,6 +176,7 @@ impl Window { for subEntry in subEntries { selfImp.resetSidebarList.append(subEntry); } + selfImp.resetSidebarList.append(>k::Separator::new(Orientation::Horizontal)) } } From 15a5333cc0205bb84cce5597ab8dbdcf9d1e40f5 Mon Sep 17 00:00:00 2001 From: takotori Date: Thu, 2 Nov 2023 17:00:10 +0100 Subject: [PATCH 06/11] Add peripherals in sidebar --- src/components/window/handleSidebarClick.rs | 24 +++++++++++++ src/components/window/sidebarEntryImpl.rs | 1 + src/components/window/window.rs | 40 ++++++++++++++++++--- 3 files changed, 61 insertions(+), 4 deletions(-) diff --git a/src/components/window/handleSidebarClick.rs b/src/components/window/handleSidebarClick.rs index 672bcee..646c8ac 100644 --- a/src/components/window/handleSidebarClick.rs +++ b/src/components/window/handleSidebarClick.rs @@ -54,3 +54,27 @@ pub const HANDLE_MICROPHONE_CLICK: fn(FlowBox) = |resetMain: FlowBox| { pub const HANDLE_HOME: fn(FlowBox) = |resetMain: FlowBox| { resetMain.remove_all(); }; + +pub const HANDLE_PERIPHERALS_CLICK: fn(FlowBox) = |resetMain: FlowBox| { + let label = Label::new(Some("not implemented yet")); + resetMain.remove_all(); + resetMain.insert(&label, -1); +}; + +pub const HANDLE_MONITOR_CLICK: fn(FlowBox) = |resetMain: FlowBox| { + let label = Label::new(Some("not implemented yet")); + resetMain.remove_all(); + resetMain.insert(&label, -1); +}; + +pub const HANDLE_MOUSE_CLICK: fn(FlowBox) = |resetMain: FlowBox| { + let label = Label::new(Some("not implemented yet")); + resetMain.remove_all(); + resetMain.insert(&label, -1); +}; + +pub const HANDLE_KEYBOARD_CLICK: fn(FlowBox) = |resetMain: FlowBox| { + let label = Label::new(Some("not implemented yet")); + resetMain.remove_all(); + resetMain.insert(&label, -1); +}; \ No newline at end of file diff --git a/src/components/window/sidebarEntryImpl.rs b/src/components/window/sidebarEntryImpl.rs index c0f3f2a..3497890 100644 --- a/src/components/window/sidebarEntryImpl.rs +++ b/src/components/window/sidebarEntryImpl.rs @@ -11,6 +11,7 @@ use crate::components::window::sidebarEntry; pub enum Categories { Connectivity, Audio, + Peripherals, #[default] Misc, } diff --git a/src/components/window/window.rs b/src/components/window/window.rs index ec8f97d..85618fe 100644 --- a/src/components/window/window.rs +++ b/src/components/window/window.rs @@ -5,10 +5,7 @@ use glib::Object; use gtk::{Application, gio, glib, Orientation}; use gtk::prelude::*; -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, -}; +use crate::components::window::handleSidebarClick::*; use crate::components::window::sidebarEntry::SidebarEntry; use crate::components::window::sidebarEntryImpl::Categories; use crate::components::window::windowImpl; @@ -171,6 +168,41 @@ impl Window { audioList, )); + let peripheralsList = vec![ + SidebarEntry::new( + "Displays", + "video-display-symbolic", + Categories::Peripherals, + true, + HANDLE_MONITOR_CLICK, + ), + SidebarEntry::new( + "Mouse", + "input-mouse-symbolic", + Categories::Peripherals, + true, + HANDLE_MOUSE_CLICK, + ), + SidebarEntry::new( + "Keyboard", + "input-keyboard-symbolic", + Categories::Peripherals, + true, + HANDLE_KEYBOARD_CLICK, + ), + ]; + + sidebarEntries.push(( + SidebarEntry::new( + "Peripherals", + "preferences-system-devices-symbolic", + Categories::Peripherals, + false, + HANDLE_PERIPHERALS_CLICK, + ), + peripheralsList, + )); + for (mainEntry, subEntries) in sidebarEntries.iter() { selfImp.resetSidebarList.append(mainEntry); for subEntry in subEntries { From 453a3c64065045b0e6091e84cedec73ef799dffd Mon Sep 17 00:00:00 2001 From: takotori Date: Thu, 2 Nov 2023 17:17:47 +0100 Subject: [PATCH 07/11] fix crash when clicking on separator --- src/components/window/window.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/window/window.rs b/src/components/window/window.rs index 85618fe..4779d3c 100644 --- a/src/components/window/window.rs +++ b/src/components/window/window.rs @@ -2,7 +2,7 @@ use adw::BreakpointCondition; use adw::glib::clone; use adw::subclass::prelude::ObjectSubclassIsExt; use glib::Object; -use gtk::{Application, gio, glib, Orientation}; +use gtk::{Application, gio, glib, ListBoxRow, Orientation}; use gtk::prelude::*; use crate::components::window::handleSidebarClick::*; @@ -208,7 +208,10 @@ impl Window { for subEntry in subEntries { selfImp.resetSidebarList.append(subEntry); } - selfImp.resetSidebarList.append(>k::Separator::new(Orientation::Horizontal)) + let separator = ListBoxRow::new(); + separator.set_child(Some(>k::Separator::new(Orientation::Horizontal))); + separator.set_activatable(false); + selfImp.resetSidebarList.append(&separator); } } From eaa3a8c63d48a602c44ada099193702e82aaba9f Mon Sep 17 00:00:00 2001 From: takotori Date: Thu, 2 Nov 2023 17:19:20 +0100 Subject: [PATCH 08/11] disable highlight on separator when hovering --- src/components/window/window.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/window/window.rs b/src/components/window/window.rs index 4779d3c..0ca2fa3 100644 --- a/src/components/window/window.rs +++ b/src/components/window/window.rs @@ -210,6 +210,7 @@ impl Window { } let separator = ListBoxRow::new(); separator.set_child(Some(>k::Separator::new(Orientation::Horizontal))); + separator.set_selectable(false); separator.set_activatable(false); selfImp.resetSidebarList.append(&separator); } From 9bd3700a5521a0f140fee79f7ba86444301cbed0 Mon Sep 17 00:00:00 2001 From: takotori Date: Thu, 2 Nov 2023 18:03:15 +0100 Subject: [PATCH 09/11] Add navigation pages for wifi --- src/components/wifi/wifiBox.rs | 1 + src/components/wifi/wifiBoxImpl.rs | 4 +- src/resources/resetUI.cmb | 143 +++++++++++------- src/resources/resetWiFi.ui | 229 ++++++++++++++++++----------- 4 files changed, 239 insertions(+), 138 deletions(-) diff --git a/src/components/wifi/wifiBox.rs b/src/components/wifi/wifiBox.rs index aa2bec1..b467c9f 100644 --- a/src/components/wifi/wifiBox.rs +++ b/src/components/wifi/wifiBox.rs @@ -7,6 +7,7 @@ use adw::glib::Object; use adw::subclass::prelude::ObjectSubclassIsExt; use dbus::blocking::Connection; use dbus::Error; +use gtk::prelude::ButtonExt; use crate::components::wifi::wifiBoxImpl; use crate::components::wifi::wifiEntry::WifiEntry; diff --git a/src/components/wifi/wifiBoxImpl.rs b/src/components/wifi/wifiBoxImpl.rs index 8875a5d..6065c7c 100644 --- a/src/components/wifi/wifiBoxImpl.rs +++ b/src/components/wifi/wifiBoxImpl.rs @@ -1,5 +1,5 @@ use std::cell::RefCell; -use gtk::{CompositeTemplate, glib, ListBox, ListBoxRow, Switch}; +use gtk::{Button, CompositeTemplate, glib, ListBox, ListBoxRow, Revealer, Switch}; use gtk::prelude::*; use gtk::subclass::prelude::*; use crate::components::wifi::wifiBox; @@ -18,6 +18,8 @@ pub struct WifiBox { pub resetWifiSwitch: TemplateChild, #[template_child] pub resetWifiList: TemplateChild, + #[template_child] + pub resetWifiAdvanced: TemplateChild