From 00bd6ac4dbc665f2e04cc97fe1b0f07f75480670 Mon Sep 17 00:00:00 2001 From: alfrix Date: Tue, 22 Nov 2022 16:18:06 -0300 Subject: [PATCH] gtk: adjust icon sizes so they are more consistent across font sizes --- ks_includes/KlippyGtk.py | 2 ++ ks_includes/screen_panel.py | 6 ++++++ panels/base_panel.py | 16 ++++++---------- panels/gcode_macros.py | 8 ++++---- panels/job_status.py | 28 +++++++++++++--------------- panels/main_menu.py | 2 +- panels/temperature.py | 8 +++----- 7 files changed, 35 insertions(+), 35 deletions(-) diff --git a/ks_includes/KlippyGtk.py b/ks_includes/KlippyGtk.py index 3a94ac01..22e6bbd6 100644 --- a/ks_includes/KlippyGtk.py +++ b/ks_includes/KlippyGtk.py @@ -150,6 +150,8 @@ class KlippyGtk: b.set_vexpand(True) b.set_can_focus(False) if image_name is not None: + if label is None: + scale = scale * 1.5 width = height = self.img_scale * scale b.set_image(self.Image(image_name, width, height)) b.set_image_position(position) diff --git a/ks_includes/screen_panel.py b/ks_includes/screen_panel.py index cfbaa7cc..5099cbce 100644 --- a/ks_includes/screen_panel.py +++ b/ks_includes/screen_panel.py @@ -33,6 +33,12 @@ class ScreenPanel: self.content.set_hexpand(True) self.content.set_vexpand(True) self._show_heater_power = self._config.get_main_config().getboolean('show_heater_power', False) + if self._gtk.font_size_type == "extralarge": + self.bts = 1 + elif self._gtk.font_size_type == "large": + self.bts = .7 + else: + self.bts = .5 def emergency_stop(self, widget): if self._config.get_main_config().getboolean('confirm_estop', False): diff --git a/panels/base_panel.py b/panels/base_panel.py index 12666c19..27d4b9cb 100644 --- a/panels/base_panel.py +++ b/panels/base_panel.py @@ -28,23 +28,22 @@ class BasePanel(ScreenPanel): } self.current_extruder = None # Action bar buttons - scale = 1.5 if self._gtk.font_size_type == "extralarge" else 1 - self.control['back'] = self._gtk.Button('back', scale=scale) + self.control['back'] = self._gtk.Button('back', scale=self.bts) self.control['back'].connect("clicked", self.back) - self.control['home'] = self._gtk.Button('main', scale=scale) + self.control['home'] = self._gtk.Button('main', scale=self.bts) self.control['home'].connect("clicked", self._screen._menu_go_home) if len(self._config.get_printers()) > 1: - self.control['printer_select'] = self._gtk.Button('shuffle', scale=scale) + self.control['printer_select'] = self._gtk.Button('shuffle', scale=self.bts) self.control['printer_select'].connect("clicked", self._screen.show_printer_select) - self.control['macros_shortcut'] = self._gtk.Button('custom-script', scale=scale) + self.control['macros_shortcut'] = self._gtk.Button('custom-script', scale=self.bts) self.control['macros_shortcut'].connect("clicked", self.menu_item_clicked, "gcode_macros", { "name": "Macros", "panel": "gcode_macros" }) - self.control['estop'] = self._gtk.Button('emergency', scale=scale) + self.control['estop'] = self._gtk.Button('emergency', scale=self.bts) self.control['estop'].connect("clicked", self.emergency_stop) # Any action bar button should close the keyboard @@ -123,10 +122,7 @@ class BasePanel(ScreenPanel): if not show or self._screen.printer.get_temp_store_devices() is None: return - if self._gtk.font_size_type == "extralarge": - img_size = self._gtk.img_scale * .75 - else: - img_size = self._gtk.img_scale * .5 + img_size = self._gtk.img_scale * self.bts for device in self._screen.printer.get_temp_store_devices(): self.labels[device] = Gtk.Label(label="100ยบ") self.labels[device].set_ellipsize(Pango.EllipsizeMode.START) diff --git a/panels/gcode_macros.py b/panels/gcode_macros.py index 13c90895..11960f3b 100644 --- a/panels/gcode_macros.py +++ b/panels/gcode_macros.py @@ -17,7 +17,7 @@ class MacroPanel(ScreenPanel): super().__init__(screen, title) self.sort_reverse = False self.sort_lbl = _("Name") - self.sort_btn = self._gtk.Button("arrow-up", self.sort_lbl, "color1", .5, Gtk.PositionType.RIGHT, 1) + self.sort_btn = self._gtk.Button("arrow-up", self.sort_lbl, "color1", self.bts, Gtk.PositionType.RIGHT, 1) self.sort_btn.connect("clicked", self.change_sort) self.sort_btn.set_hexpand(True) self.allmacros = {} @@ -27,7 +27,7 @@ class MacroPanel(ScreenPanel): sort = Gtk.Label(_("Sort:")) sort.set_hexpand(False) - adjust = self._gtk.Button("settings", None, "color2", 1, Gtk.PositionType.LEFT, 1) + adjust = self._gtk.Button("settings", None, "color2", self.bts, Gtk.PositionType.LEFT, 1) adjust.connect("clicked", self.load_menu, 'options', _("Settings")) adjust.set_hexpand(False) @@ -103,9 +103,9 @@ class MacroPanel(ScreenPanel): def change_sort(self, widget): self.sort_reverse ^= True if self.sort_reverse: - self.sort_btn.set_image(self._gtk.Image("arrow-down", self._gtk.img_scale * .5)) + self.sort_btn.set_image(self._gtk.Image("arrow-down", self.bts)) else: - self.sort_btn.set_image(self._gtk.Image("arrow-up", self._gtk.img_scale * .5)) + self.sort_btn.set_image(self._gtk.Image("arrow-up", self.bts)) self.sort_btn.show() GLib.idle_add(self.reload_macros) diff --git a/panels/job_status.py b/panels/job_status.py index bd4f84d9..4bd7ded0 100644 --- a/panels/job_status.py +++ b/panels/job_status.py @@ -48,7 +48,6 @@ class JobStatusPanel(ScreenPanel): self.progress = self.zoffset = self.flowrate = self.vel = 0 self.main_status_displayed = True self.velstore = self.flowstore = [] - self.bt_scale = 1 if self._gtk.font_size_type == "extralarge" else .6 data = ['pos_x', 'pos_y', 'pos_z', 'time_left', 'duration', 'slicer_time', 'file_time', 'filament_time', 'est_time', 'speed_factor', 'req_speed', 'max_accel', 'extrude_factor', 'zoffset', @@ -152,7 +151,7 @@ class JobStatusPanel(ScreenPanel): if self._screen.printer.get_tools(): for i, extruder in enumerate(self._printer.get_tools()): self.labels[extruder] = Gtk.Label("-") - self.extruder_button[extruder] = self._gtk.Button(f"extruder-{i}", None, None, self.bt_scale, + self.extruder_button[extruder] = self._gtk.Button(f"extruder-{i}", "", None, self.bts, Gtk.PositionType.LEFT) self.extruder_button[extruder].set_label(self.labels[extruder].get_text()) self.extruder_button[extruder].connect("clicked", self.menu_item_clicked, "temperature", @@ -165,7 +164,7 @@ class JobStatusPanel(ScreenPanel): self.current_extruder = None self.heater_button = {} if self._printer.has_heated_bed(): - self.heater_button['heater_bed'] = self._gtk.Button("bed", None, None, self.bt_scale, Gtk.PositionType.LEFT) + self.heater_button['heater_bed'] = self._gtk.Button("bed", "", None, self.bts, Gtk.PositionType.LEFT) self.labels['heater_bed'] = Gtk.Label("-") self.heater_button['heater_bed'].set_label(self.labels['heater_bed'].get_text()) self.heater_button['heater_bed'].connect("clicked", self.menu_item_clicked, "temperature", @@ -177,8 +176,7 @@ class JobStatusPanel(ScreenPanel): if n >= nlimit: break if device.startswith("heater_generic"): - self.heater_button[device] = self._gtk.Button("heater", None, None, self.bt_scale, - Gtk.PositionType.LEFT, 1) + self.heater_button[device] = self._gtk.Button("heater", "", None, self.bts, Gtk.PositionType.LEFT, 1) self.labels[device] = Gtk.Label("-") self.heater_button[device].set_label(self.labels[device].get_text()) self.heater_button[device].connect("clicked", self.menu_item_clicked, "temperature", @@ -202,7 +200,7 @@ class JobStatusPanel(ScreenPanel): nlimit += 1 if n >= nlimit: break - self.heater_button[device] = self._gtk.Button("heat-up", None, None, self.bt_scale, + self.heater_button[device] = self._gtk.Button("heat-up", "", None, self.bts, Gtk.PositionType.LEFT, 1) self.labels[device] = Gtk.Label("-") self.heater_button[device].set_label(self.labels[device].get_text()) @@ -213,33 +211,33 @@ class JobStatusPanel(ScreenPanel): n += 1 break - self.z_button = self._gtk.Button("home-z", None, None, self.bt_scale, Gtk.PositionType.LEFT, 1) + self.z_button = self._gtk.Button("home-z", "", None, self.bts, Gtk.PositionType.LEFT, 1) self.z_button.set_label(self.labels['pos_z'].get_text()) self.z_button.connect("clicked", self.create_move_grid) self.z_button.set_halign(Gtk.Align.START) - self.speed_button = self._gtk.Button("speed+", None, None, self.bt_scale, Gtk.PositionType.LEFT, 1) + self.speed_button = self._gtk.Button("speed+", "", None, self.bts, Gtk.PositionType.LEFT, 1) self.speed_button.set_label(self.labels['speed_factor'].get_text()) self.speed_button.connect("clicked", self.create_move_grid) self.speed_button.set_halign(Gtk.Align.START) - self.extrusion_button = self._gtk.Button("extrude", None, None, self.bt_scale, Gtk.PositionType.LEFT, 1) + self.extrusion_button = self._gtk.Button("extrude", "", None, self.bts, Gtk.PositionType.LEFT, 1) self.extrusion_button.set_label(self.labels['extrude_factor'].get_text()) self.extrusion_button.connect("clicked", self.create_extrusion_grid) self.extrusion_button.set_halign(Gtk.Align.START) - self.fan_button = self._gtk.Button("fan", None, None, self.bt_scale, Gtk.PositionType.LEFT, 1) + self.fan_button = self._gtk.Button("fan", "", None, self.bts, Gtk.PositionType.LEFT, 1) self.fan_button.set_label(self.labels['fan'].get_text()) self.fan_button.connect("clicked", self.menu_item_clicked, "fan", {"panel": "fan", "name": _("Fan")}) self.fan_button.set_halign(Gtk.Align.START) elapsed_label = self.labels['elapsed'].get_text() + " " + self.labels['duration'].get_text() - self.elapsed_button = self._gtk.Button("clock", elapsed_label, None, self.bt_scale, Gtk.PositionType.LEFT, 1) + self.elapsed_button = self._gtk.Button("clock", elapsed_label, None, self.bts, Gtk.PositionType.LEFT, 1) self.elapsed_button.connect("clicked", self.create_time_grid) self.elapsed_button.set_halign(Gtk.Align.START) remaining_label = self.labels['left'].get_text() + " " + self.labels['time_left'].get_text() - self.left_button = self._gtk.Button("hourglass", remaining_label, None, self.bt_scale, Gtk.PositionType.LEFT, 1) + self.left_button = self._gtk.Button("hourglass", remaining_label, None, self.bts, Gtk.PositionType.LEFT, 1) self.left_button.connect("clicked", self.create_time_grid) self.left_button.set_halign(Gtk.Align.START) @@ -261,7 +259,7 @@ class JobStatusPanel(ScreenPanel): def create_extrusion_grid(self, widget=None): self.main_status_displayed = False - goback = self._gtk.Button("back", None, "color1", self.bt_scale, Gtk.PositionType.TOP, False) + goback = self._gtk.Button("back", None, "color1", self.bts, Gtk.PositionType.TOP, False) goback.connect("clicked", self.create_status_grid) goback.set_hexpand(False) goback.get_style_context().add_class("printing-info") @@ -286,7 +284,7 @@ class JobStatusPanel(ScreenPanel): def create_move_grid(self, widget=None): self.main_status_displayed = False - goback = self._gtk.Button("back", None, "color2", self.bt_scale, Gtk.PositionType.TOP, False) + goback = self._gtk.Button("back", None, "color2", self.bts, Gtk.PositionType.TOP, False) goback.connect("clicked", self.create_status_grid) goback.set_hexpand(False) goback.get_style_context().add_class("printing-info") @@ -317,7 +315,7 @@ class JobStatusPanel(ScreenPanel): def create_time_grid(self, widget=None): self.main_status_displayed = False - goback = self._gtk.Button("back", None, "color3", self.bt_scale, Gtk.PositionType.TOP, False) + goback = self._gtk.Button("back", None, "color3", self.bts, Gtk.PositionType.TOP, False) goback.connect("clicked", self.create_status_grid) goback.set_hexpand(False) diff --git a/panels/main_menu.py b/panels/main_menu.py index 5ba18652..1f539bbf 100644 --- a/panels/main_menu.py +++ b/panels/main_menu.py @@ -135,7 +135,7 @@ class MainPanel(MenuPanel): if can_target: self.labels['da'].add_object(device, "targets", rgb, True, False) - name = self._gtk.Button(image, devname.capitalize().replace("_", " "), None, .5, Gtk.PositionType.LEFT, 1) + name = self._gtk.Button(image, devname.capitalize().replace("_", " "), None, self.bts, Gtk.PositionType.LEFT, 1) name.connect("clicked", self.toggle_visibility, device) name.set_alignment(0, .5) visible = self._config.get_config().getboolean(f"graph {self._screen.connected_printer}", device, fallback=True) diff --git a/panels/temperature.py b/panels/temperature.py index 123abfd1..6c0034e4 100644 --- a/panels/temperature.py +++ b/panels/temperature.py @@ -29,7 +29,6 @@ class TemperaturePanel(ScreenPanel): self.tempdelta = self.tempdeltas[-2] self.show_preheat = False self.preheat_options = self._screen._config.get_preheat_options() - logging.debug(f"Preheat options: {self.preheat_options}") self.grid = self._gtk.HomogeneousGrid() self._gtk.reset_temp_color() self.grid.attach(self.create_left_panel(), 0, 0, 1, 1) @@ -68,9 +67,8 @@ class TemperaturePanel(ScreenPanel): self.layout.show_all() def create_right_panel(self): - - cooldown = self._gtk.Button('cool-down', _('Cooldown'), "color4", .5, Gtk.PositionType.LEFT, 1) - adjust = self._gtk.Button('fine-tune', None, "color3", 1, Gtk.PositionType.LEFT, 1) + cooldown = self._gtk.Button('cool-down', _('Cooldown'), "color4", self.bts, Gtk.PositionType.LEFT, 1) + adjust = self._gtk.Button('fine-tune', None, "color3", self.bts, Gtk.PositionType.LEFT, 1) cooldown.connect("clicked", self.set_temperature, "cooldown") adjust.connect("clicked", self.switch_preheat_adjust) @@ -328,7 +326,7 @@ class TemperaturePanel(ScreenPanel): rgb = self._gtk.get_temp_color(dev_type) - name = self._gtk.Button(image, devname.capitalize().replace("_", " "), None, .5, Gtk.PositionType.LEFT, 1) + name = self._gtk.Button(image, devname.capitalize().replace("_", " "), None, self.bts, Gtk.PositionType.LEFT, 1) name.set_alignment(0, .5) visible = self._config.get_config().getboolean(f"graph {self._screen.connected_printer}", device, fallback=True) if visible: