summaryrefslogtreecommitdiffstats
path: root/LockWindow.py
diff options
context:
space:
mode:
Diffstat (limited to 'LockWindow.py')
-rw-r--r--LockWindow.py28
1 files changed, 27 insertions, 1 deletions
diff --git a/LockWindow.py b/LockWindow.py
index 98b8e86..89d7576 100644
--- a/LockWindow.py
+++ b/LockWindow.py
@@ -1,8 +1,12 @@
import sys
+import locale
from gi.repository import Gtk, Gdk, GObject, GLib
+_ = locale.gettext
+
+
class LockWindow(Gtk.Window):
__gsignals__ = {
'tryUnlock': (GObject.SIGNAL_RUN_FIRST, None, (str,))
@@ -26,6 +30,7 @@ class LockWindow(Gtk.Window):
sys.exit(1)
self.unlockWindow = builder.get_object('unlock_window')
+ self.lockLabel = builder.get_object('lock_label')
self.promptEntry = builder.get_object('prompt_entry')
self.messageLabel = builder.get_object('message_label')
self.logoutButton = builder.get_object('logout_button')
@@ -45,15 +50,36 @@ class LockWindow(Gtk.Window):
def _tryUnlock(self):
self.promptEntry.set_sensitive(False)
+ self.unlockButton.set_sensitive(False)
GLib.idle_add(lambda: self.emit('tryUnlock', self.promptEntry.get_text()))
def reset(self):
self.promptEntry.set_text('')
self.promptEntry.set_sensitive(True)
self.promptEntry.grab_focus()
+
+ self.unlockButton.set_sensitive(True)
+
self.messageLabel.set_label('')
- def setMessage(self, message):
+ self.logoutButton.set_sensitive(False)
+
+ def updateLockMessage(self, username, logoutTime = None):
+ if logoutTime is None:
+ self.lockLabel.set_markup(_('This computer is currently locked by the user <i>{username}</i>.').format(username=GLib.markup_escape_text(username)))
+ self.logoutButton.set_sensitive(False)
+ elif logoutTime > 0:
+ self.lockLabel.set_markup(
+ _('This computer is currently locked by the user <i>{username}</i>.\nThe user can be logged out in {minutes:02}:{seconds:02} minutes.').format(
+ username=GLib.markup_escape_text(username), minutes=logoutTime//60, seconds=logoutTime%60))
+ self.logoutButton.set_sensitive(False)
+ else:
+ self.lockLabel.set_markup(
+ _('This computer is currently locked by the user <i>{username}</i>.\nThe user can be logged out now.').format(
+ username=GLib.markup_escape_text(username)))
+ self.logoutButton.set_sensitive(True)
+
+ def setAuthMessage(self, message):
self.messageLabel.set_label(message)
def lock(self):