[gnome-initial-setup] Make pages use a specified format
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-initial-setup] Make pages use a specified format
- Date: Wed, 31 Oct 2012 23:57:00 +0000 (UTC)
commit ffa8f0b328420acd0c6c5ab78b761fd0a862a6b6
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Wed Oct 31 15:25:34 2012 -0400
Make pages use a specified format
This is so we can introduce a new GisPage base class to stop
memory leaks.
gnome-initial-setup/pages/eulas/gis-eula-pages.c | 2 +-
gnome-initial-setup/pages/goa/gis-goa-page.c | 9 +++++--
.../pages/language/gis-language-page.c | 23 ++++++++++---------
.../pages/location/gis-location-page.c | 18 ++++++++++-----
.../pages/network/gis-network-page.c | 9 ++++---
.../pages/summary/gis-summary-page.c | 5 ++-
6 files changed, 39 insertions(+), 27 deletions(-)
---
diff --git a/gnome-initial-setup/pages/eulas/gis-eula-pages.c b/gnome-initial-setup/pages/eulas/gis-eula-pages.c
index a3f4f70..cd2a7ef 100644
--- a/gnome-initial-setup/pages/eulas/gis-eula-pages.c
+++ b/gnome-initial-setup/pages/eulas/gis-eula-pages.c
@@ -15,8 +15,8 @@ typedef struct _EulaPage EulaPage;
struct _EulaPage {
SetupData *setup;
-
GtkWidget *widget;
+
GtkWidget *text_view;
GtkWidget *checkbox;
GtkWidget *scrolled_window;
diff --git a/gnome-initial-setup/pages/goa/gis-goa-page.c b/gnome-initial-setup/pages/goa/gis-goa-page.c
index 1575d34..4859ede 100644
--- a/gnome-initial-setup/pages/goa/gis-goa-page.c
+++ b/gnome-initial-setup/pages/goa/gis-goa-page.c
@@ -24,7 +24,9 @@ typedef struct _GoaData GoaData;
struct _GoaData {
SetupData *setup;
+ GtkWidget *widget;
GtkBuilder *builder;
+
/* online data */
GoaClient *goa_client;
};
@@ -280,6 +282,7 @@ gis_prepare_online_page (SetupData *setup)
GisAssistant *assistant = gis_get_assistant (setup);
data->setup = setup;
data->builder = gis_builder (PAGE_ID);
+ data->widget = WID ("goa-page");
data->goa_client = goa_client_new_sync (NULL, &error);
if (data->goa_client == NULL)
@@ -300,7 +303,7 @@ gis_prepare_online_page (SetupData *setup)
g_signal_connect (data->goa_client, "account-removed",
G_CALLBACK (goa_account_removed), data);
- gis_assistant_add_page (assistant, WID ("goa-page"));
- gis_assistant_set_page_complete (assistant, WID ("goa-page"), TRUE);
- gis_assistant_set_page_title (assistant, WID ("goa-page"), _("Online Accounts"));
+ gis_assistant_add_page (assistant, data->widget);
+ gis_assistant_set_page_complete (assistant, data->widget, TRUE);
+ gis_assistant_set_page_title (assistant, data->widget, _("Online Accounts"));
}
diff --git a/gnome-initial-setup/pages/language/gis-language-page.c b/gnome-initial-setup/pages/language/gis-language-page.c
index cd52a26..f90c04e 100644
--- a/gnome-initial-setup/pages/language/gis-language-page.c
+++ b/gnome-initial-setup/pages/language/gis-language-page.c
@@ -16,13 +16,15 @@
#include "cc-common-language.h"
#include "gdm-languages.h"
-#define OBJ(type,name) ((type)gtk_builder_get_object(builder,(name)))
+#define OBJ(type,name) ((type)gtk_builder_get_object(data->builder,(name)))
#define WID(name) OBJ(GtkWidget*,name)
typedef struct _LanguageData LanguageData;
struct _LanguageData {
SetupData *setup;
+ GtkWidget *widget;
+ GtkBuilder *builder;
GtkWidget *show_all;
GtkWidget *page;
@@ -236,19 +238,20 @@ gis_prepare_language_page (SetupData *setup)
{
LanguageData *data;
GisAssistant *assistant = gis_get_assistant (setup);
- GtkBuilder *builder = gis_builder (PAGE_ID);
GtkListStore *liststore;
GtkTreeModel *filter;
GtkTreeView *treeview;
+ data = g_slice_new0 (LanguageData);
+ data->setup = setup;
+ data->builder = gis_builder (PAGE_ID);
+ data->widget = WID ("language-page");
+
liststore = gtk_list_store_new (NUM_COLS,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_BOOLEAN);
- data = g_slice_new0 (LanguageData);
- data->setup = setup;
- data->page = WID ("language-page");
data->show_all = WID ("language-show-all");
data->filter_entry = WID ("language-filter-entry");
data->liststore = GTK_TREE_MODEL (liststore);
@@ -278,12 +281,10 @@ gis_prepare_language_page (SetupData *setup)
g_signal_connect (gtk_tree_view_get_selection (treeview), "changed",
G_CALLBACK (selection_changed), data);
- gis_assistant_add_page (assistant, data->page);
- gis_assistant_set_use_unicode_buttons (assistant, data->page, TRUE);
- gis_assistant_set_page_complete (assistant, data->page, TRUE);
+ gis_assistant_add_page (assistant, data->widget);
+ gis_assistant_set_use_unicode_buttons (assistant, data->widget, TRUE);
+ gis_assistant_set_page_complete (assistant, data->widget, TRUE);
- gis_assistant_set_page_title (gis_get_assistant (data->setup), data->page, _("Welcome"));
+ gis_assistant_set_page_title (gis_get_assistant (data->setup), data->widget, _("Welcome"));
select_current_locale (treeview);
-
- g_object_unref (builder);
}
diff --git a/gnome-initial-setup/pages/location/gis-location-page.c b/gnome-initial-setup/pages/location/gis-location-page.c
index d864afe..27ea643 100644
--- a/gnome-initial-setup/pages/location/gis-location-page.c
+++ b/gnome-initial-setup/pages/location/gis-location-page.c
@@ -30,6 +30,8 @@
typedef struct _LocationData LocationData;
struct _LocationData {
+ SetupData *setup;
+ GtkWidget *widget;
GtkBuilder *builder;
/* location data */
@@ -239,13 +241,17 @@ determine_location (GtkWidget *widget,
void
gis_prepare_location_page (SetupData *setup)
{
+ GisAssistant *assistant = gis_get_assistant (setup);
GtkWidget *frame, *map, *entry;
GWeatherLocation *world;
GError *error;
const gchar *timezone;
- LocationData *data = g_slice_new0 (LocationData);
- GisAssistant *assistant = gis_get_assistant (setup);
+ LocationData *data;
+
+ data = g_slice_new0 (LocationData);
+ data->setup = setup;
data->builder = gis_builder (PAGE_ID);
+ data->widget = WID ("location-page");
frame = WID("location-map-frame");
@@ -296,7 +302,7 @@ gis_prepare_location_page (SetupData *setup)
data->current_location = cc_timezone_map_get_location (data->map);
update_timezone (data);
-
+
g_signal_connect (G_OBJECT (entry), "notify::location",
G_CALLBACK (location_changed), data);
@@ -310,7 +316,7 @@ gis_prepare_location_page (SetupData *setup)
gtk_widget_hide (WID ("location-auto-button"));
#endif
- gis_assistant_add_page (assistant, WID ("location-page"));
- gis_assistant_set_page_title (assistant, WID ("location-page"), _("Location"));
- gis_assistant_set_page_complete (assistant, WID ("location-page"), TRUE);
+ gis_assistant_add_page (assistant, data->widget);
+ gis_assistant_set_page_title (assistant, data->widget, _("Location"));
+ gis_assistant_set_page_complete (assistant, data->widget, TRUE);
}
diff --git a/gnome-initial-setup/pages/network/gis-network-page.c b/gnome-initial-setup/pages/network/gis-network-page.c
index d940b4b..36d075c 100644
--- a/gnome-initial-setup/pages/network/gis-network-page.c
+++ b/gnome-initial-setup/pages/network/gis-network-page.c
@@ -29,7 +29,7 @@ typedef struct _NetworkData NetworkData;
struct _NetworkData {
SetupData *setup;
-
+ GtkWidget *widget;
GtkBuilder *builder;
/* network data */
@@ -607,6 +607,7 @@ gis_prepare_network_page (SetupData *setup)
data->setup = setup;
data->builder = gis_builder (PAGE_ID);
+ data->widget = WID ("network-page");
col = OBJ(GtkTreeViewColumn*, "network-list-column");
@@ -705,9 +706,9 @@ gis_prepare_network_page (SetupData *setup)
refresh_wireless_list (data);
- gis_assistant_add_page (assistant, WID ("network-page"));
- gis_assistant_set_page_title (assistant, WID ("network-page"), _("Network"));
- gis_assistant_set_page_complete (assistant, WID ("network-page"), TRUE);
+ gis_assistant_add_page (assistant, data->widget);
+ gis_assistant_set_page_title (assistant, data->widget, _("Network"));
+ gis_assistant_set_page_complete (assistant, data->widget, TRUE);
out: ;
}
diff --git a/gnome-initial-setup/pages/summary/gis-summary-page.c b/gnome-initial-setup/pages/summary/gis-summary-page.c
index 0948d0a..6cdd6eb 100644
--- a/gnome-initial-setup/pages/summary/gis-summary-page.c
+++ b/gnome-initial-setup/pages/summary/gis-summary-page.c
@@ -13,7 +13,7 @@
#include <gdm/gdm-client.h>
-#define OBJ(type,name) ((type)gtk_builder_get_object(builder,(name)))
+#define OBJ(type,name) ((type)gtk_builder_get_object(data->builder,(name)))
#define WID(name) OBJ(GtkWidget*,name)
#define SERVICE_NAME "gdm-password"
@@ -25,6 +25,7 @@ typedef struct _SummaryData SummaryData;
struct _SummaryData {
SetupData *setup;
GtkWidget *widget;
+ GtkBuilder *builder;
ActUser *user_account;
const gchar *user_password;
@@ -307,11 +308,11 @@ void
gis_prepare_summary_page (SetupData *setup)
{
GisAssistant *assistant = gis_get_assistant (setup);
- GtkBuilder *builder = get_builder ();
SummaryData *data;
data = g_slice_new0 (SummaryData);
data->setup = setup;
+ data->builder = get_builder ();
data->widget = WID ("summary-page");
g_signal_connect (assistant, "prepare", G_CALLBACK (prepare_cb), data);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]