[gnome-initial-setup: 3/6] Hide images when we have no space for them



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]