From 5946bec492fece640b6a34926fbb01ba61144752 Mon Sep 17 00:00:00 2001 From: Nico Alt <nicoalt@posteo.org> Date: Thu, 26 Mar 2020 12:00:04 +0000 Subject: [PATCH] Add action group for login --- briar-gtk/briar_gtk/actions/login.py | 26 +++++++++++++++++++++++++ briar-gtk/briar_gtk/containers/login.py | 7 +++++-- briar-gtk/data/ui/login.ui | 2 +- 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 briar-gtk/briar_gtk/actions/login.py diff --git a/briar-gtk/briar_gtk/actions/login.py b/briar-gtk/briar_gtk/actions/login.py new file mode 100644 index 0000000..549904a --- /dev/null +++ b/briar-gtk/briar_gtk/actions/login.py @@ -0,0 +1,26 @@ +# Copyright (c) 2020 Nico Alt +# SPDX-License-Identifier: AGPL-3.0-only +# License-Filename: LICENSE.md + +from briar_gtk.actions.actions import Actions + + +# pylint: disable=too-few-public-methods +class LoginActions(Actions): + + ACTIONS_PREFIX = "login" + + def __init__(self, widget): + super().__init__(widget) + self._setup_simple_action_group(self.ACTIONS_PREFIX) + self._setup_actions() + + def _setup_actions(self): + self._setup_login_action() + + def _setup_login_action(self): + self._setup_action("login", None, self._login) + + # pylint: disable=unused-argument + def _login(self, action, parameter): + self.widget._on_login_pressed() diff --git a/briar-gtk/briar_gtk/containers/login.py b/briar-gtk/briar_gtk/containers/login.py index 3d36f56..dcc229f 100644 --- a/briar-gtk/briar_gtk/containers/login.py +++ b/briar-gtk/briar_gtk/containers/login.py @@ -4,6 +4,7 @@ from gi.repository import GLib +from briar_gtk.actions.login import LoginActions from briar_gtk.container import Container from briar_gtk.define import APP @@ -16,6 +17,7 @@ class LoginContainer(Container): def __init__(self, window): super().__init__() + LoginActions(self) self._window = window self._setup_view() @@ -35,6 +37,7 @@ class LoginContainer(Container): def _setup_login_flow_headers(self): login_flow_headers = self.builder.get_object(self.HEADERS_NAME) login_flow_headers.show_all() + login_flow_headers.insert_action_group("login", self.get_action_group("login")) self._window.set_titlebar(login_flow_headers) def _setup_enter_listener(self): @@ -43,10 +46,10 @@ class LoginContainer(Container): # pylint: disable=unused-argument def _on_password_enter(self, widget): - self.on_login_pressed(None) + self._on_login_pressed() # pylint: disable=unused-argument - def on_login_pressed(self, button): + def _on_login_pressed(self): self._show_loading_animation() self._login() diff --git a/briar-gtk/data/ui/login.ui b/briar-gtk/data/ui/login.ui index 3ac5a59..4a95cae 100644 --- a/briar-gtk/data/ui/login.ui +++ b/briar-gtk/data/ui/login.ui @@ -116,7 +116,7 @@ <property name="use_underline">True</property> <property name="can_focus">True</property> <property name="label" translatable="yes">Log in</property> - <signal name="clicked" handler="on_login_pressed"/> + <property name="action_name">login.login</property> <style> <class name="suggested-action"/> </style> -- GitLab