[gnome-initial-setup: 3/6] Hide images when we have no space for them
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-initial-setup: 3/6] Hide images when we have no space for them
- Date: Mon, 3 Nov 2014 23:20:24 +0000 (UTC)
commit a029f8cb0e16f9b7152c45a955f1eda7b5dfb946
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Nov 3 17:13:08 2014 -0500
Hide images when we have no space for them
Hide the logo / icon we use at the top of each page, when
we are on a 'small' screen.
.../pages/account/gis-account-page-enterprise.c | 17 +++++++++++++++++
.../pages/account/gis-account-page-enterprise.ui | 3 ++-
.../pages/account/gis-account-page.c | 4 ++--
gnome-initial-setup/pages/goa/gis-goa-page.ui | 1 +
.../pages/keyboard/gis-keyboard-page.ui | 2 +-
.../pages/language/gis-language-page.ui | 2 +-
.../pages/network/gis-network-page.ui | 2 +-
.../pages/password/gis-password-page.ui | 2 +-
.../pages/region/gis-region-page.ui | 2 +-
.../pages/timezone/gis-timezone-page.c | 7 -------
.../pages/timezone/gis-timezone-page.ui | 4 ++--
11 files changed, 29 insertions(+), 17 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 865d42e..f33688c 100644
--- a/gnome-initial-setup/pages/account/gis-account-page-enterprise.c
+++ b/gnome-initial-setup/pages/account/gis-account-page-enterprise.c
@@ -45,6 +45,7 @@ static void on_realm_joined (GObject *source,
struct _GisAccountPageEnterprisePrivate
{
+ GtkWidget *image;
GtkWidget *login;
GtkWidget *password;
GtkWidget *domain;
@@ -737,6 +738,19 @@ on_entry_changed (GtkEditable *editable,
}
static void
+gis_account_page_enterprise_hierarchy_changed (GtkWidget *widget,
+ GtkWidget *previous_toplevel)
+{
+ GisAccountPageEnterprise *page = GIS_ACCOUNT_PAGE_ENTERPRISE (widget);
+ GisAccountPageEnterprisePrivate *priv = gis_account_page_enterprise_get_instance_private (page);
+ GtkWidget *gis_page;
+
+ gis_page = gtk_widget_get_ancestor (widget, GIS_TYPE_PAGE);
+ if (gis_driver_is_small_screen (GIS_PAGE (gis_page)->driver))
+ gtk_widget_hide (priv->image);
+}
+
+static void
gis_account_page_enterprise_constructed (GObject *object)
{
GisAccountPageEnterprise *page = GIS_ACCOUNT_PAGE_ENTERPRISE (object);
@@ -794,6 +808,7 @@ gis_account_page_enterprise_class_init (GisAccountPageEnterpriseClass *klass)
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPageEnterprise, domain);
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPageEnterprise,
domain_entry);
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPageEnterprise,
realms_model);
+ gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPageEnterprise, image);
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPageEnterprise,
join_dialog);
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPageEnterprise,
join_name);
@@ -801,6 +816,8 @@ gis_account_page_enterprise_class_init (GisAccountPageEnterpriseClass *klass)
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPageEnterprise,
join_domain);
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisAccountPageEnterprise,
join_computer);
+ gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (klass),
gis_account_page_enterprise_hierarchy_changed);
+
signals[VALIDATION_CHANGED] = g_signal_new ("validation-changed", GIS_TYPE_ACCOUNT_PAGE_ENTERPRISE,
G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
G_TYPE_NONE, 0);
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 409de7e..b9b057e 100644
--- a/gnome-initial-setup/pages/account/gis-account-page-enterprise.ui
+++ b/gnome-initial-setup/pages/account/gis-account-page-enterprise.ui
@@ -2,6 +2,7 @@
<interface>
<!-- interface-requires gtk+ 3.0 -->
<template class="GisAccountPageEnterprise" parent="GtkBin">
+ <signal name="hierarchy-changed" handler="gis_account_page_enterprise_hierarchy_changed"/>
<child>
<object class="GtkBox" id="area">
<property name="visible">True</property>
@@ -10,7 +11,7 @@
<property name="halign">center</property>
<property name="valign">fill</property>
<child>
- <object class="GtkImage" id="image1">
+ <object class="GtkImage" id="image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixel_size">96</property>
diff --git a/gnome-initial-setup/pages/account/gis-account-page.c
b/gnome-initial-setup/pages/account/gis-account-page.c
index 851ab5c..04a17e5 100644
--- a/gnome-initial-setup/pages/account/gis-account-page.c
+++ b/gnome-initial-setup/pages/account/gis-account-page.c
@@ -105,11 +105,11 @@ set_mode (GisAccountPage *page,
switch (mode)
{
case UM_LOCAL:
- gtk_stack_set_visible_child (priv->stack, priv->page_local);
+ gtk_stack_set_visible_child (GTK_STACK (priv->stack), priv->page_local);
gis_account_page_local_shown (priv->page_local);
break;
case UM_ENTERPRISE:
- gtk_stack_set_visible_child (priv->stack, priv->page_enterprise);
+ gtk_stack_set_visible_child (GTK_STACK (priv->stack), priv->page_enterprise);
gis_account_page_enterprise_shown (priv->page_enterprise);
break;
default:
diff --git a/gnome-initial-setup/pages/goa/gis-goa-page.ui b/gnome-initial-setup/pages/goa/gis-goa-page.ui
index a788460..4c53f78 100644
--- a/gnome-initial-setup/pages/goa/gis-goa-page.ui
+++ b/gnome-initial-setup/pages/goa/gis-goa-page.ui
@@ -12,6 +12,7 @@
<property name="orientation">vertical</property>
<child>
<object class="GtkImage" id="image1">
+ <property name="visible" bind-source="GisGoaPage" bind-property="small-screen"
bind-flags="invert-boolean|sync-create"/>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixel_size">96</property>
diff --git a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.ui
b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.ui
index 063f6de..e36af15 100644
--- a/gnome-initial-setup/pages/keyboard/gis-keyboard-page.ui
+++ b/gnome-initial-setup/pages/keyboard/gis-keyboard-page.ui
@@ -10,7 +10,7 @@
<property name="orientation">vertical</property>
<child>
<object class="GtkImage" id="image1">
- <property name="visible">True</property>
+ <property name="visible" bind-source="GisKeyboardPage" bind-property="small-screen"
bind-flags="invert-boolean|sync-create"/>
<property name="can_focus">False</property>
<property name="margin_top">40</property>
<property name="pixel_size">96</property>
diff --git a/gnome-initial-setup/pages/language/gis-language-page.ui
b/gnome-initial-setup/pages/language/gis-language-page.ui
index 1c0f67e..910e2ad 100644
--- a/gnome-initial-setup/pages/language/gis-language-page.ui
+++ b/gnome-initial-setup/pages/language/gis-language-page.ui
@@ -10,7 +10,7 @@
<property name="valign">fill</property>
<child>
<object class="GtkImage" id="logo">
- <property name="visible">True</property>
+ <property name="visible" bind-source="GisLanguagePage" bind-property="small-screen"
bind-flags="invert-boolean|sync-create"/>
<property name="can_focus">False</property>
<property name="margin_top">40</property>
<property name="pixel_size">96</property>
diff --git a/gnome-initial-setup/pages/network/gis-network-page.ui
b/gnome-initial-setup/pages/network/gis-network-page.ui
index 7526172..4e836f2 100644
--- a/gnome-initial-setup/pages/network/gis-network-page.ui
+++ b/gnome-initial-setup/pages/network/gis-network-page.ui
@@ -13,7 +13,7 @@
<property name="margin_bottom">32</property>
<child>
<object class="GtkImage" id="image1">
- <property name="visible">True</property>
+ <property name="visible" bind-source="GisNetworkPage" bind-property="small-screen"
bind-flags="invert-boolean|sync-create"/>
<property name="can_focus">False</property>
<property name="margin_top">40</property>
<property name="pixel_size">96</property>
diff --git a/gnome-initial-setup/pages/password/gis-password-page.ui
b/gnome-initial-setup/pages/password/gis-password-page.ui
index d97ee7f..d3da0f5 100644
--- a/gnome-initial-setup/pages/password/gis-password-page.ui
+++ b/gnome-initial-setup/pages/password/gis-password-page.ui
@@ -11,7 +11,7 @@
<property name="orientation">vertical</property>
<child>
<object class="GtkImage" id="image1">
- <property name="visible">True</property>
+ <property name="visible" bind-source="GisPasswordPage" bind-property="small-screen"
bind-flags="invert-boolean|sync-create"/>
<property name="can_focus">False</property>
<property name="pixel_size">96</property>
<property name="icon_name">dialog-password-symbolic</property>
diff --git a/gnome-initial-setup/pages/region/gis-region-page.ui
b/gnome-initial-setup/pages/region/gis-region-page.ui
index c6049ad..16394bd 100644
--- a/gnome-initial-setup/pages/region/gis-region-page.ui
+++ b/gnome-initial-setup/pages/region/gis-region-page.ui
@@ -10,7 +10,7 @@
<property name="orientation">vertical</property>
<child>
<object class="GtkImage" id="image1">
- <property name="visible">True</property>
+ <property name="visible" bind-source="GisRegionPage" bind-property="small-screen"
bind-flags="invert-boolean|sync-create"/>
<property name="can_focus">False</property>
<property name="pixel_size">96</property>
<property name="icon_name">preferences-desktop-locale-symbolic</property>
diff --git a/gnome-initial-setup/pages/timezone/gis-timezone-page.c
b/gnome-initial-setup/pages/timezone/gis-timezone-page.c
index f9f2d20..d58d8fd 100644
--- a/gnome-initial-setup/pages/timezone/gis-timezone-page.c
+++ b/gnome-initial-setup/pages/timezone/gis-timezone-page.c
@@ -60,7 +60,6 @@ struct _GisTimezonePagePrivate
GtkWidget *search_button;
GtkWidget *search_entry;
GtkWidget *search_overlay;
- GtkWidget *image;
GCancellable *geoclue_cancellable;
GeoclueClient *geoclue_client;
@@ -441,11 +440,6 @@ gis_timezone_page_constructed (GObject *object)
G_OBJECT_CLASS (gis_timezone_page_parent_class)->constructed (object);
- /* FIXME: the map is too big, so we can't have consistency in page layout
- * and reasonable window size at the same time; for now, consistency loses.
- */
- gtk_widget_hide (priv->image);
-
error = NULL;
priv->dtm = timedate1_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
G_DBUS_PROXY_FLAGS_NONE,
@@ -509,7 +503,6 @@ gis_timezone_page_class_init (GisTimezonePageClass *klass)
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisTimezonePage, search_button);
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisTimezonePage, search_entry);
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisTimezonePage, search_overlay);
- gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass), GisTimezonePage, image);
page_class->page_id = PAGE_ID;
page_class->locale_changed = gis_timezone_page_locale_changed;
diff --git a/gnome-initial-setup/pages/timezone/gis-timezone-page.ui
b/gnome-initial-setup/pages/timezone/gis-timezone-page.ui
index ff7b48e..936af6e 100644
--- a/gnome-initial-setup/pages/timezone/gis-timezone-page.ui
+++ b/gnome-initial-setup/pages/timezone/gis-timezone-page.ui
@@ -12,7 +12,7 @@
<property name="valign">fill</property>
<child>
<object class="GtkImage" id="image">
- <property name="visible">True</property>
+ <property name="visible" bind-source="GisTimezonePage" bind-property="small-screen"
bind-flags="invert-boolean|sync-create"/>
<property name="can_focus">False</property>
<property name="margin_top">40</property>
<property name="pixel_size">96</property>
@@ -28,7 +28,7 @@
<property name="can_focus">False</property>
<property name="margin_top">18</property>
<property name="halign">center</property>
- <property name="valign">center</property>
+ <property name="valign">start</property>
<property name="vexpand">True</property>
<property name="label" translatable="yes">Time Zone</property>
<attributes>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]