tweak image size of buttons with side labes or no label

This commit is contained in:
alfrix 2022-12-01 20:09:37 -03:00
parent 4804f5a5e0
commit ab4d4af7f8
6 changed files with 29 additions and 25 deletions

View File

@ -34,20 +34,26 @@ class KlippyGtk:
self.themedir = os.path.join(pathlib.Path(__file__).parent.resolve().parent, "styles", theme, "images")
self.cursor = cursor
self.font_size_type = fontsize_type
self.font_ratio = [33, 49] if self.screen.vertical_mode else [43, 29]
self.font_size = min(self.width / self.font_ratio[0], self.height / self.font_ratio[1])
self.img_scale = self.font_size * 2
self.button_image_scale = 1.38
self.bsidescale = .65 # Buttons with image at the side
if fontsize_type == "max":
self.font_size = self.font_size * 1.2
self.bsidescale = .7
elif fontsize_type == "extralarge":
self.font_size = self.font_size * 1.14
self.img_scale = self.img_scale * 0.6
self.img_scale = self.img_scale * 0.7
self.bsidescale = 1
elif fontsize_type == "large":
self.font_size = self.font_size * 1.09
self.img_scale = self.img_scale * 0.9
self.bsidescale = .8
elif fontsize_type == "small":
self.font_size = self.font_size * 0.91
self.bsidescale = .55
self.img_width = self.font_size * 3
self.img_height = self.font_size * 3
self.titlebar_height = self.font_size * 2
@ -155,8 +161,8 @@ class KlippyGtk:
stream.close_async(2)
return pixbuf
def Button(self, image_name=None, label=None, style=None, scale=1.38, position=Gtk.PositionType.TOP, lines=2):
if self.font_size_type == "max" and label is not None and scale == 1.38:
def Button(self, image_name=None, label=None, style=None, scale=None, position=Gtk.PositionType.TOP, lines=2):
if self.font_size_type == "max" and label is not None and scale is None:
image_name = None
b = Gtk.Button()
if label is not None:
@ -165,6 +171,8 @@ class KlippyGtk:
b.set_vexpand(True)
b.set_can_focus(False)
if image_name is not None:
if scale is None:
scale = self.button_image_scale
if label is None:
scale = scale * 1.5
width = height = self.img_scale * scale

View File

@ -33,12 +33,7 @@ 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
self.bts = self._gtk.bsidescale
self.update_dialog = None

View File

@ -28,22 +28,23 @@ class BasePanel(ScreenPanel):
}
self.current_extruder = None
# Action bar buttons
self.control['back'] = self._gtk.Button('back', scale=self.bts)
abscale = self.bts * 1.1
self.control['back'] = self._gtk.Button('back', scale=abscale)
self.control['back'].connect("clicked", self.back)
self.control['home'] = self._gtk.Button('main', scale=self.bts)
self.control['home'] = self._gtk.Button('main', scale=abscale)
self.control['home'].connect("clicked", self._screen._menu_go_back, True)
if len(self._config.get_printers()) > 1:
self.control['printer_select'] = self._gtk.Button('shuffle', scale=self.bts)
self.control['printer_select'] = self._gtk.Button('shuffle', scale=abscale)
self.control['printer_select'].connect("clicked", self._screen.show_printer_select)
self.control['macros_shortcut'] = self._gtk.Button('custom-script', scale=self.bts)
self.control['macros_shortcut'] = self._gtk.Button('custom-script', scale=abscale)
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=self.bts)
self.control['estop'] = self._gtk.Button('emergency', scale=abscale)
self.control['estop'].connect("clicked", self.emergency_stop)
# Any action bar button should close the keyboard

View File

@ -23,9 +23,9 @@ class BedMeshPanel(ScreenPanel):
self.active_mesh = None
self.profiles = {}
self.buttons = {
'add': self._gtk.Button("increase", " " + _("Add profile"), "color1", .66, Gtk.PositionType.LEFT, 1),
'calib': self._gtk.Button("refresh", " " + _("Calibrate"), "color3", .66, Gtk.PositionType.LEFT, 1),
'clear': self._gtk.Button("cancel", " " + _("Clear"), "color2", .66, Gtk.PositionType.LEFT, 1),
'add': self._gtk.Button("increase", " " + _("Add profile"), "color1", self.bts, Gtk.PositionType.LEFT, 1),
'calib': self._gtk.Button("refresh", " " + _("Calibrate"), "color3", self.bts, Gtk.PositionType.LEFT, 1),
'clear': self._gtk.Button("cancel", " " + _("Clear"), "color2", self.bts, Gtk.PositionType.LEFT, 1),
}
self.buttons['add'].connect("clicked", self.show_create_profile)
self.buttons['add'].set_hexpand(True)
@ -125,8 +125,8 @@ class BedMeshPanel(ScreenPanel):
name.connect("clicked", self.update_graph, profile)
buttons = {
"save": self._gtk.Button("complete", None, "color4", .75),
"delete": self._gtk.Button("cancel", None, "color2", .75),
"save": self._gtk.Button("complete", None, "color4", self.bts),
"delete": self._gtk.Button("cancel", None, "color2", self.bts),
}
buttons["save"].connect("clicked", self.send_save_mesh, profile)
buttons["delete"].connect("clicked", self.send_remove_mesh, profile)

View File

@ -72,10 +72,10 @@ class FanPanel(ScreenPanel):
name.set_line_wrap_mode(Pango.WrapMode.WORD_CHAR)
fan_col = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=5)
stop_btn = self._gtk.Button("cancel", None, "color1", 1)
stop_btn = self._gtk.Button("cancel", None, "color1")
stop_btn.set_hexpand(False)
stop_btn.connect("clicked", self.update_fan_speed, fan, 0)
max_btn = self._gtk.Button("fan-on", _("Max"), "color2", 1)
max_btn = self._gtk.Button("fan-on", _("Max"), "color2")
max_btn.set_hexpand(False)
max_btn.connect("clicked", self.update_fan_speed, fan, 100)

View File

@ -68,7 +68,7 @@ class TemperaturePanel(ScreenPanel):
def create_right_panel(self):
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)
adjust = self._gtk.Button('fine-tune', None, "color3", self.bts * 1.4, Gtk.PositionType.LEFT, 1)
cooldown.connect("clicked", self.set_temperature, "cooldown")
adjust.connect("clicked", self.switch_preheat_adjust)
@ -106,9 +106,9 @@ class TemperaturePanel(ScreenPanel):
def delta_adjust(self):
deltagrid = self._gtk.HomogeneousGrid()
self.labels["increase"] = self._gtk.Button("increase", _("Increase"), "color1")
self.labels["increase"] = self._gtk.Button("increase", None, "color1")
self.labels["increase"].connect("clicked", self.change_target_temp_incremental, "+")
self.labels["decrease"] = self._gtk.Button("decrease", _("Decrease"), "color3")
self.labels["decrease"] = self._gtk.Button("decrease", None, "color3")
self.labels["decrease"].connect("clicked", self.change_target_temp_incremental, "-")
tempgrid = Gtk.Grid()