screensaver: fix dialogs not hiding
This commit is contained in:
parent
70b5532695
commit
b9effb5447
@ -212,6 +212,8 @@ class KlippyGtk:
|
||||
button.get_child().set_line_wrap(True)
|
||||
button.set_size_request((screen.width - 30) / 3, screen.height / 5)
|
||||
|
||||
dialog.connect("response", self.screen.reset_screensaver_timeout)
|
||||
dialog.connect("response", self.remove_dialog, dialog)
|
||||
dialog.connect("response", callback, *args)
|
||||
dialog.get_style_context().add_class("dialog")
|
||||
|
||||
@ -232,6 +234,10 @@ class KlippyGtk:
|
||||
self.screen.dialogs.append(dialog)
|
||||
return dialog
|
||||
|
||||
def remove_dialog(self, widget, response_id, dialog):
|
||||
logging.info("Removing Dialog")
|
||||
self.screen.dialogs.remove(dialog)
|
||||
|
||||
def ToggleButtonImage(self, image_name, label, style=None, scale=1.38):
|
||||
|
||||
b = Gtk.ToggleButton(label=label)
|
||||
|
10
screen.py
10
screen.py
@ -607,7 +607,7 @@ class KlipperScreen(Gtk.Window):
|
||||
self.subscriptions.pop(i)
|
||||
return
|
||||
|
||||
def reset_screensaver_timeout(self, widget=None):
|
||||
def reset_screensaver_timeout(self, *args):
|
||||
if self.screensaver_timeout is not None:
|
||||
GLib.source_remove(self.screensaver_timeout)
|
||||
self.screensaver_timeout = GLib.timeout_add_seconds(self.blanking_time, self.show_screensaver)
|
||||
@ -617,6 +617,8 @@ class KlipperScreen(Gtk.Window):
|
||||
if self.screensaver is not None:
|
||||
self.close_screensaver()
|
||||
self.remove_keyboard()
|
||||
for dialog in self.dialogs:
|
||||
dialog.hide()
|
||||
|
||||
close = Gtk.Button()
|
||||
close.connect("clicked", self.close_screensaver)
|
||||
@ -626,12 +628,12 @@ class KlipperScreen(Gtk.Window):
|
||||
box.pack_start(close, True, True, 0)
|
||||
box.set_halign(Gtk.Align.CENTER)
|
||||
box.get_style_context().add_class("screensaver")
|
||||
|
||||
self.base_panel.get().put(box, 0, 0)
|
||||
self.show_all()
|
||||
|
||||
# Avoid leaving a cursor-handle
|
||||
close.grab_focus()
|
||||
self.screensaver = box
|
||||
self.screensaver.show_all()
|
||||
return False
|
||||
|
||||
def close_screensaver(self, widget=None):
|
||||
@ -644,6 +646,8 @@ class KlipperScreen(Gtk.Window):
|
||||
self.wake_screen()
|
||||
else:
|
||||
self.screensaver_timeout = GLib.timeout_add_seconds(self.blanking_time, self.show_screensaver)
|
||||
for dialog in self.dialogs:
|
||||
dialog.show()
|
||||
self.show_all()
|
||||
return False
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user