[glabels/glabels_2_2: 4/16] 2009-05-18 Jim Evins <evins snaught com>
- From: Jim Evins <jimevins src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [glabels/glabels_2_2: 4/16] 2009-05-18 Jim Evins <evins snaught com>
- Date: Tue, 6 Oct 2009 00:31:27 +0000 (UTC)
commit d9d21f38de54637ea0713406beb5cfd93598369c
Author: Jim Evins <evins snaught com>
Date: Mon May 18 04:09:13 2009 +0000
2009-05-18 Jim Evins <evins snaught com>
* src/prefs-model.c: (gl_prefs_model_load_settings):
Make an educated guess at locale settings when run for the
first time.
git-svn-id: https://glabels.svn.sourceforge.net/svnroot/glabels/branches/glabels-2_2 848 f5e0f49d-192f-0410-a22d-a8d8700d0965
glabels2/ChangeLog | 6 ++++++
glabels2/src/prefs-model.c | 28 +++++++++++++++++++++++-----
2 files changed, 29 insertions(+), 5 deletions(-)
---
diff --git a/glabels2/ChangeLog b/glabels2/ChangeLog
index 464f90f..b19045b 100644
--- a/glabels2/ChangeLog
+++ b/glabels2/ChangeLog
@@ -1,3 +1,9 @@
+2009-05-18 Jim Evins <evins snaught com>
+
+ * src/prefs-model.c: (gl_prefs_model_load_settings):
+ Make an educated guess at locale settings when run for the
+ first time.
+
2009-05-17 Jim Evins <evins snaught com>
* Makefile.am:
diff --git a/glabels2/src/prefs-model.c b/glabels2/src/prefs-model.c
index 72b6179..1d5c219 100644
--- a/glabels2/src/prefs-model.c
+++ b/glabels2/src/prefs-model.c
@@ -27,6 +27,7 @@
#include <libglabels/db.h>
#include <libglabels/xml.h>
+#include <gtk/gtkpapersize.h>
#include "marshal.h"
#include "util.h"
@@ -76,8 +77,11 @@
#define PREF_MAX_RECENT_TEMPLATES "/max-recent-templates"
/* Default values */
-#define DEFAULT_UNITS_STRING units_to_string (LGL_UNITS_INCH)
-#define DEFAULT_PAGE_SIZE "US-Letter"
+#define DEFAULT_UNITS_STRING_US units_to_string (LGL_UNITS_INCH)
+#define DEFAULT_PAGE_SIZE_US "US-Letter"
+
+#define DEFAULT_UNITS_STRING_METRIC units_to_string (LGL_UNITS_MM)
+#define DEFAULT_PAGE_SIZE_METRIC "A4"
#define DEFAULT_FONT_FAMILY "Sans"
#define DEFAULT_FONT_SIZE 14.0
@@ -385,6 +389,7 @@ gl_prefs_model_save_settings (glPrefsModel *prefs_model)
void
gl_prefs_model_load_settings (glPrefsModel *prefs_model)
{
+ const gchar *pgsize, *default_units_string, *default_page_size;
gchar *string;
lglPaper *paper;
GSList *p, *p_next;
@@ -394,11 +399,24 @@ gl_prefs_model_load_settings (glPrefsModel *prefs_model)
g_return_if_fail (prefs_model && GL_IS_PREFS_MODEL(prefs_model));
g_return_if_fail (prefs_model->gconf_client != NULL);
+ /* Make educated guess about locale defaults. */
+ pgsize = gtk_paper_size_get_default ();
+ if ( strcmp (pgsize,GTK_PAPER_NAME_LETTER) == 0 )
+ {
+ default_units_string = DEFAULT_UNITS_STRING_US;
+ default_page_size = DEFAULT_PAGE_SIZE_US;
+ }
+ else
+ {
+ default_units_string = DEFAULT_UNITS_STRING_METRIC;
+ default_page_size = DEFAULT_PAGE_SIZE_METRIC;
+ }
+
/* Units */
string =
get_string (prefs_model->gconf_client,
BASE_KEY PREF_UNITS,
- DEFAULT_UNITS_STRING);
+ default_units_string);
prefs_model->units = string_to_units( string );
g_free( string );
lgl_xml_set_default_units (prefs_model->units);
@@ -409,7 +427,7 @@ gl_prefs_model_load_settings (glPrefsModel *prefs_model)
prefs_model->default_page_size =
get_string (prefs_model->gconf_client,
BASE_KEY PREF_DEFAULT_PAGE_SIZE,
- DEFAULT_PAGE_SIZE);
+ default_page_size);
/* Text properties */
g_free (prefs_model->default_font_family);
@@ -543,7 +561,7 @@ gl_prefs_model_load_settings (glPrefsModel *prefs_model)
/* (For compatability with older versions.) */
paper = lgl_db_lookup_paper_from_id (prefs_model->default_page_size);
if ( paper == NULL ) {
- prefs_model->default_page_size = g_strdup (DEFAULT_PAGE_SIZE);
+ prefs_model->default_page_size = g_strdup (DEFAULT_PAGE_SIZE_US);
} else {
lgl_paper_free (paper);
paper = NULL;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]