https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/160 https://bugzilla.redhat.com/show_bug.cgi?id=2123494
151 lines
5.5 KiB
Diff
151 lines
5.5 KiB
Diff
From ad548a4731512e1aa3daf2de83fd8d1d1ac7a5bb Mon Sep 17 00:00:00 2001
|
|
From: Kalev Lember <klember@redhat.com>
|
|
Date: Thu, 15 Sep 2022 11:58:06 +0200
|
|
Subject: [PATCH 1/3] account: Fix entry validation in enterprise login dialog
|
|
|
|
Fix the password and domain validation to work again and not spew
|
|
criticals after the gtk 4 port.
|
|
---
|
|
.../account/gis-account-page-enterprise.c | 20 +++++++++++++++----
|
|
1 file changed, 16 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/gnome-initial-setup/pages/account/gis-account-page-enterprise.c b/gnome-initial-setup/pages/account/gis-account-page-enterprise.c
|
|
index 7b119950..87a12bc8 100644
|
|
--- a/gnome-initial-setup/pages/account/gis-account-page-enterprise.c
|
|
+++ b/gnome-initial-setup/pages/account/gis-account-page-enterprise.c
|
|
@@ -88,6 +88,18 @@ enum {
|
|
|
|
static guint signals[LAST_SIGNAL] = { 0 };
|
|
|
|
+static void
|
|
+clear_password_validation_error (GtkWidget *entry)
|
|
+{
|
|
+ gtk_widget_remove_css_class (entry, "error");
|
|
+}
|
|
+
|
|
+static void
|
|
+set_password_validation_error (GtkWidget *entry)
|
|
+{
|
|
+ gtk_widget_add_css_class (entry, "error");
|
|
+}
|
|
+
|
|
static void
|
|
validation_changed (GisAccountPageEnterprise *page)
|
|
{
|
|
@@ -313,7 +325,7 @@ join_show_prompt (GisAccountPageEnterprise *page,
|
|
gtk_editable_set_text (GTK_EDITABLE (page->join_computer), hostname);
|
|
|
|
clear_entry_validation_error (GTK_ENTRY (page->join_name));
|
|
- clear_entry_validation_error (GTK_ENTRY (page->join_password));
|
|
+ clear_password_validation_error (page->join_password);
|
|
|
|
if (!page->join_prompted) {
|
|
name = um_realm_kerberos_membership_get_suggested_administrator (membership);
|
|
@@ -330,7 +342,7 @@ join_show_prompt (GisAccountPageEnterprise *page,
|
|
|
|
} else if (g_error_matches (error, UM_REALM_ERROR, UM_REALM_ERROR_BAD_PASSWORD)) {
|
|
g_debug ("Bad admin password: %s", error->message);
|
|
- set_entry_validation_error (GTK_ENTRY (page->join_password), error->message);
|
|
+ set_password_validation_error (page->join_password);
|
|
|
|
} else {
|
|
g_debug ("Admin login failure: %s", error->message);
|
|
@@ -468,7 +480,7 @@ on_realm_login (GObject *source,
|
|
|
|
} else if (g_error_matches (error, UM_REALM_ERROR, UM_REALM_ERROR_BAD_PASSWORD)) {
|
|
g_debug ("Problem with the user's password: %s", error->message);
|
|
- set_entry_validation_error (GTK_ENTRY (page->password), error->message);
|
|
+ set_password_validation_error (page->password);
|
|
gtk_widget_grab_focus (page->password);
|
|
apply_complete (page, FALSE);
|
|
|
|
@@ -718,7 +730,7 @@ on_domain_changed (GtkComboBox *widget,
|
|
|
|
page->domain_chosen = TRUE;
|
|
validation_changed (page);
|
|
- clear_entry_validation_error (GTK_ENTRY (adw_bin_get_child (ADW_BIN (widget))));
|
|
+ clear_entry_validation_error (GTK_ENTRY (gtk_combo_box_get_child (widget)));
|
|
}
|
|
|
|
static void
|
|
--
|
|
GitLab
|
|
|
|
|
|
From c33e55e620099c560eba804d345ec3e79e85ccaa Mon Sep 17 00:00:00 2001
|
|
From: Kalev Lember <klember@redhat.com>
|
|
Date: Wed, 21 Sep 2022 22:00:21 +0200
|
|
Subject: [PATCH 2/3] account: Clear password validation errors when entering
|
|
new password
|
|
|
|
Get rid of the red outline as soon as the user starts typing a new
|
|
password.
|
|
---
|
|
.../pages/account/gis-account-page-enterprise.c | 11 +++++++++++
|
|
1 file changed, 11 insertions(+)
|
|
|
|
diff --git a/gnome-initial-setup/pages/account/gis-account-page-enterprise.c b/gnome-initial-setup/pages/account/gis-account-page-enterprise.c
|
|
index 87a12bc8..8fdc3188 100644
|
|
--- a/gnome-initial-setup/pages/account/gis-account-page-enterprise.c
|
|
+++ b/gnome-initial-setup/pages/account/gis-account-page-enterprise.c
|
|
@@ -742,6 +742,13 @@ on_entry_changed (GtkEditable *editable,
|
|
clear_entry_validation_error (GTK_ENTRY (editable));
|
|
}
|
|
|
|
+static void
|
|
+on_password_changed (GtkEditable *editable,
|
|
+ gpointer user_data)
|
|
+{
|
|
+ clear_password_validation_error (GTK_WIDGET (editable));
|
|
+}
|
|
+
|
|
static void
|
|
gis_account_page_enterprise_realize (GtkWidget *widget)
|
|
{
|
|
@@ -776,6 +783,10 @@ gis_account_page_enterprise_constructed (GObject *object)
|
|
G_CALLBACK (on_domain_changed), page);
|
|
g_signal_connect (page->login, "changed",
|
|
G_CALLBACK (on_entry_changed), page);
|
|
+ g_signal_connect (page->password, "changed",
|
|
+ G_CALLBACK (on_password_changed), page);
|
|
+ g_signal_connect (page->join_password, "changed",
|
|
+ G_CALLBACK (on_password_changed), page);
|
|
}
|
|
|
|
static void
|
|
--
|
|
GitLab
|
|
|
|
|
|
From 43b415ce575b0b9d2b89404ddb3d3daa3c93b4ac Mon Sep 17 00:00:00 2001
|
|
From: Kalev Lember <klember@redhat.com>
|
|
Date: Wed, 21 Sep 2022 22:01:32 +0200
|
|
Subject: [PATCH 3/3] account: Fix swapped button responses in enterprise login
|
|
dialog
|
|
|
|
The Cancel button was acting as OK and vice-versa.
|
|
|
|
Closes #154
|
|
---
|
|
.../pages/account/gis-account-page-enterprise.ui | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/gnome-initial-setup/pages/account/gis-account-page-enterprise.ui b/gnome-initial-setup/pages/account/gis-account-page-enterprise.ui
|
|
index d60e69e7..e5ef0db5 100644
|
|
--- a/gnome-initial-setup/pages/account/gis-account-page-enterprise.ui
|
|
+++ b/gnome-initial-setup/pages/account/gis-account-page-enterprise.ui
|
|
@@ -265,8 +265,8 @@
|
|
</object>
|
|
</child>
|
|
<action-widgets>
|
|
- <action-widget response="-5">button_cancel</action-widget>
|
|
- <action-widget response="-6" default="true">button_ok</action-widget>
|
|
+ <action-widget response="-5" default="true">button_ok</action-widget>
|
|
+ <action-widget response="-6">button_cancel</action-widget>
|
|
</action-widgets>
|
|
</object>
|
|
<object class="GtkListStore" id="realms_model">
|
|
--
|
|
GitLab
|
|
|