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