Imported Upstream version 1
authorJulien Valroff <julien@kirya.net>
Sat, 14 Jul 2012 08:14:21 +0000 (10:14 +0200)
committerJulien Valroff <julien@kirya.net>
Sat, 14 Jul 2012 08:14:21 +0000 (10:14 +0200)
ChangeLog
configure.ac
doc/gsimplecal.1
src/Config.cpp
src/Config.hpp
src/gsimplecal.cpp

index 2ad05c5..813ced9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2012-04-12: v1.6:
++ Add option to force LANG for changing weekdays order
+
 2012-03-26: v1.5:
 - Fix compilation on BSD
 - Fix current executable path on BSD
index a5d6b27..b90ce71 100644 (file)
@@ -1,6 +1,6 @@
 AC_PREREQ([2.65])
 AC_INIT([gsimplecal],
-        [1.5],
+        [1.6],
         [https://github.com/dmedvinsky/gsimplecal/issues],
         [gsimplecal],
         [https://github.com/dmedvinsky/gsimplecal])
index a28e91e..c940ea7 100644 (file)
@@ -69,6 +69,8 @@ external_viewer = sunbird \-showdate "%Y\-%m\-%d"
 .br
 clock_format = %a %d %b %H:%M
 .br
+force_lang = en_US.utf8
+.br
 mainwindow_decorated = 0
 .br
 mainwindow_keep_above = 1
@@ -137,6 +139,16 @@ please file a ticket (see \fIREPORTING BUGS\fP).
 \fBclock_format\fP: string
 Sets the clocks format. Look \fIman strftime\fP for the possible formats.
 
+.TP 5
+\fBforce_lang\fP: string
+Overrides the \fILANG\fP environment variable, thus making it possible to
+change the first day of week, i.e. choose if Monday or Sunday goes first.
+Basically it's the same as running gsimplecal as
+
+    LANG=en_GB.utf8 gsimplecal
+
+Must be one of \fIlocale -a\fP output.
+
 .TP 5
 \fBmainwindow_decorated\fP: 1 or 0, defaults to 0.
 Tells your window manager to decorate or not to decorate the main window.
index 9d870f9..3f09262 100644 (file)
@@ -144,15 +144,15 @@ void Config::addOption(string var, string val)
             mainwindow_position = GTK_WIN_POS_NONE;
         }
     } else if (var == "mainwindow_xoffset") {
-       stringstream convert(val);
-       if (!(convert >> mainwindow_xoffset)) {
-               mainwindow_xoffset = 0;
-       }
+        stringstream convert(val);
+        if (!(convert >> mainwindow_xoffset)) {
+            mainwindow_xoffset = 0;
+        }
     }  else if (var == "mainwindow_yoffset") {
         stringstream convert(val);
         if (!(convert >> mainwindow_yoffset)) {
-           mainwindow_yoffset = 0;
-       }
+            mainwindow_yoffset = 0;
+        }
     } else if (var == "mainwindow_resizable") {
         if (!fromString<bool>(mainwindow_resizable, val)) {
             mainwindow_resizable = true;
@@ -171,6 +171,8 @@ void Config::addOption(string var, string val)
         if (!fromString<bool>(close_on_unfocus, val)) {
             close_on_unfocus = false;
         }
+    } else if (var == "force_lang") {
+        force_lang = val;
     }
 }
 
index 0dcff1d..d4f9aea 100644 (file)
@@ -30,6 +30,7 @@ public:
     string external_viewer;
     bool show_week_numbers;
     bool close_on_unfocus;
+    string force_lang;
 
     bool mainwindow_decorated;
     bool mainwindow_keep_above;
index 1a5b696..107cd9f 100644 (file)
@@ -1,5 +1,6 @@
 #include <iostream>
 #include <string.h>
+#include <stdlib.h>
 
 #include <signal.h>
 #include <gtk/gtk.h>
@@ -95,13 +96,18 @@ int main(int argc, char *argv[])
     signal(SIGUSR2, &signal_handler);
     signal(SIGCHLD, SIG_IGN);
 
+    Config* config = Config::getInstance();
+    if (config->force_lang.length()) {
+        // Must be done before gtk_init call.
+        setenv("LANG", config->force_lang.c_str(), 1);
+    }
+
     gtk_init(&argc, &argv);
     main_window = new MainWindow();
 
     gtk_signal_connect(GTK_OBJECT(main_window->getWindow()), "destroy",
                        GTK_SIGNAL_FUNC(destroy), NULL);
 
-    Config* config = Config::getInstance();
     if (config->show_timezones) {
         g_timeout_add(30000, (GSourceFunc)time_handler, NULL);
     }