From 33beb60af9560d775f81fc8e92aad8b98c052aae Mon Sep 17 00:00:00 2001 From: Jordan Ruthe Date: Sat, 14 Nov 2020 11:25:08 -0500 Subject: [PATCH] Update print panel to handle different resolutions better --- panels/print.py | 15 +++++++++------ screen.py | 6 ++++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/panels/print.py b/panels/print.py index 5f672dfc..d5a618ee 100644 --- a/panels/print.py +++ b/panels/print.py @@ -216,7 +216,7 @@ class PrintPanel(ScreenPanel): def confirm_print(self, widget, filename): dialog = Gtk.Dialog() #TODO: Factor other resolutions in - dialog.set_default_size(984, 580) + dialog.set_default_size(self._screen.width - 15, self._screen.height - 15) dialog.set_resizable(False) dialog.set_transient_for(self._screen) dialog.set_modal(True) @@ -234,18 +234,21 @@ class PrintPanel(ScreenPanel): content_area.set_margin_bottom(15) label = Gtk.Label() + label.set_markup("Are you sure you want to print %s?" % (filename)) + label.set_hexpand(True) + label.set_halign(Gtk.Align.CENTER) label.set_line_wrap(True) - label.set_size_request(800, -1) - label.set_markup("Are you sure you want to print %s?\n\n" % (filename)) + label.set_line_wrap_mode(Pango.WrapMode.WORD_CHAR) label.get_style_context().add_class("text") grid = Gtk.Grid() grid.add(label) + grid.set_size_request(self._screen.width - 60, -1) - pixbuf = self.get_file_image(filename, 400, 350) + pixbuf = self.get_file_image(filename, self._screen.width/2, self._screen.height/3) if pixbuf != None: image = Gtk.Image.new_from_pixbuf(pixbuf) - + image.set_margin_top(20) grid.attach_next_to(image, label, Gtk.PositionType.BOTTOM, 1, 3) #table.attach(label, 0, 1, 0, 1, Gtk.AttachOptions.SHRINK | Gtk.AttachOptions.FILL) @@ -253,7 +256,7 @@ class PrintPanel(ScreenPanel): grid.set_halign(Gtk.Align.CENTER) grid.set_valign(Gtk.Align.CENTER) content_area.add(grid) - + dialog.resize(self._screen.width - 15, self._screen.height - 15) dialog.show_all() def confirm_print_response(self, widget, response_id, filename): diff --git a/screen.py b/screen.py index 4172688d..3f3f600d 100644 --- a/screen.py +++ b/screen.py @@ -91,9 +91,11 @@ class KlipperScreen(Gtk.Window): self.apiclient = KlippyRest("127.0.0.1",7125) Gtk.Window.__init__(self) - self.set_default_size(Gdk.Screen.get_width(Gdk.Screen.get_default()), Gdk.Screen.get_height(Gdk.Screen.get_default())) + self.width = Gdk.Screen.get_width(Gdk.Screen.get_default()) + self.height = Gdk.Screen.get_height(Gdk.Screen.get_default()) + self.set_default_size(self.width, self.height) self.set_resizable(False) - logger.info("Screen resolution: %s", str(Gdk.Screen.get_width(Gdk.Screen.get_default()))+"x"+str(Gdk.Screen.get_height(Gdk.Screen.get_default()))) + logger.info("Screen resolution: %sx%s" % (self.width, self.height)) self.printer_initializing("Connecting to Moonraker")