aboutsummaryrefslogtreecommitdiffstats
path: root/shell/main.c
diff options
context:
space:
mode:
authorFridrich Štrba <fridrich.strba@bluewin.ch>2010-05-18 22:57:11 +0800
committerFridrich Štrba <fridrich.strba@bluewin.ch>2010-05-18 22:57:11 +0800
commit0f92771be57383e5d6e7d0f3e05743d192066eb3 (patch)
tree7a701d07ecb3eb1664f6f0b606c87045bfb9bc74 /shell/main.c
parentbc054c94cb46e4f8f8881c2a1b0268e2f05b307b (diff)
downloadgsoc2013-evolution-0f92771be57383e5d6e7d0f3e05743d192066eb3.tar.gz
gsoc2013-evolution-0f92771be57383e5d6e7d0f3e05743d192066eb3.tar.zst
gsoc2013-evolution-0f92771be57383e5d6e7d0f3e05743d192066eb3.zip
[win32] Implement --reinstall, --show-icons, --hide-icons options
to be used by windows default application setting dialogue
Diffstat (limited to 'shell/main.c')
-rw-r--r--shell/main.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/shell/main.c b/shell/main.c
index 3fc57afc5a..54fbbade49 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -78,6 +78,11 @@
#endif
/* Command-line options. */
+#ifdef G_OS_WIN32
+static gboolean reinstall = FALSE;
+static gboolean show_icons = FALSE;
+static gboolean hide_icons = FALSE;
+#endif /* G_OS_WIN32 */
static gboolean express_mode = FALSE;
static gboolean start_online = FALSE;
static gboolean start_offline = FALSE;
@@ -300,6 +305,14 @@ setup_segv_redirect (void)
#endif
static GOptionEntry entries[] = {
+#ifdef G_OS_WIN32
+ { "--reinstall", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, &reinstall,
+ NULL, NULL },
+ { "--show-icons", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, &show_icons,
+ NULL, NULL },
+ { "--hide-icons", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, &hide_icons,
+ NULL, NULL },
+#endif /* G_OS_WIN32 */
{ "component", 'c', 0, G_OPTION_ARG_STRING, &requested_view,
N_("Start Evolution activating the specified component"), NULL },
{ "geometry", 'g', 0, G_OPTION_ARG_STRING, &geometry,
@@ -465,6 +478,21 @@ main (gint argc, gchar **argv)
_e_win32_register_mailer ();
+ if (reinstall) {
+ _e_win32_set_default_mailer ();
+ exit (0);
+ }
+
+ if (show_icons) {
+ _e_win32_set_default_mailer ();
+ exit (0);
+ }
+
+ if (hide_icons) {
+ _e_win32_unset_default_mailer ();
+ exit (0);
+ }
+
if (strcmp (gettext (""), "") == 0) {
/* No message catalog installed for the current locale
* language, so don't bother with the localisations