From 312d131db5233b62b7e05dc56eaf28b2b1dcd3fa Mon Sep 17 00:00:00 2001 From: alfrix Date: Wed, 22 Jun 2022 14:12:23 -0300 Subject: [PATCH] use images for the sort order, drop freefont dependency --- ks_includes/KlippyGtk.py | 5 +++-- panels/gcode_macros.py | 7 +++---- panels/print.py | 11 +++++------ scripts/KlipperScreen-install.sh | 2 +- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/ks_includes/KlippyGtk.py b/ks_includes/KlippyGtk.py index 4c68fbc1..5b5eff24 100644 --- a/ks_includes/KlippyGtk.py +++ b/ks_includes/KlippyGtk.py @@ -171,14 +171,15 @@ class KlippyGtk: b.connect("clicked", self.screen.reset_screensaver_timeout) return b - def ButtonImage(self, image_name, label=None, style=None, scale=1.38, + def ButtonImage(self, image_name=None, label=None, style=None, scale=1.38, position=Gtk.PositionType.TOP, word_wrap=True): b = Gtk.Button(label=label) b.set_hexpand(True) b.set_vexpand(True) b.set_can_focus(False) - b.set_image(self.Image(image_name, scale)) + if image_name is not None: + b.set_image(self.Image(image_name, scale)) b.set_image_position(position) b.set_always_show_image(True) diff --git a/panels/gcode_macros.py b/panels/gcode_macros.py index fef14007..4e107d63 100644 --- a/panels/gcode_macros.py +++ b/panels/gcode_macros.py @@ -16,14 +16,13 @@ class MacroPanel(ScreenPanel): _ = self.lang.gettext self.macros = {} self.loaded_macros = [] - self.sort_char = [" ↑", " ↓"] self.sort_reverse = False self.menu = ['macros_menu'] sort = Gtk.Label(_("Sort:")) sort.set_hexpand(False) self.sort_lbl = _("Name") - self.sort_btn = self._gtk.Button(self.sort_lbl + self.sort_char[0], "color1") + self.sort_btn = self._gtk.ButtonImage("arrow-up", self.sort_lbl, "color1", .66, Gtk.PositionType.RIGHT, False) self.sort_btn.connect("clicked", self.change_sort) self.sort_btn.set_hexpand(True) adjust = self._gtk.ButtonImage("settings", None, "color2", 1, Gtk.PositionType.LEFT, False) @@ -102,9 +101,9 @@ class MacroPanel(ScreenPanel): def change_sort(self, widget): self.sort_reverse ^= True if self.sort_reverse: - self.sort_btn.set_label(self.sort_lbl + self.sort_char[1]) + self.sort_btn.set_image(self._gtk.Image("arrow-down", .66)) else: - self.sort_btn.set_label(self.sort_lbl + self.sort_char[0]) + self.sort_btn.set_image(self._gtk.Image("arrow-up", .66)) self.sort_btn.show() GLib.idle_add(self.reload_macros) diff --git a/panels/print.py b/panels/print.py index a573ea20..3da61f17 100644 --- a/panels/print.py +++ b/panels/print.py @@ -27,7 +27,7 @@ class PrintPanel(ScreenPanel): "name": _("Name"), "date": _("Date") } - self.sort_char = ["↑", "↓"] + self.sort_icon = ["arrow-up", "arrow-down"] sortdir = self._config.get_main_config_option("print_sort_dir", "name_asc") sortdir = sortdir.split('_') @@ -44,10 +44,9 @@ class PrintPanel(ScreenPanel): sbox.add(sort) i = 1 for name, val in self.sort_items.items(): - s = self._gtk.Button(val, "color%s" % (i % 4)) - s.set_label(val) + s = self._gtk.ButtonImage(None, val, "color%s" % (i % 4), .66, Gtk.PositionType.RIGHT, False) if name == sortdir[0]: - s.set_label("%s %s" % (s.get_label(), self.sort_char[self.sort_current[1]])) + s.set_image(self._gtk.Image(self.sort_icon[self.sort_current[1]], .66)) s.connect("clicked", self.change_sort, name) self.labels['sort_%s' % name] = s sbox.add(s) @@ -270,10 +269,10 @@ class PrintPanel(ScreenPanel): else: oldkey = self.sort_current[0] logging.info("Changing %s to %s" % ('sort_%s' % oldkey, self.sort_items[self.sort_current[0]])) - self.labels['sort_%s' % oldkey].set_label("%s" % self.sort_items[oldkey]) + self.labels['sort_%s' % oldkey].set_image(None) self.labels['sort_%s' % oldkey].show_all() self.sort_current = [key, 0] - self.labels['sort_%s' % key].set_label("%s %s" % (self.sort_items[key], self.sort_char[self.sort_current[1]])) + self.labels['sort_%s' % key].set_image(self._gtk.Image(self.sort_icon[self.sort_current[1]], .66)) self.labels['sort_%s' % key].show() GLib.idle_add(self.reload_files) diff --git a/scripts/KlipperScreen-install.sh b/scripts/KlipperScreen-install.sh index 987231eb..0b9e2601 100755 --- a/scripts/KlipperScreen-install.sh +++ b/scripts/KlipperScreen-install.sh @@ -10,7 +10,7 @@ FBDEV="xserver-xorg-video-fbdev" PYTHON="python3-virtualenv virtualenv python3-distutils" PYGOBJECT="libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0" MISC="librsvg2-common libopenjp2-7 libatlas-base-dev matchbox-keyboard wireless-tools" -OPTIONAL="xserver-xorg-legacy fonts-nanum fonts-freefont-ttf" +OPTIONAL="xserver-xorg-legacy fonts-nanum" Red='\033[0;31m' Green='\033[0;32m'