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