Add option "Check for new messages in all active accounts"
As a follow-up for bug #633949
This commit is contained in:
@ -1570,6 +1570,23 @@
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
<schema>
|
||||
<key>/schemas/apps/evolution/mail/send_recv_all_on_start</key>
|
||||
<applyto>/apps/evolution/mail/send_recv_all_on_start</applyto>
|
||||
<owner>evolution-mail</owner>
|
||||
<type>bool</type>
|
||||
<default>false</default>
|
||||
<locale name="C">
|
||||
<short>Check for new messages in all active accounts</short>
|
||||
<long>
|
||||
Whether check for new messages in all active accounts regardless
|
||||
of the account "Check for new messages every X minutes" option
|
||||
when Evolution is started. This option is used only together
|
||||
with 'send_recv_on_start' option.
|
||||
</long>
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
<schema>
|
||||
<key>/schemas/apps/evolution/mail/send_recv_height</key>
|
||||
<applyto>/apps/evolution/mail/send_recv_height</applyto>
|
||||
|
||||
@ -2468,6 +2468,30 @@ For example: "Work" or "Personal"</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="start-up-hbox2">
|
||||
<property name="visible">True</property>
|
||||
<property name="spacing">4</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="chkCheckMailInAllOnStart">
|
||||
<property name="label" translatable="yes">Check for new messa_ges in all active accounts</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
@ -1195,20 +1195,32 @@ auto_online (EShell *shell)
|
||||
EIterator *iter;
|
||||
EAccountList *accounts;
|
||||
struct _auto_data *info;
|
||||
gboolean can_update_all;
|
||||
|
||||
if (!e_shell_get_online (shell))
|
||||
return;
|
||||
|
||||
can_update_all = e_shell_settings_get_boolean (e_shell_get_shell_settings (shell), "mail-check-on-start")
|
||||
&& e_shell_settings_get_boolean (e_shell_get_shell_settings (shell), "mail-check-all-on-start");
|
||||
|
||||
accounts = e_get_account_list ();
|
||||
for (iter = e_list_get_iterator ((EList *)accounts);
|
||||
e_iterator_is_valid (iter);
|
||||
e_iterator_next (iter)) {
|
||||
EAccount *account = (EAccount *) e_iterator_get (iter);
|
||||
|
||||
if (!account || !account->enabled)
|
||||
continue;
|
||||
|
||||
info = g_object_get_data (
|
||||
G_OBJECT (e_iterator_get (iter)),
|
||||
G_OBJECT (account),
|
||||
"mail-autoreceive");
|
||||
if (info && info->timeout_id)
|
||||
if (info && (info->timeout_id || can_update_all))
|
||||
auto_timeout (info);
|
||||
}
|
||||
|
||||
if (iter)
|
||||
g_object_unref (iter);
|
||||
}
|
||||
|
||||
/* call to setup initial, and after changes are made to the config */
|
||||
|
||||
@ -112,6 +112,10 @@ e_mail_shell_settings_init (EShellBackend *shell_backend)
|
||||
"mail-check-on-start",
|
||||
"/apps/evolution/mail/send_recv_on_start");
|
||||
|
||||
e_shell_settings_install_property_for_key (
|
||||
"mail-check-all-on-start",
|
||||
"/apps/evolution/mail/send_recv_all_on_start");
|
||||
|
||||
e_shell_settings_install_property_for_key (
|
||||
"mail-citation-color",
|
||||
"/apps/evolution/mail/display/citation_colour");
|
||||
|
||||
@ -839,6 +839,18 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
|
||||
G_BINDING_BIDIRECTIONAL |
|
||||
G_BINDING_SYNC_CREATE);
|
||||
|
||||
widget = e_builder_get_widget (prefs->builder, "chkCheckMailInAllOnStart");
|
||||
g_object_bind_property (
|
||||
shell_settings, "mail-check-all-on-start",
|
||||
widget, "active",
|
||||
G_BINDING_BIDIRECTIONAL |
|
||||
G_BINDING_SYNC_CREATE);
|
||||
g_object_bind_property (
|
||||
shell_settings, "mail-check-on-start",
|
||||
widget, "sensitive",
|
||||
G_BINDING_BIDIRECTIONAL |
|
||||
G_BINDING_SYNC_CREATE);
|
||||
|
||||
/* Message Display */
|
||||
|
||||
widget = e_builder_get_widget (prefs->builder, "view-check");
|
||||
|
||||
Reference in New Issue
Block a user