[gnome-initial-setup] Add a save data mechanism, and call it from the summary page
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-initial-setup] Add a save data mechanism, and call it from the summary page
- Date: Sun, 16 Jun 2013 03:28:53 +0000 (UTC)
commit 40fa31c06dd37233083dd06ab3697eefd39223e8
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Sat Jun 15 01:08:54 2013 -0400
Add a save data mechanism, and call it from the summary page
For now, no pages implement this feature.
gnome-initial-setup/gis-assistant.c | 10 ++++++++++
gnome-initial-setup/gis-assistant.h | 1 +
gnome-initial-setup/gis-driver.c | 6 ++++++
gnome-initial-setup/gis-driver.h | 2 ++
gnome-initial-setup/gis-page.c | 7 +++++++
gnome-initial-setup/gis-page.h | 2 ++
.../pages/summary/gis-summary-page.c | 3 +++
7 files changed, 31 insertions(+), 0 deletions(-)
---
diff --git a/gnome-initial-setup/gis-assistant.c b/gnome-initial-setup/gis-assistant.c
index f597aab..0e98a28 100644
--- a/gnome-initial-setup/gis-assistant.c
+++ b/gnome-initial-setup/gis-assistant.c
@@ -399,6 +399,16 @@ gis_assistant_locale_changed (GisAssistant *assistant)
gis_page_locale_changed (l->data);
}
+void
+gis_assistant_save_data (GisAssistant *assistant)
+{
+ GisAssistantPrivate *priv = assistant->priv;
+ GList *l;
+
+ for (l = priv->pages; l != NULL; l = l->next)
+ gis_page_save_data (l->data);
+}
+
static void
gis_assistant_init (GisAssistant *assistant)
{
diff --git a/gnome-initial-setup/gis-assistant.h b/gnome-initial-setup/gis-assistant.h
index 4d8589c..5544076 100644
--- a/gnome-initial-setup/gis-assistant.h
+++ b/gnome-initial-setup/gis-assistant.h
@@ -74,6 +74,7 @@ GList * gis_assistant_get_all_pages (GisAssistant *assistant);
gchar * gis_assistant_get_title (GisAssistant *assistant);
void gis_assistant_locale_changed (GisAssistant *assistant);
+void gis_assistant_save_data (GisAssistant *assistant);
G_END_DECLS
diff --git a/gnome-initial-setup/gis-driver.c b/gnome-initial-setup/gis-driver.c
index 09b5a05..cf67ec4 100644
--- a/gnome-initial-setup/gis-driver.c
+++ b/gnome-initial-setup/gis-driver.c
@@ -349,6 +349,12 @@ gis_driver_class_init (GisDriverClass *klass)
g_object_class_install_properties (gobject_class, PROP_LAST, obj_props);
}
+void
+gis_driver_save_data (GisDriver *driver)
+{
+ gis_assistant_save_data (driver->priv->assistant);
+}
+
GisDriver *
gis_driver_new (GisDriverMode mode)
{
diff --git a/gnome-initial-setup/gis-driver.h b/gnome-initial-setup/gis-driver.h
index e38f795..786e242 100644
--- a/gnome-initial-setup/gis-driver.h
+++ b/gnome-initial-setup/gis-driver.h
@@ -84,6 +84,8 @@ GisDriverMode gis_driver_get_mode (GisDriver *driver);
void gis_driver_add_page (GisDriver *driver,
GisPage *page);
+void gis_driver_save_data (GisDriver *driver);
+
GisDriver *gis_driver_new (GisDriverMode mode);
G_END_DECLS
diff --git a/gnome-initial-setup/gis-page.c b/gnome-initial-setup/gis-page.c
index 0f9146e..fd0529e 100644
--- a/gnome-initial-setup/gis-page.c
+++ b/gnome-initial-setup/gis-page.c
@@ -335,3 +335,10 @@ gis_page_apply_cancel (GisPage *page)
g_cancellable_cancel (page->priv->apply_cancel);
}
+
+void
+gis_page_save_data (GisPage *page)
+{
+ if (GIS_PAGE_GET_CLASS (page)->save_data)
+ return GIS_PAGE_GET_CLASS (page)->save_data (page);
+}
diff --git a/gnome-initial-setup/gis-page.h b/gnome-initial-setup/gis-page.h
index 8d287c6..b373d8e 100644
--- a/gnome-initial-setup/gis-page.h
+++ b/gnome-initial-setup/gis-page.h
@@ -65,6 +65,7 @@ struct _GisPageClass
void (*locale_changed) (GisPage *page);
void (*apply) (GisPage *page,
GCancellable *cancellable);
+ void (*save_data) (GisPage *page);
};
GType gis_page_get_type (void);
@@ -79,6 +80,7 @@ void gis_page_apply_begin (GisPage *page, GisPageApplyCallback callback,
void gis_page_apply_cancel (GisPage *page);
void gis_page_apply_complete (GisPage *page, gboolean valid);
gboolean gis_page_get_applying (GisPage *page);
+void gis_page_save_data (GisPage *page);
G_END_DECLS
diff --git a/gnome-initial-setup/pages/summary/gis-summary-page.c
b/gnome-initial-setup/pages/summary/gis-summary-page.c
index 93032ea..d69a795 100644
--- a/gnome-initial-setup/pages/summary/gis-summary-page.c
+++ b/gnome-initial-setup/pages/summary/gis-summary-page.c
@@ -269,6 +269,9 @@ prepare_cb (GisAssistant *assistant,
if (GIS_PAGE (which_page) == GIS_PAGE (this_page))
{
GisSummaryPagePrivate *priv = this_page->priv;
+
+ gis_driver_save_data (GIS_PAGE (this_page)->driver);
+
gis_driver_get_user_permissions (GIS_PAGE (this_page)->driver,
&priv->user_account,
&priv->user_password);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]