Merge lp:~chris-chapuis/cairo-dock-plug-ins/mail into lp:~cairo-dock-team/cairo-dock-plug-ins/plug-ins

Proposed by Tofe
Status: Merged
Approved by: Tofe
Approved revision: not available
Merge reported by: Tofe
Merged at revision: not available
Proposed branch: lp:~chris-chapuis/cairo-dock-plug-ins/mail
Merge into: lp:~cairo-dock-team/cairo-dock-plug-ins/plug-ins
Diff against target: 193 lines (+51/-5)
6 files modified
mail/data/mail.conf.in (+3/-0)
mail/src/cd-mail-applet-accounts.c (+23/-1)
mail/src/cd-mail-applet-config.c (+4/-0)
mail/src/cd-mail-applet-etpan.c (+8/-1)
mail/src/cd-mail-applet-notifications.c (+10/-3)
mail/src/cd-mail-applet-struct.h (+3/-0)
To merge this branch: bzr merge lp:~chris-chapuis/cairo-dock-plug-ins/mail
Reviewer Review Type Date Requested Status
Tofe (community) Approve
Review via email: mp+18764@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Tofe (chris-chapuis) wrote :

more options for mail: don't show quicktext when no mail, and possiblity to specify a mail app per account

Revision history for this message
Tofe (chris-chapuis) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'mail/data/mail.conf.in'
2--- mail/data/mail.conf.in 2010-01-25 00:54:46 +0000
3+++ mail/data/mail.conf.in 2010-02-06 16:45:23 +0000
4@@ -138,6 +138,9 @@
5 #{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.}
6 check = true
7
8+#b Always show number of mails
9+#{If checked, the number of mails will be shown even if there is no mail.}
10+show zero mail = true
11
12 #X[Mail application]
13 frame_appli =
14
15=== modified file 'mail/src/cd-mail-applet-accounts.c'
16--- mail/src/cd-mail-applet-accounts.c 2010-01-25 23:45:56 +0000
17+++ mail/src/cd-mail-applet-accounts.c 2010-02-06 16:45:23 +0000
18@@ -35,7 +35,7 @@
19 pIcon->fAlpha = 1.;\
20 pIcon->fWidthFactor = 1.;\
21 pIcon->fHeightFactor = 1.;\
22- pIcon->cCommand = g_strdup ("none");\
23+ pIcon->cCommand = g_strdup (pMailAccount->cMailApp);\
24 pIcon->cParentDockName = g_strdup (myIcon->cName);\
25 cd_debug (" + %s (%s)\n", pIcon->cName, pIcon->cFileName);\
26 pIconList = g_list_append (pIconList, pIcon);\
27@@ -63,6 +63,9 @@
28
29 g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
30 g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
31+
32+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
33+ 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);
34 }
35
36 void cd_mail_retrieve_pop3_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
37@@ -129,6 +132,9 @@
38
39 g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
40 g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
41+
42+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
43+ 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);
44 }
45
46 void cd_mail_retrieve_imap_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
47@@ -187,6 +193,9 @@
48
49 g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
50 g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
51+
52+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
53+ 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);
54 }
55
56 void cd_mail_retrieve_mbox_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
57@@ -221,6 +230,9 @@
58
59 g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
60 g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
61+
62+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
63+ 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);
64 }
65
66 void cd_mail_retrieve_mh_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
67@@ -254,6 +266,9 @@
68
69 g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
70 g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
71+
72+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
73+ 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);
74 }
75
76 void cd_mail_retrieve_maildir_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
77@@ -296,6 +311,9 @@
78
79 g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
80 g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
81+
82+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
83+ 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);
84 }
85
86 void cd_mail_retrieve_gmail_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
87@@ -397,6 +415,9 @@
88
89 g_key_file_set_integer (pKeyFile, pMailAccountName, "timeout mn", 10);
90 g_key_file_set_comment (pKeyFile, pMailAccountName, "timeout mn", "I0[1;30] timeout:\n{In minutes.}", NULL);
91+
92+ g_key_file_set_string (pKeyFile, pMailAccountName, "mail application", "");
93+ 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);
94 }
95
96 void cd_mail_retrieve_feed_params (CDMailAccount *mailaccount, GKeyFile *pKeyFile, gchar *mailbox_name)
97@@ -561,6 +582,7 @@
98 g_free( pMailAccount->user );
99 g_free( pMailAccount->password );
100 g_free( pMailAccount->path );
101+ g_free( pMailAccount->cMailApp );
102
103 if( pMailAccount->folder )
104 mailfolder_free(pMailAccount->folder);
105
106=== modified file 'mail/src/cd-mail-applet-config.c'
107--- mail/src/cd-mail-applet-config.c 2009-12-17 00:56:42 +0000
108+++ mail/src/cd-mail-applet-config.c 2010-02-06 16:45:23 +0000
109@@ -110,6 +110,9 @@
110
111 pMailAccount->pAppletInstance = myApplet;
112 (storage_tab[account_type].pfillFunc)( pMailAccount, pKeyFile, cMailAccountName );
113+
114+ /* get a specific mail application to launch for this account, if any */
115+ pMailAccount->cMailApp = g_strdup(g_key_file_get_string (pKeyFile, cMailAccountName, "mail application", NULL));
116 }
117 g_strfreev (pGroupList);
118 }
119@@ -132,6 +135,7 @@
120 myConfig.bStealTaskBarIcon = myConfig.cMailApplication && CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "inhibate appli", TRUE);
121 myConfig.bShowMessageContent = CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "show content", TRUE);
122 myConfig.iNbMaxShown = CD_CONFIG_GET_INTEGER_WITH_DEFAULT ("Configuration", "max shown mails", -1);
123+ myConfig.bAlwaysShowMailCount = CD_CONFIG_GET_BOOLEAN_WITH_DEFAULT ("Configuration", "show zero mail", TRUE);
124 //myConfig.bShowMessageContent = FALSE;
125
126 myConfig.cThemePath = CD_CONFIG_GET_THEME_PATH ("Configuration", "theme", "themes", "Default");
127
128=== modified file 'mail/src/cd-mail-applet-etpan.c'
129--- mail/src/cd-mail-applet-etpan.c 2010-01-25 23:45:56 +0000
130+++ mail/src/cd-mail-applet-etpan.c 2010-02-06 16:45:23 +0000
131@@ -287,7 +287,14 @@
132 }
133 else
134 {
135- cairo_dock_set_quick_info (myDrawContext, pIcon, pContainer, "0");
136+ if( myConfig.bAlwaysShowMailCount )
137+ {
138+ cairo_dock_set_quick_info (myDrawContext, pIcon, pContainer, "0");
139+ }
140+ else
141+ {
142+ cairo_dock_remove_quick_info(pIcon);
143+ }
144
145 cairo_dock_set_image_on_icon (pIconContext, myConfig.cNoMailUserImage, pIcon, pContainer);
146 }
147
148=== modified file 'mail/src/cd-mail-applet-notifications.c'
149--- mail/src/cd-mail-applet-notifications.c 2010-01-25 23:45:56 +0000
150+++ mail/src/cd-mail-applet-notifications.c 2010-02-06 16:45:23 +0000
151@@ -41,12 +41,19 @@
152 }
153 else
154 {
155- gboolean r = cairo_dock_launch_command (myConfig.cMailApplication);
156+ /* if a specific mail application has been specified for this account, use this one */
157+ gchar *cMailAppToLaunch = myConfig.cMailApplication;
158+ if( CD_APPLET_CLICKED_ICON && CD_APPLET_CLICKED_ICON->cCommand &&
159+ strlen(CD_APPLET_CLICKED_ICON->cCommand)>0)
160+ {
161+ cMailAppToLaunch = CD_APPLET_CLICKED_ICON->cCommand;
162+ }
163+ gboolean r = cairo_dock_launch_command (cMailAppToLaunch);
164
165 if (!r)
166 {
167- cd_warning ("when couldn't execute '%s'", myConfig.cMailApplication);
168- 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);
169+ cd_warning ("when couldn't execute '%s'", cMailAppToLaunch);
170+ 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);
171 }
172 }
173 }
174
175=== modified file 'mail/src/cd-mail-applet-struct.h'
176--- mail/src/cd-mail-applet-struct.h 2009-10-12 17:19:04 +0000
177+++ mail/src/cd-mail-applet-struct.h 2010-02-06 16:45:23 +0000
178@@ -52,6 +52,7 @@
179 gboolean bCheckOnStartup;
180 guint iNbMaxShown;
181 gint iDialogDuration;
182+ gboolean bAlwaysShowMailCount;
183 } ;
184
185 struct _AppletData {
186@@ -95,6 +96,8 @@
187 GList *pUnseenMessageList; // liste de gchar*
188 GList *pUnseenMessageUid; // liste de gchar*
189
190+ gchar *cMailApp;
191+
192 gboolean bError;
193 } CDMailAccount;
194

Subscribers

People subscribed via source and target branches