[gnome-initial-setup] summary: Add a better summary override system
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-initial-setup] summary: Add a better summary override system
- Date: Wed, 31 Oct 2012 23:56:50 +0000 (UTC)
commit de8504a8964fa1cd4db9ecdafa573fdeabfb0837
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Wed Oct 31 15:02:51 2012 -0400
summary: Add a better summary override system
Use native UI files instead of having all this crazy ini garbage.
gnome-initial-setup/gnome-initial-setup.c | 27 ------
gnome-initial-setup/gnome-initial-setup.h | 1 -
gnome-initial-setup/pages/summary/Makefile.am | 4 +
.../pages/summary/gis-summary-page.c | 86 +++++++------------
4 files changed, 36 insertions(+), 82 deletions(-)
---
diff --git a/gnome-initial-setup/gnome-initial-setup.c b/gnome-initial-setup/gnome-initial-setup.c
index 56a2238..d4708fc 100644
--- a/gnome-initial-setup/gnome-initial-setup.c
+++ b/gnome-initial-setup/gnome-initial-setup.c
@@ -31,7 +31,6 @@
/* Setup data {{{1 */
struct _SetupData {
GtkWindow *main_window;
- GKeyFile *overrides;
GisAssistant *assistant;
ActUser *user_account;
@@ -89,12 +88,6 @@ rebuild_pages (SetupData *setup)
return FALSE;
}
-GKeyFile *
-gis_get_overrides (SetupData *setup)
-{
- return g_key_file_ref (setup->overrides);
-}
-
GtkWindow *
gis_get_main_window (SetupData *setup)
{
@@ -150,24 +143,6 @@ get_assistant_type (void)
/* main {{{1 */
static void
-load_overrides (SetupData *setup)
-{
- gchar *filename;
- GError *error = NULL;
-
- setup->overrides = g_key_file_new ();
- filename = g_build_filename (UIDIR, "overrides.ini", NULL);
- if (!g_key_file_load_from_file (setup->overrides, filename, 0, &error)) {
- if (!g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT)) {
- g_error ("%s", error->message);
- exit (1);
- }
- g_error_free (error);
- }
- g_free (filename);
-}
-
-static void
activate_cb (GApplication *app,
gpointer user_data)
{
@@ -197,8 +172,6 @@ startup_cb (GApplication *app,
gtk_widget_show (GTK_WIDGET (setup->assistant));
- load_overrides (setup);
-
prepare_main_window (setup);
rebuild_pages (setup);
}
diff --git a/gnome-initial-setup/gnome-initial-setup.h b/gnome-initial-setup/gnome-initial-setup.h
index 38c359a..34dcdaa 100644
--- a/gnome-initial-setup/gnome-initial-setup.h
+++ b/gnome-initial-setup/gnome-initial-setup.h
@@ -15,7 +15,6 @@ G_BEGIN_DECLS
typedef struct _SetupData SetupData;
GtkWindow *gis_get_main_window (SetupData *setup);
-GKeyFile *gis_get_overrides (SetupData *setup);
GisAssistant * gis_get_assistant (SetupData *setup);
void gis_locale_changed (SetupData *setup);
diff --git a/gnome-initial-setup/pages/summary/Makefile.am b/gnome-initial-setup/pages/summary/Makefile.am
index 4661cdd..39c9fa8 100644
--- a/gnome-initial-setup/pages/summary/Makefile.am
+++ b/gnome-initial-setup/pages/summary/Makefile.am
@@ -1,6 +1,10 @@
noinst_LTLIBRARIES = libgissummary.la
+AM_CPPFLAGS = \
+ $(INITIAL_SETUP_CFLAGS) \
+ -DUIDIR="\"$(uidir)\""
+
libgissummary_la_SOURCES = \
gis-summary-page.c gis-summary-page.h
diff --git a/gnome-initial-setup/pages/summary/gis-summary-page.c b/gnome-initial-setup/pages/summary/gis-summary-page.c
index c98edfc..4622d1a 100644
--- a/gnome-initial-setup/pages/summary/gis-summary-page.c
+++ b/gnome-initial-setup/pages/summary/gis-summary-page.c
@@ -5,6 +5,7 @@
#include <glib/gi18n.h>
#include <gio/gio.h>
+#include <stdlib.h>
#include <act/act-user-manager.h>
@@ -260,57 +261,6 @@ tour_cb (GtkButton *button, SummaryData *data)
}
static void
-install_overrides (SetupData *setup,
- GtkBuilder *builder)
-{
- gchar *s;
- GKeyFile *overrides = gis_get_overrides (setup);
-
- s = g_key_file_get_locale_string (overrides,
- "Summary", "summary-title",
- NULL, NULL);
- if (s)
- gtk_label_set_text (GTK_LABEL (WID ("summary-title")), s);
- g_free (s);
-
- s = g_key_file_get_locale_string (overrides,
- "Summary", "summary-details",
- NULL, NULL);
- if (s) {
- gtk_label_set_text (GTK_LABEL (WID ("summary-details")), s);
- }
- g_free (s);
-
- s = g_key_file_get_locale_string (overrides,
- "Summary", "summary-details2",
- NULL, NULL);
- if (s)
- gtk_label_set_text (GTK_LABEL (WID ("summary-details2")), s);
- g_free (s);
-
- s = g_key_file_get_locale_string (overrides,
- "Summary", "summary-start-button",
- NULL, NULL);
- if (s)
- gtk_button_set_label (GTK_BUTTON (WID ("summary-start-button")), s);
- g_free (s);
-
- s = g_key_file_get_locale_string (overrides,
- "Summary", "summary-tour-details",
- NULL, NULL);
- if (s)
- gtk_label_set_text (GTK_LABEL (WID ("summary-tour-details")), s);
- g_free (s);
-
- s = g_key_file_get_locale_string (overrides,
- "Summary", "summary-tour-button",
- NULL, NULL);
- if (s)
- gtk_button_set_label (GTK_BUTTON (WID ("summary-tour-button")), s);
- g_free (s);
-}
-
-static void
prepare_cb (GisAssistant *assistant, GtkWidget *page, SummaryData *data)
{
if (page == data->widget)
@@ -321,11 +271,41 @@ prepare_cb (GisAssistant *assistant, GtkWidget *page, SummaryData *data)
}
}
+static GtkBuilder *
+get_builder (void)
+{
+ GtkBuilder *builder = gtk_builder_new ();
+
+ char *filename = g_build_filename (UIDIR, "summary-distro.ui", NULL);
+ GError *error = NULL;
+
+ if (gtk_builder_add_from_file (builder, filename, &error))
+ goto out;
+
+ if (!g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT))
+ g_warning ("Error while loading summary override: %s", error->message);
+
+ g_clear_error (&error);
+
+ {
+ char *resource_path = "/ui/gis-summary-page.ui";
+ gtk_builder_add_from_resource (builder, resource_path, &error);
+
+ if (error != NULL) {
+ g_warning ("Error while loading %s: %s", resource_path, error->message);
+ exit (1);
+ }
+ }
+
+ out:
+ return builder;
+}
+
void
gis_prepare_summary_page (SetupData *setup)
{
GisAssistant *assistant = gis_get_assistant (setup);
- GtkBuilder *builder = gis_builder ("gis-summary-page");
+ GtkBuilder *builder = get_builder ();
SummaryData *data;
data = g_slice_new0 (SummaryData);
@@ -334,8 +314,6 @@ gis_prepare_summary_page (SetupData *setup)
g_signal_connect (assistant, "prepare", G_CALLBACK (prepare_cb), data);
- install_overrides (setup, builder);
-
g_signal_connect (WID("summary-start-button"), "clicked", G_CALLBACK (byebye_cb), data);
g_signal_connect (WID("summary-tour-button"), "clicked", G_CALLBACK (tour_cb), data);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]