diff --git a/panels/console.py b/panels/console.py index 49b84394..05537660 100644 --- a/panels/console.py +++ b/panels/console.py @@ -30,32 +30,38 @@ class ConsolePanel(ScreenPanel): self.hidetemps = True o1_lbl = Gtk.Label(_("Auto-scroll")) - o1_lbl.set_halign(Gtk.Align.END) o1_switch = Gtk.Switch() - o1_switch.set_property("width-request", round(self._gtk.get_font_size() * 5)) - o1_switch.set_property("height-request", round(self._gtk.get_font_size() * 2.5)) o1_switch.set_active(self.autoscroll) o1_switch.connect("notify::active", self.set_autoscroll) o2_lbl = Gtk.Label(_("Hide temp.")) - o2_lbl.set_halign(Gtk.Align.END) o2_switch = Gtk.Switch() - o2_switch.set_property("width-request", round(self._gtk.get_font_size() * 5)) - o2_switch.set_property("height-request", round(self._gtk.get_font_size() * 2.5)) o2_switch.set_active(self.hidetemps) o2_switch.connect("notify::active", self.hide_temps) + if self._screen.vertical_mode: + o1_lbl.set_halign(Gtk.Align.CENTER) + o2_lbl.set_halign(Gtk.Align.CENTER) + else: + o1_lbl.set_halign(Gtk.Align.END) + o2_lbl.set_halign(Gtk.Align.END) o3_button = self._gtk.Button("refresh", _('Clear') + " ", None, self.bts, Gtk.PositionType.RIGHT, 1) o3_button.connect("clicked", self.clear) - options = Gtk.Box() - options.set_hexpand(True) + options = Gtk.Grid() options.set_vexpand(False) - options.add(o1_lbl) - options.pack_start(o1_switch, False, False, 5) - options.add(o2_lbl) - options.pack_start(o2_switch, False, False, 5) - options.add(o3_button) + if self._screen.vertical_mode: + options.attach(o1_lbl, 0, 0, 1, 1) + options.attach(o1_switch, 0, 1, 1, 1) + options.attach(o2_lbl, 1, 0, 1, 1) + options.attach(o2_switch, 1, 1, 1, 1) + options.attach(o3_button, 3, 0, 1, 2) + else: + options.attach(o1_lbl, 0, 0, 1, 1) + options.attach(o1_switch, 1, 0, 1, 1) + options.attach(o2_lbl, 2, 0, 1, 1) + options.attach(o2_switch, 3, 0, 1, 1) + options.attach(o3_button, 4, 0, 1, 1) sw = Gtk.ScrolledWindow() sw.set_hexpand(True) @@ -168,4 +174,4 @@ class ConsolePanel(ScreenPanel): def activate(self): self.clear() - self._screen._ws.send_method("server.gcode_store", {"count": 100}, self.gcode_response) \ No newline at end of file + self._screen._ws.send_method("server.gcode_store", {"count": 100}, self.gcode_response) diff --git a/panels/settings.py b/panels/settings.py index 602a45eb..4228497c 100644 --- a/panels/settings.py +++ b/panels/settings.py @@ -78,18 +78,11 @@ class SettingsPanel(ScreenPanel): dev.add(labels) if option['type'] == "binary": - box = Gtk.Box() - box.set_vexpand(False) switch = Gtk.Switch() - switch.set_hexpand(False) - switch.set_vexpand(False) switch.set_active(self._config.get_config().getboolean(option['section'], opt_name)) switch.connect("notify::active", self.switch_config_option, option['section'], opt_name, option['callback'] if "callback" in option else None) - switch.set_property("width-request", round(self._gtk.get_font_size() * 7)) - switch.set_property("height-request", round(self._gtk.get_font_size() * 3.5)) - box.add(switch) - dev.add(box) + dev.add(switch) elif option['type'] == "dropdown": dropdown = Gtk.ComboBoxText() for i, opt in enumerate(option['options']): diff --git a/styles/base.css b/styles/base.css index fa1cd505..4f4721fd 100644 --- a/styles/base.css +++ b/styles/base.css @@ -91,6 +91,9 @@ combobox arrow { } switch { + margin: 0.75em; + min-width: 6em; + min-height: 3em; border: 0; border-radius: 3em; } @@ -483,6 +486,11 @@ popover button { .filament_sensor { border-radius: 3em; } + +.filament_sensor switch { + margin: 0; +} + .filament_sensor_detected { background-color: darkgreen; }