diff --git a/src/components/bluetooth/bluetooth_entry.rs b/src/components/bluetooth/bluetooth_entry.rs index b77041d..58f4aff 100644 --- a/src/components/bluetooth/bluetooth_entry.rs +++ b/src/components/bluetooth/bluetooth_entry.rs @@ -8,14 +8,14 @@ use adw::subclass::prelude::ObjectSubclassIsExt; use adw::{glib, ActionRow}; use dbus::blocking::Connection; use dbus::{Error, Path}; -use gtk::prelude::{ButtonExt, WidgetExt}; +use gtk::prelude::{ButtonExt, ListBoxRowExt, WidgetExt}; use gtk::{gio, GestureClick}; use re_set_lib::bluetooth::bluetooth_structures::BluetoothDevice; glib::wrapper! { pub struct BluetoothEntry(ObjectSubclass) @extends ActionRow, gtk::Widget, - @implements gtk::Accessible, gtk::Buildable, gtk::Actionable, gtk::ConstraintTarget; + @implements gtk::Accessible, gtk::Buildable, gtk::Actionable, gtk::ConstraintTarget, gtk::ListBoxRow; } unsafe impl Send for BluetoothEntry {} @@ -24,13 +24,13 @@ unsafe impl Sync for BluetoothEntry {} impl BluetoothEntry { pub fn new(device: &BluetoothDevice) -> Self { let entry: BluetoothEntry = Object::builder().build(); - entry.set_sensitive(true); let entry_imp = entry.imp(); entry_imp .reset_bluetooth_label .get() .set_text(&device.alias); entry.set_subtitle(&device.address); + entry.set_activatable(true); if device.icon.is_empty() { entry_imp .reset_bluetooth_device_type @@ -40,7 +40,7 @@ impl BluetoothEntry { .reset_bluetooth_device_type .set_icon_name(Some(&device.icon)); } - if device.paired { + if device.connected || device.paired { entry_imp.reset_bluetooth_button.set_sensitive(true); } else { entry_imp.reset_bluetooth_button.set_sensitive(false); diff --git a/src/components/window/reset_window.rs b/src/components/window/reset_window.rs index 0fe3e99..20db314 100644 --- a/src/components/window/reset_window.rs +++ b/src/components/window/reset_window.rs @@ -60,7 +60,7 @@ impl ReSetWindow { let self_imp = self.imp(); self_imp .reset_sidebar_breakpoint - .set_condition(BreakpointCondition::parse("max-width: 950sp").as_ref().ok()); + .set_condition(BreakpointCondition::parse("max-width: 860sp").as_ref().ok()); self_imp.reset_sidebar_breakpoint.add_setter( &Object::from(self_imp.reset_overlay_split_view.get()), "collapsed", diff --git a/src/components/window/reset_window_impl.rs b/src/components/window/reset_window_impl.rs index 54aa914..ceed730 100644 --- a/src/components/window/reset_window_impl.rs +++ b/src/components/window/reset_window_impl.rs @@ -77,19 +77,19 @@ impl ObjectImpl for ReSetWindow { impl WidgetImpl for ReSetWindow { fn size_allocate(&self, width: i32, height: i32, baseline: i32) { - // felixusan, use "the force" for debugging - // aka this variable - // println!("{width}"); self.parent_size_allocate(width, height, baseline); - if width > 738 { - self.reset_main.set_margin_start(100); - self.reset_main.set_margin_end(100); - } else if width > 600 { - self.reset_main.set_margin_start((width - 600) / 2); - self.reset_main.set_margin_end((width - 600) / 2); + if width > 658 { + self.reset_main.set_margin_start(60); + self.reset_main.set_margin_end(60); } else { - self.reset_main.set_margin_start(0); - self.reset_main.set_margin_end(0); + let div = (width - 540) / 2; + if div > 1 { + self.reset_main.set_margin_start(div); + self.reset_main.set_margin_end(div); + } else { + self.reset_main.set_margin_start(0); + self.reset_main.set_margin_end(0); + } } } } diff --git a/src/resources/resetBluetooth.ui b/src/resources/resetBluetooth.ui index 094070c..c5ef16d 100644 --- a/src/resources/resetBluetooth.ui +++ b/src/resources/resetBluetooth.ui @@ -59,45 +59,24 @@ - + view-refresh-symbolic - 10 + 5 + 5 + 5 Available Devices - - - 100 - True - - - - - - - - - - + + 5 + 5 + 5 Connected Devices - - - 100 - True - - - - - - - - - diff --git a/src/resources/resetBluetoothEntry.ui b/src/resources/resetBluetoothEntry.ui index a5c844a..7ba3be5 100644 --- a/src/resources/resetBluetoothEntry.ui +++ b/src/resources/resetBluetoothEntry.ui @@ -2,7 +2,7 @@ - + diff --git a/src/resources/resetMainWindow.ui b/src/resources/resetMainWindow.ui index fbe1d9d..edbd7d6 100644 --- a/src/resources/resetMainWindow.ui +++ b/src/resources/resetMainWindow.ui @@ -7,7 +7,7 @@ 500 951 200 - 600 + 540 diff --git a/src/resources/resetSettingBox.ui b/src/resources/resetSettingBox.ui index dbe5284..96ee092 100644 --- a/src/resources/resetSettingBox.ui +++ b/src/resources/resetSettingBox.ui @@ -3,6 +3,7 @@ diff --git a/src/resources/resetUI.cmb b/src/resources/resetUI.cmb index 0fa0745..4f3e8ff 100644 --- a/src/resources/resetUI.cmb +++ b/src/resources/resetUI.cmb @@ -149,21 +149,15 @@ (10,173,"AdwComboRow","reset_bluetooth_adapter",172,None,None,None,None,None), (10,174,"AdwActionRow","reset_visibility",172,None,None,None,1,None), (10,175,"GtkImage",None,174,None,None,None,None,None), - (10,176,"AdwPreferencesGroup",None,121,None,None,None,1,None), - (10,177,"GtkButton","reset_bluetooth_refresh_button",176,None,None,None,None,None), - (10,178,"GtkScrolledWindow",None,176,None,None,None,None,None), - (10,179,"GtkViewport",None,178,None,None,None,None,None), - (10,181,"AdwPreferencesGroup",None,121,None,None,None,2,None), - (10,183,"GtkScrolledWindow",None,181,None,None,None,None,None), - (10,184,"GtkViewport",None,183,None,None,None,None,None), (10,188,"GtkBox",None,153,None,None,None,4,None), (10,193,"GtkLabel",None,188,None,None,None,None,None), (10,196,"GtkSwitch","reset_bluetooth_discoverable_switch",188,None,None,None,1,None), (10,197,"GtkBox",None,153,None,None,None,3,None), (10,198,"GtkLabel",None,197,None,None,None,None,None), (10,199,"GtkSwitch","reset_bluetooth_pairable_switch",197,None,None,None,1,None), - (10,200,"AdwPreferencesGroup","reset_bluetooth_available_devices",179,None,None,None,-1,None), - (10,201,"AdwPreferencesGroup","reset_bluetooth_connected_devices",184,None,None,None,-1,None), + (10,204,"AdwPreferencesGroup","reset_bluetooth_available_devices",121,None,None,None,1,None), + (10,206,"AdwPreferencesGroup","reset_bluetooth_connected_devices",121,None,None,None,2,None), + (10,207,"GtkButton","reset_bluetooth_refresh_button",204,None,None,None,-1,None), (11,32,"AdwActionRow","resetBluetoothEntry",None,None,None,None,-1,None), (11,39,"GtkBox",None,32,None,None,None,-1,None), (11,40,"GtkImage","reset_bluetooth_device_type",39,None,None,None,None,None), @@ -332,7 +326,7 @@ (3,1,"GtkWidget","height-request","200",None,None,None,None,None,None,None,None,None), - (3,1,"GtkWidget","width-request","600",None,None,None,None,None,None,None,None,None), + (3,1,"GtkWidget","width-request","540",None,None,None,None,None,None,None,None,None), (3,1,"GtkWindow","default-height","500",None,None,None,None,None,None,None,None,None), (3,1,"GtkWindow","default-width","951",None,None,None,None,None,None,None,None,None), (3,2,"AdwOverlaySplitView","content",None,None,None,None,None,3,None,None,None,None), @@ -578,15 +572,6 @@ (10,175,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None), (10,175,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None), (10,175,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None), - (10,176,"AdwPreferencesGroup","header-suffix",None,None,None,None,None,177,None,None,None,None), - (10,176,"AdwPreferencesGroup","title","Available Devices",None,None,None,None,None,None,None,None,None), - (10,176,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None), - (10,177,"GtkButton","icon-name","view-refresh-symbolic",None,None,None,None,None,None,None,None,None), - (10,178,"GtkScrolledWindow","min-content-height","100",None,None,None,None,None,None,None,None,None), - (10,178,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None), - (10,181,"AdwPreferencesGroup","title","Connected Devices",None,None,None,None,None,None,None,None,None), - (10,183,"GtkScrolledWindow","min-content-height","100",None,None,None,None,None,None,None,None,None), - (10,183,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None), (10,188,"GtkWidget","margin-bottom","5",None,None,None,None,None,None,None,None,None), (10,188,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None), (10,188,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None), @@ -601,12 +586,17 @@ (10,198,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None), (10,198,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None), (10,198,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None), - (11,32,"AdwActionRow","subtitle-lines","1",None,None,None,None,None,None,None,None,None), - (11,32,"AdwActionRow","title-lines","1",None,None,None,None,None,None,None,None,None), + (10,204,"AdwPreferencesGroup","header-suffix",None,None,None,None,None,207,None,None,None,None), + (10,204,"AdwPreferencesGroup","title","Available Devices",None,None,None,None,None,None,None,None,None), + (10,204,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None), + (10,204,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None), + (10,204,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None), + (10,206,"AdwPreferencesGroup","title","Connected Devices",None,None,None,None,None,None,None,None,None), + (10,206,"GtkWidget","margin-end","5",None,None,None,None,None,None,None,None,None), + (10,206,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None), + (10,206,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None), + (10,207,"GtkButton","icon-name","view-refresh-symbolic",None,None,None,None,None,None,None,None,None), (11,32,"GtkListBoxRow","child",None,None,None,None,None,39,None,None,None,None), - (11,32,"GtkWidget","focusable","True",None,None,None,None,None,None,None,None,None), - (11,32,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None), - (11,32,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None), (11,32,"GtkWidget","margin-start","5",None,None,None,None,None,None,None,None,None), (11,40,"GtkImage","icon-name","input-mouse-symbolic",None,None,None,None,None,None,None,None,None), (11,40,"GtkWidget","halign","start",None,None,None,None,None,None,None,None,None), @@ -711,6 +701,7 @@ (13,41,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None), (13,42,"GtkWidget","margin-top","10",None,None,None,None,None,None,None,None,None), (14,3,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None), + (14,3,"GtkWidget","css-classes","settings-box",None,None,None,None,None,None,None,None,None), (14,3,"GtkWidget","width-request","500",None,None,None,None,None,None,None,None,None), (15,1,"GtkListBoxRow","selectable","False",None,None,None,None,None,None,None,None,None), (15,1,"GtkWidget","height-request","40",None,None,None,None,None,None,None,None,None), diff --git a/src/resources/style/style.css b/src/resources/style/style.css index 70f5e26..3b9c61a 100644 --- a/src/resources/style/style.css +++ b/src/resources/style/style.css @@ -23,4 +23,8 @@ label.resetSettingLabel { row.audioRow { border-color: transparent; -} \ No newline at end of file +} + +flowboxchild { + max-width: 800px; +}