[win32] add --register-handlers and --unregister-handlers options
and don't tamper with registry unless asked for it explicitely.
This commit is contained in:
@ -283,6 +283,10 @@ _e_win32_register_addressbook (void)
|
||||
_e_win32_register_addressbook_impl (FALSE);
|
||||
}
|
||||
|
||||
void
|
||||
_e_win32_unregister_addressbook (void)
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
* Mail Client registration
|
||||
@ -457,6 +461,11 @@ _e_win32_register_mailer (void)
|
||||
_e_win32_register_mailer_impl (FALSE);
|
||||
}
|
||||
|
||||
void
|
||||
_e_win32_unregister_mailer (void)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
_e_win32_set_default_mailer_impl (gboolean system)
|
||||
{
|
||||
|
||||
@ -28,10 +28,12 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
void _e_win32_register_mailer (void);
|
||||
void _e_win32_unregister_mailer (void);
|
||||
void _e_win32_set_default_mailer (void);
|
||||
void _e_win32_unset_default_mailer (void);
|
||||
|
||||
void _e_win32_register_addressbook (void);
|
||||
void _e_win32_unregister_addressbook (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
||||
18
shell/main.c
18
shell/main.c
@ -80,9 +80,11 @@
|
||||
|
||||
/* Command-line options. */
|
||||
#ifdef G_OS_WIN32
|
||||
static gboolean register_handlers = FALSE;
|
||||
static gboolean reinstall = FALSE;
|
||||
static gboolean show_icons = FALSE;
|
||||
static gboolean hide_icons = FALSE;
|
||||
static gboolean unregister_handlers = FALSE;
|
||||
#endif /* G_OS_WIN32 */
|
||||
static gboolean express_mode = FALSE;
|
||||
static gboolean start_online = FALSE;
|
||||
@ -305,12 +307,16 @@ setup_segv_redirect (void)
|
||||
|
||||
static GOptionEntry entries[] = {
|
||||
#ifdef G_OS_WIN32
|
||||
{ "register-handlers", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, ®ister_handlers,
|
||||
NULL, NULL },
|
||||
{ "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 },
|
||||
{ "unregister-handlers", '\0', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, &unregister_handlers,
|
||||
NULL, NULL },
|
||||
#endif /* G_OS_WIN32 */
|
||||
{ "component", 'c', 0, G_OPTION_ARG_STRING, &requested_view,
|
||||
N_("Start Evolution activating the specified component"), NULL },
|
||||
@ -481,8 +487,10 @@ main (gint argc, gchar **argv)
|
||||
|
||||
g_free (path);
|
||||
|
||||
_e_win32_register_mailer ();
|
||||
_e_win32_register_addressbook ();
|
||||
if (register_handlers || reinstall || show_icons) {
|
||||
_e_win32_register_mailer ();
|
||||
_e_win32_register_addressbook ();
|
||||
}
|
||||
|
||||
if (reinstall) {
|
||||
_e_win32_set_default_mailer ();
|
||||
@ -498,6 +506,12 @@ main (gint argc, gchar **argv)
|
||||
_e_win32_unset_default_mailer ();
|
||||
exit (0);
|
||||
}
|
||||
|
||||
if (unregister_handlers) {
|
||||
_e_win32_unregister_mailer();
|
||||
_e_win32_unregister_addressbook();
|
||||
exit (0);
|
||||
}
|
||||
|
||||
if (strcmp (gettext (""), "") == 0) {
|
||||
/* No message catalog installed for the current locale
|
||||
|
||||
Reference in New Issue
Block a user