[gnome-initial-setup] assistant: Page becomes insensitive while applying
- From: Stefan Walter <stefw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-initial-setup] assistant: Page becomes insensitive while applying
- Date: Mon, 27 May 2013 16:29:38 +0000 (UTC)
commit 4ceefd8982e670516c5d9222ab75b6a58bb659a0
Author: Stef Walter <stefw redhat com>
Date: Sun May 26 13:43:36 2013 +0200
assistant: Page becomes insensitive while applying
https://bugzilla.gnome.org/show_bug.cgi?id=701039
gnome-initial-setup/gis-assistant.c | 14 ++++++++++++++
.../pages/account/gis-account-page.c | 1 +
2 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/gnome-initial-setup/gis-assistant.c b/gnome-initial-setup/gis-assistant.c
index b3e8345..c45723f 100644
--- a/gnome-initial-setup/gis-assistant.c
+++ b/gnome-initial-setup/gis-assistant.c
@@ -251,6 +251,16 @@ update_navigation_buttons (GisAssistant *assistant)
}
static void
+update_applying_state (GisAssistant *assistant)
+{
+ gboolean applying = FALSE;
+ if (assistant->priv->current_page)
+ applying = gis_page_get_applying (assistant->priv->current_page);
+ gtk_widget_set_sensitive (assistant->priv->frame, !applying);
+ gtk_widget_set_sensitive (assistant->priv->forward, !applying);
+}
+
+static void
gis_assistant_real_prepare (GisAssistant *assistant,
GisPage *page)
{
@@ -269,6 +279,8 @@ page_notify (GisPage *page,
if (strcmp (pspec->name, "title") == 0)
g_object_notify_by_pspec (G_OBJECT (assistant), obj_props[PROP_TITLE]);
+ else if (strcmp (pspec->name, "applying") == 0)
+ update_applying_state (assistant);
else
update_navigation_buttons (assistant);
}
@@ -349,6 +361,7 @@ _gis_assistant_current_page_changed (GisAssistant *assistant,
if (priv->current_page != page) {
priv->current_page = page;
+ update_applying_state (assistant);
g_object_notify_by_pspec (G_OBJECT (assistant), obj_props[PROP_TITLE]);
g_signal_emit (assistant, signals[PREPARE], 0, page);
}
@@ -415,6 +428,7 @@ gis_assistant_init (GisAssistant *assistant)
gis_assistant_locale_changed (assistant);
gtk_box_pack_start (GTK_BOX (priv->main_layout), priv->action_area, FALSE, TRUE, 0);
+ update_applying_state (assistant);
gtk_widget_show_all (GTK_WIDGET (assistant));
}
diff --git a/gnome-initial-setup/pages/account/gis-account-page.c
b/gnome-initial-setup/pages/account/gis-account-page.c
index 74c0fc6..b352960 100644
--- a/gnome-initial-setup/pages/account/gis-account-page.c
+++ b/gnome-initial-setup/pages/account/gis-account-page.c
@@ -1022,6 +1022,7 @@ gis_account_page_constructed (GObject *object)
priv->action = gtk_toggle_button_new_with_mnemonic ("_Use Enterprise Login");
g_signal_connect (priv->action, "toggled", G_CALLBACK (toggle_mode), page);
+ g_object_bind_property (page, "applying", priv->action, "sensitive", G_BINDING_INVERT_BOOLEAN);
gtk_widget_show (priv->action);
g_object_ref_sink (priv->action);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]