From 20346a90dc0bb40f176bdeb2d041fb91e94a9577 Mon Sep 17 00:00:00 2001 From: alfrix Date: Sat, 26 Nov 2022 10:29:55 -0300 Subject: [PATCH] splash_screen: tweak layout sizes and remove get_allocation that can cause isssues fixes #813 gtk: fix content_width while vertical returning 0 --- ks_includes/KlippyGtk.py | 6 ++++-- panels/base_panel.py | 5 ++--- panels/exclude.py | 2 +- panels/splash_screen.py | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/ks_includes/KlippyGtk.py b/ks_includes/KlippyGtk.py index 5e23268d..6dc992b0 100644 --- a/ks_includes/KlippyGtk.py +++ b/ks_includes/KlippyGtk.py @@ -45,6 +45,7 @@ class KlippyGtk: else: self.action_bar_width = int(self.width * .1) self.action_bar_height = int(self.height) + logging.info(f"{self.action_bar_width=}") self.color_list = {} # This is set by screen.py init_style() for key in self.color_list: @@ -59,13 +60,14 @@ class KlippyGtk: return self.action_bar_height def get_content_width(self): + if self.screen.vertical_mode: + return self.width return self.width - self.action_bar_width def get_content_height(self): if self.screen.vertical_mode: return self.height - self.titlebar_height - self.action_bar_height - else: - return self.height - self.titlebar_height + return self.height - self.titlebar_height def get_font_size(self): return self.font_size diff --git a/panels/base_panel.py b/panels/base_panel.py index dc92d89c..889ae619 100644 --- a/panels/base_panel.py +++ b/panels/base_panel.py @@ -55,11 +55,10 @@ class BasePanel(ScreenPanel): if self._screen.vertical_mode: self.action_bar.set_hexpand(True) self.action_bar.set_vexpand(False) - self.action_bar.set_size_request(0, self._gtk.get_action_bar_height()) else: self.action_bar.set_hexpand(False) self.action_bar.set_vexpand(True) - self.action_bar.set_size_request(self._gtk.get_action_bar_width(), 0) + self.action_bar.set_size_request(self._gtk.get_action_bar_width(), self._gtk.get_action_bar_height()) self.action_bar.get_style_context().add_class('action_bar') self.action_bar.add(self.control['back']) @@ -88,7 +87,7 @@ class BasePanel(ScreenPanel): self.control['time_box'].pack_end(self.control['time'], True, True, 10) self.titlebar = Gtk.Box(spacing=5) - self.titlebar.set_size_request(0, self._gtk.get_titlebar_height()) + self.titlebar.set_size_request(self._gtk.get_content_width(), self._gtk.get_titlebar_height()) self.titlebar.set_valign(Gtk.Align.CENTER) self.titlebar.add(self.control['temp_box']) self.titlebar.add(self.titlelbl) diff --git a/panels/exclude.py b/panels/exclude.py index a30e1587..c7f0ddc7 100644 --- a/panels/exclude.py +++ b/panels/exclude.py @@ -47,7 +47,7 @@ class ExcludeObjectPanel(ScreenPanel): if self._screen.vertical_mode: grid.attach(self.labels['map'], 0, 2, 2, 1) grid.attach(scroll, 0, 3, 2, 1) - scroll.set_size_request(self._screen.width, -1) + scroll.set_size_request(self._gtk.get_content_width(), -1) else: grid.attach(self.labels['map'], 0, 2, 1, 1) grid.attach(scroll, 1, 2, 1, 1) diff --git a/panels/splash_screen.py b/panels/splash_screen.py index eb4f7516..e76fffd3 100644 --- a/panels/splash_screen.py +++ b/panels/splash_screen.py @@ -17,7 +17,7 @@ class SplashScreenPanel(ScreenPanel): def __init__(self, screen, title): super().__init__(screen, title) - image = self._gtk.Image("klipper", self._screen.width / 5, self._screen.height * .5) + image = self._gtk.Image("klipper", self._gtk.get_content_width() * .2, self._gtk.get_content_height() * .5) self.labels['text'] = Gtk.Label(_("Initializing printer...")) self.labels['text'].set_line_wrap(True) self.labels['text'].set_line_wrap_mode(Pango.WrapMode.WORD_CHAR) @@ -42,7 +42,7 @@ class SplashScreenPanel(ScreenPanel): self.labels['actions'].set_vexpand(False) self.labels['actions'].set_halign(Gtk.Align.CENTER) self.labels['actions'].set_homogeneous(True) - self.labels['actions'].set_size_request(self._screen.base_panel.content.get_allocation().width, 0) + self.labels['actions'].set_size_request(self._gtk.get_content_width(), -1) scroll = self._gtk.ScrolledWindow() scroll.set_hexpand(True)