diff --git a/ks_includes/KlippyGtk.py b/ks_includes/KlippyGtk.py index 7f4c6316..24c76f3b 100644 --- a/ks_includes/KlippyGtk.py +++ b/ks_includes/KlippyGtk.py @@ -211,11 +211,13 @@ class KlippyGtk: def Dialog(self, title, buttons, content, callback=None, *args): dialog = Gtk.Dialog(title=title) - dialog.set_default_size(self.width, self.height) dialog.set_resizable(False) dialog.set_transient_for(self.screen) dialog.set_modal(True) - if not self.screen.windowed: + if self.screen.windowed: + dialog.set_default_size(self.width, self.height) + else: + logging.info("Dialog fullscreen") dialog.fullscreen() for button in buttons: @@ -277,9 +279,8 @@ class KlippyGtk: return b def ScrolledWindow(self, steppers=True): - scroll = Gtk.ScrolledWindow() + scroll = Gtk.ScrolledWindow(vexpand=True) scroll.set_property("overlay-scrolling", False) - scroll.set_vexpand(True) scroll.add_events(Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.TOUCH_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK) diff --git a/panels/base_panel.py b/panels/base_panel.py index 44f34ad4..b924169d 100644 --- a/panels/base_panel.py +++ b/panels/base_panel.py @@ -315,6 +315,7 @@ class BasePanel(ScreenPanel): self.labels['update_progress'].set_valign(Gtk.Align.START) self.labels['update_progress'].set_ellipsize(Pango.EllipsizeMode.END) self.labels['update_scroll'] = self._gtk.ScrolledWindow(steppers=False) + self.labels['update_scroll'].set_size_request(self._gtk.width - 30, self._gtk.height * .6) self.labels['update_scroll'].set_property("overlay-scrolling", True) self.labels['update_scroll'].add(self.labels['update_progress']) self.labels['update_scroll'].connect("size-allocate", self._autoscroll) diff --git a/panels/bed_mesh.py b/panels/bed_mesh.py index fa2c2dd6..e905675d 100644 --- a/panels/bed_mesh.py +++ b/panels/bed_mesh.py @@ -52,7 +52,7 @@ class Panel(ScreenPanel): if self._screen.vertical_mode: grid.attach(self.labels['map'], 0, 2, 2, 1) grid.attach(scroll, 0, 3, 2, 1) - self.labels['map'].set_size_request(self._gtk.content_width, self._gtk.content_height * .4) + self.labels['map'].set_size_request(self._gtk.content_width - 30, self._gtk.content_height * .4) else: grid.attach(self.labels['map'], 0, 2, 1, 1) grid.attach(scroll, 1, 2, 1, 1) diff --git a/panels/exclude.py b/panels/exclude.py index 5b6aa6fc..ee026ebd 100644 --- a/panels/exclude.py +++ b/panels/exclude.py @@ -40,14 +40,14 @@ class Panel(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._gtk.content_width, -1) + scroll.set_size_request(self._gtk.content_width - 30, -1) else: grid.attach(self.labels['map'], 0, 2, 1, 1) grid.attach(scroll, 1, 2, 1, 1) - scroll.set_size_request((self._screen.width * .9) // 2, -1) + scroll.set_size_request((self._screen.width - 30) // 2, -1) else: grid.attach(scroll, 0, 2, 2, 1) - scroll.set_size_request(self._gtk.content_width, -1) + scroll.set_size_request(self._gtk.content_width - 30, -1) self.content.add(grid) self.content.show_all() diff --git a/panels/extrude.py b/panels/extrude.py index 4badd530..949692ca 100644 --- a/panels/extrude.py +++ b/panels/extrude.py @@ -117,7 +117,7 @@ class Panel(ScreenPanel): filament_sensors = self._printer.get_filament_sensors() sensors = Gtk.Grid() - sensors.set_size_request(self._gtk.content_width, -1) + sensors.set_size_request(self._gtk.content_width - 30, -1) if len(filament_sensors) > 0: sensors.set_column_spacing(5) sensors.set_row_spacing(5) diff --git a/panels/splash_screen.py b/panels/splash_screen.py index 6f1c4812..fbf5d459 100644 --- a/panels/splash_screen.py +++ b/panels/splash_screen.py @@ -36,7 +36,7 @@ class Panel(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._gtk.content_width, -1) + self.labels['actions'].set_size_request(self._gtk.content_width - 30, -1) scroll = self._gtk.ScrolledWindow() scroll.set_hexpand(True) diff --git a/panels/system.py b/panels/system.py index 3850994e..c8610403 100644 --- a/panels/system.py +++ b/panels/system.py @@ -59,9 +59,7 @@ class Panel(ScreenPanel): items = sorted(list(vi)) i = 0 for prog in items: - self.labels[prog] = Gtk.Label() - self.labels[prog].set_hexpand(True) - self.labels[prog].set_halign(Gtk.Align.START) + self.labels[prog] = Gtk.Label(hexpand=True, halign=Gtk.Align.START, ellipsize=Pango.EllipsizeMode.END) self.labels[f"{prog}_status"] = self._gtk.Button() self.labels[f"{prog}_status"].set_hexpand(False) @@ -121,6 +119,7 @@ class Panel(ScreenPanel): info = self.update_status['version_info'][program] if program in self.update_status['version_info'] else {} scroll = self._gtk.ScrolledWindow(steppers=False) + scroll.set_size_request(self._gtk.width - 30, self._gtk.height * .6) scroll.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) diff --git a/screen.py b/screen.py index e33b81ac..1dfd79c1 100755 --- a/screen.py +++ b/screen.py @@ -365,29 +365,29 @@ class KlipperScreen(Gtk.Window): title = Gtk.Label() title.set_markup(f"{err}\n") title.set_line_wrap(True) + title.set_line_wrap_mode(Pango.WrapMode.CHAR) title.set_halign(Gtk.Align.START) title.set_hexpand(True) version = Gtk.Label(label=f"{self.version}") version.set_halign(Gtk.Align.END) - message = Gtk.Label(label=f"{e}") + help_msg = _("Provide KlipperScreen.log when asking for help") + message = Gtk.Label(label=f"{help_msg}\n\n{e}") message.set_line_wrap(True) scroll = self.gtk.ScrolledWindow(steppers=False) scroll.set_vexpand(True) + if self.vertical_mode: + scroll.set_size_request(self.gtk.width - 30, self.gtk.height * .6) + else: + scroll.set_size_request(self.gtk.width - 30, self.gtk.height * .45) scroll.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) scroll.add(message) - help_msg = _("Provide KlipperScreen.log when asking for help.\n") - help_msg += _("KlipperScreen will reboot") - help_notice = Gtk.Label(label=help_msg) - help_notice.set_line_wrap(True) - grid = Gtk.Grid() grid.attach(title, 0, 0, 1, 1) grid.attach(version, 1, 0, 1, 1) grid.attach(Gtk.Separator(), 0, 1, 2, 1) grid.attach(scroll, 0, 2, 2, 1) - grid.attach(help_notice, 0, 3, 2, 1) buttons = [ {"name": _("Go Back"), "response": Gtk.ResponseType.CANCEL}