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.
This commit is contained in:
@ -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
|
||||
|
||||
@ -258,8 +258,8 @@ For example: "Work" or "Personal"</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="invisible_char">●</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">●</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">●</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">●</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>
|
||||
@ -1496,9 +1496,6 @@ For example: "Work" or "Personal"</property>
|
||||
<property name="bottom_attach">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="EMFolderSelectionButton" id="drafts_button">
|
||||
<property name="visible">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>
|
||||
|
||||
@ -185,6 +185,10 @@ e_mail_shell_settings_init (EShell *shell)
|
||||
"mail-side-bar-search",
|
||||
"/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");
|
||||
|
||||
@ -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 (
|
||||
|
||||
@ -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
|
||||
@ -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>
|
||||
@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user