mirror of
https://gitlab.gnome.org/World/Authenticator.git
synced 2025-03-04 08:44:40 +01:00
save window position
This commit is contained in:
parent
2c3380aa49
commit
a71004117d
7 changed files with 39 additions and 6 deletions
|
@ -34,7 +34,7 @@ class Application(Gtk.Application):
|
|||
GLib.set_prgname(self.package)
|
||||
current_desktop = env.get("XDG_CURRENT_DESKTOP")
|
||||
if current_desktop:
|
||||
self.use_GMenu = current_desktop.lower() in ["gnome", "gnome-wayland"]
|
||||
self.use_GMenu = current_desktop.lower() == "gnome"
|
||||
else:
|
||||
self.use_GMenu = False
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ class AddApplication(Gtk.Window):
|
|||
self.resize(410, 300)
|
||||
self.set_border_width(18)
|
||||
self.set_size_request(410, 300)
|
||||
self.set_position(Gtk.WindowPosition.CENTER)
|
||||
self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)
|
||||
self.set_resizable(False)
|
||||
self.set_transient_for(self.parent)
|
||||
self.connect("key_press_event", self.on_key_press)
|
||||
|
|
|
@ -29,7 +29,7 @@ class ApplicationChooserWindow(Gtk.Window):
|
|||
self.connect("destroy", self.close_window)
|
||||
self.resize(410, 550)
|
||||
self.set_size_request(410, 550)
|
||||
self.set_position(Gtk.WindowPosition.CENTER)
|
||||
self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)
|
||||
self.set_resizable(False)
|
||||
self.set_transient_for(self.parent)
|
||||
self.connect("key_press_event", self.on_key_press)
|
||||
|
|
|
@ -30,7 +30,7 @@ class PasswordWindow(Gtk.Window):
|
|||
self.resize(300, 100)
|
||||
self.set_border_width(18)
|
||||
self.set_size_request(300, 100)
|
||||
self.set_position(Gtk.WindowPosition.CENTER)
|
||||
self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)
|
||||
self.set_resizable(False)
|
||||
self.set_transient_for(self.parent)
|
||||
self.connect("key_press_event", self.on_key_press)
|
||||
|
|
|
@ -27,7 +27,7 @@ class SettingsWindow(Gtk.Window):
|
|||
self.resize(410, 300)
|
||||
self.set_size_request(410, 300)
|
||||
self.set_resizable(False)
|
||||
self.set_position(Gtk.WindowPosition.CENTER)
|
||||
self.set_position(Gtk.WindowPosition.CENTER_ON_PARENT)
|
||||
self.set_transient_for(self.parent)
|
||||
self.connect("key_press_event", self.on_key_press)
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ class Window(Gtk.ApplicationWindow):
|
|||
"""
|
||||
Gtk.ApplicationWindow.__init__(self, type=Gtk.WindowType.TOPLEVEL,
|
||||
application=self.app)
|
||||
self.set_position(Gtk.WindowPosition.CENTER)
|
||||
self.move_latest_position()
|
||||
self.set_wmclass(self.app.package, "TwoFactorAuth")
|
||||
self.resize(410, 550)
|
||||
self.set_size_request(410, 550)
|
||||
|
@ -620,6 +620,25 @@ class Window(Gtk.ApplicationWindow):
|
|||
confirmation.destroy()
|
||||
self.refresh_window()
|
||||
|
||||
def save_window_state(self):
|
||||
"""
|
||||
Save window position
|
||||
"""
|
||||
x, y = self.win.get_position()
|
||||
self.cfg.update("position-x", x, "preferences")
|
||||
self.cfg.update("position-y", y, "preferences")
|
||||
|
||||
def move_latest_position(self):
|
||||
"""
|
||||
Move the application to the latest window if found
|
||||
"""
|
||||
x = self.app.cfg.read("position-x", "preferences")
|
||||
y = self.app.cfg.read("position-y", "preferences")
|
||||
if x != 0 and y != 0:
|
||||
self.move(x, y)
|
||||
else:
|
||||
self.set_position(Gtk.WindowPosition.CENTER)
|
||||
|
||||
def show_about(self, *args):
|
||||
"""
|
||||
Shows about dialog
|
||||
|
|
|
@ -22,6 +22,20 @@
|
|||
Auto lock the application after a x seconds
|
||||
</description>
|
||||
</key>
|
||||
<key name="position-x" type="i">
|
||||
<default>0</default>
|
||||
<summary>Default window postiton on x axes</summary>
|
||||
<description>
|
||||
Default window postiton on x axes
|
||||
</description>
|
||||
</key>
|
||||
<key name="position-y" type="i">
|
||||
<default>0</default>
|
||||
<summary>Default window postiton on y axes</summary>
|
||||
<description>
|
||||
Default window postiton on y axes
|
||||
</description>
|
||||
</key>
|
||||
</schema>
|
||||
<schema path="/org/gnome/TwoFactorAuth/login/" id="org.gnome.TwoFactorAuth.login" gettext-domain="TwoFactorAuth">
|
||||
<key name="password" type="s">
|
||||
|
|
Loading…
Add table
Reference in a new issue