cairo-dock-team team mailing list archive
-
cairo-dock-team team
-
Mailing list archive
-
Message #01042
[Merge] lp:~chris-chapuis/cairo-dock-plug-ins/mail into lp:cairo-dock-plug-ins
Tofe has proposed merging lp:~chris-chapuis/cairo-dock-plug-ins/mail into lp:cairo-dock-plug-ins.
Requested reviews:
Tofe (chris-chapuis)
more options for mail: don't show quicktext when no mail, and possiblity to specify a mail app per account
--
https://code.launchpad.net/~chris-chapuis/cairo-dock-plug-ins/mail/+merge/18764
Your team Cairo-Dock Team is subscribed to branch lp:cairo-dock-plug-ins.
=== modified file 'mail/data/mail.conf.in'
--- mail/data/mail.conf.in 2010-01-25 00:54:46 +0000
+++ mail/data/mail.conf.in 2010-02-06 16:45:23 +0000
@@ -138,6 +138,9 @@
#{If you have any problem with the applet, uncheck this option during the maintenance mode, then let the dock launch itself, and remove/modify the mail accounts you want.}
check = true
+#b Always show number of mails
+#{If checked, the number of mails will be shown even if there is no mail.}
+show zero mail = true
#X[Mail application]
frame_appli =
=== modified file 'mail/src/cd-mail-applet-accounts.c'
--- mail/src/cd-mail-applet-accounts.c 2010-01-25 23:45:56 +0000
+++ mail/src/cd-mail-applet-accounts.c 2010-02-06 16:45:23 +0000
@@ -35,7 +35,7 @@
pIcon->fAlpha = 1.;\
pIcon->fWidthFactor = 1.;\
pIcon->fHeightFactor = 1.;\
- pIcon->cCommand = g_strdup ("none");\
+ pIcon->cCommand = g_strdup (pMailAccount->cMailApp);\
pIcon->cParentDockName = g_strdup (myIcon->cName);\
cd_debug (" + %s (%s)\n", pIcon->cName, pIcon->cFileName);\
pIconList = g_list_append (pIconList, pIcon);\
@@ -63,6 +63,9 @@
g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
+
+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
+ g_key_file_set_comment (pKeyFile, pMailAccountName, "mail application", "s0 specific mail application\n{Leave this field empty to use the default mail application.}", NULL);
}
void cd_mail_retrieve_pop3_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
@@ -129,6 +132,9 @@
g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
+
+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
+ g_key_file_set_comment (pKeyFile, pMailAccountName, "mail application", "s0 specific mail application\n{Leave this field empty to use the default mail application.}", NULL);
}
void cd_mail_retrieve_imap_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
@@ -187,6 +193,9 @@
g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
+
+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
+ g_key_file_set_comment (pKeyFile, pMailAccountName, "mail application", "s0 specific mail application\n{Leave this field empty to use the default mail application.}", NULL);
}
void cd_mail_retrieve_mbox_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
@@ -221,6 +230,9 @@
g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
+
+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
+ g_key_file_set_comment (pKeyFile, pMailAccountName, "mail application", "s0 specific mail application\n{Leave this field empty to use the default mail application.}", NULL);
}
void cd_mail_retrieve_mh_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
@@ -254,6 +266,9 @@
g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
+
+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
+ g_key_file_set_comment (pKeyFile, pMailAccountName, "mail application", "s0 specific mail application\n{Leave this field empty to use the default mail application.}", NULL);
}
void cd_mail_retrieve_maildir_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
@@ -296,6 +311,9 @@
g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
+
+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
+ g_key_file_set_comment (pKeyFile, pMailAccountName, "mail application", "s0 specific mail application\n{Leave this field empty to use the default mail application.}", NULL);
}
void cd_mail_retrieve_gmail_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
@@ -397,6 +415,9 @@
g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
+
+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
+ g_key_file_set_comment (pKeyFile, pMailAccountName, "mail application", "s0 specific mail application\n{Leave this field empty to use the default mail application.}", NULL);
}
void cd_mail_retrieve_feed_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
@@ -561,6 +582,7 @@
g_free( pMailAccount->user );
g_free( pMailAccount->password );
g_free( pMailAccount->path );
+ g_free( pMailAccount->cMailApp );
if( pMailAccount->folder )
mailfolder_free(pMailAccount->folder);
=== modified file 'mail/src/cd-mail-applet-config.c'
--- mail/src/cd-mail-applet-config.c 2009-12-17 00:56:42 +0000
+++ mail/src/cd-mail-applet-config.c 2010-02-06 16:45:23 +0000
@@ -110,6 +110,9 @@
pMailAccount->pAppletInstance = myApplet;
(storage_tab[account_type].pfillFunc)( pMailAccount, pKeyFile, cMailAccountName );
+
+ /* get a specific mail application to launch for this account, if any */
+ pMailAccount->cMailApp = g_strdup(g_key_file_get_string (pKeyFile, cMailAccountName, "mail application", NULL));
}
g_strfreev (pGroupList);
}
@@ -132,6 +135,7 @@
myConfig.bStealTaskBarIcon = myConfig.cMailApplication && CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "inhibate appli", TRUE);
myConfig.bShowMessageContent = CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "show content", TRUE);
myConfig.iNbMaxShown = CD_CONFIG_GET_INTEGER_WITH_DEFAULT ("Configuration", "max shown mails", -1);
+ myConfig.bAlwaysShowMailCount = CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "show zero mail", TRUE);
//myConfig.bShowMessageContent = FALSE;
myConfig.cThemePath = CD_CONFIG_GET_THEME_PATH ("Configuration", "theme", "themes", "Default");
=== modified file 'mail/src/cd-mail-applet-etpan.c'
--- mail/src/cd-mail-applet-etpan.c 2010-01-25 23:45:56 +0000
+++ mail/src/cd-mail-applet-etpan.c 2010-02-06 16:45:23 +0000
@@ -287,7 +287,14 @@
}
else
{
- cairo_dock_set_quick_info (myDrawContext, pIcon, pContainer, "0");
+ if( myConfig.bAlwaysShowMailCount )
+ {
+ cairo_dock_set_quick_info (myDrawContext, pIcon, pContainer, "0");
+ }
+ else
+ {
+ cairo_dock_remove_quick_info(pIcon);
+ }
cairo_dock_set_image_on_icon (pIconContext, myConfig.cNoMailUserImage, pIcon, pContainer);
}
=== modified file 'mail/src/cd-mail-applet-notifications.c'
--- mail/src/cd-mail-applet-notifications.c 2010-01-25 23:45:56 +0000
+++ mail/src/cd-mail-applet-notifications.c 2010-02-06 16:45:23 +0000
@@ -41,12 +41,19 @@
}
else
{
- gboolean r = cairo_dock_launch_command (myConfig.cMailApplication);
+ /* if a specific mail application has been specified for this account, use this one */
+ gchar *cMailAppToLaunch = myConfig.cMailApplication;
+ if( CD_APPLET_CLICKED_ICON && CD_APPLET_CLICKED_ICON->cCommand &&
+ strlen(CD_APPLET_CLICKED_ICON->cCommand)>0)
+ {
+ cMailAppToLaunch = CD_APPLET_CLICKED_ICON->cCommand;
+ }
+ gboolean r = cairo_dock_launch_command (cMailAppToLaunch);
if (!r)
{
- cd_warning ("when couldn't execute '%s'", myConfig.cMailApplication);
- cairo_dock_show_temporary_dialog_with_icon_printf (D_("A problem occured\nIf '%s' is not your usual mail application,\nyou can change it in the conf panel of this module"), myIcon, myContainer, 5000, "same icon", myConfig.cMailApplication);
+ cd_warning ("when couldn't execute '%s'", cMailAppToLaunch);
+ cairo_dock_show_temporary_dialog_with_icon_printf (D_("A problem occured\nIf '%s' is not your usual mail application,\nyou can change it in the conf panel of this module"), myIcon, myContainer, 5000, "same icon", cMailAppToLaunch);
}
}
}
=== modified file 'mail/src/cd-mail-applet-struct.h'
--- mail/src/cd-mail-applet-struct.h 2009-10-12 17:19:04 +0000
+++ mail/src/cd-mail-applet-struct.h 2010-02-06 16:45:23 +0000
@@ -52,6 +52,7 @@
gboolean bCheckOnStartup;
guint iNbMaxShown;
gint iDialogDuration;
+ gboolean bAlwaysShowMailCount;
} ;
struct _AppletData {
@@ -95,6 +96,8 @@
GList *pUnseenMessageList; // liste de gchar*
GList *pUnseenMessageUid; // liste de gchar*
+ gchar *cMailApp;
+
gboolean bError;
} CDMailAccount;
References