[gnome-initial-setup] location: Split out into its own object file



commit 6bc3a6fa693bbf961c44c7ab76fa29ca31d3378a
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Tue Jun 12 00:31:26 2012 -0400

    location: Split out into its own object file
    
    Start splitting everything out, so we're not #including everything.

 gnome-initial-setup/Makefile.am           |    4 +-
 gnome-initial-setup/gis-location-page.c   |   20 +++++++++++----
 gnome-initial-setup/gis-location-page.h   |   31 ++++++++++++++++++++++++
 gnome-initial-setup/gnome-initial-setup.c |   37 +++++++++++-----------------
 gnome-initial-setup/gnome-initial-setup.h |   25 +++++++++++++++++++
 5 files changed, 88 insertions(+), 29 deletions(-)
---
diff --git a/gnome-initial-setup/Makefile.am b/gnome-initial-setup/Makefile.am
index b561ee9..f6de6b2 100644
--- a/gnome-initial-setup/Makefile.am
+++ b/gnome-initial-setup/Makefile.am
@@ -33,7 +33,8 @@ pw_utils_sources = pw-utils.c pw-utils.h
 endif
 
 gnome_initial_setup_SOURCES =	\
-	gnome-initial-setup.c \
+	gnome-initial-setup.c gnome-initial-setup.h \
+	gis-location-page.c gis-location-page.h \
 	panel-cell-renderer-signal.c panel-cell-renderer-signal.h \
 	panel-cell-renderer-mode.c panel-cell-renderer-mode.h \
 	panel-cell-renderer-security.c panel-cell-renderer-security.h \
@@ -54,7 +55,6 @@ included_source_files = \
 	gis-eula-pages.c \
 	gis-network-page.c \
 	gis-account-page.c \
-	gis-location-page.c \
 	gis-goa-page.c \
 	gis-summary-page.c
 
diff --git a/gnome-initial-setup/gis-location-page.c b/gnome-initial-setup/gis-location-page.c
index 3db4dd0..ad4eeb4 100644
--- a/gnome-initial-setup/gis-location-page.c
+++ b/gnome-initial-setup/gis-location-page.c
@@ -1,6 +1,18 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
 /* Location page {{{1 */
 
+#include "config.h"
+#include "gis-location-page.h"
+
+#include <glib/gi18n.h>
+#include <gio/gio.h>
+
+#include <stdlib.h>
+#include <string.h>
+
+#define DEFAULT_TZ "Europe/London"
+
 static void
 set_timezone_cb (GObject      *source,
                  GAsyncResult *res,
@@ -201,16 +213,14 @@ determine_location (GtkWidget    *widget,
 }
 #endif
 
-static void
-prepare_location_page (SetupData *setup)
+void
+gis_prepare_location_page (LocationData *data)
 {
         GtkWidget *frame, *map, *entry;
         GWeatherLocation *world;
         GError *error;
         const gchar *timezone;
-        LocationData *data = &(setup->location_data);
-
-        data->setup = setup;
+        SetupData *setup = data->setup;
 
         frame = WID("location-map-frame");
 
diff --git a/gnome-initial-setup/gis-location-page.h b/gnome-initial-setup/gis-location-page.h
new file mode 100644
index 0000000..e5fc77d
--- /dev/null
+++ b/gnome-initial-setup/gis-location-page.h
@@ -0,0 +1,31 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+
+#ifndef __GIS_LOCATION_PAGE_H__
+#define __GIS_LOCATION_PAGE_H__
+
+#include "gnome-initial-setup.h"
+
+#define GWEATHER_I_KNOW_THIS_IS_UNSTABLE
+#include <libgweather/location-entry.h>
+
+#include "cc-timezone-map.h"
+#include "timedated.h"
+
+G_BEGIN_DECLS
+
+typedef struct _LocationData LocationData;
+
+struct _LocationData {
+  SetupData *setup;
+
+  /* location data */
+  CcTimezoneMap *map;
+  TzLocation *current_location;
+  Timedate1 *dtm;
+};
+
+void gis_prepare_location_page (LocationData *data);
+
+G_END_DECLS
+
+#endif /* __GIS_LOCATION_PAGE_H__ */
diff --git a/gnome-initial-setup/gnome-initial-setup.c b/gnome-initial-setup/gnome-initial-setup.c
index bfdf474..c5f1786 100644
--- a/gnome-initial-setup/gnome-initial-setup.c
+++ b/gnome-initial-setup/gnome-initial-setup.c
@@ -1,6 +1,16 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
 
 #include "config.h"
+
+#define GIS_COMP
+#include "gnome-initial-setup.h"
+
+#include <glib/gi18n.h>
+#include <gio/gio.h>
+
+#include <stdlib.h>
+#include <gtk/gtk.h>
+
 #include <glib/gi18n.h>
 #include <gio/gio.h>
 
@@ -15,16 +25,11 @@
 
 #include <act/act-user-manager.h>
 
-#include "cc-timezone-map.h"
-#include "timedated.h"
 #include "um-utils.h"
 #include "um-photo-dialog.h"
 #include "pw-utils.h"
 #include "gdm-greeter-client.h"
 
-#define GWEATHER_I_KNOW_THIS_IS_UNSTABLE
-#include <libgweather/location-entry.h>
-
 #define GOA_API_IS_SUBJECT_TO_CHANGE
 #include <goa/goa.h>
 #define GOA_BACKEND_API_IS_SUBJECT_TO_CHANGE
@@ -39,18 +44,7 @@
 
 #include <gnome-keyring.h>
 
-#define DEFAULT_TZ "Europe/London"
-
-typedef struct _SetupData SetupData;
-typedef struct _LocationData LocationData;
-
-struct _LocationData {
-        /* location data */
-        CcTimezoneMap *map;
-        TzLocation *current_location;
-        Timedate1 *dtm;
-        SetupData *setup;
-};
+#include "gis-location-page.h"
 
 /* Setup data {{{1 */
 struct _SetupData {
@@ -92,14 +86,10 @@ struct _SetupData {
         GoaClient *goa_client;
 };
 
-#define OBJ(type,name) ((type)gtk_builder_get_object(setup->builder,(name)))
-#define WID(name) OBJ(GtkWidget*,name)
-
 #include "gis-welcome-page.c"
 #include "gis-eula-pages.c"
 #include "gis-network-page.c"
 #include "gis-account-page.c"
-#include "gis-location-page.c"
 #include "gis-goa-page.c"
 #include "gis-summary-page.c"
 
@@ -139,7 +129,10 @@ prepare_assistant (SetupData *setup)
         prepare_eula_pages (setup);
         prepare_network_page (setup);
         prepare_account_page (setup);
-        prepare_location_page (setup);
+
+        setup->location_data.setup = setup;
+        gis_prepare_location_page (&setup->location_data);
+
         prepare_online_page (setup);
         prepare_summary_page (setup);
 }
diff --git a/gnome-initial-setup/gnome-initial-setup.h b/gnome-initial-setup/gnome-initial-setup.h
new file mode 100644
index 0000000..fa96f1a
--- /dev/null
+++ b/gnome-initial-setup/gnome-initial-setup.h
@@ -0,0 +1,25 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+
+#ifndef __GNOME_INITIAL_SETUP_H__
+#define __GNOME_INITIAL_SETUP_H__
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+
+typedef struct _SetupData SetupData;
+
+/* ugly hacks ugghh */
+#ifndef GIS_COMP
+struct _SetupData {
+    GtkBuilder *builder;
+};
+#endif
+
+#define OBJ(type,name) ((type)gtk_builder_get_object(setup->builder,(name)))
+#define WID(name) OBJ(GtkWidget*,name)
+
+G_END_DECLS
+
+#endif /* __GNOME_INITIAL_SETUP_H__ */
+



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