[gnome-initial-setup/shell/4765: 169/362] Show personality in Factory Mode dialog



commit c774b2c174e3ee0ca636d75a6d1bcbf560813496
Author: Juan A. Suarez Romero <jasuarez igalia com>
Date:   Fri Aug 22 12:58:09 2014 +0200

    Show personality in Factory Mode dialog
    
    [endlessm/eos-shell#3445]

 gnome-initial-setup/gis-driver.c                   |   24 ++++++++++++++++---
 gnome-initial-setup/gis-driver.h                   |    2 +
 .../pages/language/gis-language-page.c             |    9 ++++++-
 .../pages/language/gis-language-page.ui            |   22 +++++++++++++++--
 4 files changed, 49 insertions(+), 8 deletions(-)
---
diff --git a/gnome-initial-setup/gis-driver.c b/gnome-initial-setup/gis-driver.c
index 154106b..fffddb6 100644
--- a/gnome-initial-setup/gis-driver.c
+++ b/gnome-initial-setup/gis-driver.c
@@ -33,7 +33,9 @@
 #define GIS_TYPE_DRIVER_MODE (gis_driver_mode_get_type ())
 
 #define PERSONALITY_FILE_PATH "/etc/EndlessOS/personality.conf"
-#define INITIAL_CONFIG_GROUP "Setup"
+#define PERSONALITY_CONFIG_GROUP "Personality"
+#define SETUP_CONFIG_GROUP "Setup"
+#define PERSONALITY_KEY "PersonalityName"
 #define LANGUAGE_KEY "DefaultLanguage"
 #define TIMEZONE_KEY "DefaultTimezone"
 #define TIMEFORMAT_KEY "DefaultTimeFormat"
@@ -78,6 +80,7 @@ struct _GisDriverPrivate {
   ActUser *user_account;
   const gchar *user_password;
 
+  gchar *personality;
   gchar *lang_id;
   gchar *lang_override;
   gchar *default_timezone;
@@ -95,6 +98,7 @@ gis_driver_finalize (GObject *object)
   GisDriver *driver = GIS_DRIVER (object);
   GisDriverPrivate *priv = gis_driver_get_instance_private (driver);
 
+  g_free (priv->personality);
   g_free (priv->lang_id);
   g_free (priv->lang_override);
   g_free (priv->default_timezone);
@@ -210,6 +214,13 @@ gis_driver_get_language_override (GisDriver *driver)
 }
 
 const gchar *
+gis_driver_get_personality (GisDriver *driver)
+{
+  GisDriverPrivate *priv = gis_driver_get_instance_private (driver);
+  return priv->personality;
+}
+
+const gchar *
 gis_driver_get_default_timezone (GisDriver *driver)
 {
   GisDriverPrivate *priv = gis_driver_get_instance_private (driver);
@@ -288,20 +299,25 @@ gis_driver_read_personality_file (GisDriver *driver)
 {
   GisDriverPrivate *priv = gis_driver_get_instance_private (driver);
   GKeyFile *keyfile = g_key_file_new ();
+  gchar *personality = NULL;
   gchar *language = NULL;
   gchar *timezone = NULL;
   gchar *time_format = NULL;
 
   if (g_key_file_load_from_file (keyfile, PERSONALITY_FILE_PATH,
                                  G_KEY_FILE_NONE, NULL)) {
-    language = g_key_file_get_string (keyfile, INITIAL_CONFIG_GROUP,
+    personality = g_key_file_get_string (keyfile, PERSONALITY_CONFIG_GROUP,
+                                         PERSONALITY_KEY, NULL);
+    language = g_key_file_get_string (keyfile, SETUP_CONFIG_GROUP,
                                       LANGUAGE_KEY, NULL);
-    timezone = g_key_file_get_string (keyfile, INITIAL_CONFIG_GROUP,
+    timezone = g_key_file_get_string (keyfile, SETUP_CONFIG_GROUP,
                                       TIMEZONE_KEY, NULL);
-    time_format = g_key_file_get_string (keyfile, INITIAL_CONFIG_GROUP,
+    time_format = g_key_file_get_string (keyfile, SETUP_CONFIG_GROUP,
                                          TIMEFORMAT_KEY, NULL);
   }
 
+  priv->personality = personality;
+
   g_free (priv->lang_override);
   priv->lang_override = language;
   if (language) {
diff --git a/gnome-initial-setup/gis-driver.h b/gnome-initial-setup/gis-driver.h
index 309bf3d..907ea9d 100644
--- a/gnome-initial-setup/gis-driver.h
+++ b/gnome-initial-setup/gis-driver.h
@@ -78,6 +78,8 @@ const gchar *gis_driver_get_user_language (GisDriver   *driver);
 
 const gchar *gis_driver_get_language_override (GisDriver *driver);
 
+const gchar *gis_driver_get_personality (GisDriver *driver);
+
 const gchar *gis_driver_get_default_timezone (GisDriver *driver);
 
 const gchar *gis_driver_get_default_time_format (GisDriver *driver);
diff --git a/gnome-initial-setup/pages/language/gis-language-page.c 
b/gnome-initial-setup/pages/language/gis-language-page.c
index 0eb043a..5c1c619 100644
--- a/gnome-initial-setup/pages/language/gis-language-page.c
+++ b/gnome-initial-setup/pages/language/gis-language-page.c
@@ -407,18 +407,22 @@ system_poweroff (gpointer data)
 static void
 show_factory_dialog (GisLanguagePage *page)
 {
+  GisDriver *driver = GIS_PAGE (page)->driver;
+  GisLanguagePagePrivate *priv = gis_language_page_get_instance_private (page);
   GtkButton *poweroff_button;
   GtkDialog *factory_dialog;
   GtkImage *serial_image;
+  GtkLabel *personality_label;
   GtkLabel *serial_label;
   GtkLabel *version_label;
+  gboolean have_serial;
   gchar *barcode;
   gchar *barcode_serial, *display_serial;
   gchar *version;
-  gboolean have_serial;
 
   factory_dialog = OBJ (GtkDialog *, "factory-dialog");
   version_label = OBJ (GtkLabel *, "software-version");
+  personality_label = OBJ (GtkLabel *, "personality");
   serial_label = OBJ (GtkLabel *, "serial-text");
   serial_image = OBJ (GtkImage *, "serial-barcode");
   poweroff_button = OBJ (GtkButton *, "poweroff-button");
@@ -426,6 +430,9 @@ show_factory_dialog (GisLanguagePage *page)
   version = get_software_version ();
   gtk_label_set_text (version_label, version);
 
+  gtk_label_set_text (personality_label,
+                      gis_driver_get_personality (driver));
+
   have_serial = get_serial_version (&display_serial, &barcode_serial);
 
   if (have_serial) {
diff --git a/gnome-initial-setup/pages/language/gis-language-page.ui 
b/gnome-initial-setup/pages/language/gis-language-page.ui
index 6f75092..c3ceb80 100644
--- a/gnome-initial-setup/pages/language/gis-language-page.ui
+++ b/gnome-initial-setup/pages/language/gis-language-page.ui
@@ -72,6 +72,22 @@
                 <property name="position">0</property>
               </packing>
             </child>
+           <child>
+              <object class="GtkLabel" id="personality">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label">personality</property>
+                <attributes>
+                  <attribute name="font-desc" value="&lt;Enter Value&gt; 20"/>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
             <child>
               <object class="GtkImage" id="serial-barcode">
                 <property name="visible">True</property>
@@ -82,7 +98,7 @@
                 <property name="expand">True</property>
                 <property name="fill">True</property>
                 <property name="padding">16</property>
-                <property name="position">1</property>
+                <property name="position">2</property>
               </packing>
             </child>
             <child>
@@ -98,14 +114,14 @@
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">True</property>
-                <property name="position">2</property>
+                <property name="position">3</property>
               </packing>
             </child>
           </object>
           <packing>
             <property name="expand">True</property>
             <property name="fill">True</property>
-            <property name="position">1</property>
+            <property name="position">4</property>
           </packing>
         </child>
       </object>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]