aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-09-15 02:50:50 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-09-15 02:56:15 +0800
commitc7f5d54cb7a978b2daf51cab0e1e3bae28a92a5d (patch)
treec49c024fbfc92531e14a759ce873014072218917
parent95fe9256305bad92697bf1043efcbd61238cf94b (diff)
downloadgsoc2013-evolution-c7f5d54cb7a978b2daf51cab0e1e3bae28a92a5d.tar.gz
gsoc2013-evolution-c7f5d54cb7a978b2daf51cab0e1e3bae28a92a5d.tar.zst
gsoc2013-evolution-c7f5d54cb7a978b2daf51cab0e1e3bae28a92a5d.zip
Kill the subject-thread plugin.
All this time I never realized the subject-thread plugin was nothing more than a stupid checkbox. The actual thread-by-subject code lives in the core mail library.
-rw-r--r--configure.ac3
-rw-r--r--mail/mail-config.ui33
-rw-r--r--modules/mail/e-mail-shell-settings.c4
-rw-r--r--modules/mail/em-mailer-prefs.c5
-rw-r--r--plugins/subject-thread/Makefile.am25
-rw-r--r--plugins/subject-thread/org-gnome-subject-thread.eplug.xml14
-rw-r--r--plugins/subject-thread/subject-thread.c76
7 files changed, 33 insertions, 127 deletions
diff --git a/configure.ac b/configure.ac
index 2041bab345..6b47460a5d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1465,7 +1465,7 @@ plugins_base_always="calendar-file calendar-http itip-formatter default-source a
plugins_base="$plugins_base_always $SA_JUNK_PLUGIN $BF_JUNK_PLUGIN"
dist_plugins_base="$plugins_base_always calendar-weather sa-junk-plugin bogo-junk-plugin"
-plugins_standard_always="bbdb subject-thread save-calendar mail-to-task mailing-list-actions prefer-plain mail-notification attachment-reminder backup-restore email-custom-header templates vcard-inline dbx-import"
+plugins_standard_always="bbdb save-calendar mail-to-task mailing-list-actions prefer-plain mail-notification attachment-reminder backup-restore email-custom-header templates vcard-inline dbx-import"
plugins_standard="$plugins_standard_always"
dist_plugins_standard="$plugins_standard audio-inline image-inline pst-import"
@@ -1842,7 +1842,6 @@ plugins/pst-import/Makefile
plugins/publish-calendar/Makefile
plugins/sa-junk-plugin/Makefile
plugins/save-calendar/Makefile
-plugins/subject-thread/Makefile
plugins/templates/Makefile
plugins/tnef-attachments/Makefile
plugins/vcard-inline/Makefile
diff --git a/mail/mail-config.ui b/mail/mail-config.ui
index 6112eccd83..5538604789 100644
--- a/mail/mail-config.ui
+++ b/mail/mail-config.ui
@@ -258,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-required-header"/>
<relation type="labelled-by" target="identity_address_label"/>
+ <relation type="labelled-by" target="identity-required-header"/>
</accessibility>
</object>
<packing>
@@ -304,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_full_name_label"/>
<relation type="labelled-by" target="identity-required-header"/>
+ <relation type="labelled-by" target="identity_full_name_label"/>
</accessibility>
</object>
<packing>
@@ -420,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-optional-header"/>
<relation type="labelled-by" target="identity_organization_label"/>
+ <relation type="labelled-by" target="identity-optional-header"/>
</accessibility>
</object>
<packing>
@@ -453,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="reply_to_label"/>
<relation type="labelled-by" target="identity-optional-header"/>
+ <relation type="labelled-by" target="reply_to_label"/>
</accessibility>
</object>
<packing>
@@ -1497,9 +1497,6 @@ For example: "Work" or "Personal"</property>
</packing>
</child>
<child>
- <placeholder/>
- </child>
- <child>
<object class="EMFolderSelectionButton" id="drafts_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -1549,6 +1546,9 @@ For example: "Work" or "Personal"</property>
<property name="bottom_attach">4</property>
</packing>
</child>
+ <child>
+ <placeholder/>
+ </child>
</object>
</child>
</object>
@@ -2628,6 +2628,19 @@ For example: "Work" or "Personal"</property>
<property name="position">4</property>
</packing>
</child>
+ <child>
+ <object class="GtkCheckButton" id="thread-by-subject">
+ <property name="label" translatable="yes">F_all back to threading messages by subject</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="position">5</property>
+ </packing>
+ </child>
</object>
</child>
</object>
@@ -4993,15 +5006,15 @@ for display purposes only. </property>
</object>
<object class="GtkSizeGroup" id="composer-label-size-group">
<widgets>
- <widget name="lblForwardStyle"/>
- <widget name="lblReplyStyle"/>
<widget name="lblCharset"/>
+ <widget name="lblReplyStyle"/>
+ <widget name="lblForwardStyle"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="composer-combo-box-size-group">
<widgets>
- <widget name="comboboxForwardStyle"/>
<widget name="comboboxReplyStyle"/>
+ <widget name="comboboxForwardStyle"/>
</widgets>
</object>
</interface>
diff --git a/modules/mail/e-mail-shell-settings.c b/modules/mail/e-mail-shell-settings.c
index ca51acf72f..690a0ef5b8 100644
--- a/modules/mail/e-mail-shell-settings.c
+++ b/modules/mail/e-mail-shell-settings.c
@@ -186,6 +186,10 @@ e_mail_shell_settings_init (EShell *shell)
"/apps/evolution/mail/display/side_bar_search");
e_shell_settings_install_property_for_key (
+ "mail-thread-by-subject",
+ "/apps/evolution/mail/display/thread_subject");
+
+ e_shell_settings_install_property_for_key (
"mail-use-custom-fonts",
"/apps/evolution/mail/display/fonts/use_custom");
diff --git a/modules/mail/em-mailer-prefs.c b/modules/mail/em-mailer-prefs.c
index 21f233fd61..570da0ebff 100644
--- a/modules/mail/em-mailer-prefs.c
+++ b/modules/mail/em-mailer-prefs.c
@@ -847,6 +847,11 @@ em_mailer_prefs_construct (EMMailerPrefs *prefs,
e_binding_transform_color_to_string,
NULL, NULL);
+ widget = e_builder_get_widget (prefs->builder, "thread-by-subject");
+ e_mutual_binding_new (
+ shell_settings, "mail-thread-by-subject",
+ widget, "active");
+
/* Deleting Mail */
widget = e_builder_get_widget (prefs->builder, "chkEmptyTrashOnExit");
e_mutual_binding_new (
diff --git a/plugins/subject-thread/Makefile.am b/plugins/subject-thread/Makefile.am
deleted file mode 100644
index c03d4040ed..0000000000
--- a/plugins/subject-thread/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-plugin_LTLIBRARIES = liborg-gnome-subject-thread.la
-
-@EVO_PLUGIN_RULE@
-
-plugin_DATA = org-gnome-subject-thread.eplug
-
-liborg_gnome_subject_thread_la_CPPFLAGS = \
- $(AM_CPPFLAGS) \
- -I$(top_srcdir) \
- $(GNOME_PLATFORM_CFLAGS) \
- $(EVOLUTION_MAIL_CFLAGS)
-
-liborg_gnome_subject_thread_la_SOURCES = subject-thread.c
-liborg_gnome_subject_thread_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
-
-liborg_gnome_subject_thread_la_LIBADD = \
- $(GNOME_PLATFORM_CFLAGS) \
- $(EVOLUTION_MAIL_LIBS)
-
-EXTRA_DIST = org-gnome-subject-thread.eplug.xml
-
-BUILT_SOURCES = $(plugin_DATA)
-CLEANFILES = $(BUILT_SOURCES)
-
--include $(top_srcdir)/git.mk
diff --git a/plugins/subject-thread/org-gnome-subject-thread.eplug.xml b/plugins/subject-thread/org-gnome-subject-thread.eplug.xml
deleted file mode 100644
index dfc94ec223..0000000000
--- a/plugins/subject-thread/org-gnome-subject-thread.eplug.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>
-<e-plugin-list>
- <e-plugin id="org.gnome.evolution.mail_subject_thread" type="shlib" _name="Subject Threading"
- location="@PLUGINDIR@/liborg-gnome-subject-thread@SOEXT@">
- <author name="JP Rosevear" email="jpr@novell.com"/>
- <_description>Sort mail message threads by subject.</_description>
-
- <hook class="org.gnome.evolution.mail.config:1.0">
- <group id="org.gnome.evolution.mail.prefs" target="prefs">
- <item type="item" path="00.general/10.display/80.subject_thread" _label="Thread messages by subject" factory="org_gnome_subject_thread_factory"/>
- </group>
- </hook>
- </e-plugin>
-</e-plugin-list>
diff --git a/plugins/subject-thread/subject-thread.c b/plugins/subject-thread/subject-thread.c
deleted file mode 100644
index 26012d3461..0000000000
--- a/plugins/subject-thread/subject-thread.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with the program; if not, see <http://www.gnu.org/licenses/>
- *
- *
- * Authors:
- * JP Rosevear <jpr@novell.com>
- *
- * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <string.h>
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <glib/gi18n.h>
-#include <gconf/gconf-client.h>
-#include <e-util/e-config.h>
-#include <mail/em-config.h>
-
-#define GCONF_KEY "/apps/evolution/mail/display/thread_subject"
-
-GtkWidget *org_gnome_subject_thread_factory (EPlugin *ep, EConfigHookItemFactoryData *hook_data);
-gint e_plugin_lib_enable (EPlugin *ep, gint enable);
-
-gint
-e_plugin_lib_enable (EPlugin *ep, gint enable)
-{
- return 0;
-}
-
-static void
-toggled_cb (GtkWidget *widget, EConfig *config)
-{
- EMConfigTargetPrefs *target = (EMConfigTargetPrefs *) config->target;
-
- /* Save the new setting to gconf */
- gconf_client_set_bool (target->gconf, GCONF_KEY, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)), NULL);
-}
-
-GtkWidget *
-org_gnome_subject_thread_factory (EPlugin *ep, EConfigHookItemFactoryData *hook_data)
-{
- GtkWidget *check;
- EMConfigTargetPrefs *target = (EMConfigTargetPrefs *) hook_data->config->target;
-
- /* Create the checkbox we will display, complete with mnemonic that is unique in the dialog */
- check = gtk_check_button_new_with_mnemonic (_("F_all back to threading messages by subject"));
-
- /* Set the toggle button to the current gconf setting */
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), gconf_client_get_bool (target->gconf, GCONF_KEY, NULL));
-
- /* Listen for the item being toggled on and off */
- g_signal_connect (GTK_TOGGLE_BUTTON (check), "toggled", G_CALLBACK (toggled_cb), hook_data->config);
-
- /* Pack the checkbox in the parent widget and show it */
- gtk_box_pack_start (GTK_BOX (hook_data->parent), check, FALSE, FALSE, 0);
- gtk_widget_show (check);
-
- return check;
-}