dialogs: simplify dialog calls, fix layout issue
This commit is contained in:
parent
6be0a2931f
commit
e80ef7eff5
@ -209,17 +209,17 @@ class KlippyGtk:
|
||||
spinner.hide()
|
||||
widget.set_sensitive(True)
|
||||
|
||||
def Dialog(self, screen, buttons, content, callback=None, *args):
|
||||
dialog = Gtk.Dialog()
|
||||
dialog.set_default_size(screen.width, screen.height)
|
||||
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(screen)
|
||||
dialog.set_transient_for(self.screen)
|
||||
dialog.set_modal(True)
|
||||
|
||||
for button in buttons:
|
||||
dialog.add_button(button['name'], button['response'])
|
||||
button = dialog.get_widget_for_response(button['response'])
|
||||
button.set_size_request((screen.width - 30) / 3, screen.height / 5)
|
||||
button.set_size_request((self.width - 30) / 3, self.height / 5)
|
||||
format_label(button, 3)
|
||||
|
||||
dialog.connect("response", self.screen.reset_screensaver_timeout)
|
||||
@ -243,7 +243,7 @@ class KlippyGtk:
|
||||
Gdk.Cursor.new_for_display(Gdk.Display.get_default(), Gdk.CursorType.BLANK_CURSOR))
|
||||
|
||||
self.screen.dialogs.append(dialog)
|
||||
logging.info(f"Showing dialog {dialog}")
|
||||
logging.info(f"Showing dialog {dialog.get_title()} {dialog.get_size()}")
|
||||
return dialog
|
||||
|
||||
def remove_dialog(self, dialog, *args):
|
||||
|
@ -313,11 +313,10 @@ class BasePanel(ScreenPanel):
|
||||
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)
|
||||
dialog = self._gtk.Dialog(self._screen, button, self.labels['update_scroll'], self.finish_updating)
|
||||
dialog = self._gtk.Dialog(_("Updating"), button, self.labels['update_scroll'], self.finish_updating)
|
||||
dialog.connect("delete-event", self.close_update_dialog)
|
||||
dialog.set_response_sensitive(Gtk.ResponseType.OK, False)
|
||||
dialog.get_widget_for_response(Gtk.ResponseType.OK).hide()
|
||||
dialog.set_title(_("Updating"))
|
||||
self.update_dialog = dialog
|
||||
self._screen.updating = True
|
||||
|
||||
|
@ -405,8 +405,7 @@ class Panel(ScreenPanel):
|
||||
{"name": _("Apply"), "response": Gtk.ResponseType.APPLY},
|
||||
{"name": _("Cancel"), "response": Gtk.ResponseType.CANCEL}
|
||||
]
|
||||
dialog = self._gtk.Dialog(self._screen, buttons, grid, self.save_confirm, device)
|
||||
dialog.set_title(_("Save Z"))
|
||||
self._gtk.Dialog(_("Save Z"), buttons, grid, self.save_confirm, device)
|
||||
|
||||
def save_confirm(self, dialog, response_id, device):
|
||||
self._gtk.remove_dialog(dialog)
|
||||
@ -452,9 +451,7 @@ class Panel(ScreenPanel):
|
||||
label.set_valign(Gtk.Align.CENTER)
|
||||
label.set_line_wrap(True)
|
||||
label.set_line_wrap_mode(Pango.WrapMode.WORD_CHAR)
|
||||
|
||||
dialog = self._gtk.Dialog(self._screen, buttons, label, self.cancel_confirm)
|
||||
dialog.set_title(_("Cancel"))
|
||||
self._gtk.Dialog(_("Cancel"), buttons, label, self.cancel_confirm)
|
||||
|
||||
def cancel_confirm(self, dialog, response_id):
|
||||
self._gtk.remove_dialog(dialog)
|
||||
@ -778,13 +775,11 @@ class Panel(ScreenPanel):
|
||||
buttons = [
|
||||
{"name": _("Close"), "response": Gtk.ResponseType.CANCEL}
|
||||
]
|
||||
pixbuf = self.get_file_image(self.filename, self._screen.width * .9, self._screen.height * .6)
|
||||
pixbuf = self.get_file_image(self.filename, self._screen.width * .9, self._screen.height * .5)
|
||||
if pixbuf is None:
|
||||
return
|
||||
image = Gtk.Image.new_from_pixbuf(pixbuf)
|
||||
dialog = self._gtk.Dialog(self._screen, buttons, image, self.close_fullscreen_thumbnail)
|
||||
dialog.set_title(self.filename)
|
||||
return
|
||||
self._gtk.Dialog(self.filename, buttons, image, self.close_fullscreen_thumbnail)
|
||||
|
||||
def close_fullscreen_thumbnail(self, dialog, response_id):
|
||||
self._gtk.remove_dialog(dialog)
|
||||
|
@ -282,8 +282,7 @@ class Panel(ScreenPanel):
|
||||
self.labels['connecting_info'].set_halign(Gtk.Align.START)
|
||||
self.labels['connecting_info'].set_valign(Gtk.Align.START)
|
||||
scroll.add(self.labels['connecting_info'])
|
||||
dialog = self._gtk.Dialog(self._screen, buttons, scroll, self._gtk.remove_dialog)
|
||||
dialog.set_title(_("Starting WiFi Association"))
|
||||
self._gtk.Dialog(_("Starting WiFi Association"), buttons, scroll, self._gtk.remove_dialog)
|
||||
self._screen.show_all()
|
||||
|
||||
if ssid in list(self.networks):
|
||||
|
@ -310,21 +310,18 @@ class Panel(ScreenPanel):
|
||||
grid.set_valign(Gtk.Align.CENTER)
|
||||
grid.add(label)
|
||||
|
||||
pixbuf = self.get_file_image(filename, self._screen.width * .9, self._screen.height * .6)
|
||||
pixbuf = self.get_file_image(filename, self._screen.width * .9, self._screen.height * .5)
|
||||
if pixbuf is not None:
|
||||
image = Gtk.Image.new_from_pixbuf(pixbuf)
|
||||
image.set_vexpand(False)
|
||||
grid.attach_next_to(image, label, Gtk.PositionType.BOTTOM, 1, 1)
|
||||
|
||||
dialog = self._gtk.Dialog(self._screen, buttons, grid, self.confirm_print_response, filename)
|
||||
dialog.set_title(_("Print"))
|
||||
self._gtk.Dialog(_("Print") + f' {filename}', buttons, grid, self.confirm_print_response, filename)
|
||||
|
||||
def confirm_print_response(self, dialog, response_id, filename):
|
||||
self._gtk.remove_dialog(dialog)
|
||||
if response_id == Gtk.ResponseType.CANCEL:
|
||||
return
|
||||
logging.info(f"Starting print: {filename}")
|
||||
self._screen._ws.klippy.print_start(filename)
|
||||
if response_id == Gtk.ResponseType.OK:
|
||||
logging.info(f"Starting print: {filename}")
|
||||
self._screen._ws.klippy.print_start(filename)
|
||||
|
||||
def delete_file(self, filename):
|
||||
directory = os.path.join("gcodes", os.path.dirname(filename)) if os.path.dirname(filename) else "gcodes"
|
||||
|
@ -142,8 +142,7 @@ class Panel(ScreenPanel):
|
||||
{"name": _("Recover Soft"), "response": Gtk.ResponseType.APPLY},
|
||||
{"name": _("Cancel"), "response": Gtk.ResponseType.CANCEL}
|
||||
]
|
||||
dialog = self._gtk.Dialog(self._screen, recoverybuttons, scroll, self.reset_confirm, program)
|
||||
dialog.set_title(_("Recover"))
|
||||
self._gtk.Dialog(_("Recover"), recoverybuttons, scroll, self.reset_confirm, program)
|
||||
return
|
||||
else:
|
||||
if info['version'] == info['remote_version']:
|
||||
@ -207,8 +206,7 @@ class Panel(ScreenPanel):
|
||||
{"name": _("Update"), "response": Gtk.ResponseType.OK},
|
||||
{"name": _("Cancel"), "response": Gtk.ResponseType.CANCEL}
|
||||
]
|
||||
dialog = self._gtk.Dialog(self._screen, buttons, scroll, self.update_confirm, program)
|
||||
dialog.set_title(_("Update"))
|
||||
self._gtk.Dialog(_("Update"), buttons, scroll, self.update_confirm, program)
|
||||
|
||||
def update_confirm(self, dialog, response_id, program):
|
||||
self._gtk.remove_dialog(dialog)
|
||||
@ -324,11 +322,11 @@ class Panel(ScreenPanel):
|
||||
{"name": _("Printer"), "response": Gtk.ResponseType.APPLY},
|
||||
{"name": _("Cancel"), "response": Gtk.ResponseType.CANCEL}
|
||||
]
|
||||
dialog = self._gtk.Dialog(self._screen, buttons, scroll, self.reboot_poweroff_confirm, method)
|
||||
if method == "reboot":
|
||||
dialog.set_title(_("Restart"))
|
||||
title = _("Restart")
|
||||
else:
|
||||
dialog.set_title(_("Shutdown"))
|
||||
title = _("Shutdown")
|
||||
self._gtk.Dialog(title, buttons, scroll, self.reboot_poweroff_confirm, method)
|
||||
|
||||
def reboot_poweroff_confirm(self, dialog, response_id, method):
|
||||
self._gtk.remove_dialog(dialog)
|
||||
|
@ -391,8 +391,7 @@ class KlipperScreen(Gtk.Window):
|
||||
buttons = [
|
||||
{"name": _("Go Back"), "response": Gtk.ResponseType.CANCEL}
|
||||
]
|
||||
dialog = self.gtk.Dialog(self, buttons, grid, self.error_modal_response)
|
||||
dialog.set_title(_("Error"))
|
||||
self.gtk.Dialog(_("Error"), buttons, grid, self.error_modal_response)
|
||||
|
||||
def error_modal_response(self, dialog, response_id):
|
||||
self.gtk.remove_dialog(dialog)
|
||||
@ -785,8 +784,9 @@ class KlipperScreen(Gtk.Window):
|
||||
|
||||
if self.confirm is not None:
|
||||
self.gtk.remove_dialog(self.confirm)
|
||||
self.confirm = self.gtk.Dialog(self, buttons, label, self._confirm_send_action_response, method, params)
|
||||
self.confirm.set_title("KlipperScreen")
|
||||
self.confirm = self.gtk.Dialog(
|
||||
"KlipperScreen", buttons, label, self._confirm_send_action_response, method, params
|
||||
)
|
||||
|
||||
def _confirm_send_action_response(self, dialog, response_id, method, params):
|
||||
self.gtk.remove_dialog(dialog)
|
||||
|
Loading…
x
Reference in New Issue
Block a user