aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-09-15 01:38:47 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-09-15 01:49:08 +0800
commit95fe9256305bad92697bf1043efcbd61238cf94b (patch)
treeb1b8d204cba628580ab7097283c980c56507be14 /mail
parentb6f61694d42b65d02d12c268e991fdf8b96f50bf (diff)
downloadgsoc2013-evolution-95fe9256305bad92697bf1043efcbd61238cf94b.tar
gsoc2013-evolution-95fe9256305bad92697bf1043efcbd61238cf94b.tar.gz
gsoc2013-evolution-95fe9256305bad92697bf1043efcbd61238cf94b.tar.bz2
gsoc2013-evolution-95fe9256305bad92697bf1043efcbd61238cf94b.tar.lz
gsoc2013-evolution-95fe9256305bad92697bf1043efcbd61238cf94b.tar.xz
gsoc2013-evolution-95fe9256305bad92697bf1043efcbd61238cf94b.tar.zst
gsoc2013-evolution-95fe9256305bad92697bf1043efcbd61238cf94b.zip
Fix a crapload of run-time warnings.
EConfig and EMAccountEditor are very, very brittle.
Diffstat (limited to 'mail')
-rw-r--r--mail/em-account-editor.c150
-rw-r--r--mail/mail-config.ui61
2 files changed, 161 insertions, 50 deletions
diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c
index aaff1b0ecf..f2776d6b56 100644
--- a/mail/em-account-editor.c
+++ b/mail/em-account-editor.c
@@ -175,10 +175,8 @@ struct _EMAccountEditorPrivate {
GtkButton *sent_folder_button;
GtkToggleButton *trash_folder_check;
GtkButton *trash_folder_button;
- GtkWidget *trash_folder_fixed;
GtkToggleButton *junk_folder_check;
GtkButton *junk_folder_button;
- GtkWidget *junk_folder_fixed;
GtkButton *restore_folders_button;
/* Security */
@@ -1346,9 +1344,10 @@ static struct _provider_host_info emae_transport_host_info[] = {
{ 0 },
};
-/* This is used to map each of the two services in a typical account to the widgets that represent each service.
- i.e. the receiving (source) service, and the sending (transport) service.
- It is used throughout the following code to drive each page */
+/* This is used to map each of the two services in a typical account to
+ * the widgets that represent each service. i.e. the receiving (source)
+ * service, and the sending (transport) service. It is used throughout
+ * the following code to drive each page. */
static struct _service_info {
gint account_uri_key;
gint save_passwd_key;
@@ -1380,23 +1379,69 @@ static struct _service_info {
const gchar *remember_password;
struct _provider_host_info *host_info;
+
} emae_service_info[CAMEL_NUM_PROVIDER_TYPES] = {
- { E_ACCOUNT_SOURCE_URL, E_ACCOUNT_SOURCE_SAVE_PASSWD,
- "source_frame", "source_type_dropdown",
- "source_vbox", "source_description", "source_host", "source_host_label", "source_user", "source_user_label", "source_path", "source_path_label", "source_path_entry",
- "source_security_frame", "source_ssl_hbox", "source_use_ssl", "source_ssl_disabled",
- NULL, "source_auth_frame",
- "source_auth_dropdown", "source_check_supported",
+
+ { E_ACCOUNT_SOURCE_URL,
+ E_ACCOUNT_SOURCE_SAVE_PASSWD,
+
+ "source-config-section",
+ "source_type_dropdown",
+
+ "vboxSourceBorder",
+ "source_description",
+ "source_host",
+ "source_host_label",
+ "source_user",
+ "source_user_label",
+ "source_path",
+ "source_path_label",
+ "source_path_entry",
+
+ "source-security-section",
+ "source_ssl_hbox",
+ "source_use_ssl",
+ "source_ssl_disabled",
+
+ NULL,
+ "source-auth-section",
+
+ "source_auth_dropdown",
+ "source_check_supported",
+
"source_remember_password",
- emae_source_host_info,
- },
- { E_ACCOUNT_TRANSPORT_URL, E_ACCOUNT_TRANSPORT_SAVE_PASSWD,
- "transport_frame", "transport_type_dropdown",
- "transport_vbox", "transport_description", "transport_host", "transport_host_label", "transport_user", "transport_user_label", NULL, NULL, NULL,
- "transport_security_frame", "transport_ssl_hbox", "transport_use_ssl", "transport_ssl_disabled",
- "transport_needs_auth", "transport_auth_frame",
- "transport_auth_dropdown", "transport_check_supported",
+
+ emae_source_host_info },
+
+ { E_ACCOUNT_TRANSPORT_URL,
+ E_ACCOUNT_TRANSPORT_SAVE_PASSWD,
+
+ "transport-server-section",
+ "transport_type_dropdown",
+
+ "vboxTransportBorder",
+ "transport_description",
+ "transport_host",
+ "transport_host_label",
+ "transport_user",
+ "transport_user_label",
+ NULL,
+ NULL,
+ NULL,
+
+ "transport-security-section",
+ "transport_ssl_hbox",
+ "transport_use_ssl",
+ "transport_ssl_disabled",
+
+ "transport_needs_auth",
+ "transport-auth-section",
+
+ "transport_auth_dropdown",
+ "transport_check_supported",
+
"transport_remember_password",
+
emae_transport_host_info,
},
};
@@ -2189,7 +2234,7 @@ emae_identity_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
for (i=0;i<G_N_ELEMENTS (emae_identity_entries);i++)
priv->identity_entries[i] = emae_account_entry (emae, emae_identity_entries[i].name, emae_identity_entries[i].item, builder);
- priv->management_frame = e_builder_get_widget (builder, "management_frame");
+ priv->management_frame = e_builder_get_widget (builder, "management-section");
priv->default_account = GTK_TOGGLE_BUTTON (e_builder_get_widget (builder, "management_default"));
if (!e_get_default_account ()
@@ -2222,9 +2267,14 @@ emae_identity_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Identity")));
}
- emae_queue_widgets (emae, builder, "account_vbox", "identity-required-table",
- "identity-optional-table", "identity_optional_frame",
- "identity_address", NULL);
+ emae_queue_widgets (
+ emae, builder,
+ "account_vbox",
+ "identity-required-table",
+ "identity-optional-table",
+ "identity-optional-section",
+ "identity_address",
+ NULL);
g_object_unref (builder);
@@ -2261,7 +2311,13 @@ emae_receive_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Receiving Email")));
}
- emae_queue_widgets (emae, builder, "source-type-table", "table4", "vbox181", "vbox179", NULL);
+ emae_queue_widgets (
+ emae, builder,
+ "source-type-table",
+ "source-config-table",
+ "source-security-vbox",
+ "source-auth-vbox",
+ NULL);
g_object_unref (builder);
@@ -2743,7 +2799,13 @@ emae_send_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget *ol
gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Sending Email")));
}
- emae_queue_widgets (emae, builder, "transport-type-table", "vbox12", "vbox183", "vbox61", NULL);
+ emae_queue_widgets (
+ emae, builder,
+ "transport-type-table",
+ "transport-server-table",
+ "transport-security-table",
+ "transport-auth-table",
+ NULL);
g_object_unref (builder);
@@ -2852,7 +2914,10 @@ emae_real_url_folder_changed (EMFolderSelectionButton *folder, EMAccountEditor *
}
static void
-setup_checkable_folder (EMAccountEditor *emae, guint32 flag, GtkWidget *check, GtkWidget *button, GtkWidget *fixed)
+setup_checkable_folder (EMAccountEditor *emae,
+ guint32 flag,
+ GtkWidget *check,
+ GtkWidget *button)
{
EAccount *account;
gboolean available;
@@ -2868,7 +2933,7 @@ setup_checkable_folder (EMAccountEditor *emae, guint32 flag, GtkWidget *check, G
account = em_account_editor_get_modified_account (emae);
g_return_if_fail (account != NULL);
- folderbutt = (EMFolderSelectionButton *)button;
+ folderbutt = EM_FOLDER_SELECTION_BUTTON (button);
url = emae_account_url (emae, emae_service_info[emae->priv->source.type].account_uri_key);
emae_get_checkable_folder_keys_widgets (emae, flag, NULL, NULL, &param_key);
@@ -2911,11 +2976,9 @@ setup_checkable_folder (EMAccountEditor *emae, guint32 flag, GtkWidget *check, G
if (available) {
gtk_widget_show (check);
gtk_widget_show (button);
- gtk_widget_show (fixed);
} else {
gtk_widget_hide (check);
gtk_widget_hide (button);
- gtk_widget_hide (fixed);
}
camel_url_free (url);
@@ -2946,13 +3009,17 @@ emae_defaults_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
priv->trash_folder_check = GTK_TOGGLE_BUTTON (e_builder_get_widget (builder, "trash_folder_check"));
priv->trash_folder_button = GTK_BUTTON (e_builder_get_widget (builder, "trash_folder_butt"));
- priv->trash_folder_fixed = e_builder_get_widget (builder, "trash_folder_fixed");
- setup_checkable_folder (emae, CAMEL_PROVIDER_ALLOW_REAL_TRASH_FOLDER, GTK_WIDGET (priv->trash_folder_check), GTK_WIDGET (priv->trash_folder_button), priv->trash_folder_fixed);
+ setup_checkable_folder (
+ emae, CAMEL_PROVIDER_ALLOW_REAL_TRASH_FOLDER,
+ GTK_WIDGET (priv->trash_folder_check),
+ GTK_WIDGET (priv->trash_folder_button));
priv->junk_folder_check = GTK_TOGGLE_BUTTON (e_builder_get_widget (builder, "junk_folder_check"));
priv->junk_folder_button = GTK_BUTTON (e_builder_get_widget (builder, "junk_folder_butt"));
- priv->junk_folder_fixed = e_builder_get_widget (builder, "junk_folder_fixed");
- setup_checkable_folder (emae, CAMEL_PROVIDER_ALLOW_REAL_JUNK_FOLDER, GTK_WIDGET (priv->junk_folder_check), GTK_WIDGET (priv->junk_folder_button), priv->junk_folder_fixed);
+ setup_checkable_folder (
+ emae, CAMEL_PROVIDER_ALLOW_REAL_JUNK_FOLDER,
+ GTK_WIDGET (priv->junk_folder_check),
+ GTK_WIDGET (priv->junk_folder_button));
/* Special Folders "Reset Defaults" button */
priv->restore_folders_button = (GtkButton *)e_builder_get_widget (builder, "default_folders_button");
@@ -2987,7 +3054,12 @@ emae_defaults_page (EConfig *ec, EConfigItem *item, GtkWidget *parent, GtkWidget
}else {
gtk_notebook_append_page ((GtkNotebook *)parent, w, gtk_label_new (_("Defaults")));
}
- emae_queue_widgets (emae, builder, "vbox184", "table8", NULL);
+
+ emae_queue_widgets (
+ emae, builder,
+ "special-folders-table",
+ "composing-messages-table",
+ NULL);
g_object_unref (builder);
@@ -3149,8 +3221,8 @@ static EMConfigItem emae_editor_items[] = {
{ E_CONFIG_PAGE, (gchar *) "10.receive", (gchar *) "vboxSourceBorder", emae_receive_page },
{ E_CONFIG_SECTION_TABLE, (gchar *) "10.receive/00.type", (gchar *) "source-type-table", emae_widget_glade },
{ E_CONFIG_SECTION_TABLE, (gchar *) "10.receive/10.config", (gchar *) "source-config-table", emae_widget_glade },
- { E_CONFIG_SECTION_TABLE, (gchar *) "10.receive/20.security", (gchar *) "source-security-table", emae_widget_glade },
- { E_CONFIG_SECTION_TABLE, (gchar *) "10.receive/30.auth", (gchar *) "source-auth-table", emae_widget_glade },
+ { E_CONFIG_SECTION, (gchar *) "10.receive/20.security", (gchar *) "source-security-vbox", emae_widget_glade },
+ { E_CONFIG_SECTION, (gchar *) "10.receive/30.auth", (gchar *) "source-auth-vbox", emae_widget_glade },
/* Most sections for this is auto-generated from the camel config */
{ E_CONFIG_PAGE, (gchar *) "20.receive_options", (gchar *) N_("Receiving Options"), },
@@ -3217,8 +3289,8 @@ static EMConfigItem emae_assistant_items[] = {
{ E_CONFIG_PAGE, (gchar *) "10.receive", (gchar *) "vboxSourceBorder", emae_receive_page },
{ E_CONFIG_SECTION_TABLE, (gchar *) "10.receive/00.type", (gchar *) "source-type-table", emae_widget_glade },
{ E_CONFIG_SECTION_TABLE, (gchar *) "10.receive/10.config", (gchar *) "source-config-table", emae_widget_glade },
- { E_CONFIG_SECTION_TABLE, (gchar *) "10.receive/20.security", (gchar *) "source-security-table", emae_widget_glade },
- { E_CONFIG_SECTION_TABLE, (gchar *) "10.receive/30.auth", (gchar *) "source-auth-table", emae_widget_glade },
+ { E_CONFIG_SECTION, (gchar *) "10.receive/20.security", (gchar *) "source-security-vbox", emae_widget_glade },
+ { E_CONFIG_SECTION, (gchar *) "10.receive/30.auth", (gchar *) "source-auth-vbox", emae_widget_glade },
/* Most sections for this is auto-generated fromt the camel config */
{ E_CONFIG_PAGE, (gchar *) "20.receive_options", (gchar *) N_("Receiving Options"), },
@@ -3232,7 +3304,7 @@ static EMConfigItem emae_assistant_items[] = {
{ E_CONFIG_SECTION_TABLE, (gchar *) "30.send/30.auth", (gchar *) "transport-auth-table", emae_widget_glade },
{ E_CONFIG_PAGE, (gchar *) "40.defaults", (gchar *) "vboxFoldersBorder", emae_defaults_page },
- { E_CONFIG_SECTION, (gchar *) "40.defaults/00.folders", (gchar *) "special-folders-table", emae_widget_glade },
+ { E_CONFIG_SECTION_TABLE, (gchar *) "40.defaults/00.folders", (gchar *) "special-folders-table", emae_widget_glade },
{ E_CONFIG_SECTION_TABLE, (gchar *) "40.defaults/10.composing", (gchar *) "composing-messages-table", emae_widget_glade },
{ E_CONFIG_PAGE, (gchar *) "40.management", (gchar *) "management_frame", emae_management_page },
diff --git a/mail/mail-config.ui b/mail/mail-config.ui
index a8712ccdbf..6112eccd83 100644
--- a/mail/mail-config.ui
+++ b/mail/mail-config.ui
@@ -1,6 +1,7 @@
<?xml version="1.0"?>
<interface>
<requires lib="gtk+" version="2.16"/>
+ <!-- interface-requires evolution 0.0 -->
<!-- interface-naming-policy toplevel-contextual -->
<object class="GtkAdjustment" id="adjustment1">
<property name="value">1.5</property>
@@ -257,8 +258,8 @@ For example: "Work" or "Personal"</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x25CF;</property>
<accessibility>
- <relation type="labelled-by" target="identity_address_label"/>
<relation type="labelled-by" target="identity-required-header"/>
+ <relation type="labelled-by" target="identity_address_label"/>
</accessibility>
</object>
<packing>
@@ -303,8 +304,8 @@ For example: "Work" or "Personal"</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x25CF;</property>
<accessibility>
- <relation type="labelled-by" target="identity-required-header"/>
<relation type="labelled-by" target="identity_full_name_label"/>
+ <relation type="labelled-by" target="identity-required-header"/>
</accessibility>
</object>
<packing>
@@ -419,8 +420,8 @@ For example: "Work" or "Personal"</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x25CF;</property>
<accessibility>
- <relation type="labelled-by" target="identity_organization_label"/>
<relation type="labelled-by" target="identity-optional-header"/>
+ <relation type="labelled-by" target="identity_organization_label"/>
</accessibility>
</object>
<packing>
@@ -452,8 +453,8 @@ For example: "Work" or "Personal"</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x25CF;</property>
<accessibility>
- <relation type="labelled-by" target="identity-optional-header"/>
<relation type="labelled-by" target="reply_to_label"/>
+ <relation type="labelled-by" target="identity-optional-header"/>
</accessibility>
</object>
<packing>
@@ -1499,16 +1500,54 @@ For example: "Work" or "Personal"</property>
<placeholder/>
</child>
<child>
- <placeholder/>
+ <object class="EMFolderSelectionButton" id="drafts_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
</child>
<child>
- <placeholder/>
+ <object class="EMFolderSelectionButton" id="sent_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
</child>
<child>
- <placeholder/>
+ <object class="EMFolderSelectionButton" id="trash_folder_butt">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ </packing>
</child>
<child>
- <placeholder/>
+ <object class="EMFolderSelectionButton" id="junk_folder_butt">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ </packing>
</child>
</object>
</child>
@@ -4954,15 +4993,15 @@ for display purposes only. </property>
</object>
<object class="GtkSizeGroup" id="composer-label-size-group">
<widgets>
- <widget name="lblCharset"/>
- <widget name="lblReplyStyle"/>
<widget name="lblForwardStyle"/>
+ <widget name="lblReplyStyle"/>
+ <widget name="lblCharset"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="composer-combo-box-size-group">
<widgets>
- <widget name="comboboxReplyStyle"/>
<widget name="comboboxForwardStyle"/>
+ <widget name="comboboxReplyStyle"/>
</widgets>
</object>
</interface>