diff --git a/briar-gtk/briar_gtk/containers/login.py b/briar-gtk/briar_gtk/containers/login.py index bfcecf426ef2dba41ef0e5950ba3e988868fa3a4..917551119be393864dd74cece80fc658b9b73d0d 100644 --- a/briar-gtk/briar_gtk/containers/login.py +++ b/briar-gtk/briar_gtk/containers/login.py @@ -2,6 +2,8 @@ # SPDX-License-Identifier: AGPL-3.0-only # License-Filename: LICENSE.md +from gettext import gettext as _ + from gi.repository import GLib from briar_gtk.actions.login import LoginActions @@ -22,6 +24,13 @@ class LoginContainer(Container): self._window = window self._setup_view() + def on_login_pressed(self): + if self._password_is_empty(): + self._show_error_message(_("Please enter your password")) + return + self._show_loading_animation() + self._login() + def _setup_view(self, ): self._add_from_resource(self.LOGIN_UI) self.builder.connect_signals(self) @@ -51,9 +60,9 @@ class LoginContainer(Container): def _on_password_enter(self, widget): self.on_login_pressed() - def on_login_pressed(self): - self._show_loading_animation() - self._login() + def _password_is_empty(self): + password = self.builder.get_object("password_entry").get_text() + return len(password) == 0 def _show_loading_animation(self): loading_animation = self.builder.get_object("loading_animation") @@ -70,13 +79,14 @@ class LoginContainer(Container): GLib.idle_add(function) def _login_failed(self): - self._show_error_message() + self._show_error_message(_("Couldn't log in")) self._focus_password_entry() self._show_login_page() - def _show_error_message(self): - error_message = self.builder.get_object("error_message") - error_message.show() + def _show_error_message(self, error_message): + error_label = self.builder.get_object("error_label") + error_label.set_label(error_message) + error_label.show() def _focus_password_entry(self): password_entry = self.builder.get_object("password_entry") diff --git a/briar-gtk/data/ui/login.ui b/briar-gtk/data/ui/login.ui index 4a95caee83cc9f4731e69dd99252b60dda2fd9d7..12e6d1e5d630402aed3e57cffafc6bd7b4007adf 100644 --- a/briar-gtk/data/ui/login.ui +++ b/briar-gtk/data/ui/login.ui @@ -55,12 +55,11 @@ </packing> </child> <child> - <object class="GtkLabel" id="error_message"> + <object class="GtkLabel" id="error_label"> <property name="visible">False</property> <property name="can_focus">False</property> <property name="no_show_all">True</property> <property name="xalign">0</property> - <property name="label" translatable="yes">Couldn't log in</property> <property name="wrap">True</property> <property name="wrap_mode">PANGO_WRAP_WORD_CHAR</property> <style>