[gnome-initial-setup] welcome: Split out as well



commit 5e30d8f6d1963a63d3d79240aa7b49ccc3155e88
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Tue Jun 12 00:42:07 2012 -0400

    welcome: Split out as well

 gnome-initial-setup/Makefile.am           |    1 +
 gnome-initial-setup/gis-welcome-page.c    |   23 ++++++++++++++++++-----
 gnome-initial-setup/gis-welcome-page.h    |   20 ++++++++++++++++++++
 gnome-initial-setup/gnome-initial-setup.c |   13 +++++++++++--
 gnome-initial-setup/gnome-initial-setup.h |    2 ++
 5 files changed, 52 insertions(+), 7 deletions(-)
---
diff --git a/gnome-initial-setup/Makefile.am b/gnome-initial-setup/Makefile.am
index 9a0b56a..75a7e59 100644
--- a/gnome-initial-setup/Makefile.am
+++ b/gnome-initial-setup/Makefile.am
@@ -34,6 +34,7 @@ endif
 
 gnome_initial_setup_SOURCES =	\
 	gnome-initial-setup.c gnome-initial-setup.h \
+	gis-welcome-page.c gis-welcome-page.h \
 	gis-eula-pages.c gis-eula-pages.h \
 	gis-location-page.c gis-location-page.h \
 	panel-cell-renderer-signal.c panel-cell-renderer-signal.h \
diff --git a/gnome-initial-setup/gis-welcome-page.c b/gnome-initial-setup/gis-welcome-page.c
index f7721f6..d1812fd 100644
--- a/gnome-initial-setup/gis-welcome-page.c
+++ b/gnome-initial-setup/gis-welcome-page.c
@@ -1,12 +1,23 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
 /* Welcome page {{{1 */
 
-static void
-prepare_welcome_page (SetupData *setup)
+#include "config.h"
+#include "gis-welcome-page.h"
+
+#include <glib/gi18n.h>
+#include <gio/gio.h>
+
+#include <gtk/gtk.h>
+
+void
+gis_prepare_welcome_page (WelcomeData *data)
 {
         gchar *s;
+        SetupData *setup = data->setup;
+        GKeyFile *overrides = gis_get_overrides (setup);
 
-        s = g_key_file_get_locale_string (setup->overrides,
+        s = g_key_file_get_locale_string (overrides,
                                           "Welcome", "welcome-image",
                                           NULL, NULL);
 
@@ -15,17 +26,19 @@ prepare_welcome_page (SetupData *setup)
 
         g_free (s);
 
-        s = g_key_file_get_locale_string (setup->overrides,
+        s = g_key_file_get_locale_string (overrides,
                                           "Welcome", "welcome-title",
                                           NULL, NULL);
         if (s)
                 gtk_label_set_text (GTK_LABEL (WID ("welcome-title")), s);
         g_free (s);
 
-        s = g_key_file_get_locale_string (setup->overrides,
+        s = g_key_file_get_locale_string (overrides,
                                           "Welcome", "welcome-subtitle",
                                           NULL, NULL);
         if (s)
                 gtk_label_set_text (GTK_LABEL (WID ("welcome-subtitle")), s);
         g_free (s);
+
+        g_key_file_unref (overrides);
 }
diff --git a/gnome-initial-setup/gis-welcome-page.h b/gnome-initial-setup/gis-welcome-page.h
new file mode 100644
index 0000000..a94a0d8
--- /dev/null
+++ b/gnome-initial-setup/gis-welcome-page.h
@@ -0,0 +1,20 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+
+#ifndef __GIS_WELCOME_PAGE_H__
+#define __GIS_WELCOME_PAGE_H__
+
+#include "gnome-initial-setup.h"
+
+G_BEGIN_DECLS
+
+typedef struct _WelcomeData WelcomeData;
+
+struct _WelcomeData {
+  SetupData *setup;
+};
+
+void gis_prepare_welcome_page (WelcomeData *data);
+
+G_END_DECLS
+
+#endif /* __GIS_WELCOME_PAGE_H__ */
diff --git a/gnome-initial-setup/gnome-initial-setup.c b/gnome-initial-setup/gnome-initial-setup.c
index 719c188..2df73a8 100644
--- a/gnome-initial-setup/gnome-initial-setup.c
+++ b/gnome-initial-setup/gnome-initial-setup.c
@@ -44,6 +44,7 @@
 
 #include <gnome-keyring.h>
 
+#include "gis-welcome-page.h"
 #include "gis-eula-pages.h"
 #include "gis-location-page.h"
 
@@ -53,6 +54,7 @@ struct _SetupData {
         GtkAssistant *assistant;
 
         GKeyFile *overrides;
+
         GdmGreeterClient *greeter_client;
 
         /* network data */
@@ -82,6 +84,7 @@ struct _SetupData {
         GdkPixbuf *avatar_pixbuf;
         gchar *avatar_filename;
 
+        WelcomeData welcome_data;
         EulasData eulas_data;
         LocationData location_data;
 
@@ -89,7 +92,6 @@ struct _SetupData {
         GoaClient *goa_client;
 };
 
-#include "gis-welcome-page.c"
 #include "gis-network-page.c"
 #include "gis-account-page.c"
 #include "gis-goa-page.c"
@@ -127,7 +129,8 @@ prepare_assistant (SetupData *setup)
         /* connect to gdm slave */
         connect_to_slave (setup);
 
-        prepare_welcome_page (setup);
+        setup->welcome_data.setup = setup;
+        gis_prepare_welcome_page (&setup->welcome_data);
 
         setup->eulas_data.setup = setup;
         gis_prepare_eula_pages (&setup->eulas_data);
@@ -142,6 +145,12 @@ prepare_assistant (SetupData *setup)
         prepare_summary_page (setup);
 }
 
+GKeyFile *
+gis_get_overrides (SetupData *data)
+{
+        return g_key_file_ref (data->overrides);
+}
+
 /* main {{{1 */
 
 int
diff --git a/gnome-initial-setup/gnome-initial-setup.h b/gnome-initial-setup/gnome-initial-setup.h
index ea01714..74ca51e 100644
--- a/gnome-initial-setup/gnome-initial-setup.h
+++ b/gnome-initial-setup/gnome-initial-setup.h
@@ -17,6 +17,8 @@ struct _SetupData {
 };
 #endif
 
+GKeyFile *gis_get_overrides (SetupData *data);
+
 #define OBJ(type,name) ((type)gtk_builder_get_object(setup->builder,(name)))
 #define WID(name) OBJ(GtkWidget*,name)
 



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