commit a3fe7b0f1041a3926447b9b0ad0f4c2a3636fb72
parent 85dffc71da035bac31af9fd3944906f7de8c89af
Author: Oliver Lowe <o@olowe.co>
Date: Sun, 3 Aug 2025 21:51:10 +1000
Delete more leftover plugin functionality
Diffstat:
19 files changed, 395 insertions(+), 1525 deletions(-)
diff --git a/configure.ac b/configure.ac
@@ -324,10 +324,6 @@ AC_ARG_ENABLE(more-addressbook-debug,
[ --enable-more-addressbook-debug Build with additional addressbook debug calls],
[enable_more_addressbook_debug=$enableval], [enable_more_addressbook_debug=no])
-AC_ARG_ENABLE(more-archive-debug,
- [ --enable-more-archive-debug Build with additional debug calls in archive plugin],
- [enable_more_archive_debug=$enableval], [enable_more_archive_debug=no])
-
AC_ARG_ENABLE(timing-debug,
[ --enable-timing-debug Build with timing debug calls],
[enable_timing_debug=$enableval], [enable_timing_debug=no])
@@ -1173,43 +1169,6 @@ fi
AC_SUBST(YTNEF_CFLAGS)
AC_SUBST(YTNEF_LIBS)
-AM_CONDITIONAL(BUILD_ACPI_NOTIFIER_PLUGIN, test x"$enable_acpi_notifier_plugin" != xno)
-AM_CONDITIONAL(BUILD_ADDRESS_KEEPER_PLUGIN, test x"$enable_address_keeper_plugin" != xno)
-AM_CONDITIONAL(BUILD_ARCHIVE_PLUGIN, test x"$enable_archive_plugin" != xno)
-AM_CONDITIONAL(BUILD_ATT_REMOVER_PLUGIN, test x"$enable_att_remover_plugin" != xno)
-AM_CONDITIONAL(BUILD_ATTACHWARNER_PLUGIN, test x"$enable_attachwarner_plugin" != xno)
-AM_CONDITIONAL(BUILD_BOGOFILTER_PLUGIN, test x"$enable_bogofilter_plugin" != xno)
-AM_CONDITIONAL(BUILD_BSFILTER_PLUGIN, test x"$enable_bsfilter_plugin" != xno)
-AM_CONDITIONAL(BUILD_CLAMD_PLUGIN, test x"$enable_clamd_plugin" != xno)
-AM_CONDITIONAL(BUILD_DEMO_PLUGIN, test x"$enable_demo_plugin" != xno)
-AM_CONDITIONAL(BUILD_DILLO_PLUGIN, test x"$enable_dillo_plugin" != xno)
-AM_CONDITIONAL(BUILD_FANCY_PLUGIN, test x"$enable_fancy_plugin" != xno)
-AM_CONDITIONAL(BUILD_FETCHINFO_PLUGIN, test x"$enable_fetchinfo_plugin" != xno)
-AM_CONDITIONAL(BUILD_KEYWORD_WARNER_PLUGIN, test x"$enable_keyword_warner_plugin" != xno)
-AM_CONDITIONAL(BUILD_LIBRAVATAR_PLUGIN, test x"$enable_libravatar_plugin" != xno)
-AM_CONDITIONAL(BUILD_LITEHTML_VIEWER_PLUGIN, test x"$enable_litehtml_viewer_plugin" != xno)
-AM_CONDITIONAL(BUILD_MAILMBOX_PLUGIN, test x"$enable_mailmbox_plugin" != xno)
-AM_CONDITIONAL(BUILD_MANAGESIEVE_PLUGIN, test x"$enable_managesieve_plugin" != xno)
-AM_CONDITIONAL(BUILD_NEWMAIL_PLUGIN, test x"$enable_newmail_plugin" != xno)
-AM_CONDITIONAL(BUILD_NOTIFICATION_PLUGIN, test x"$enable_notification_plugin" != xno)
-AM_CONDITIONAL(BUILD_HOTKEYS, test x"$enable_notification_plugin" != xno -a x"$HAVE_HOTKEYS" = xyes)
-AM_CONDITIONAL(BUILD_PDF_VIEWER_PLUGIN, test x"$enable_pdf_viewer_plugin" != xno)
-AM_CONDITIONAL(BUILD_PERL_PLUGIN, test x"$enable_perl_plugin" != xno)
-AM_CONDITIONAL(BUILD_PYTHON_PLUGIN, test x"$enable_python_plugin" != xno)
-AM_CONDITIONAL(BUILD_PGPCORE_PLUGIN, test x"$enable_pgpcore_plugin" != xno)
-AM_CONDITIONAL(BUILD_PGPMIME_PLUGIN, test x"$enable_pgpmime_plugin" != xno)
-AM_CONDITIONAL(BUILD_PGPINLINE_PLUGIN, test x"$enable_pgpinline_plugin" != xno)
-AM_CONDITIONAL(BUILD_RSSYL_PLUGIN, test x"$enable_rssyl_plugin" != xno)
-AM_CONDITIONAL(BUILD_SMIME_PLUGIN, test x"$enable_smime_plugin" != xno)
-AM_CONDITIONAL(BUILD_SPAMASSASSIN_PLUGIN, test x"$enable_spamassassin_plugin" != xno)
-AM_CONDITIONAL(BUILD_SPAM_REPORT_PLUGIN, test x"$enable_spam_report_plugin" != xno)
-AM_CONDITIONAL(BUILD_TNEF_PARSE_PLUGIN, test x"$enable_tnef_parse_plugin" != xno)
-AM_CONDITIONAL(BUILD_VCALENDAR_PLUGIN, test x"$enable_vcalendar_plugin" != xno)
-
-
-dnl ****************************
-dnl ** Final configure output **
-dnl ****************************
AC_CONFIG_FILES([
Makefile
@@ -1267,36 +1226,6 @@ if test -n "$more_debug_output_modules"; then
done
fi
-echo "Plugins"
-echo " Built:"
-for plugin in $PLUGINS; do
-echo " - $plugin"
-if test x"$plugin" = xnotification; then
- echo " Features:"
- for notif_feature in $notification_features; do
- echo " $notif_feature"
- done;
- if test "x$notification_missing_dependencies" != x; then
- echo " Disabled due to missing dependencies:"
- for notif_miss_dep in $notification_missing_dependencies; do
- echo " $notif_miss_dep"
- done;
- fi
-fi
-done;
-if test "x$DISABLED_PLUGINS" != x; then
-echo " Disabled:"
-for plugin in $DISABLED_PLUGINS; do
-echo " - $plugin"
-done;
-fi
-
-if test "x$MISSING_DEPS_PLUGINS" != x; then
-echo " Disabled due to missing dependencies:"
-for plugin in $MISSING_DEPS_PLUGINS; do
-echo " - $plugin"
-done;
-fi
echo ""
echo "The binary will be installed in $prefix/bin"
echo ""
diff --git a/src/common/Makefile.am b/src/common/Makefile.am
@@ -28,7 +28,6 @@ libclawscommon_la_SOURCES = $(arch_sources) \
md5.c \
mgutils.c \
passcrypt.c \
- plugin.c \
prefs.c \
progressindicator.c \
proxy.c \
@@ -60,7 +59,6 @@ clawscommoninclude_HEADERS = $(arch_headers) \
md5.h \
mgutils.h \
passcrypt.h \
- plugin.h \
prefs.h \
progressindicator.h \
proxy.h \
diff --git a/src/common/defs.h b/src/common/defs.h
@@ -46,7 +46,7 @@
#define SYLPHEED_RC_DIR ".sylpheed-2.0"
#define NEWS_CACHE_DIR "newscache"
#define IMAP_CACHE_DIR "imapcache"
-#define HEADER_CACHE_DIR "headercache"
+#define HEADER_CACHE_DIR "headercache"
#define MIME_TMP_DIR "mimetmp"
#define COMMON_RC "clawsrc"
#define OLD_COMMON_RC "sylpheedrc"
@@ -79,7 +79,6 @@
#define HOMEPAGE_URI "https://www.claws-mail.org/"
#define MANUAL_URI "https://www.claws-mail.org/documentation.php"
#define FAQ_URI "https://www.claws-mail.org/faq/index.php"
-#define PLUGINS_URI "https://www.claws-mail.org/plugins.php"
#define DICTS_URI "https://www.claws-mail.org/win32/dictionaries.php"
#define BUGZILLA_URI "https://www.thewildbeast.co.uk/claws-mail/bugzilla/enter_bug.cgi"
#define THEMES_URI "https://www.claws-mail.org/themes.php"
diff --git a/src/common/plugin.c b/src/common/plugin.c
@@ -1,794 +0,0 @@
-/*
- * Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 2002-2022 the Claws Mail Team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#include "claws-features.h"
-#endif
-
-#include <stdio.h>
-#ifdef HAVE_VALGRIND
-#include <valgrind.h>
-#endif
-
-#include "defs.h"
-#include <glib.h>
-#ifdef ENABLE_NLS
-#include <glib/gi18n.h>
-#else
-#define _(a) (a)
-#define N_(a) (a)
-#endif
-#include <gmodule.h>
-
-#include "utils.h"
-#include "plugin.h"
-#include "prefs.h"
-#include "claws.h"
-#include "timing.h"
-#include "file-utils.h"
-
-#ifdef G_OS_WIN32
-#define PLUGINS_BLOCK_PREFIX "PluginsWin32_"
-#else
-#define PLUGINS_BLOCK_PREFIX "Plugins_"
-#endif
-
-struct _Plugin
-{
- gchar *filename;
- GModule *module;
- const gchar *(*name) (void);
- const gchar *(*desc) (void);
- const gchar *(*version) (void);
- const gchar *(*type) (void);
- const gchar *(*licence) (void);
- struct PluginFeature *(*provides) (void);
-
- GSList *rdeps;
- gchar *error;
- gboolean unloaded_hidden;
- gboolean in_prefix_dir;
-};
-
-const gchar *plugin_feature_names[] =
- { N_("Nothing"),
- N_("a viewer"),
- N_("a MIME parser"),
- N_("folders"),
- N_("filtering"),
- N_("a privacy interface"),
- N_("a notifier"),
- N_("a utility"),
- N_("things"),
- NULL };
-
-/* The plugin must be at least under one of these licences and have
- the corresponding token returned by the plugin_licence function.
- */
-const gchar *plugin_licence_tokens[] = {
- "LGPL2.1+", "LGPLv2.1+", "LGPL2.1", "LGPLv2.1",
- "LGPL3+", "LGPLv3+", "LGPL3", "LGPLv3",
- "GPL3+", "GPLv3+", "GPL3", "GPLv3",
- "GPL2+", "GPLv2+",
- "Apache2.0", "Apache 2.0", "Apache v2.0",
- "2-clause BSD", "Simplified BSD", "FreeBSD",
- "3-clause BSD", "New BSD", "Modified BSD",
- NULL
-};
-
-/* Dual (or more) licences are allowed, must be separated by one of these.
- */
-#define IS_LICENCE_SEP(a) ((a) == ',' || (a) == ';' || (a) == '|' || (a) == '/' || (a) == '\0')
-
-/**
- * List of all loaded plugins
- */
-GSList *plugins = NULL;
-GSList *plugin_types = NULL;
-
-/*
- * List of plugins unloaded for some fixable reason
- */
-static GSList *unloaded_plugins = NULL;
-
-static gint list_find_by_string(gconstpointer data, gconstpointer str)
-{
- return strcmp((gchar *)data, (gchar *)str) ? TRUE : FALSE;
-}
-
-static gint list_find_by_plugin_filename(const Plugin *plugin, const gchar *filename)
-{
- /* FIXME: There is a problem in case of symlinks or when a
- user tries to load a plugin with the same name from a
- different directory. I think it would be better to compare
- only the basename of the filename here (case-insensitive on
- W32). */
- cm_return_val_if_fail(plugin, 1);
- cm_return_val_if_fail(plugin->filename, 1);
- cm_return_val_if_fail(filename, 1);
- return strcmp(filename, plugin->filename);
-}
-
-static gboolean plugin_filename_is_standard_dir(const gchar *filename) {
- return strncmp(filename, get_plugin_dir(), strlen(get_plugin_dir())) == 0;
-}
-
-static gchar * plugin_canonical_name(const Plugin *plugin)
-{
- if (plugin->in_prefix_dir == TRUE) {
- if (plugin_filename_is_standard_dir(plugin->filename) == TRUE) {
- gchar *plugin_name = g_path_get_basename(plugin->filename);
- return plugin_name;
- }
- }
- return g_strdup(plugin->filename);
-}
-
-void plugin_save_list(void)
-{
- gchar *rcpath, *block;
- PrefFile *pfile;
- GSList *type_cur, *plugin_cur;
- Plugin *plugin;
-
- for (type_cur = plugin_types; type_cur != NULL; type_cur = g_slist_next(type_cur)) {
- rcpath = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, COMMON_RC, NULL);
- block = g_strconcat(PLUGINS_BLOCK_PREFIX, type_cur->data, NULL);
- if ((pfile = prefs_write_open(rcpath)) == NULL ||
- (prefs_set_block_label(pfile, block) < 0)) {
- g_warning("failed to write plugin list");
- g_free(rcpath);
- g_free(block);
- return;
- }
- g_free(block);
-
- for (plugin_cur = plugins; plugin_cur != NULL; plugin_cur = g_slist_next(plugin_cur)) {
- plugin = (Plugin *) plugin_cur->data;
-
- if (plugin->unloaded_hidden)
- continue;
-
- if (!strcmp(plugin->type(), type_cur->data)) {
- gchar * name = plugin_canonical_name(plugin);
- int err = fprintf(pfile->fp, "%s\n", name);
- g_free(name);
- if (err < 0)
- goto revert;
- }
- }
- for (plugin_cur = unloaded_plugins; plugin_cur != NULL; plugin_cur = g_slist_next(plugin_cur)) {
- plugin = (Plugin *) plugin_cur->data;
-
- if (plugin->unloaded_hidden)
- continue;
-
- if (!strcmp(plugin->type(), type_cur->data)) {
- gchar * name = plugin_canonical_name(plugin);
- int err = fprintf(pfile->fp, "%s\n", name);
- g_free(name);
- if (err < 0)
- goto revert;
- }
- }
- if (fprintf(pfile->fp, "\n") < 0)
- goto revert;
-
- if (prefs_file_close(pfile) < 0)
- g_warning("failed to write plugin list");
-
- g_free(rcpath);
-
- continue;
-
-revert:
- g_warning("failed to write plugin list");
- if (prefs_file_close_revert(pfile) < 0)
- g_warning("failed to revert plugin list");
-
- g_free(rcpath);
- }
-}
-
-static gboolean plugin_is_loaded(const gchar *filename)
-{
- return (g_slist_find_custom(plugins, filename,
- (GCompareFunc)list_find_by_plugin_filename) != NULL);
-}
-
-static Plugin *plugin_get_by_filename(const gchar *filename)
-{
- GSList *cur = plugins;
- for(; cur; cur = cur->next) {
- Plugin *p = (Plugin *)cur->data;
- if (!strcmp(p->filename, filename)) {
- return p;
- }
- }
- return NULL;
-}
-
-/**
- * Loads a plugin dependancies
- *
- * Plugin dependancies are, optionnaly, listed in a file in
- * get_plugin_dir()/$pluginname.deps.
- * \param filename The filename of the plugin for which we have to load deps
- * \param error The location where an error string can be stored
- * \return 0 on success, -1 otherwise
- */
-static gint plugin_load_deps(const gchar *filename, gchar **error)
-{
- gchar *tmp;
- gchar *deps_file = NULL;
- FILE *fp = NULL;
- gchar buf[BUFFSIZE];
- gchar *p;
-
- tmp = g_strdup(filename);
- if( (p = strrchr(tmp, '.')) )
- *p = '\0';
- deps_file = g_strconcat(tmp, ".deps", NULL);
- g_free(tmp);
-
- fp = claws_fopen(deps_file, "rb");
- g_free(deps_file);
-
- if (!fp)
- return 0;
-
- while (claws_fgets(buf, sizeof(buf), fp) != NULL) {
- Plugin *dep_plugin = NULL;
- gchar *path = NULL;
- buf[strlen(buf)-1]='\0'; /* chop off \n */
- path = g_strconcat(get_plugin_dir(), buf,
- ".", G_MODULE_SUFFIX, NULL);
- if ((dep_plugin = plugin_get_by_filename(path)) == NULL) {
- debug_print("trying to load %s\n", path);
- dep_plugin = plugin_load(path, error);
- if (dep_plugin == NULL) {
- g_free(path);
- claws_fclose(fp);
- return -1;
- }
- dep_plugin->in_prefix_dir = TRUE;
- }
- g_free(path);
- if (!g_slist_find_custom(dep_plugin->rdeps,
- (gpointer) filename, list_find_by_string)) {
- debug_print("adding %s to %s rdeps\n",
- filename,
- dep_plugin->filename);
- dep_plugin->rdeps =
- g_slist_append(dep_plugin->rdeps,
- g_strdup(filename));
- }
- }
- claws_fclose(fp);
- return 0;
-}
-
-static void plugin_unload_rdeps(Plugin *plugin)
-{
- GSList *cur = plugin->rdeps;
- debug_print("removing %s rdeps\n", plugin->filename);
- while (cur) {
- gchar *file = (gchar *)cur->data;
- Plugin *rdep_plugin = file?plugin_get_by_filename(file):NULL;
- debug_print(" rdep %s: %p\n", file, rdep_plugin);
- if (rdep_plugin) {
- plugin_unload(rdep_plugin);
- }
- g_free(file);
- cur = cur->next;
- }
- g_slist_free(plugin->rdeps);
- plugin->rdeps = NULL;
-}
-
-static void plugin_remove_from_unloaded_list (const gchar *filename)
-{
- GSList *item = g_slist_find_custom(unloaded_plugins,
- (gpointer) filename, (GCompareFunc)list_find_by_plugin_filename);
- Plugin *unloaded_plugin = item ? ((Plugin *)item->data):NULL;
- if (unloaded_plugin != NULL) {
- debug_print("removing %s from unloaded list\n", unloaded_plugin->filename);
- unloaded_plugins = g_slist_remove(unloaded_plugins, unloaded_plugin);
- g_module_close(unloaded_plugin->module);
- g_free(unloaded_plugin->filename);
- g_free(unloaded_plugin->error);
- g_free(unloaded_plugin);
- }
-}
-
-static gchar *plugin_check_features(struct PluginFeature *features) {
- int i = 0, j = 0;
- GSList *cur = plugins;
-
- if (features == NULL)
- return NULL;
- for(; cur; cur = cur->next) {
- Plugin *p = (Plugin *)cur->data;
- struct PluginFeature *cur_features = p->provides();
- if (p->unloaded_hidden)
- continue;
- for (j = 0; cur_features[j].type != PLUGIN_NOTHING; j++) {
- for (i = 0; features[i].type != PLUGIN_NOTHING; i++) {
- if (cur_features[j].type == features[i].type &&
- !strcmp(cur_features[j].subtype, features[i].subtype)) {
- return g_strdup_printf(_(
- "This plugin provides %s (%s), which is "
- "already provided by the %s plugin."),
- _(plugin_feature_names[features[i].type]),
- _(features[i].subtype),
- p->name());
- }
- }
- }
- }
-
- return NULL;
-}
-
-static gboolean plugin_licence_check(const gchar *licence) {
- gint i = 0;
- gint len = 0;
-
- if (licence != NULL) {
- len = strlen(licence);
- }
- if (len == 0) {
- g_warning("plugin licence check failed: empty licence");
- return FALSE;
- }
- while (plugin_licence_tokens[i] != NULL) {
- gchar *found = g_strstr_len(licence, len, plugin_licence_tokens[i]);
- if (found != NULL) {
- gint tlen = strlen(plugin_licence_tokens[i]);
- if (len != tlen) { /* not a single license */
- if (((found == licence) && (!IS_LICENCE_SEP(licence[tlen])))
- || (!IS_LICENCE_SEP(*(found - 1)))
- || (!IS_LICENCE_SEP(*(found + tlen)))) {
- debug_print("plugin licence check failed: invalid separator\n");
- return FALSE;
- }
- }
- debug_print("plugin licence check passed: %s found\n", plugin_licence_tokens[i]);
- return TRUE;
- }
- ++i;
- }
- debug_print("plugin licence check failed: %s is not a valid licence\n", licence);
- return FALSE;
-}
-
-static Plugin *plugin_load_in_default_dir(const gchar *filename, gchar **error)
-{
- Plugin *plugin = NULL;
- gchar *filename_default_dir = NULL;
- gchar *default_error = NULL;
- gchar *plugin_name = g_path_get_basename(filename);
-
- filename_default_dir = g_strconcat(get_plugin_dir(), plugin_name, NULL);
-
- debug_print("trying to load %s in default plugin directory %s\n",
- plugin_name, get_plugin_dir());
-
- g_free(plugin_name);
-
- plugin = plugin_load(filename_default_dir, &default_error);
-
- g_free(filename_default_dir);
-
- if (plugin) {
- g_free(*error);
- *error = NULL;
- plugin->in_prefix_dir = TRUE;
-
- } else {
- g_free(default_error);
- }
-
- return plugin;
-}
-
-/**
- * Loads a plugin
- *
- * \param filename The filename of the plugin to load
- * \param error The location where an error string can be stored
- * \return the plugin on success, NULL otherwise
- */
-Plugin *plugin_load(const gchar *filename, gchar **error)
-{
- Plugin *plugin;
- gint (*plugin_init) (gchar **error);
- gpointer plugin_name, plugin_desc, plugin_version;
- const gchar *(*plugin_type)(void);
- const gchar *(*plugin_licence)(void);
- struct PluginFeature *(*plugin_provides)(void);
-
- gint ok;
- START_TIMING((filename?filename:"NULL plugin"));
- cm_return_val_if_fail(filename != NULL, NULL);
- cm_return_val_if_fail(error != NULL, NULL);
-
- /* check duplicate plugin path name */
- if (plugin_is_loaded(filename)) {
- plugin = plugin_get_by_filename(filename);
- if (plugin->unloaded_hidden) {
- /* reshow it */
- goto init_plugin;
- } else {
- *error = g_strdup(_("Plugin already loaded"));
- return NULL;
- }
- }
-
- plugin_remove_from_unloaded_list(filename);
-
- if (plugin_load_deps(filename, error) < 0)
- return NULL;
- plugin = g_new0(Plugin, 1);
- if (plugin == NULL) {
- *error = g_strdup(_("Failed to allocate memory for Plugin"));
- return NULL;
- }
-
- debug_print("trying to load `%s'\n", filename);
- plugin->module = g_module_open(filename, 0);
- if (plugin->module == NULL) {
- *error = g_strdup(g_module_error());
- g_free(plugin);
- if (!plugin_filename_is_standard_dir(filename))
- return plugin_load_in_default_dir(filename, error);
- else
- return NULL;
- } else {
- plugin->in_prefix_dir = FALSE;
- }
-
-init_plugin:
- if (!g_module_symbol(plugin->module, "plugin_name", &plugin_name) ||
- !g_module_symbol(plugin->module, "plugin_desc", &plugin_desc) ||
- !g_module_symbol(plugin->module, "plugin_version", &plugin_version) ||
- !g_module_symbol(plugin->module, "plugin_type", (gpointer)&plugin_type) ||
- !g_module_symbol(plugin->module, "plugin_licence", (gpointer)&plugin_licence) ||
- !g_module_symbol(plugin->module, "plugin_provides", (gpointer)&plugin_provides) ||
- !g_module_symbol(plugin->module, "plugin_init", (gpointer)&plugin_init)) {
- *error = g_strdup(g_module_error());
- if (plugin->unloaded_hidden)
- return NULL;
- g_module_close(plugin->module);
- g_free(plugin);
- return NULL;
- }
-
- if (plugin_licence_check(plugin_licence()) != TRUE) {
- *error = g_strdup(_("This module is not licensed under a GPL v3 or later compatible license."));
- if (plugin->unloaded_hidden)
- return NULL;
- g_module_close(plugin->module);
- g_free(plugin);
- return NULL;
- }
-
- if (!strcmp(plugin_type(), "GTK")) {
- *error = g_strdup(_("This module is for Claws Mail GTK1."));
- if (plugin->unloaded_hidden)
- return NULL;
- g_module_close(plugin->module);
- g_free(plugin);
- return NULL;
- }
-
- if ((*error = plugin_check_features(plugin_provides())) != NULL) {
- if (plugin->unloaded_hidden)
- return NULL;
- g_module_close(plugin->module);
- g_free(plugin);
- return NULL;
- }
- plugin->name = plugin_name;
- plugin->desc = plugin_desc;
- plugin->version = plugin_version;
- plugin->type = plugin_type;
- plugin->licence = plugin_licence;
- plugin->provides = plugin_provides;
- plugin->filename = g_strdup(filename);
- plugin->error = NULL;
-
- if ((ok = plugin_init(error)) < 0) {
- if (*error)
- plugin->error = g_strdup(*error);
- unloaded_plugins = g_slist_append(unloaded_plugins, plugin);
- return NULL;
- }
-
- if (!plugin->unloaded_hidden)
- plugins = g_slist_append(plugins, plugin);
- plugin->unloaded_hidden = FALSE;
-
- debug_print("Plugin %s (from file %s) loaded\n", plugin->name(), filename);
- END_TIMING();
- return plugin;
-}
-
-void plugin_unload(Plugin *plugin)
-{
- gboolean (*plugin_done) (void);
- gboolean can_unload = TRUE;
-
- plugin_unload_rdeps(plugin);
-
- if (plugin->unloaded_hidden)
- return;
-
- if (plugin->error) {
- plugin_remove_from_unloaded_list(plugin->filename);
- return;
- }
- if (g_module_symbol(plugin->module, "plugin_done", (gpointer) &plugin_done)) {
- can_unload = plugin_done();
- }
-
- if (can_unload) {
-#ifdef HAVE_VALGRIND
- if (!RUNNING_ON_VALGRIND) {
- g_module_close(plugin->module);
- }
-#else
- g_module_close(plugin->module);
-#endif
- plugins = g_slist_remove(plugins, plugin);
- g_free(plugin->filename);
- g_free(plugin);
- } else {
- plugin->unloaded_hidden = TRUE;
- }
-
-}
-
-static void replace_old_plugin_name(gchar *plugin_name)
-{
- gchar *old_name_end = g_strconcat("_plugin.", G_MODULE_SUFFIX, NULL);
- gchar *matches = strstr(plugin_name, old_name_end);
-
- if (!matches) {
- g_free(old_name_end);
- return;
- } else if (plugin_name + strlen(plugin_name) != matches + strlen(matches)) {
- g_free(old_name_end);
- return;
- } else {
- gchar *new_name_end = g_strconcat(".", G_MODULE_SUFFIX, NULL);
- int offset = strlen(plugin_name) - strlen(old_name_end);
-
- debug_print("Replacing old plugin name %s\n", plugin_name);
-
- strncpy(plugin_name + offset, new_name_end, strlen(old_name_end) - 1);
- debug_print(" to %s\n", plugin_name);
- g_free(new_name_end);
- }
- g_free(old_name_end);
-}
-
-void plugin_load_all(const gchar *type)
-{
- gchar *rcpath;
- gchar buf[BUFFSIZE];
- PrefFile *pfile;
- gchar *error = NULL, *block;
- gint failed = 0;
-
- plugin_types = g_slist_append(plugin_types, g_strdup(type));
-
- rcpath = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, COMMON_RC, NULL);
- block = g_strconcat(PLUGINS_BLOCK_PREFIX, type, NULL);
- if ((pfile = prefs_read_open(rcpath)) == NULL ||
- ((failed = prefs_set_block_label(pfile, block)) < 0)) {
- g_free(rcpath);
- g_free(block);
- if (!failed)
- prefs_file_close(pfile);
- return;
- }
- g_free(block);
-
- while (claws_fgets(buf, sizeof(buf), pfile->fp) != NULL) {
- if (buf[0] == '[')
- break;
-
- g_strstrip(buf);
- replace_old_plugin_name(buf);
-
- if ((buf[0] != '\0') && (plugin_load(buf, &error) == NULL)) {
- g_warning("plugin loading error: %s", error);
- g_free(error);
- }
- }
- prefs_file_close(pfile);
-
- g_free(rcpath);
-}
-
-void plugin_unload_all(const gchar *type)
-{
- GSList *list, *cur;
-
- list = g_slist_copy(plugins);
- list = g_slist_reverse(list);
-
- for(cur = list; cur != NULL; cur = g_slist_next(cur)) {
- Plugin *plugin = (Plugin *) cur->data;
-
- if (!strcmp(type, plugin->type()))
- plugin_unload(plugin);
- }
- g_slist_free(list);
-
- cur = g_slist_find_custom(plugin_types, (gpointer) type, list_find_by_string);
- if (cur) {
- g_free(cur->data);
- plugin_types = g_slist_remove(plugin_types, cur);
- }
-}
-
-
-/* Load those plugins we always want to use. No error output; just
- * try. */
-void plugin_load_standard_plugins (void)
-{
- static const char *names[] = {
-#ifdef G_OS_WIN32
- "pgpmime",
- "pgpinline",
-#else
- /* post-2.5 maybe
- "bogofilter", */
-#endif
- NULL
- };
- int i;
- gchar *error, *filename;
-
- for (i=0; names[i]; i++) {
- /* Simple hack to check whether the plugin has already
- * been loaded but checking only for the basename. */
- GSList *cur = plugins;
- for(; cur; cur = cur->next) {
- Plugin *p = (Plugin *)cur->data;
- if (strstr(p->filename, names[i]))
- break;
- }
- if (!cur) { /* Not yet loaded. */
- /* FIXME: get_plugin_dir () returns with a trailing
- * (back)slash; this should be fixed so that we can use
- * g_module_build_path here. */
-#ifdef G_OS_WIN32
- filename = g_strconcat (get_plugin_dir(),
- names[i], NULL);
-#else
- filename = g_strconcat (get_plugin_dir(),
- names[i], ".", G_MODULE_SUFFIX, NULL);
-#endif
- error = NULL;
- plugin_load(filename, &error);
- g_free (error);
- g_free(filename);
- }
- }
-}
-
-GSList *plugin_get_list(void)
-{
- GSList *new = NULL;
- GSList *cur = plugins;
- for (; cur; cur = cur->next) {
- Plugin *p = (Plugin *)cur->data;
- if (!p->unloaded_hidden)
- new = g_slist_prepend(new, p);
- }
- new = g_slist_reverse(new);
- return new;
-}
-
-Plugin *plugin_get_loaded_by_name(const gchar *name)
-{
- Plugin *plugin = NULL;
- GSList *new, *cur;
- new = plugin_get_list();
- for (cur = new; cur; cur = g_slist_next(cur)) {
- plugin = (Plugin *)cur->data;
- if (!g_ascii_strcasecmp(plugin->name(), name))
- break;
- else
- plugin = NULL;
- }
- g_slist_free(new);
- return plugin;
-}
-
-GSList *plugin_get_unloaded_list(void)
-{
- return g_slist_copy(unloaded_plugins);
-}
-
-const gchar *plugin_get_name(Plugin *plugin)
-{
- return plugin->name();
-}
-
-const gchar *plugin_get_desc(Plugin *plugin)
-{
- return plugin->desc();
-}
-
-const gchar *plugin_get_version(Plugin *plugin)
-{
- return plugin->version();
-}
-
-const gchar *plugin_get_error(Plugin *plugin)
-{
- return plugin->error;
-}
-
-/* Generally called in plugin_init() function of each plugin. It check the
- * minimal and compiled version of claws binary required by the plugin.
- * If (@minimum_claws_version == 0 || @compiled_claws_version == 0), don't
- * check the corresponding version.
- *
- * If an error occurs {
- * If @error == NULL { don't allocate error string. }
- * If @error != NULL { error string is allocated and must be freed after
- * call function. }
- * }
- * Returns: FALSE if an error occurs, TRUE if all is OK.
- */
-gint check_plugin_version(guint32 minimum_claws_version,
- guint32 compiled_claws_version,
- const gchar *plugin_name,
- gchar **error)
-{
- guint32 claws_version = claws_get_version();
-
- if (compiled_claws_version != 0 && claws_version > compiled_claws_version) {
- if (error != NULL) {
- *error = (plugin_name && *plugin_name)
- ? g_strdup_printf(_("Your version of Claws Mail is newer than the "
- "version the '%s' plugin was built with."),
- plugin_name)
- : g_strdup(_("Your version of Claws Mail is newer than the "
- "version the plugin was built with."));
- }
- return FALSE;
- }
-
- if (minimum_claws_version != 0 && claws_version < minimum_claws_version) {
- if (error != NULL) {
- *error = (plugin_name && *plugin_name)
- ? g_strdup_printf(_("Your version of Claws Mail is too old for "
- "the '%s' plugin."), plugin_name)
- : g_strdup(_("Your version of Claws Mail is too old for the plugin."));
- }
- return FALSE;
- }
- return TRUE;
-}
diff --git a/src/common/plugin.h b/src/common/plugin.h
@@ -1,73 +0,0 @@
-/*
- * Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 2002-2015 the Claws Mail Team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef PLUGIN_H
-#define PLUGIN_H 1
-
-#include <glib.h>
-
-typedef struct _Plugin Plugin;
-
-typedef enum {
- PLUGIN_NOTHING,
- PLUGIN_MIMEVIEWER,
- PLUGIN_MIMEPARSER,
- PLUGIN_FOLDERCLASS,
- PLUGIN_FILTERING,
- PLUGIN_PRIVACY,
- PLUGIN_NOTIFIER,
- PLUGIN_UTILITY,
- PLUGIN_OTHER
-} PluginFeatureType;
-
-struct PluginFeature {
- PluginFeatureType type;
- const gchar *subtype;
-};
-
-/* Functions to implement by the plugin */
-gint plugin_init (gchar **error);
-gboolean plugin_done (void);
-const gchar *plugin_name (void);
-const gchar *plugin_desc (void);
-const gchar *plugin_version (void);
-struct PluginFeature *plugin_provides (void);
-const gchar *plugin_type (void);
-const gchar *plugin_licence (void);
-
-/* Functions by the Claws Mail plugin system */
-Plugin *plugin_load (const gchar *filename,
- gchar **error);
-void plugin_unload (Plugin *plugin);
-void plugin_load_all (const gchar *type);
-void plugin_unload_all (const gchar *type);
-void plugin_save_list (void);
-void plugin_load_standard_plugins (void);
-
-GSList *plugin_get_list (void);
-GSList *plugin_get_unloaded_list(void);
-const gchar *plugin_get_name (Plugin *plugin);
-const gchar *plugin_get_desc (Plugin *plugin);
-const gchar *plugin_get_version (Plugin *plugin);
-const gchar *plugin_get_error (Plugin *plugin);
-Plugin *plugin_get_loaded_by_name(const gchar *name);
-gint check_plugin_version (guint32 minimum_claws_version,
- guint32 compiled_claws_version,
- const gchar *plugin_name,
- gchar **error);
-#endif
diff --git a/src/common/tests/Makefile.am b/src/common/tests/Makefile.am
@@ -6,7 +6,6 @@ common_ldadd = \
AM_CPPFLAGS = \
$(GLIB_CFLAGS) \
-DLOCALEDIR=\""$(localedir)"\" \
- -DPLUGINDIR=\"$(PLUGINDIR)\" \
-I$(top_srcdir)/src \
-I..
diff --git a/src/common/utils.c b/src/common/utils.c
@@ -1859,32 +1859,6 @@ const gchar *get_desktop_file(void)
#endif
}
-/* Return the default directory for Plugins. */
-const gchar *get_plugin_dir(void)
-{
-#ifdef G_OS_WIN32
- static gchar *plugin_dir = NULL;
-
- if (!plugin_dir)
- plugin_dir = g_strconcat(w32_get_module_dir(),
- "\\lib\\claws-mail\\plugins\\",
- NULL);
- return plugin_dir;
-#else
- if (is_dir_exist(PLUGINDIR))
- return PLUGINDIR;
- else {
- static gchar *plugin_dir = NULL;
- if (!plugin_dir)
- plugin_dir = g_strconcat(get_rc_dir(),
- G_DIR_SEPARATOR_S, "plugins",
- G_DIR_SEPARATOR_S, NULL);
- return plugin_dir;
- }
-#endif
-}
-
-
#ifdef G_OS_WIN32
/* Return the default directory for Themes. */
const gchar *w32_get_themes_dir(void)
diff --git a/src/common/utils.h b/src/common/utils.h
@@ -409,7 +409,6 @@ const gchar *get_news_cache_dir (void);
const gchar *get_imap_cache_dir (void);
const gchar *get_mime_tmp_dir (void);
const gchar *get_template_dir (void);
-const gchar *get_plugin_dir (void);
const gchar *get_tmp_dir (void);
const gchar *get_locale_dir (void);
gchar *get_tmp_file (void);
diff --git a/src/etpan/Makefile.am b/src/etpan/Makefile.am
@@ -3,8 +3,6 @@
# terms of the General Public License version 3 (or later).
# See COPYING file for license details.
-PLUGINDIR = $(pkglibdir)/plugins/
-
noinst_LTLIBRARIES = libclawsetpan.la
libclawsetpan_la_SOURCES = \
diff --git a/src/gtk/Makefile.am b/src/gtk/Makefile.am
@@ -3,7 +3,6 @@
# terms of the General Public License version 3 (or later).
# See COPYING file for license details.
-PLUGINDIR = $(pkglibdir)/plugins/
DOCDIR = $(docdir)
noinst_LTLIBRARIES = libclawsgtk.la
@@ -81,7 +80,6 @@ AM_CPPFLAGS = \
-I$(builddir)/.. \
$(GTK_CFLAGS) \
$(ENCHANT_CFLAGS) \
- -DPLUGINDIR=\"$(PLUGINDIR)\" \
-DDOCDIR=\"$(DOCDIR)\"
libclawsgtk_la_LIBADD = \
diff --git a/src/main.c b/src/main.c
@@ -122,7 +122,6 @@
#include "socket.h"
#include "log.h"
#include "prefs_toolbar.h"
-#include "plugin.h"
#include "mh_gtk.h"
#include "imap_gtk.h"
#include "news_gtk.h"
@@ -453,54 +452,6 @@ backup_mode:
return (r == 0);
}
-static int migrate_common_rc(const gchar *old_rc, const gchar *new_rc)
-{
- FILE *oldfp, *newfp;
- gchar *plugin_path, *old_plugin_path, *new_plugin_path;
- gchar buf[BUFFSIZE];
- gboolean err = FALSE;
-
- oldfp = claws_fopen(old_rc, "r");
- if (!oldfp)
- return -1;
- newfp = claws_fopen(new_rc, "w");
- if (!newfp) {
- claws_fclose(oldfp);
- return -1;
- }
-
- plugin_path = g_strdup(get_plugin_dir());
- new_plugin_path = g_strdup(plugin_path);
-
- if (strstr(plugin_path, "/claws-mail/")) {
- gchar *end = g_strdup(strstr(plugin_path, "/claws-mail/")+strlen("/claws-mail/"));
- *(strstr(plugin_path, "/claws-mail/")) = '\0';
- old_plugin_path = g_strconcat(plugin_path, "/sylpheed-claws/", end, NULL);
- g_free(end);
- } else {
- old_plugin_path = g_strdup(new_plugin_path);
- }
- debug_print("replacing %s with %s\n", old_plugin_path, new_plugin_path);
- while (claws_fgets(buf, sizeof(buf), oldfp)) {
- if (STRNCMP(buf, old_plugin_path)) {
- err |= (claws_fputs(buf, newfp) == EOF);
- } else {
- debug_print("->replacing %s\n", buf);
- debug_print(" with %s%s\n", new_plugin_path, buf+strlen(old_plugin_path));
- err |= (claws_fputs(new_plugin_path, newfp) == EOF);
- err |= (claws_fputs(buf+strlen(old_plugin_path), newfp) == EOF);
- }
- }
- g_free(plugin_path);
- g_free(new_plugin_path);
- g_free(old_plugin_path);
- claws_fclose(oldfp);
- if (claws_safe_fclose(newfp) == EOF)
- err = TRUE;
-
- return (err ? -1:0);
-}
-
#ifdef HAVE_LIBSM
static void
sc_client_set_value (MainWindow *mainwin,
@@ -1110,17 +1061,6 @@ int main(int argc, char *argv[])
}
}
-
- if (!is_file_exist(RC_DIR G_DIR_SEPARATOR_S COMMON_RC) &&
- is_file_exist(RC_DIR G_DIR_SEPARATOR_S OLD_COMMON_RC)) {
- /* post 2.6 name change */
- migrate_common_rc(RC_DIR G_DIR_SEPARATOR_S OLD_COMMON_RC,
- RC_DIR G_DIR_SEPARATOR_S COMMON_RC);
- }
-
- if (!cmd.exit)
- plugin_load_all("Common");
-
userrc = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, "gtkrc-2.0", NULL);
gtk_rc_parse(userrc);
g_free(userrc);
@@ -1407,46 +1347,13 @@ int main(int argc, char *argv[])
num_folder_class = g_list_length(folder_get_list());
- plugin_load_all("GTK3");
-
if (g_list_length(folder_get_list()) != num_folder_class) {
debug_print("new folders loaded, reloading processing rules\n");
prefs_matcher_read_config();
}
- if ((plug_list = plugin_get_unloaded_list()) != NULL) {
- GSList *cur;
- gchar *list = NULL;
- gint num_plugins = 0;
- for (cur = plug_list; cur; cur = cur->next) {
- Plugin *plugin = (Plugin *)cur->data;
- gchar *tmp = g_strdup_printf("%s\n%s",
- list? list:"",
- plugin_get_name(plugin));
- g_free(list);
- list = tmp;
- num_plugins++;
- }
- main_window_cursor_normal(mainwin);
- main_window_popup(mainwin);
- mainwin_shown = TRUE;
- alertpanel_warning(ngettext(
- "The following plugin failed to load. "
- "Check the Plugins configuration "
- "for more information:\n%s",
- "The following plugins failed to load. "
- "Check the Plugins configuration "
- "for more information:\n%s",
- num_plugins),
- list);
- main_window_cursor_wait(mainwin);
- g_free(list);
- g_slist_free(plug_list);
- }
-
if (never_ran) {
prefs_common_write_config();
- plugin_load_standard_plugins ();
}
/* if not crashed, show window now */
@@ -1672,8 +1579,6 @@ static void exit_claws(MainWindow *mainwin)
main_window_destroy_all();
- plugin_unload_all("GTK3");
-
matcher_done();
prefs_toolbar_done();
avatars_done();
@@ -1702,7 +1607,6 @@ static void exit_claws(MainWindow *mainwin)
prefs_spelling_done();
gtkaspell_checkers_quit();
#endif
- plugin_unload_all("Common");
#ifdef G_OS_WIN32
win32_close_log();
#endif
diff --git a/src/mainwindow.c b/src/mainwindow.c
@@ -1865,7 +1865,6 @@ MainWindow *main_window_create()
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/Configuration", "Tags", "Configuration/Tags", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/Configuration", "Separator2", "Configuration/---", GTK_UI_MANAGER_SEPARATOR)
- MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/Configuration", "Plugins", "Configuration/Plugins", GTK_UI_MANAGER_MENUITEM)
/* Help menu */
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menu/Help", "Manual", "Help/Manual", GTK_UI_MANAGER_MENUITEM)
diff --git a/src/password.c b/src/password.c
@@ -38,7 +38,6 @@
#endif
#include "common/passcrypt.h"
-#include "common/plugin.h"
#include "common/pkcs5_pbkdf2.h"
#include "common/timing.h"
#include "common/utils.h"
diff --git a/src/prefs_toolbar.c b/src/prefs_toolbar.c
@@ -49,7 +49,6 @@
#include "prefs_toolbar.h"
#include "prefswindow.h"
#include "prefs_gtk.h"
-#include "plugin.h"
#include "messageview.h"
enum
@@ -67,7 +66,6 @@ enum
{
ITEM_FUNCTION = 0,
ITEM_USER_ACTION = 1,
- ITEM_PLUGIN = 2,
ITEM_SEPARATOR = 3,
};
@@ -185,14 +183,6 @@ typedef struct _ToolbarPage
#define ERROR_MSG_NO_ICON _("Item has no icon defined.")
#define ERROR_MSG_NO_TEXT _("Item has no text defined.")
-typedef struct _ToolbarPluginItem ToolbarPluginItem;
-struct _ToolbarPluginItem {
- gchar *plugin;
- gchar *item_name;
- ToolbarPluginCallback cb;
- gpointer cb_data;
-};
-
static void prefs_toolbar_populate (ToolbarPage *prefs_toolbar);
static void get_action_name (const gchar *entry,
@@ -359,7 +349,6 @@ static void prefs_toolbar_populate(ToolbarPage *prefs_toolbar)
{
GSList *cur;
gchar *act, *act_name;
- GHashTable **hash;
prefs_toolbar->combo_action_list = toolbar_get_action_items(prefs_toolbar->source);
combobox_set_popdown_strings(GTK_COMBO_BOX_TEXT(prefs_toolbar->item_func_combo),
@@ -382,8 +371,6 @@ static void prefs_toolbar_populate(ToolbarPage *prefs_toolbar)
combobox_set_sensitive(GTK_COMBO_BOX(prefs_toolbar->item_type_combo),
ITEM_USER_ACTION, FALSE);
- combobox_set_sensitive(GTK_COMBO_BOX(prefs_toolbar->item_type_combo), ITEM_PLUGIN, FALSE);
-
gtk_combo_box_set_active(GTK_COMBO_BOX(prefs_toolbar->item_func_combo), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(prefs_toolbar->item_action_combo), 0);
@@ -494,8 +481,7 @@ static void prefs_toolbar_register(GtkButton *button, ToolbarPage *prefs_toolbar
g_free(event);
return;
}
- } else if(item_type == ITEM_PLUGIN)
- event = toolbar_ret_descr_from_val(A_CLAWS_PLUGINS);
+ }
else
event = toolbar_ret_descr_from_val(A_CLAWS_ACTIONS);
@@ -518,7 +504,7 @@ static void prefs_toolbar_register(GtkButton *button, ToolbarPage *prefs_toolbar
}
g_free(text);
- if((item_type != ITEM_USER_ACTION) && (item_type != ITEM_PLUGIN))
+ if(item_type != ITEM_USER_ACTION)
g_free(event);
}
@@ -582,8 +568,7 @@ static void prefs_toolbar_substitute(GtkButton *button, ToolbarPage *prefs_toolb
g_free(set_event);
return;
}
- } else if(item_type == ITEM_PLUGIN)
- icon_event = toolbar_ret_descr_from_val(A_CLAWS_PLUGINS);
+ }
else
icon_event = toolbar_ret_descr_from_val(A_CLAWS_ACTIONS);
@@ -605,7 +590,7 @@ static void prefs_toolbar_substitute(GtkButton *button, ToolbarPage *prefs_toolb
g_free(text);
g_free(set_event);
- if((item_type != ITEM_USER_ACTION) && (item_type != ITEM_PLUGIN))
+ if(item_type != ITEM_USER_ACTION)
g_free(icon_event);
}
}
@@ -857,7 +842,6 @@ static void prefs_toolbar_create(ToolbarPage *prefs_toolbar)
GTK_COMBO_BOX(item_type_combo)));
COMBOBOX_ADD(item_type_model, _("Internal Function"), ITEM_FUNCTION);
COMBOBOX_ADD(item_type_model, _("User Action"), ITEM_USER_ACTION);
- COMBOBOX_ADD(item_type_model, _("Plugins"), ITEM_PLUGIN);
COMBOBOX_ADD(item_type_model, _("Separator"), ITEM_SEPARATOR);
gtk_widget_set_size_request(item_type_combo, 200, -1);
gtk_grid_attach(GTK_GRID(table), item_type_combo, 1, 0, 1, 1);
@@ -1279,19 +1263,6 @@ static gboolean set_list_selected(GtkTreeSelection *selector,
return TRUE;
}
- if (g_utf8_collate(toolbar_ret_descr_from_val(A_CLAWS_PLUGINS), descr) == 0) {
- gtk_combo_box_set_active(GTK_COMBO_BOX(prefs_toolbar->item_type_combo), ITEM_PLUGIN);
-
- gtk_widget_hide(prefs_toolbar->item_func_combo);
- gtk_widget_hide(prefs_toolbar->item_action_combo);
-
- g_free(descr);
- g_free(icon_text);
- if (pix != NULL)
- g_object_unref(pix);
- return TRUE;
- }
-
/* scan combo list for selected description an set combo item accordingly */
for (cur = prefs_toolbar->combo_action_list, item_num = 0; cur != NULL;
cur = cur->next) {
diff --git a/src/prefs_toolbar.h b/src/prefs_toolbar.h
@@ -27,9 +27,6 @@ void prefs_toolbar_done (void);
/* parent is a MainWindow, Compose, or MessageView, depending on the ToolbarType during registration */
typedef void (*ToolbarPluginCallback)(gpointer parent, const gchar *item_name, gpointer data);
-void prefs_toolbar_register_plugin_item(ToolbarType toolbar_type, const gchar *plugin_name, const gchar *item_name, ToolbarPluginCallback cb, gpointer cb_data);
-void prefs_toolbar_unregister_plugin_item(ToolbarType toolbar_type, const gchar *plugin_name, const gchar *item_name);
-void prefs_toolbar_execute_plugin_item(gpointer parent, ToolbarType toolbar_type, const gchar *id);
void prefs_toolbar_update_action_btns(void);
-#endif /* __PREFS_CUSTOM_TOOLBAR_H__ */
+#endif /* __PREFS_CUSTOM_TOOLBAR_H__ */
diff --git a/src/summaryview.c b/src/summaryview.c
@@ -175,10 +175,10 @@ static void summary_display_msg_full (SummaryView *summaryview,
static void summary_set_row_marks (SummaryView *summaryview,
GtkCMCTreeNode *row);
-static gboolean summary_set_row_tag (SummaryView *summaryview,
- GtkCMCTreeNode *row,
+static gboolean summary_set_row_tag (SummaryView *summaryview,
+ GtkCMCTreeNode *row,
gboolean refresh,
- gboolean set,
+ gboolean set,
gint id);
/* message handling */
static void summary_mark_row (SummaryView *summaryview,
@@ -259,7 +259,7 @@ static void summary_toggle_multiple_pressed
(GtkWidget *widget,
SummaryView *summaryview);
#endif
-static gint summary_folder_eventbox_pressed
+static gint summary_folder_eventbox_pressed
(GtkWidget *eventbox,
GdkEventButton *event,
SummaryView *summaryview);
@@ -317,7 +317,7 @@ static void summary_locked_clicked (GtkWidget *button,
static void summary_tags_clicked (GtkWidget *button,
SummaryView *summaryview);
-static void summary_start_drag (GtkWidget *widget,
+static void summary_start_drag (GtkWidget *widget,
int button,
GdkEvent *event,
SummaryView *summaryview);
@@ -371,8 +371,8 @@ static gint summary_cmp_by_from (GtkCMCList *clist,
gconstpointer ptr1,
gconstpointer ptr2);
static gint summary_cmp_by_simplified_subject
- (GtkCMCList *clist,
- gconstpointer ptr1,
+ (GtkCMCList *clist,
+ gconstpointer ptr1,
gconstpointer ptr2);
static gint summary_cmp_by_score (GtkCMCList *clist,
gconstpointer ptr1,
@@ -387,10 +387,10 @@ static gint summary_cmp_by_subject (GtkCMCList *clist,
gconstpointer ptr1,
gconstpointer ptr2);
static gint summary_cmp_by_locked (GtkCMCList *clist,
- gconstpointer ptr1,
+ gconstpointer ptr1,
gconstpointer ptr2);
static gint summary_cmp_by_tags (GtkCMCList *clist,
- gconstpointer ptr1,
+ gconstpointer ptr1,
gconstpointer ptr2);
static void quicksearch_execute_cb (QuickSearch *quicksearch,
@@ -399,7 +399,7 @@ static void quicksearch_execute_cb (QuickSearch *quicksearch,
static void tog_searchbar_cb (GtkWidget *w,
gpointer data);
-static void summary_find_answers (SummaryView *summaryview,
+static void summary_find_answers (SummaryView *summaryview,
MsgInfo *msg);
static gboolean summary_update_msg (gpointer source, gpointer data);
@@ -573,7 +573,7 @@ SummaryView *summary_create(MainWindow *mainwin)
#define SUMMARY_VBOX_SPACING 3
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, SUMMARY_VBOX_SPACING);
gtk_widget_set_name(GTK_WIDGET(vbox), "summaryview");
-
+
/* create status label */
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
gtk_widget_show(hbox);
@@ -583,10 +583,10 @@ SummaryView *summary_create(MainWindow *mainwin)
stat_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
gtk_widget_show(stat_box);
-
+
stat_box2 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
gtk_widget_show(stat_box2);
-
+
toggle_search = gtk_toggle_button_new();
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle_search),
prefs_common.show_searchbar);
@@ -594,28 +594,28 @@ SummaryView *summary_create(MainWindow *mainwin)
gtk_widget_show(toggle_search);
CLAWS_SET_TIP(toggle_search, _("Toggle quick search bar"));
-
- gtk_box_pack_start(GTK_BOX(hbox), toggle_search, FALSE, FALSE, HSPACING_NARROW_2);
- gtk_box_pack_start(GTK_BOX(hbox), stat_vbox, TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(stat_vbox), stat_box, TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(stat_vbox), stat_box2, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), toggle_search, FALSE, FALSE, HSPACING_NARROW_2);
+
+ gtk_box_pack_start(GTK_BOX(hbox), stat_vbox, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(stat_vbox), stat_box, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(stat_vbox), stat_box2, TRUE, TRUE, 0);
hbox_l = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
gtk_widget_show(hbox_l);
gtk_box_pack_start(GTK_BOX(stat_box), hbox_l, TRUE, TRUE, 0);
-
+
statlabel_folder = gtk_label_new("");
gtk_widget_show(statlabel_folder);
gtk_box_pack_start(GTK_BOX(hbox_l), statlabel_folder, FALSE, FALSE, HSPACING_NARROW_2);
statlabel_select = gtk_label_new("");
gtk_widget_show(statlabel_select);
gtk_box_pack_start(GTK_BOX(hbox_l), statlabel_select, FALSE, FALSE, 12);
-
+
/* toggle view button */
toggle_eventbox = gtk_event_box_new();
gtk_widget_show(toggle_eventbox);
-
+
gtk_box_pack_end(GTK_BOX(hbox), toggle_eventbox, FALSE, FALSE, HSPACING_NARROW);
toggle_arrow = gtk_image_new_from_icon_name("pan-down-symbolic", GTK_ICON_SIZE_MENU);
@@ -635,7 +635,7 @@ SummaryView *summary_create(MainWindow *mainwin)
G_CALLBACK(summary_toggle_multiple_pressed),
summaryview);
#endif
-
+
statlabel_msgs = gtk_label_new("");
gtk_widget_show(statlabel_msgs);
gtk_box_pack_end(GTK_BOX(stat_box), statlabel_msgs, FALSE, FALSE, HSPACING_NARROW);
@@ -686,7 +686,7 @@ SummaryView *summary_create(MainWindow *mainwin)
G_CALLBACK(tog_searchbar_cb), summaryview);
/* create popup menu */
-
+
gtk_action_group_add_actions(mainwin->action_group,
summary_popup_entries,
G_N_ELEMENTS(summary_popup_entries),
@@ -744,8 +744,6 @@ SummaryView *summary_create(MainWindow *mainwin)
#ifndef GENERIC_UMPC
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewPopup", "Print", "File/Print", GTK_UI_MANAGER_MENUITEM)
#endif
- /* last separator, for plugins */
- MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewPopup", "Separator6", "File/---", GTK_UI_MANAGER_SEPARATOR)
/* submenus - replyto */
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewPopup/ReplyTo", "All", "SummaryViewPopup/ReplyTo/All", GTK_UI_MANAGER_MENUITEM)
@@ -789,13 +787,13 @@ SummaryView *summary_create(MainWindow *mainwin)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewPopup/CreateProcessingRule", "BySubject", "Tools/CreateProcessingRule/BySubject", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewPopup/CreateProcessingRule", "BySender", "Tools/CreateProcessingRule/BySender", GTK_UI_MANAGER_MENUITEM)
#endif
-
+
/* submenus - view */
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewPopup/View", "OpenNewWindow", "View/OpenNewWindow", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewPopup/View", "MessageSource", "View/MessageSource", GTK_UI_MANAGER_MENUITEM)
#ifndef GENERIC_UMPC
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewPopup/View", "AllHeaders", "View/AllHeaders", GTK_UI_MANAGER_MENUITEM)
-#endif
+#endif
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus", "SummaryViewHeaderPopup", "SummaryViewHeaderPopup", GTK_UI_MANAGER_MENU)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewHeaderPopup", "LockColumnHeaders", "SummaryViewHeaderPopup/LockColumnHeaders", GTK_UI_MANAGER_MENUITEM)
@@ -841,7 +839,7 @@ SummaryView *summary_create(MainWindow *mainwin)
/* CLAWS: need this to get the SummaryView * from
* the CList */
- g_object_set_data(G_OBJECT(ctree), "summaryview", (gpointer)summaryview);
+ g_object_set_data(G_OBJECT(ctree), "summaryview", (gpointer)summaryview);
gtk_widget_show_all(vbox);
@@ -851,7 +849,7 @@ SummaryView *summary_create(MainWindow *mainwin)
quicksearch_show(quicksearch);
else
quicksearch_hide(quicksearch);
-
+
if (prefs_common.layout_mode == WIDE_MSGLIST_LAYOUT ||
prefs_common.layout_mode == SMALL_LAYOUT)
gtk_widget_hide(summaryview->toggle_eventbox);
@@ -865,7 +863,7 @@ void summary_relayout(SummaryView *summaryview)
g_object_ref(summaryview->hbox_l);
g_object_ref(summaryview->statlabel_msgs);
-
+
gtk_container_remove(GTK_CONTAINER(
gtk_widget_get_parent(summaryview->hbox_l)), summaryview->hbox_l);
gtk_container_remove(GTK_CONTAINER(
@@ -902,7 +900,7 @@ void summary_relayout(SummaryView *summaryview)
gtk_widget_show(summaryview->toggle_eventbox);
gtk_widget_show(summaryview->statlabel_msgs);
}
-
+
break;
}
summary_set_column_order(summaryview);
@@ -967,7 +965,7 @@ static void summary_set_fonts(SummaryView *summaryview)
static void summary_set_folder_pixmap(SummaryView *summaryview, StockPixmap icon)
{
- GtkWidget *pixmap;
+ GtkWidget *pixmap;
if (!summaryview->folder_pixmap_eventbox) {
summaryview->folder_pixmap_eventbox = gtk_event_box_new();
gtk_widget_show(summaryview->folder_pixmap_eventbox);
@@ -983,7 +981,7 @@ static void summary_set_folder_pixmap(SummaryView *summaryview, StockPixmap icon
pixmap = stock_pixmap_widget(icon);
gtk_container_add(GTK_CONTAINER(summaryview->folder_pixmap_eventbox), pixmap);
gtk_widget_show(pixmap);
- summaryview->folder_pixmap = pixmap;
+ summaryview->folder_pixmap = pixmap;
}
void summary_init(SummaryView *summaryview)
@@ -1019,7 +1017,7 @@ void summary_init(SummaryView *summaryview)
gtk_container_add (GTK_CONTAINER(summaryview->toggle_search), pixmap);
gtk_widget_show(pixmap);
summaryview->quick_search_pixmap = pixmap;
-
+
#ifdef GENERIC_UMPC
pixmap = stock_pixmap_widget(STOCK_PIXMAP_SELECTION);
gtk_container_add(GTK_CONTAINER(summaryview->multiple_sel_togbtn), pixmap);
@@ -1037,7 +1035,7 @@ void summary_init(SummaryView *summaryview)
summary_set_column_titles(summaryview);
summary_colorlabel_menu_create(summaryview, FALSE);
summary_tags_menu_create(summaryview, FALSE);
- main_create_mailing_list_menu (summaryview->mainwin, NULL);
+ main_create_mailing_list_menu (summaryview->mainwin, NULL);
summary_set_menu_sensitive(summaryview);
summaryview->header_menu_lock = FALSE;
@@ -1051,7 +1049,7 @@ void summary_init(SummaryView *summaryview)
( i && (folder_has_parent_of_type(i, F_OUTBOX) \
|| folder_has_parent_of_type(i, F_DRAFT) \
|| folder_has_parent_of_type(i, F_QUEUE)) )
-
+
static void summary_switch_from_to(SummaryView *summaryview, FolderItem *item)
{
gboolean show_from = FALSE, show_to = FALSE;
@@ -1059,19 +1057,19 @@ static void summary_switch_from_to(SummaryView *summaryview, FolderItem *item)
gint from_pos = 0, to_pos = 0;
SummaryColumnState *col_state = summaryview->col_state;
GtkCMCTree *ctree = GTK_CMCTREE(summaryview->ctree);
-
+
if (!item || ((prefs_common.layout_mode == VERTICAL_LAYOUT || prefs_common.layout_mode == SMALL_LAYOUT) && prefs_common.two_line_vert) )
return;
if (FOLDER_SHOWS_TO_HDR(item))
show_to = TRUE;
else
show_from = TRUE;
-
+
from_pos = summaryview->col_pos[S_COL_FROM];
to_pos = summaryview->col_pos[S_COL_TO];
showing_from = col_state[from_pos].visible;
showing_to = col_state[to_pos].visible;
-
+
if (showing_from && showing_to) {
debug_print("showing both\n");
return;
@@ -1082,7 +1080,7 @@ static void summary_switch_from_to(SummaryView *summaryview, FolderItem *item)
return;
}
- debug_print("showing %s %s, must show %s %s\n",
+ debug_print("showing %s %s, must show %s %s\n",
showing_from?"From":"",
showing_to?"To":"",
show_from?"From":"",
@@ -1163,7 +1161,7 @@ static void summaryview_quicksearch_recurse_step(SummaryView *summaryview, Folde
if (result) {
summaryview->recursive_matched_folders = g_slist_prepend(
summaryview->recursive_matched_folders, item);
-
+
folderview_update_search_icon(item, TRUE);
}
}
@@ -1203,7 +1201,7 @@ static void summaryview_quicksearch_recurse(SummaryView *summaryview)
summaryview->search_root_folder = summaryview->folder_item;
summaryview_quicksearch_search_subfolders(summaryview, summaryview->folder_item);
-
+
main_window_cursor_normal(summaryview->mainwin);
END_TIMING();
}
@@ -1221,7 +1219,7 @@ static gboolean summary_check_consistency(FolderItem *item, GSList *mlist)
if (MSG_IS_UNREAD(msginfo->flags))
u++;
if (MSG_IS_MARKED(msginfo->flags))
- m++;
+ m++;
if (MSG_IS_REPLIED(msginfo->flags))
r++;
if (MSG_IS_FORWARDED(msginfo->flags))
@@ -1248,7 +1246,7 @@ static gboolean summary_check_consistency(FolderItem *item, GSList *mlist)
folder_item_scan_full(item, FALSE);
END_TIMING();
return FALSE;
- }
+ }
END_TIMING();
return TRUE;
}
@@ -1258,7 +1256,7 @@ gboolean summaryview_search_root_progress(gpointer data, guint at, guint matched
SummaryView *summaryview = (SummaryView*) data;
gint interval = quicksearch_is_fast(summaryview->quicksearch) ? 5000 : 100;
-
+
statusbar_progress_all(at, total, interval);
if (at % interval == 0)
@@ -1289,9 +1287,9 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid
inc_lock();
summary_lock(summaryview);
-
+
menu_set_sensitive_all(GTK_MENU_SHELL(summaryview->popupmenu), TRUE);
-
+
utils_free_regex();
is_refresh = (item == summaryview->folder_item && !avoid_refresh) ? TRUE : FALSE;
@@ -1354,7 +1352,7 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid
if (changed || !quicksearch_has_sat_predicate(summaryview->quicksearch))
folder_update_op_count();
}
-
+
summary_freeze(summaryview);
summary_clear_list(summaryview);
@@ -1363,7 +1361,7 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid
if (!item || !item->path || !folder_item_parent(item) || item->no_select) {
g_free(buf);
debug_print("empty folder (%p %s %p %d)\n",
- item,
+ item,
(item && item->path)?item->path:"(null)",
item?folder_item_parent(item):0x0,
item?item->no_select:FALSE);
@@ -1407,8 +1405,8 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid
START_TIMING("quicksearch");
- statusbar_print_all(_("Searching in %s... \n"),
- summaryview->folder_item->path ?
+ statusbar_print_all(_("Searching in %s... \n"),
+ summaryview->folder_item->path ?
summaryview->folder_item->path : "(null)");
folder_item_update_freeze();
@@ -1439,7 +1437,7 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid
|| summaryview->folder_item->hide_read_threads) &&
quicksearch_has_sat_predicate(summaryview->quicksearch) == FALSE) {
GSList *not_killed;
-
+
summary_set_hide_menu(summaryview, "/Menu/View/HideReadMessages",
summaryview->folder_item->hide_read_msgs);
summary_set_hide_menu(summaryview, "/Menu/View/HideDelMessages",
@@ -1449,7 +1447,7 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid
not_killed = NULL;
for(cur = mlist ; cur != NULL && cur->data != NULL ; cur = g_slist_next(cur)) {
MsgInfo * msginfo = (MsgInfo *) cur->data;
-
+
if (!msginfo->hidden) {
if (MSG_IS_DELETED(msginfo->flags) && summaryview->folder_item->hide_del_msgs) {
procmsg_msginfo_free(&msginfo);
@@ -1574,7 +1572,7 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid
for (i = 0; i < 6 && node == NULL; i++) {
EntryAction act = prefs_common.summary_select_prio[i];
-
+
switch(act) {
case ACTION_OLDEST_MARKED:
if (summaryview->sort_type == SORT_ASCENDING)
@@ -1626,7 +1624,7 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid
break;
case ACTION_LAST_OPENED:
if (summaryview->folder_item) {
- node = summary_find_msg_by_msgnum(summaryview,
+ node = summary_find_msg_by_msgnum(summaryview,
summaryview->folder_item->last_seen);
}
break;
@@ -1652,7 +1650,7 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid
stop = TRUE;
break;
}
-
+
if (stop || node)
break;
}
@@ -1669,7 +1667,7 @@ gboolean summary_show(SummaryView *summaryview, FolderItem *item, gboolean avoid
summary_status_show(summaryview);
summary_set_menu_sensitive(summaryview);
toolbar_main_set_sensitive(summaryview->mainwin);
-
+
summary_thaw(summaryview);
STATUSBAR_PUSH(summaryview->mainwin, _("Done."));
STATUSBAR_POP(summaryview->mainwin);
@@ -1781,16 +1779,16 @@ SummarySelection summary_get_selection_type(SummaryView *summaryview)
/*!
*\return MsgInfo * Selected message if there's one selected;
* if multiple selected, or none, return NULL.
- */
+ */
MsgInfo *summary_get_selected_msg(SummaryView *summaryview)
{
- /* summaryview->selected may be valid when multiple
+ /* summaryview->selected may be valid when multiple
* messages were selected */
GList *sellist = GTK_CMCLIST(summaryview->ctree)->selection;
- if (sellist == NULL || sellist->next)
+ if (sellist == NULL || sellist->next)
return NULL;
-
+
return GTKUT_CTREE_NODE_GET_ROW_DATA(sellist->data);
}
@@ -1889,7 +1887,7 @@ void summary_set_menu_sensitive(SummaryView *summaryview)
summary_lock(summaryview);
#ifndef GENERIC_UMPC
- if (summaryview->messageview
+ if (summaryview->messageview
&& summaryview->messageview->mimeview
&& summaryview->messageview->mimeview->textview)
cm_toggle_menu_set_active_full(summaryview->mainwin->ui_manager, "Menus/SummaryViewPopup/View/AllHeaders",
@@ -1981,7 +1979,7 @@ void summary_select_next_unread(SummaryView *summaryview)
else
node = summary_find_prev_flagged_msg
(summaryview, node, MSG_UNREAD, TRUE);
-
+
if (node)
summary_select_node(summaryview, node, OPEN_SELECTED_ON_PREVNEXT);
else {
@@ -2066,7 +2064,7 @@ void summary_select_next_new(SummaryView *summaryview)
else
node = summary_find_prev_flagged_msg
(summaryview, node, MSG_NEW, TRUE);
-
+
if (node)
summary_select_node(summaryview, node, OPEN_SELECTED_ON_PREVNEXT);
else {
@@ -2134,7 +2132,7 @@ void summary_select_next_marked(SummaryView *summaryview)
else
node = summary_find_prev_flagged_msg
(summaryview, node, MSG_MARKED, TRUE);
-
+
if (node)
summary_select_node(summaryview, node, OPEN_SELECTED_ON_PREVNEXT);
else {
@@ -2318,7 +2316,7 @@ void summary_select_node(SummaryView *summaryview, GtkCMCTreeNode *node,
&& summaryview->messageview->mimeview->textview->loading) {
PostponedSelectData *data = g_new0(PostponedSelectData, 1);
summaryview->messageview->mimeview->textview->stop_loading = TRUE;
-
+
data->ctree = ctree;
data->row = NULL;
data->node = node;
@@ -2369,7 +2367,7 @@ guint summary_get_msgnum(SummaryView *summaryview, GtkCMCTreeNode *node)
msginfo = gtk_cmctree_node_get_row_data(ctree, node);
if (msginfo)
return msginfo->msgnum;
- else
+ else
return -1;
}
@@ -2415,7 +2413,7 @@ static GtkCMCTreeNode *summary_find_next_msg(SummaryView *summaryview,
for (; node != NULL; node = gtkut_ctree_node_next(ctree, node)) {
msginfo = gtk_cmctree_node_get_row_data(ctree, node);
- if (msginfo && !MSG_IS_DELETED(msginfo->flags)
+ if (msginfo && !MSG_IS_DELETED(msginfo->flags)
&& !MSG_IS_MOVE(msginfo->flags)) break;
}
@@ -2469,7 +2467,7 @@ static GtkCMCTreeNode *summary_find_next_flagged_msg(SummaryView *summaryview,
/* Find msg with matching flags but ignore messages with
ignore flags, if searching for new or unread messages */
if ((msginfo && (msginfo->flags.perm_flags & flags) != 0) &&
- !(((flags & (MSG_NEW | MSG_UNREAD)) != 0) && MSG_IS_IGNORE_THREAD(msginfo->flags))
+ !(((flags & (MSG_NEW | MSG_UNREAD)) != 0) && MSG_IS_IGNORE_THREAD(msginfo->flags))
)
break;
}
@@ -2620,7 +2618,7 @@ static void summary_update_status(SummaryView *summaryview)
for (node = GTK_CMCTREE_NODE(GTK_CMCLIST(ctree)->row_list);
node != NULL; node = gtkut_ctree_node_next(ctree, node)) {
msginfo = GTKUT_CTREE_NODE_GET_ROW_DATA(node);
-
+
if (!msginfo)
continue;
@@ -2648,7 +2646,7 @@ static void summary_status_show(SummaryView *summaryview)
MsgInfo *msginfo;
gchar *name;
gchar *tooltip;
-
+
if (!summaryview->folder_item) {
gtk_label_set_text(GTK_LABEL(summaryview->statlabel_folder), "");
gtk_label_set_text(GTK_LABEL(summaryview->statlabel_select), "");
@@ -2670,8 +2668,8 @@ static void summary_status_show(SummaryView *summaryview)
n_selected++;
}
}
-
- if (summaryview->folder_item->hide_read_msgs
+
+ if (summaryview->folder_item->hide_read_msgs
|| summaryview->folder_item->hide_del_msgs
|| summaryview->folder_item->hide_read_threads
|| quicksearch_has_sat_predicate(summaryview->quicksearch)) {
@@ -2748,7 +2746,7 @@ static void summary_status_show(SummaryView *summaryview)
sel = g_strdup("");
itstr = g_strdup("");
}
-
+
if (prefs_common.layout_mode != SMALL_LAYOUT) {
str = g_strconcat(n_selected ? itos(n_selected) : "",
itstr, sel, spc, del, mv, cp, NULL);
@@ -2757,7 +2755,7 @@ static void summary_status_show(SummaryView *summaryview)
g_free(mv);
g_free(cp);
g_free(itstr);
-
+
gtk_label_set_text(GTK_LABEL(summaryview->statlabel_select), str);
g_free(str);
@@ -2794,7 +2792,7 @@ static void summary_status_show(SummaryView *summaryview)
_("Watched:"), n_watched);
gtk_widget_set_tooltip_markup(GTK_WIDGET(summaryview->statlabel_msgs),
- tooltip);
+ tooltip);
g_free(tooltip);
} else {
gchar *ssize, *tsize;
@@ -2813,7 +2811,7 @@ static void summary_status_show(SummaryView *summaryview)
g_free(mv);
g_free(cp);
g_free(itstr);
-
+
gtk_label_set_text(GTK_LABEL(summaryview->statlabel_select), str);
g_free(str);
}
@@ -3009,7 +3007,7 @@ void summary_reflect_prefs(void)
summary_set_column_titles(summaryview);
summary_relayout(summaryview);
-
+
if (summaryview->folder_item)
summary_show(summaryview, summaryview->folder_item, FALSE);
}
@@ -3121,7 +3119,7 @@ static gboolean summary_update_thread_age(GNode *node, gpointer data)
*most_recent = msginfo->date_t;
}
return FALSE;
-}
+}
static void summary_find_thread_age(GNode *gnode)
{
@@ -3147,7 +3145,7 @@ static gboolean summary_update_is_read(GNode *node, gpointer data)
return TRUE;
}
return FALSE;
-}
+}
static gboolean summary_thread_is_read(GNode *gnode)
{
@@ -3254,7 +3252,7 @@ static void summary_set_ctree_from_list(SummaryView *summaryview,
gboolean vert_layout = (prefs_common.layout_mode == VERTICAL_LAYOUT);
gboolean small_layout = (prefs_common.layout_mode == SMALL_LAYOUT);
START_TIMING("");
-
+
if (!mlist) return;
display = gdk_display_get_default();
@@ -3279,13 +3277,13 @@ static void summary_set_ctree_from_list(SummaryView *summaryview,
if (prefs_common.use_addr_book)
start_address_completion(NULL);
-
+
if (summaryview->threaded) {
GNode *root, *gnode;
START_TIMING("threaded");
root = procmsg_get_thread_tree(mlist);
-
+
for (gnode = root->children; gnode != NULL;
gnode = gnode->next) {
if (!summaryview->folder_item->hide_read_threads ||
@@ -3299,7 +3297,7 @@ static void summary_set_ctree_from_list(SummaryView *summaryview,
}
g_node_destroy(root);
-
+
END_TIMING();
} else {
gchar *text[N_SUMMARY_COLS];
@@ -3381,7 +3379,7 @@ static gchar *summary_complete_address(const gchar *addr)
{
gint count;
gchar *res, *tmp, *email_addr;
-
+
if (addr == NULL || !strchr(addr, '@'))
return NULL;
@@ -3457,7 +3455,7 @@ static inline void summary_set_header(SummaryView *summaryview, gchar *text[],
text[col_pos[S_COL_TAGS]] = "";
/* slow! */
- if (summaryview->col_state[summaryview->col_pos[S_COL_DATE]].visible ||
+ if (summaryview->col_state[summaryview->col_pos[S_COL_DATE]].visible ||
((vert_layout || small_layout) && prefs_common.two_line_vert)) {
if (msginfo->date_t && msginfo->date_t > 0) {
procheader_date_get_localtime(date_modified,
@@ -3469,11 +3467,11 @@ static inline void summary_set_header(SummaryView *summaryview, gchar *text[],
else
text[col_pos[S_COL_DATE]] = _("(No Date)");
}
-
+
if (prefs_common.swap_from && msginfo->from && msginfo->to
&& !summaryview->col_state[summaryview->col_pos[S_COL_TO]].visible) {
gchar *addr = NULL;
-
+
addr = g_strdup(msginfo->from);
if (addr) {
@@ -3516,8 +3514,8 @@ static inline void summary_set_header(SummaryView *summaryview, gchar *text[],
from_text = _("(No From)");
}
}
-
- to_text = msginfo->to ? msginfo->to :
+
+ to_text = msginfo->to ? msginfo->to :
(msginfo->cc ? msginfo->cc :
(msginfo->newsgroups ? msginfo->newsgroups : NULL
)
@@ -3559,13 +3557,13 @@ static inline void summary_set_header(SummaryView *summaryview, gchar *text[],
tmp2[BUFFSIZE-1]='\0';
text[col_pos[S_COL_FROM]] = tmp2;
}
-
+
if (summaryview->simplify_subject_preg != NULL)
- text[col_pos[S_COL_SUBJECT]] = msginfo->subject ?
- string_remove_match(tmp3, BUFFSIZE, msginfo->subject,
- summaryview->simplify_subject_preg) :
+ text[col_pos[S_COL_SUBJECT]] = msginfo->subject ?
+ string_remove_match(tmp3, BUFFSIZE, msginfo->subject,
+ summaryview->simplify_subject_preg) :
_("(No Subject)");
- else
+ else
text[col_pos[S_COL_SUBJECT]] = msginfo->subject ? msginfo->subject :
_("(No Subject)");
if ((vert_layout || small_layout) && prefs_common.two_line_vert) {
@@ -3643,7 +3641,7 @@ static void summary_msginfo_set_flags(MsgInfo *msginfo, MsgPermFlags flags, MsgT
}
}
-static void summary_msginfo_change_flags(MsgInfo *msginfo,
+static void summary_msginfo_change_flags(MsgInfo *msginfo,
MsgPermFlags add_flags, MsgTmpFlags add_tmp_flags,
MsgPermFlags rem_flags, MsgTmpFlags rem_tmp_flags)
{
@@ -3745,7 +3743,7 @@ static void summary_display_msg_full(SummaryView *summaryview,
return;
else if (summaryview->messageview)
summaryview->messageview->filtered = FALSE;
- }
+ }
cm_return_if_fail(row != NULL);
if (summary_is_locked(summaryview)) return;
@@ -3761,7 +3759,7 @@ static void summary_display_msg_full(SummaryView *summaryview,
summary_unlock(summaryview);
END_TIMING();
return;
- }
+ }
if (new_window && prefs_common.layout_mode != SMALL_LAYOUT) {
MessageView *msgview;
@@ -3807,7 +3805,7 @@ static void summary_display_msg_full(SummaryView *summaryview,
data->msginfo = procmsg_msginfo_new_ref(msginfo);
if (summaryview->mark_as_read_timeout_tag != 0)
g_source_remove(summaryview->mark_as_read_timeout_tag);
- summaryview->mark_as_read_timeout_tag =
+ summaryview->mark_as_read_timeout_tag =
g_timeout_add_seconds(prefs_common.mark_as_read_delay,
msginfo_mark_as_read_timeout, data);
} else if (new_window || !prefs_common.mark_as_read_on_new_window) {
@@ -3850,10 +3848,10 @@ void summary_open_msg(SummaryView *summaryview, gboolean new_window,
gboolean from_sep_msgview)
{
if (!summaryview->selected) return;
-
+
/* CLAWS: if separate message view, don't open a new window
* but rather use the current separated message view */
- summary_display_msg_full(summaryview, summaryview->selected,
+ summary_display_msg_full(summaryview, summaryview->selected,
new_window, FALSE, from_sep_msgview);
}
@@ -4089,7 +4087,7 @@ static void summary_mark_row(SummaryView *summaryview, GtkCMCTreeNode *row)
summaryview->copied--;
procmsg_msginfo_set_to_folder(msginfo, NULL);
- summary_msginfo_change_flags(msginfo, MSG_MARKED, 0, MSG_DELETED,
+ summary_msginfo_change_flags(msginfo, MSG_MARKED, 0, MSG_DELETED,
MSG_MOVE | MSG_COPY | MSG_MOVE_DONE);
summary_set_row_marks(summaryview, row);
debug_print("Message %s/%d is marked\n", msginfo->folder->path, msginfo->msgnum);
@@ -4111,9 +4109,9 @@ static void summary_lock_row(SummaryView *summaryview, GtkCMCTreeNode *row)
summaryview->copied--;
}
procmsg_msginfo_set_to_folder(msginfo, NULL);
- summary_msginfo_change_flags(msginfo, MSG_LOCKED, 0, MSG_DELETED,
+ summary_msginfo_change_flags(msginfo, MSG_LOCKED, 0, MSG_DELETED,
MSG_MOVE | MSG_COPY | MSG_MOVE_DONE);
-
+
summary_set_row_marks(summaryview, row);
debug_print("Message %d is locked\n", msginfo->msgnum);
}
@@ -4211,7 +4209,7 @@ void summary_mark_as_read(SummaryView *summaryview)
GTK_CMCTREE_NODE(cur->data));
folder_item_set_batch(summaryview->folder_item, FALSE);
END_LONG_OPERATION(summaryview);
-
+
summary_status_show(summaryview);
}
@@ -4236,7 +4234,7 @@ void summary_mark_as_unread(SummaryView *summaryview)
GTK_CMCTREE_NODE(cur->data));
folder_item_set_batch(summaryview->folder_item, FALSE);
END_LONG_OPERATION(summaryview);
-
+
summary_status_show(summaryview);
}
@@ -4253,7 +4251,7 @@ void summary_msgs_lock(SummaryView *summaryview)
summary_lock_row(summaryview,
GTK_CMCTREE_NODE(cur->data));
END_LONG_OPERATION(summaryview);
-
+
summary_status_show(summaryview);
}
@@ -4270,7 +4268,7 @@ void summary_msgs_unlock(SummaryView *summaryview)
summary_unlock_row(summaryview,
GTK_CMCTREE_NODE(cur->data));
END_LONG_OPERATION(summaryview);
-
+
summary_status_show(summaryview);
}
@@ -4389,7 +4387,7 @@ void summary_mark_as_spam(SummaryView *summaryview, guint action, GtkWidget *wid
if (msginfo)
msgs = g_slist_prepend(msgs, msginfo);
}
-
+
if (procmsg_spam_learner_learn(NULL, msgs, is_spam) == 0) {
for (cur = GTK_CMCLIST(ctree)->selection; cur != NULL && cur->data != NULL; cur = cur->next) {
GtkCMCTreeNode *row = GTK_CMCTREE_NODE(cur->data);
@@ -4407,7 +4405,7 @@ void summary_mark_as_spam(SummaryView *summaryview, guint action, GtkWidget *wid
summary_msginfo_unset_flags(msginfo, MSG_SPAM, 0);
}
summaryview->display_msg = prefs_common.always_show_msg;
-
+
summary_set_row_marks(summaryview, row);
}
} else {
@@ -4429,8 +4427,8 @@ void summary_mark_as_spam(SummaryView *summaryview, guint action, GtkWidget *wid
MSG_IS_SPAM(msginfo->flags)?LEARN_HAM:LEARN_SPAM);
}
g_slist_free(msgs);
-
- summary_status_show(summaryview);
+
+ summary_status_show(summaryview);
}
static gboolean check_permission(SummaryView *summaryview, MsgInfo * msginfo)
@@ -4451,7 +4449,7 @@ static gboolean check_permission(SummaryView *summaryview, MsgInfo * msginfo)
for(cur = account_get_list() ; cur != NULL ; cur = cur->next) {
PrefsAccount * account;
gchar * from_name;
-
+
account = cur->data;
if (account->name && *account->name)
from_name =
@@ -4462,7 +4460,7 @@ static gboolean check_permission(SummaryView *summaryview, MsgInfo * msginfo)
from_name =
g_strdup_printf("%s",
account->address);
-
+
if (g_utf8_collate(from_name, msginfo->from) == 0) {
g_free(from_name);
found = TRUE;
@@ -4474,7 +4472,7 @@ static gboolean check_permission(SummaryView *summaryview, MsgInfo * msginfo)
if (!found) {
alertpanel_error(_("You're not the author of the article."));
}
-
+
return found;
default:
@@ -4500,11 +4498,11 @@ static void summary_delete_row(SummaryView *summaryview, GtkCMCTreeNode *row)
summaryview->copied--;
procmsg_msginfo_set_to_folder(msginfo, NULL);
- summary_msginfo_change_flags(msginfo, MSG_DELETED, 0, MSG_MARKED,
+ summary_msginfo_change_flags(msginfo, MSG_DELETED, 0, MSG_MARKED,
MSG_MOVE | MSG_COPY | MSG_MOVE_DONE);
summaryview->deleted++;
- if (!prefs_common.immediate_exec &&
+ if (!prefs_common.immediate_exec &&
!folder_has_parent_of_type(summaryview->folder_item, F_TRASH)) {
summary_set_row_marks(summaryview, row);
}
@@ -4524,7 +4522,7 @@ void summary_cancel(SummaryView *summaryview)
return;
news_cancel_article(summaryview->folder_item->folder, msginfo);
-
+
if (summary_is_locked(summaryview)) return;
summary_lock(summaryview);
@@ -4555,7 +4553,7 @@ void summary_delete(SummaryView *summaryview)
if (summary_is_locked(summaryview)) return;
if (!summaryview->folder_item) return;
-
+
START_LONG_OPERATION(summaryview, FALSE);
if (!prefs_common.live_dangerously) {
@@ -4575,11 +4573,11 @@ void summary_delete(SummaryView *summaryview)
}
}
- for (cur = GTK_CMCLIST(ctree)->selection; cur != NULL && cur->data != NULL;
+ for (cur = GTK_CMCLIST(ctree)->selection; cur != NULL && cur->data != NULL;
cur = cur->next) {
GtkCMCTreeNode *row = GTK_CMCTREE_NODE(cur->data);
msginfo = gtk_cmctree_node_get_row_data(ctree, row);
- if (msginfo && msginfo->total_size != 0 &&
+ if (msginfo && msginfo->total_size != 0 &&
msginfo->size != (goffset)msginfo->total_size)
partial_mark_for_delete(msginfo);
}
@@ -4606,7 +4604,7 @@ void summary_delete(SummaryView *summaryview)
node = summary_find_next_msg(summaryview, sel_last,TRUE);
}
summary_select_node(summaryview, node, OPEN_SELECTED_ON_DELETEMOVE);
-
+
if (prefs_common.immediate_exec || folder_has_parent_of_type(item, F_TRASH)) {
summary_execute(summaryview);
/* after deleting, the anchor may be at an invalid row
@@ -4615,7 +4613,7 @@ void summary_delete(SummaryView *summaryview)
} else
summary_status_show(summaryview);
-
+
main_window_cursor_normal(summaryview->mainwin);
}
@@ -4625,13 +4623,13 @@ void summary_delete_trash(SummaryView *summaryview)
PrefsAccount *ac;
if (!summaryview->folder_item ||
FOLDER_TYPE(summaryview->folder_item->folder) == F_NEWS) return;
-
+
if (NULL != (ac = account_find_from_item(summaryview->folder_item)))
to_folder = account_get_special_folder(ac, F_TRASH);
if (to_folder == NULL)
to_folder = summaryview->folder_item->folder->trash;
-
+
if (to_folder == NULL || to_folder == summaryview->folder_item
|| folder_has_parent_of_type(summaryview->folder_item, F_TRASH))
summary_delete(summaryview);
@@ -4655,7 +4653,7 @@ static void summary_unmark_row(SummaryView *summaryview, GtkCMCTreeNode *row)
summaryview->copied--;
procmsg_msginfo_set_to_folder(msginfo, NULL);
- summary_msginfo_unset_flags(msginfo, MSG_MARKED | MSG_DELETED,
+ summary_msginfo_unset_flags(msginfo, MSG_MARKED | MSG_DELETED,
MSG_MOVE | MSG_COPY | MSG_MOVE_DONE);
summary_set_row_marks(summaryview, row);
@@ -4677,7 +4675,7 @@ void summary_unmark(SummaryView *summaryview)
summary_unmark_row(summaryview, GTK_CMCTREE_NODE(cur->data));
folder_item_set_batch(summaryview->folder_item, FALSE);
END_LONG_OPERATION(summaryview);
-
+
summary_status_show(summaryview);
}
@@ -4701,13 +4699,13 @@ static void summary_move_row_to(SummaryView *summaryview, GtkCMCTreeNode *row,
summaryview->copied--;
}
if (!MSG_IS_MOVE(msginfo->flags)) {
- summary_msginfo_change_flags(msginfo, 0, MSG_MOVE, MSG_DELETED,
+ summary_msginfo_change_flags(msginfo, 0, MSG_MOVE, MSG_DELETED,
MSG_COPY | MSG_MOVE_DONE);
summaryview->moved++;
} else {
summary_msginfo_unset_flags(msginfo, MSG_DELETED, MSG_COPY);
}
-
+
if (!prefs_common.immediate_exec) {
summary_set_row_marks(summaryview, row);
}
@@ -4739,7 +4737,7 @@ void summary_move_selected_to(SummaryView *summaryview, FolderItem *to_folder)
return;
}
- START_LONG_OPERATION(summaryview, FALSE);
+ START_LONG_OPERATION(summaryview, FALSE);
for (cur = GTK_CMCLIST(summaryview->ctree)->selection;
cur != NULL && cur->data != NULL; cur = cur->next) {
@@ -4765,9 +4763,9 @@ void summary_move_selected_to(SummaryView *summaryview, FolderItem *to_folder)
summary_select_node(summaryview, node, OPEN_SELECTED_ON_DELETEMOVE);
summary_status_show(summaryview);
}
-
+
if (!summaryview->selected) { /* this was the last message */
- GtkCMCTreeNode *node = gtk_cmctree_node_nth (GTK_CMCTREE(summaryview->ctree),
+ GtkCMCTreeNode *node = gtk_cmctree_node_nth (GTK_CMCTREE(summaryview->ctree),
GTK_CMCLIST(summaryview->ctree)->rows - 1);
if (node)
summary_select_node(summaryview, node, OPEN_SELECTED_ON_DELETEMOVE);
@@ -4807,9 +4805,9 @@ static void summary_copy_row_to(SummaryView *summaryview, GtkCMCTreeNode *row,
if (MSG_IS_MOVE(msginfo->flags)) {
summaryview->moved--;
}
-
+
if (!MSG_IS_COPY(msginfo->flags)) {
- summary_msginfo_change_flags(msginfo, 0, MSG_COPY, MSG_DELETED,
+ summary_msginfo_change_flags(msginfo, 0, MSG_COPY, MSG_DELETED,
MSG_MOVE | MSG_MOVE_DONE);
summaryview->copied++;
} else {
@@ -4885,13 +4883,13 @@ void summary_add_address(SummaryView *summaryview)
msginfo = gtk_cmctree_node_get_row_data(GTK_CMCTREE(summaryview->ctree),
summaryview->selected);
- if (!msginfo || !msginfo->from)
+ if (!msginfo || !msginfo->from)
return;
Xstrdup_a(from, msginfo->from, return);
eliminate_address_comment(from);
extract_address(from);
-
+
full_msginfo = procmsg_msginfo_get_full_info(msginfo);
avatarr = avatars_avatarrender_new(full_msginfo);
@@ -4953,7 +4951,7 @@ void summary_select_thread(SummaryView *summaryview, gboolean delete_thread,
gboolean froze = FALSE;
GList *cur = NULL;
GList *copy = NULL;
- if (!GTK_CMCLIST(summaryview->ctree)->selection)
+ if (!GTK_CMCLIST(summaryview->ctree)->selection)
return;
@@ -5045,14 +5043,14 @@ void summary_save_as(SummaryView *summaryview)
tmp = g_path_get_basename(dest);
if ( aval==0 ) { /* append */
- if (append_file(src, dest, TRUE) < 0)
+ if (append_file(src, dest, TRUE) < 0)
alertpanel_error(_("Couldn't save the file '%s'."), tmp);
} else { /* overwrite */
if (copy_file(src, dest, TRUE) < 0)
alertpanel_error(_("Couldn't save the file '%s'."), tmp);
}
g_free(src);
-
+
/*
* If two or more msgs are selected,
* append them to the output file.
@@ -5089,7 +5087,7 @@ void summary_print(SummaryView *summaryview)
GList *cur;
gchar *msg = g_strdup_printf(_("You are about to print %d "
"messages, one by one. Do you "
- "want to continue?"),
+ "want to continue?"),
g_list_length(clist->selection));
if (g_list_length(clist->selection) > 9
&& alertpanel(_("Warning"), msg, NULL, _("_Cancel"), NULL, _("_Yes"),
@@ -5100,20 +5098,20 @@ void summary_print(SummaryView *summaryview)
g_free(msg);
if (clist->selection == NULL) return;
- for (cur = clist->selection;
- cur != NULL && cur->data != NULL;
+ for (cur = clist->selection;
+ cur != NULL && cur->data != NULL;
cur = cur->next) {
GtkCMCTreeNode *node = GTK_CMCTREE_NODE(cur->data);
MsgInfo *msginfo = gtk_cmctree_node_get_row_data(
GTK_CMCTREE(summaryview->ctree),
node);
gint sel_start = -1, sel_end = -1, partnum = 0;
-
+
if (node == summaryview->displayed) {
partnum = mimeview_get_selected_part_num(summaryview->messageview->mimeview);
textview_get_selection_offsets(summaryview->messageview->mimeview->textview,
&sel_start, &sel_end);
- }
+ }
messageview_print(msginfo, summaryview->messageview->all_headers,
sel_start, sel_end, partnum);
}
@@ -5143,7 +5141,7 @@ gboolean summary_execute(SummaryView *summaryview)
move_val = summary_execute_move(summaryview);
summary_execute_copy(summaryview);
summary_execute_delete(summaryview);
-
+
node = GTK_CMCTREE_NODE(clist->row_list);
for (; node != NULL; node = next) {
next = gtkut_ctree_node_next(ctree, node);
@@ -5221,7 +5219,7 @@ gboolean summary_execute(SummaryView *summaryview)
main_window_cursor_normal(summaryview->mainwin);
- if (move_val < 0)
+ if (move_val < 0)
summary_show(summaryview, summaryview->folder_item, FALSE);
return TRUE;
}
@@ -5248,7 +5246,7 @@ gboolean summary_expunge(SummaryView *summaryview)
folder_item_update_freeze();
summary_execute_expunge(summaryview);
-
+
node = GTK_CMCTREE_NODE(clist->row_list);
for (; node != NULL; node = next) {
next = gtkut_ctree_node_next(ctree, node);
@@ -5331,7 +5329,7 @@ static gint summary_execute_move(SummaryView *summaryview)
GSList *cur;
gint val = -1;
/* search moving messages and execute */
-
+
gtk_cmctree_pre_recursive(ctree, NULL, summary_execute_move_func,
summaryview);
@@ -5340,7 +5338,7 @@ static gint summary_execute_move(SummaryView *summaryview)
summaryview->msginfo_update_callback_id);
val = procmsg_move_messages(summaryview->mlist);
summaryview->msginfo_update_callback_id =
- hooks_register_hook(MSGINFO_UPDATE_HOOKLIST,
+ hooks_register_hook(MSGINFO_UPDATE_HOOKLIST,
summary_update_msg, (gpointer) summaryview);
for (cur = summaryview->mlist; cur != NULL && cur->data != NULL; cur = cur->next) {
@@ -5439,7 +5437,7 @@ static void summary_execute_delete(SummaryView *summaryview)
summaryview->mlist);
summaryview->msginfo_update_callback_id =
- hooks_register_hook(MSGINFO_UPDATE_HOOKLIST,
+ hooks_register_hook(MSGINFO_UPDATE_HOOKLIST,
summary_update_msg, (gpointer) summaryview);
for (cur = summaryview->mlist; cur != NULL && cur->data != NULL; cur = cur->next) {
@@ -5468,14 +5466,14 @@ static void summary_execute_delete_func(GtkCMCTree *ctree, GtkCMCTreeNode *node,
msginfo->msgid)) {
g_hash_table_remove(summaryview->msgid_table,
msginfo->msgid);
- }
+ }
if (prefs_common.thread_by_subject &&
- msginfo->subject && *msginfo->subject &&
+ msginfo->subject && *msginfo->subject &&
node == subject_table_lookup(summaryview->subject_table,
msginfo->subject)) {
subject_table_remove(summaryview->subject_table,
msginfo->subject);
- }
+ }
}
}
@@ -5497,14 +5495,14 @@ static void summary_execute_expunge_func(GtkCMCTree *ctree, GtkCMCTreeNode *node
msginfo->msgid)) {
g_hash_table_remove(summaryview->msgid_table,
msginfo->msgid);
- }
+ }
if (prefs_common.thread_by_subject &&
- msginfo->subject && *msginfo->subject &&
+ msginfo->subject && *msginfo->subject &&
node == subject_table_lookup(summaryview->subject_table,
msginfo->subject)) {
subject_table_remove(summaryview->subject_table,
msginfo->subject);
- }
+ }
}
}
@@ -5522,7 +5520,7 @@ static void summary_execute_expunge(SummaryView *summaryview)
folder_item_expunge(summaryview->folder_item);
summaryview->msginfo_update_callback_id =
- hooks_register_hook(MSGINFO_UPDATE_HOOKLIST,
+ hooks_register_hook(MSGINFO_UPDATE_HOOKLIST,
summary_update_msg, (gpointer) summaryview);
for (cur = summaryview->mlist; cur != NULL && cur->data != NULL; cur = cur->next)
procmsg_msginfo_free((MsgInfo **)&(cur->data));
@@ -5563,7 +5561,7 @@ static void summary_thread_build(SummaryView *summaryview)
if (msginfo && msginfo->inreplyto) {
parent = g_hash_table_lookup(summaryview->msgid_table,
msginfo->inreplyto);
-
+
if (!parent && msginfo->references) {
for (reflist = msginfo->references;
reflist != NULL; reflist = reflist->next)
@@ -5619,7 +5617,7 @@ static void summary_thread_init(SummaryView *summaryview)
}
g_signal_handlers_unblock_by_func(G_OBJECT(ctree),
G_CALLBACK(summary_tree_expanded), summaryview);
- }
+ }
END_TIMING();
}
@@ -5665,7 +5663,7 @@ static void summary_unthread_for_exec_func(GtkCMCTree *ctree, GtkCMCTreeNode *no
summaryview->displayed = NULL;
summary_cancel_mark_read_timeout(summaryview);
-
+
for (top_parent = node;
GTK_CMCTREE_ROW(top_parent)->parent != NULL;
top_parent = GTK_CMCTREE_ROW(top_parent)->parent)
@@ -5676,13 +5674,13 @@ static void summary_unthread_for_exec_func(GtkCMCTree *ctree, GtkCMCTreeNode *no
while (child != NULL) {
GtkCMCTreeNode *next_child;
MsgInfo *cinfo = GTKUT_CTREE_NODE_GET_ROW_DATA(child);
-
+
next_child = GTK_CMCTREE_ROW(child)->sibling;
-
+
if (!MSG_IS_MOVE(cinfo->flags) && !MSG_IS_DELETED(cinfo->flags)) {
- gtk_cmctree_move(ctree, child,
- NULL,
- sibling);
+ gtk_cmctree_move(ctree, child,
+ NULL,
+ sibling);
} else {
if (child == summaryview->displayed) {
messageview_clear(summaryview->messageview);
@@ -5765,7 +5763,7 @@ void summary_collapse_threads(SummaryView *summaryview)
summary_thaw(summaryview);
g_signal_handlers_unblock_by_func(G_OBJECT(ctree),
G_CALLBACK(summary_tree_collapsed), summaryview);
-
+
summaryview->thread_collapsed = TRUE;
gtk_cmctree_node_moveto(ctree, summaryview->selected, 0, 0.5, 0);
@@ -5859,7 +5857,7 @@ void summary_filter(SummaryView *summaryview, gboolean selected_only)
}
folder_item_update_freeze();
-
+
debug_print("filtering...\n");
STATUSBAR_PUSH(summaryview->mainwin, _("Filtering..."));
main_window_cursor_wait(summaryview->mainwin);
@@ -5871,7 +5869,7 @@ void summary_filter(SummaryView *summaryview, gboolean selected_only)
for (cur = GTK_CMCLIST(summaryview->ctree)->selection;
cur != NULL && cur->data != NULL; cur = cur->next) {
- mlist = g_slist_prepend(mlist,
+ mlist = g_slist_prepend(mlist,
procmsg_msginfo_new_ref(
GTKUT_CTREE_NODE_GET_ROW_DATA(cur->data)));
}
@@ -5879,7 +5877,7 @@ void summary_filter(SummaryView *summaryview, gboolean selected_only)
} else {
mlist = folder_item_get_msg_list(summaryview->folder_item);
}
-
+
ac_prefs = ((summaryview->folder_item->folder != NULL) &&
(summaryview->folder_item->folder->account != NULL))
? summaryview->folder_item->folder->account : NULL;
@@ -5889,9 +5887,9 @@ void summary_filter(SummaryView *summaryview, gboolean selected_only)
summary_filter_func((MsgInfo *)cur_list->data, ac_prefs);
}
folder_item_set_batch(summaryview->folder_item, FALSE);
-
+
filtering_move_and_copy_msgs(mlist);
-
+
for (cur_list = mlist; cur_list; cur_list = cur_list->next) {
procmsg_msginfo_free((MsgInfo **)&(cur_list->data));
}
@@ -5906,9 +5904,9 @@ void summary_filter(SummaryView *summaryview, gboolean selected_only)
summary_unlock(summaryview);
- /*
+ /*
* CLAWS: summary_show() only valid after having a lock. ideally
- * we want the lock to be context aware...
+ * we want the lock to be context aware...
*/
summary_show(summaryview, summaryview->folder_item, TRUE);
}
@@ -5918,9 +5916,9 @@ static void summary_filter_func(MsgInfo *msginfo, PrefsAccount *ac_prefs)
MailFilteringData mail_filtering_data;
mail_filtering_data.msginfo = msginfo;
- mail_filtering_data.msglist = NULL;
- mail_filtering_data.filtered = NULL;
- mail_filtering_data.unfiltered = NULL;
+ mail_filtering_data.msglist = NULL;
+ mail_filtering_data.filtered = NULL;
+ mail_filtering_data.unfiltered = NULL;
if (hooks_invoke(MAIL_MANUAL_FILTERING_HOOKLIST, &mail_filtering_data))
return;
@@ -5935,7 +5933,7 @@ void summary_msginfo_filter_open(FolderItem * item, MsgInfo *msginfo,
gchar *key = NULL;
procmsg_get_filter_keyword(msginfo, &header, &key, type);
-
+
if (processing_rule) {
if (item == NULL)
prefs_filtering_open(&pre_global_processing,
@@ -5954,7 +5952,7 @@ void summary_msginfo_filter_open(FolderItem * item, MsgInfo *msginfo,
MANUAL_ANCHOR_FILTERING,
header, key, TRUE);
}
-
+
g_free(header);
g_free(key);
}
@@ -5964,13 +5962,13 @@ void summary_filter_open(SummaryView *summaryview, PrefsFilterType type,
{
MsgInfo *msginfo;
FolderItem * item;
-
+
if (!summaryview->selected) return;
msginfo = gtk_cmctree_node_get_row_data(GTK_CMCTREE(summaryview->ctree),
summaryview->selected);
if (!msginfo) return;
-
+
item = summaryview->folder_item;
summary_msginfo_filter_open(item, msginfo, type, processing_rule);
}
@@ -6048,7 +6046,7 @@ static void summary_set_row_colorlabel(SummaryView *summaryview, GtkCMCTreeNode
msginfo = gtk_cmctree_node_get_row_data(ctree, row);
cm_return_if_fail(msginfo);
- summary_msginfo_change_flags(msginfo, MSG_COLORLABEL_TO_FLAGS(labelcolor), 0,
+ summary_msginfo_change_flags(msginfo, MSG_COLORLABEL_TO_FLAGS(labelcolor), 0,
MSG_CLABEL_FLAG_MASK, 0);
summary_set_row_marks(summaryview, row);
}
@@ -6124,10 +6122,10 @@ static gboolean summary_set_row_tag(SummaryView *summaryview, GtkCMCTreeNode *ro
cm_return_val_if_fail(msginfo, FALSE);
procmsg_msginfo_update_tags(msginfo, set, id);
-
+
if (summaryview->col_state[summaryview->col_pos[S_COL_TAGS]].visible) {
tags_str = procmsg_msginfo_get_tags_str(msginfo);
- gtk_cmctree_node_set_text(ctree, row,
+ gtk_cmctree_node_set_text(ctree, row,
summaryview->col_pos[S_COL_TAGS],
tags_str?tags_str:"-");
g_free(tags_str);
@@ -6200,7 +6198,7 @@ static void summary_colorlabel_menu_item_activate_item_cb(GtkMenuItem *menu_item
if (!sel) return;
menu = GTK_MENU_SHELL(summaryview->colorlabel_menu);
-
+
cm_return_if_fail(menu != NULL);
Xalloca(items, (N_COLOR_LABELS + 1) * sizeof(GtkWidget *), return);
@@ -6266,7 +6264,7 @@ static void summary_colorlabel_menu_create(SummaryView *summaryview, gboolean re
menu = gtk_menu_new();
- gtk_menu_set_accel_group (GTK_MENU (menu),
+ gtk_menu_set_accel_group (GTK_MENU (menu),
gtk_ui_manager_get_accel_group(mainwindow_get_mainwindow()->ui_manager));
/* create sub items. for the menu item activation callback we pass the
@@ -6303,7 +6301,7 @@ static void summary_colorlabel_menu_create(SummaryView *summaryview, gboolean re
if (i < 9)
gtk_accel_map_add_entry(accel_path, GDK_KEY_1+i, GDK_CONTROL_MASK);
g_free(accel_path);
- g_signal_connect (gtk_ui_manager_get_accel_group(mainwindow_get_mainwindow()->ui_manager),
+ g_signal_connect (gtk_ui_manager_get_accel_group(mainwindow_get_mainwindow()->ui_manager),
"accel-changed", G_CALLBACK (mainwin_accel_changed_cb), item);
}
@@ -6349,7 +6347,7 @@ static void summary_tags_menu_item_activate_item_cb(GtkMenuItem *menu_item,
"tag_id"));
gtk_check_menu_item_set_active
(GTK_CHECK_MENU_ITEM(cur->data), FALSE);
-
+
g_hash_table_insert(menu_table, GINT_TO_POINTER(id), GTK_CHECK_MENU_ITEM(cur->data));
g_hash_table_insert(menu_allsel_table, GINT_TO_POINTER(id), GINT_TO_POINTER(0));
}
@@ -6426,7 +6424,7 @@ static void summary_tags_menu_item_apply_tags_activate_cb(GtkWidget *widget,
if (g_object_get_data(G_OBJECT(summaryview->tags_menu),
"dont_toggle"))
return;
-
+
tags_window_open(summary_get_selection(summaryview));
}
@@ -6436,10 +6434,10 @@ static gint summary_tag_cmp_list(gconstpointer a, gconstpointer b)
gint id_b = GPOINTER_TO_INT(b);
const gchar *tag_a = tags_get_tag(id_a);
const gchar *tag_b = tags_get_tag(id_b);
-
+
if (tag_a == NULL)
return tag_b == NULL ? 0:1;
-
+
if (tag_b == NULL)
return 1;
@@ -6467,7 +6465,7 @@ static void summary_tags_menu_create(SummaryView *summaryview, gboolean refresh)
menu = gtk_menu_new();
- gtk_menu_set_accel_group (GTK_MENU (menu),
+ gtk_menu_set_accel_group (GTK_MENU (menu),
gtk_ui_manager_get_accel_group(summaryview->mainwin->ui_manager));
/* create tags menu items */
@@ -6595,7 +6593,7 @@ static gboolean tooltip_cb (GtkWidget *widget,
gint y,
gboolean keyboard_mode,
GtkTooltip *tooltip,
- gpointer user_data)
+ gpointer user_data)
{
GtkCMCTree *ctree = GTK_CMCTREE(widget);
SummaryView *summaryview = (SummaryView *)user_data;
@@ -6634,15 +6632,15 @@ static gboolean tooltip_cb (GtkWidget *widget,
text = info->to;
break;
case GTK_CMCELL_PIXTEXT:
- if (gtk_cmctree_node_get_pixtext(ctree, node, column, &text,
+ if (gtk_cmctree_node_get_pixtext(ctree, node, column, &text,
NULL, NULL) != TRUE)
return FALSE;
break;
- default:
+ default:
if ((text = summaryview_get_tooltip_text(summaryview, info, column)) == NULL)
return FALSE;
}
-
+
if (!text || !*text)
return FALSE;
@@ -6651,16 +6649,16 @@ static gboolean tooltip_cb (GtkWidget *widget,
if ((vert_layout || small_layout) && prefs_common.two_line_vert)
gtk_tooltip_set_markup (tooltip, formatted);
- else
+ else
gtk_tooltip_set_text (tooltip, formatted);
g_free(formatted);
-
+
rect.x = x - 2;
rect.y = y - 2;
rect.width = 12;
- rect.height= 12;
+ rect.height= 12;
gtk_tooltip_set_tip_area(tooltip, &rect);
-
+
return TRUE;
}
#endif
@@ -6770,7 +6768,7 @@ static GtkWidget *summary_ctree_create(SummaryView *summaryview)
gtk_sctree_set_stripes(GTK_SCTREE(ctree), prefs_common.use_stripes_in_summaries);
gtk_cmctree_set_indent(GTK_CMCTREE(ctree), 12);
- g_object_set_data(G_OBJECT(ctree), "summaryview", (gpointer)summaryview);
+ g_object_set_data(G_OBJECT(ctree), "summaryview", (gpointer)summaryview);
for (pos = 0; pos < N_SUMMARY_COLS; pos++) {
gtk_widget_set_can_focus(GTK_CMCLIST(ctree)->column[pos].button,
@@ -6813,7 +6811,7 @@ static GtkWidget *summary_ctree_create(SummaryView *summaryview)
CLIST_BUTTON_SIGNAL_CONNECT(S_COL_SCORE , summary_score_clicked)
CLIST_BUTTON_SIGNAL_CONNECT(S_COL_LOCKED , summary_locked_clicked)
CLIST_BUTTON_SIGNAL_CONNECT(S_COL_TAGS , summary_tags_clicked)
-
+
#undef CLIST_BUTTON_SIGNAL_CONNECT
g_signal_connect(G_OBJECT(ctree), "tree_select_row",
@@ -6866,7 +6864,7 @@ static GtkWidget *summary_ctree_create(SummaryView *summaryview)
#if !GENERIC_UMPC
g_object_set (G_OBJECT(ctree), "has-tooltip", TRUE, NULL);
- g_signal_connect(G_OBJECT(ctree), "query-tooltip",
+ g_signal_connect(G_OBJECT(ctree), "query-tooltip",
G_CALLBACK(tooltip_cb),
summaryview);
#endif
@@ -6909,11 +6907,11 @@ void summary_set_column_order(SummaryView *summaryview)
/* get normal row height */
gtk_cmclist_set_row_height(GTK_CMCLIST(ctree), 0);
- normal_row_height = GTK_CMCLIST(ctree)->row_height;
-
+ normal_row_height = GTK_CMCLIST(ctree)->row_height;
+
if ((prefs_common.layout_mode == SMALL_LAYOUT || prefs_common.layout_mode == VERTICAL_LAYOUT) &&
prefs_common.two_line_vert) {
- gtk_cmclist_set_row_height(GTK_CMCLIST(summaryview->ctree), 2*normal_row_height + 2);
+ gtk_cmclist_set_row_height(GTK_CMCLIST(summaryview->ctree), 2*normal_row_height + 2);
}
}
@@ -6933,7 +6931,7 @@ static gint summary_folder_eventbox_pressed(GtkWidget *eventbox, GdkEventButton
static gint summary_toggle_pressed(GtkWidget *eventbox, GdkEventButton *event,
SummaryView *summaryview)
{
- if (event)
+ if (event)
summary_toggle_view(summaryview);
return TRUE;
}
@@ -6941,7 +6939,7 @@ static gint summary_toggle_pressed(GtkWidget *eventbox, GdkEventButton *event,
static void summary_toggle_multiple_pressed(GtkWidget *widget,
SummaryView *summaryview)
{
- GTK_SCTREE(summaryview->ctree)->force_additive_sel =
+ GTK_SCTREE(summaryview->ctree)->force_additive_sel =
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
}
#endif
@@ -6998,7 +6996,7 @@ static gboolean summary_key_pressed(GtkWidget *widget, GdkEventKey *event,
GtkAdjustment *adj;
gboolean mod_pressed;
- if (!event)
+ if (!event)
return TRUE;
if (quicksearch_has_focus(summaryview->quicksearch))
@@ -7018,7 +7016,7 @@ static gboolean summary_key_pressed(GtkWidget *widget, GdkEventKey *event,
handled = FALSE;
break;
}
- if (event->state & GDK_SHIFT_MASK)
+ if (event->state & GDK_SHIFT_MASK)
mimeview_scroll_page(messageview->mimeview, TRUE);
if (summaryview->displayed != summaryview->selected) {
summary_display_msg(summaryview,
@@ -7030,7 +7028,7 @@ static gboolean summary_key_pressed(GtkWidget *widget, GdkEventKey *event,
} else {
if (!mimeview_scroll_page(messageview->mimeview, FALSE))
summary_select_next_unread(summaryview);
- }
+ }
}
break;
case GDK_KEY_BackSpace: /* Page up */
@@ -7052,11 +7050,11 @@ static gboolean summary_key_pressed(GtkWidget *widget, GdkEventKey *event,
mimeview_scroll_one_line(messageview->mimeview, mod_pressed);
break;
}
-
+
if (handled)
return FALSE;
}
- if (summary_is_locked(summaryview))
+ if (summary_is_locked(summaryview))
return TRUE;
switch (event->keyval) {
@@ -7065,7 +7063,7 @@ static gboolean summary_key_pressed(GtkWidget *widget, GdkEventKey *event,
(GTK_SCROLLED_WINDOW(summaryview->scrolledwin));
if (gtk_adjustment_get_lower(adj) != gtk_adjustment_get_value(adj))
break;
- /* FALLTHROUGH */
+ /* FALLTHROUGH */
case GDK_KEY_Escape:
folderview_grab_focus(summaryview->folderview);
mainwindow_exit_folder(summaryview->mainwin);
@@ -7172,11 +7170,11 @@ static void tog_searchbar_cb(GtkWidget *w, gpointer data)
}
}
-void summaryview_activate_quicksearch(SummaryView *summaryview, gboolean show)
+void summaryview_activate_quicksearch(SummaryView *summaryview, gboolean show)
{
prefs_common.show_searchbar = show;
gtk_toggle_button_set_active(
- GTK_TOGGLE_BUTTON(summaryview->toggle_search),
+ GTK_TOGGLE_BUTTON(summaryview->toggle_search),
show);
if (show) {
quicksearch_show(summaryview->quicksearch);
@@ -7244,7 +7242,7 @@ static void summary_selected(GtkCMCTree *ctree, GtkCMCTreeNode *row,
&& summaryview->messageview->mimeview->textview->loading) {
PostponedSelectData *data = g_new0(PostponedSelectData, 1);
summaryview->messageview->mimeview->textview->stop_loading = TRUE;
-
+
data->ctree = ctree;
data->row = row;
data->node = NULL;
@@ -7308,7 +7306,7 @@ static void summary_selected(GtkCMCTree *ctree, GtkCMCTreeNode *row,
} else if (MSG_IS_REPLIED(msginfo->flags)) {
summary_find_answers(summaryview, msginfo);
return;
- }
+ }
break;
case S_COL_LOCKED:
if (MSG_IS_LOCKED(msginfo->flags)) {
@@ -7327,11 +7325,11 @@ static void summary_selected(GtkCMCTree *ctree, GtkCMCTreeNode *row,
list = messageview_get_msgview_list();
for (cur = list; cur != NULL; cur = cur->next) {
msgview = (MessageView *) cur->data;
-
+
if (msgview->new_window && msgview->update_needed) {
MsgInfo *new_msginfo = summary_get_selected_msg(summaryview);
messageview_show(msgview, new_msginfo, msgview->all_headers);
- msgview->update_needed = FALSE;
+ msgview->update_needed = FALSE;
}
}
@@ -7342,15 +7340,15 @@ static void summary_selected(GtkCMCTree *ctree, GtkCMCTreeNode *row,
if (marked_unread) {
summary_mark_row_as_unread(summaryview, row);
summary_status_show(summaryview);
- }
+ }
return;
}
}
-
+
if (marked_unread) {
summary_mark_row_as_unread(summaryview, row);
summary_status_show(summaryview);
- }
+ }
summary_set_menu_sensitive(summaryview);
toolbar_main_set_sensitive(summaryview->mainwin);
@@ -7376,7 +7374,7 @@ GSList *summary_get_selection(SummaryView *summaryview)
{
GList *sel = NULL;
GSList *msginfo_list = NULL;
-
+
cm_return_val_if_fail(summaryview != NULL, NULL);
sel = GTK_CMCLIST(summaryview->ctree)->selection;
@@ -7384,8 +7382,8 @@ GSList *summary_get_selection(SummaryView *summaryview)
cm_return_val_if_fail(sel != NULL, NULL);
for ( ; sel != NULL; sel = sel->next)
- msginfo_list =
- g_slist_prepend(msginfo_list,
+ msginfo_list =
+ g_slist_prepend(msginfo_list,
gtk_cmctree_node_get_row_data(GTK_CMCTREE(summaryview->ctree),
GTK_CMCTREE_NODE(sel->data)));
return g_slist_reverse(msginfo_list);
@@ -7539,7 +7537,7 @@ static gboolean summary_return_to_list(void *data)
return FALSE;
}
-static void summary_drag_end (GtkWidget *widget,
+static void summary_drag_end (GtkWidget *widget,
GdkDragContext *drag_context,
SummaryView *summaryview)
{
@@ -7586,10 +7584,10 @@ static void summary_drag_data_get(GtkWidget *widget,
if (copy_file(tmp2, dest, TRUE) < 0) {
g_warning("summary_drag_data_get: can't copy %s to %s",
tmp2, dest);
- }
+ }
g_free(tmp2);
tmp2 = dest;
- }
+ }
tmp1 = g_filename_to_uri(tmp2, NULL, NULL);
g_free(tmp2);
tmp2 = g_strconcat(tmp1, "\r\n", NULL);
@@ -7611,12 +7609,12 @@ static void summary_drag_data_get(GtkWidget *widget,
gtk_selection_data_get_target(selection_data), 8,
mail_list, strlen(mail_list));
g_free(mail_list);
- }
+ }
} else if (info == TARGET_DUMMY) {
if (GTK_CMCLIST(summaryview->ctree)->selection)
gtk_selection_data_set(selection_data,
gtk_selection_data_get_target(selection_data), 8,
- "Dummy-Summaryview",
+ "Dummy-Summaryview",
strlen("Dummy-Summaryview")+1);
} else if (info == TARGET_MAIL_CM_PATH_LIST) {
/* content: folder_item_identifier\nmsgid1\nmsgid2\nmsgid3 */
@@ -7654,7 +7652,7 @@ static void summary_drag_data_get(GtkWidget *widget,
}
} else {
g_warning("summary_drag_data_get: no folder item identifier");
- }
+ }
}
}
@@ -7698,7 +7696,7 @@ static void summary_drag_data_received(GtkWidget *widget,
if (info == TARGET_MAIL_URI_LIST) {
FolderItem *item = summaryview->folder_item;
if (!item) {
- gtk_drag_finish(drag_context, FALSE, FALSE, time);
+ gtk_drag_finish(drag_context, FALSE, FALSE, time);
return;
} else {
folderview_finish_dnd(gtk_selection_data_get_data(data),
@@ -7742,7 +7740,7 @@ static gint func_name(GtkCMCList *clist, \
CMP_FUNC_DEF(summary_cmp_by_mark,
MSG_IS_MARKED(msginfo1->flags) - MSG_IS_MARKED(msginfo2->flags))
CMP_FUNC_DEF(summary_cmp_by_status,
- (-(MSG_IS_SPAM(msginfo1->flags))+(MSG_IS_UNREAD(msginfo1->flags)<<1)+(MSG_IS_NEW(msginfo1->flags)<<2))
+ (-(MSG_IS_SPAM(msginfo1->flags))+(MSG_IS_UNREAD(msginfo1->flags)<<1)+(MSG_IS_NEW(msginfo1->flags)<<2))
- (-(MSG_IS_SPAM(msginfo2->flags))+(MSG_IS_UNREAD(msginfo2->flags)<<1)+(MSG_IS_NEW(msginfo2->flags)<<2)) )
CMP_FUNC_DEF(summary_cmp_by_mime,
MSG_IS_WITH_ATTACHMENT(msginfo1->flags) - MSG_IS_WITH_ATTACHMENT(msginfo2->flags))
@@ -7782,10 +7780,10 @@ static gint summary_cmp_by_thread_date(GtkCMCList *clist,
MsgInfo *msginfo1 = ((GtkCMCListRow *)ptr1)->data;
MsgInfo *msginfo2 = ((GtkCMCListRow *)ptr2)->data;
gint thread_diff = msginfo1->thread_date - msginfo2->thread_date;
-
+
if (msginfo1->thread_date > 0 && msginfo2->thread_date > 0)
return thread_diff;
- else
+ else
return msginfo1->date_t - msginfo2->date_t;
}
@@ -7811,14 +7809,14 @@ static gint summary_cmp_by_from(GtkCMCList *clist, gconstpointer ptr1,
if (!str1)
return str2 != NULL;
-
+
if (!str2)
return -1;
-
+
res = g_utf8_collate(str1, str2);
return (res != 0)? res: summary_cmp_by_date(clist, ptr1, ptr2);
}
-
+
static gint summary_cmp_by_to(GtkCMCList *clist, gconstpointer ptr1,
gconstpointer ptr2)
{
@@ -7830,7 +7828,7 @@ static gint summary_cmp_by_to(GtkCMCList *clist, gconstpointer ptr1,
const SummaryView *sv = g_object_get_data(G_OBJECT(clist), "summaryview");
gint res;
cm_return_val_if_fail(sv, -1);
-
+
if (sv->col_state[sv->col_pos[S_COL_TO]].visible) {
str1 = GTK_CMCELL_TEXT(r1->cell[sv->col_pos[S_COL_TO]])->text;
str2 = GTK_CMCELL_TEXT(r2->cell[sv->col_pos[S_COL_TO]])->text;
@@ -7841,14 +7839,14 @@ static gint summary_cmp_by_to(GtkCMCList *clist, gconstpointer ptr1,
if (!str1)
return str2 != NULL;
-
+
if (!str2)
return -1;
-
+
res = g_utf8_collate(str1, str2);
return (res != 0)? res: summary_cmp_by_date(clist, ptr1, ptr2);
}
-
+
static gint summary_cmp_by_tags(GtkCMCList *clist, gconstpointer ptr1,
gconstpointer ptr2)
{
@@ -7860,7 +7858,7 @@ static gint summary_cmp_by_tags(GtkCMCList *clist, gconstpointer ptr1,
MsgInfo *msginfo2 = ((GtkCMCListRow *)ptr2)->data;
gint res;
cm_return_val_if_fail(sv, -1);
-
+
if (sv->col_state[sv->col_pos[S_COL_TAGS]].visible) {
str1 = g_strdup(GTK_CMCELL_TEXT(r1->cell[sv->col_pos[S_COL_TAGS]])->text);
str2 = g_strdup(GTK_CMCELL_TEXT(r2->cell[sv->col_pos[S_COL_TAGS]])->text);
@@ -7878,13 +7876,13 @@ static gint summary_cmp_by_tags(GtkCMCList *clist, gconstpointer ptr1,
g_free(str1);
return -1;
}
-
+
res = g_utf8_collate(str1, str2);
g_free(str1);
g_free(str2);
return (res != 0)? res: summary_cmp_by_date(clist, ptr1, ptr2);
}
-
+
static gint summary_cmp_by_simplified_subject
(GtkCMCList *clist, gconstpointer ptr1, gconstpointer ptr2)
{
@@ -7899,7 +7897,7 @@ static gint summary_cmp_by_simplified_subject
cm_return_val_if_fail(sv, -1);
cm_return_val_if_fail(msginfo1 != NULL && msginfo2 != NULL, -1);
-
+
if (sv->col_state[sv->col_pos[S_COL_SUBJECT]].visible) {
str1 = GTK_CMCELL_TEXT(r1->cell[sv->col_pos[S_COL_SUBJECT]])->text;
str2 = GTK_CMCELL_TEXT(r2->cell[sv->col_pos[S_COL_SUBJECT]])->text;
@@ -7919,7 +7917,7 @@ static gint summary_cmp_by_simplified_subject
prefs = msginfo2->folder->prefs;
if (!prefs)
return -1;
-
+
res = subject_compare_for_sort(str1, str2);
return (res != 0)? res: summary_cmp_by_date(clist, ptr1, ptr2);
}
@@ -8010,8 +8008,8 @@ void summary_unignore_thread(SummaryView *summaryview)
START_LONG_OPERATION(summaryview, FALSE);
for (cur = GTK_CMCLIST(ctree)->selection; cur != NULL && cur->data != NULL; cur = cur->next)
- gtk_cmctree_pre_recursive(ctree, GTK_CMCTREE_NODE(cur->data),
- GTK_CMCTREE_FUNC(summary_unignore_thread_func),
+ gtk_cmctree_pre_recursive(ctree, GTK_CMCTREE_NODE(cur->data),
+ GTK_CMCTREE_FUNC(summary_unignore_thread_func),
summaryview);
END_LONG_OPERATION(summaryview);
@@ -8029,7 +8027,7 @@ static void summary_check_ignore_thread_func
else {
msginfo = gtk_cmctree_node_get_row_data(ctree, row);
*found_ignore = msginfo && MSG_IS_IGNORE_THREAD(msginfo->flags);
- }
+ }
}
void summary_toggle_ignore_thread(SummaryView *summaryview)
@@ -8043,9 +8041,9 @@ void summary_toggle_ignore_thread(SummaryView *summaryview)
GTK_CMCTREE_FUNC(summary_check_ignore_thread_func),
&found_ignore);
- if (found_ignore)
+ if (found_ignore)
summary_unignore_thread(summaryview);
- else
+ else
summary_ignore_thread(summaryview);
}
@@ -8072,8 +8070,8 @@ void summary_watch_thread(SummaryView *summaryview)
START_LONG_OPERATION(summaryview, FALSE);
for (cur = GTK_CMCLIST(ctree)->selection; cur != NULL && cur->data != NULL; cur = cur->next)
- gtk_cmctree_pre_recursive(ctree, GTK_CMCTREE_NODE(cur->data),
- GTK_CMCTREE_FUNC(summary_watch_thread_func),
+ gtk_cmctree_pre_recursive(ctree, GTK_CMCTREE_NODE(cur->data),
+ GTK_CMCTREE_FUNC(summary_watch_thread_func),
summaryview);
END_LONG_OPERATION(summaryview);
@@ -8104,8 +8102,8 @@ void summary_unwatch_thread(SummaryView *summaryview)
START_LONG_OPERATION(summaryview, FALSE);
for (cur = GTK_CMCLIST(ctree)->selection; cur != NULL && cur->data != NULL; cur = cur->next)
- gtk_cmctree_pre_recursive(ctree, GTK_CMCTREE_NODE(cur->data),
- GTK_CMCTREE_FUNC(summary_unwatch_thread_func),
+ gtk_cmctree_pre_recursive(ctree, GTK_CMCTREE_NODE(cur->data),
+ GTK_CMCTREE_FUNC(summary_unwatch_thread_func),
summaryview);
END_LONG_OPERATION(summaryview);
@@ -8123,7 +8121,7 @@ static void summary_check_watch_thread_func
else {
msginfo = gtk_cmctree_node_get_row_data(ctree, row);
*found_watch = msginfo && MSG_IS_WATCH_THREAD(msginfo->flags);
- }
+ }
}
void summary_toggle_watch_thread(SummaryView *summaryview)
@@ -8137,9 +8135,9 @@ void summary_toggle_watch_thread(SummaryView *summaryview)
GTK_CMCTREE_FUNC(summary_check_watch_thread_func),
&found_watch);
- if (found_watch)
+ if (found_watch)
summary_unwatch_thread(summaryview);
- else
+ else
summary_watch_thread(summaryview);
}
@@ -8158,7 +8156,7 @@ void summary_toggle_show_read_messages(SummaryView *summaryview)
hooks_invoke(FOLDER_ITEM_UPDATE_HOOKLIST, &source);
summary_show(summaryview, summaryview->folder_item, FALSE);
}
-
+
void summary_toggle_show_del_messages(SummaryView *summaryview)
{
FolderItemUpdateData source;
@@ -8173,7 +8171,7 @@ void summary_toggle_show_del_messages(SummaryView *summaryview)
hooks_invoke(FOLDER_ITEM_UPDATE_HOOKLIST, &source);
summary_show(summaryview, summaryview->folder_item, FALSE);
}
-
+
void summary_toggle_show_read_threads(SummaryView *summaryview)
{
FolderItemUpdateData source;
@@ -8188,7 +8186,7 @@ void summary_toggle_show_read_threads(SummaryView *summaryview)
hooks_invoke(FOLDER_ITEM_UPDATE_HOOKLIST, &source);
summary_show(summaryview, summaryview->folder_item, FALSE);
}
-
+
static void summary_set_hide_menu (SummaryView *summaryview,
const gchar *menu_item,
guint action)
@@ -8207,7 +8205,7 @@ static void summary_set_hide_menu (SummaryView *summaryview,
void summary_reflect_prefs_pixmap_theme(SummaryView *summaryview)
{
- GtkWidget *pixmap;
+ GtkWidget *pixmap;
stock_pixbuf_gdk(STOCK_PIXMAP_MARK, &markxpm);
stock_pixbuf_gdk(STOCK_PIXMAP_DELETED, &deletedxpm);
@@ -8232,7 +8230,7 @@ void summary_reflect_prefs_pixmap_theme(SummaryView *summaryview)
summary_set_folder_pixmap(summaryview, STOCK_PIXMAP_DIR_OPEN);
pixmap = stock_pixmap_widget(STOCK_PIXMAP_QUICKSEARCH);
- gtk_container_remove (GTK_CONTAINER(summaryview->toggle_search),
+ gtk_container_remove (GTK_CONTAINER(summaryview->toggle_search),
summaryview->quick_search_pixmap);
gtk_container_add(GTK_CONTAINER(summaryview->toggle_search), pixmap);
gtk_widget_show(pixmap);
@@ -8240,7 +8238,7 @@ void summary_reflect_prefs_pixmap_theme(SummaryView *summaryview)
#ifdef GENERIC_UMPC
pixmap = stock_pixmap_widget(STOCK_PIXMAP_SELECTION);
- gtk_container_remove (GTK_CONTAINER(summaryview->multiple_sel_togbtn),
+ gtk_container_remove (GTK_CONTAINER(summaryview->multiple_sel_togbtn),
summaryview->multiple_sel_image);
gtk_container_add(GTK_CONTAINER(summaryview->multiple_sel_togbtn), pixmap);
gtk_widget_show(pixmap);
@@ -8265,7 +8263,7 @@ void summary_reflect_prefs_custom_colors(SummaryView *summaryview)
children = gtk_container_get_children(GTK_CONTAINER(menu));
for (cur = children; cur != NULL && cur->data != NULL; cur = cur->next) {
g_signal_handlers_disconnect_matched
- (gtk_ui_manager_get_accel_group(summaryview->mainwin->ui_manager),
+ (gtk_ui_manager_get_accel_group(summaryview->mainwin->ui_manager),
G_SIGNAL_MATCH_DATA|G_SIGNAL_MATCH_FUNC,
0, 0, NULL, mainwin_accel_changed_cb, cur->data);
gtk_menu_item_set_submenu(GTK_MENU_ITEM(cur->data), NULL);
@@ -8302,7 +8300,7 @@ static regex_t *summary_compile_simplify_regexp(gchar *simplify_subject_regexp)
int err;
gchar buf[BUFFSIZE];
regex_t *preg = NULL;
-
+
preg = g_new0(regex_t, 1);
err = regcomp(preg, simplify_subject_regexp, REG_EXTENDED);
@@ -8313,7 +8311,7 @@ static regex_t *summary_compile_simplify_regexp(gchar *simplify_subject_regexp)
g_free(preg);
preg = NULL;
}
-
+
return preg;
}
void summary_set_prefs_from_folderitem(SummaryView *summaryview, FolderItem *item)
@@ -8329,7 +8327,7 @@ void summary_set_prefs_from_folderitem(SummaryView *summaryview, FolderItem *ite
g_free(summaryview->simplify_subject_preg);
summaryview->simplify_subject_preg = NULL;
}
- if(item->prefs && item->prefs->simplify_subject_regexp &&
+ if(item->prefs && item->prefs->simplify_subject_regexp &&
item->prefs->simplify_subject_regexp[0] && item->prefs->enable_simplify_subject)
summaryview->simplify_subject_preg = summary_compile_simplify_regexp(item->prefs->simplify_subject_regexp);
@@ -8360,7 +8358,7 @@ void summary_save_prefs_to_folderitem(SummaryView *summaryview, FolderItem *item
item->thread_collapsed = summaryview->thread_collapsed;
}
-static gboolean summary_update_msg(gpointer source, gpointer data)
+static gboolean summary_update_msg(gpointer source, gpointer data)
{
MsgInfoUpdate *msginfo_update = (MsgInfoUpdate *) source;
SummaryView *summaryview = (SummaryView *)data;
@@ -8374,10 +8372,10 @@ static gboolean summary_update_msg(gpointer source, gpointer data)
if (msginfo_update->flags & MSGINFO_UPDATE_FLAGS) {
node = gtk_cmctree_find_by_row_data(
- GTK_CMCTREE(summaryview->ctree), NULL,
+ GTK_CMCTREE(summaryview->ctree), NULL,
msginfo_update->msginfo);
- if (node)
+ if (node)
summary_set_row_marks(summaryview, node);
}
@@ -8396,7 +8394,7 @@ void summary_update_unread(SummaryView *summaryview, FolderItem *removed_item)
CLAWS_SET_TIP(summaryview->folder_pixmap_eventbox,
NULL);
tips_initialized = FALSE;
- }
+ }
return;
}
folder_count_total_msgs(&new, &unread, &unreadmarked, &marked, &total,
@@ -8407,7 +8405,7 @@ void summary_update_unread(SummaryView *summaryview, FolderItem *removed_item)
new -= removed_item->new_msgs;
unread -= removed_item->unread_msgs;
}
-
+
if (new > 0 || unread > 0) {
tips_initialized = TRUE;
summary_set_folder_pixmap(summaryview, STOCK_PIXMAP_DIR_OPEN_HRM);
@@ -8469,19 +8467,19 @@ static void summary_find_answers (SummaryView *summaryview, MsgInfo *msg)
char *buf = NULL;
if (msg == NULL || msg->msgid == NULL)
return;
-
+
account = account_get_reply_account(msg, prefs_common.reply_account_autosel);
- if (account == NULL)
+ if (account == NULL)
return;
sent_folder = account_get_special_folder
(account, F_OUTBOX);
-
+
buf = g_strdup_printf("inreplyto matchcase \"%s\"", msg->msgid);
if (sent_folder != summaryview->folder_item) {
folderview_select(summaryview->mainwin->folderview, sent_folder);
}
-
+
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(summaryview->toggle_search), TRUE);
quicksearch_set(summaryview->quicksearch, ADVANCED_SEARCH_EXTENDED, buf);
@@ -8498,17 +8496,17 @@ gint summaryview_export_mbox_list(SummaryView *summaryview)
GSList *list = summary_get_selected_msg_list(summaryview);
gchar *mbox = filesel_select_file_save(_("Export to mbox file"), NULL);
gint ret;
-
+
if (mbox == NULL)
return -2;
if (list == NULL)
return -1;
-
+
ret = export_list_to_mbox(list, mbox);
-
+
g_slist_free(list);
g_free(mbox);
-
+
return ret;
}
diff --git a/src/toolbar.c b/src/toolbar.c
@@ -178,9 +178,6 @@ static void toolbar_print_cb (GtkWidget *widget,
static void toolbar_actions_execute_cb (GtkWidget *widget,
gpointer data);
-static void toolbar_plugins_execute_cb (GtkWidget *widget,
- gpointer data);
-
static void toolbar_send_cb (GtkWidget *widget,
gpointer data);
@@ -280,7 +277,6 @@ struct {
{ "A_CANCEL_ALL", N_("Cancel receiving/sending") },
{ "A_CLOSE", N_("Close window") },
{ "A_SEPARATOR", N_("Separator") },
- { "A_CLAWS_PLUGINS", N_("Claws Mail Plugins") }
};
/* migration table: support reading toolbar configuration files with
@@ -352,7 +348,7 @@ static gboolean toolbar_is_duplicate(gint action, ToolbarType source)
{
GSList *cur;
- if ((action == A_SEPARATOR) || (action == A_CLAWS_ACTIONS) || (action == A_CLAWS_PLUGINS))
+ if ((action == A_SEPARATOR) || (action == A_CLAWS_ACTIONS))
return FALSE;
for (cur = toolbar_config[source].item_list; cur != NULL; cur = cur->next) {
@@ -2012,11 +2008,6 @@ static void toolbar_actions_execute_cb(GtkWidget *widget, gpointer data)
toolbar_action_execute(widget, action_list, parent, toolbar_item->type);
}
-static void toolbar_plugins_execute_cb(GtkWidget *widget, gpointer data)
-{
- ToolbarItem *toolbar_item = data;
-}
-
static MainWindow *get_mainwin(gpointer data)
{
ToolbarItem *toolbar_item = (ToolbarItem*)data;
@@ -2127,7 +2118,6 @@ static void toolbar_buttons_cb(GtkWidget *widget,
{ A_CANCEL_INC, toolbar_cancel_inc_cb },
{ A_CANCEL_SEND, toolbar_cancel_send_cb },
{ A_CANCEL_ALL, toolbar_cancel_all_cb },
- { A_CLAWS_PLUGINS, toolbar_plugins_execute_cb },
};
num_items = sizeof(callbacks)/sizeof(callbacks[0]);
@@ -2607,9 +2597,6 @@ Toolbar *toolbar_create(ToolbarType type,
TOOLBAR_ITEM(item,icon_wid,toolbar_item->text,_("Cancel receiving/sending"));
toolbar_data->cancel_all_btn = item;
break;
- case A_CLAWS_PLUGINS:
- TOOLBAR_ITEM(item,icon_wid,toolbar_item->text, toolbar_item->text);
- break;
default:
TOOLBAR_ITEM(item,icon_wid,toolbar_item->text,
toolbar_ret_descr_from_val(toolbar_item->index));
diff --git a/src/toolbar.h b/src/toolbar.h
@@ -28,20 +28,20 @@ typedef struct _ToolbarItem ToolbarItem;
typedef struct _ToolbarClawsActions ToolbarClawsActions;
typedef enum {
- TOOLBAR_MAIN = 0,
+ TOOLBAR_MAIN = 0,
TOOLBAR_COMPOSE,
TOOLBAR_MSGVIEW
} ToolbarType;
#define NUM_TOOLBARS 3
-typedef enum
+typedef enum
{
COMPOSEBUTTON_MAIL,
COMPOSEBUTTON_NEWS
} ComposeButtonType;
-typedef enum
+typedef enum
{
LEARN_SPAM,
LEARN_HAM
@@ -65,7 +65,7 @@ struct _Toolbar {
GtkWidget *replylist_btn;
GtkWidget *fwd_btn;
-
+
GtkWidget *trash_btn;
GtkWidget *delete_btn;
GtkWidget *delete_dup_btn;
@@ -77,11 +77,11 @@ struct _Toolbar {
GtkWidget *learn_spam_btn;
GtkWidget *learn_spam_icon;
GtkWidget *learn_ham_icon;
-
+
GtkWidget *cancel_inc_btn;
GtkWidget *cancel_send_btn;
GtkWidget *cancel_all_btn;
-
+
ComposeButtonType compose_btn_type;
LearnButtonType learn_btn_type;
@@ -216,8 +216,6 @@ enum {
A_SEPARATOR,
- A_CLAWS_PLUGINS,
-
N_ACTION_VAL
};
@@ -236,19 +234,19 @@ void toolbar_set_default (ToolbarType source);
void toolbar_clear_list (ToolbarType source);
GSList *toolbar_get_list (ToolbarType source);
-void toolbar_set_list_item (ToolbarItem *t_item,
+void toolbar_set_list_item (ToolbarItem *t_item,
ToolbarType source);
gint toolbar_ret_val_from_descr (const gchar *descr);
gchar *toolbar_ret_descr_from_val (gint val);
void toolbar_main_set_sensitive (gpointer data);
-void toolbar_comp_set_sensitive (gpointer data,
+void toolbar_comp_set_sensitive (gpointer data,
gboolean sensitive);
/* invoked by mainwindow entries and toolbar actions */
-void delete_msgview_cb (gpointer data,
- guint action,
+void delete_msgview_cb (gpointer data,
+ guint action,
GtkWidget *widget);
void inc_mail_cb (gpointer data,
guint action,
@@ -259,19 +257,19 @@ void inc_all_account_mail_cb (gpointer data,
void send_queue_cb (gpointer data,
guint action,
GtkWidget *widget);
-void compose_mail_cb (gpointer data,
+void compose_mail_cb (gpointer data,
guint action,
GtkWidget *widget);
-void compose_news_cb (gpointer data,
+void compose_news_cb (gpointer data,
guint action,
GtkWidget *widget);
/* END */
void toolbar_toggle (guint action,
gpointer data);
-void toolbar_update (ToolbarType type,
- gpointer data);
-Toolbar *toolbar_create (ToolbarType type,
+void toolbar_update (ToolbarType type,
+ gpointer data);
+Toolbar *toolbar_create (ToolbarType type,
GtkWidget *container,
gpointer data);
void toolbar_set_style (GtkWidget *toolbar_wid,
@@ -280,7 +278,7 @@ void toolbar_set_style (GtkWidget *toolbar_wid,
void toolbar_destroy (Toolbar *toolbar);
void toolbar_item_destroy (ToolbarItem *toolbar_item);
-void toolbar_set_learn_button (Toolbar *toolbar,
+void toolbar_set_learn_button (Toolbar *toolbar,
LearnButtonType learn_btn_type);
const gchar *toolbar_get_short_text (int action);
int toolbar_get_icon (int action);
diff --git a/src/wizard.c b/src/wizard.c
@@ -36,7 +36,6 @@
#include "file-utils.h"
#include "utils.h"
#include "gtk/menu.h"
-#include "plugin.h"
#include "account.h"
#include "prefs_account.h"
#include "mainwindow.h"
@@ -74,14 +73,14 @@ typedef struct
GtkWidget *notebook;
MainWindow *mainwin;
-
+
GtkWidget *email;
GtkWidget *full_name;
GtkWidget *organization;
GtkWidget *mailbox_name;
GtkWidget *mailbox_label;
-
+
GtkWidget *smtp_server;
GtkWidget *smtp_auth;
GtkWidget *smtp_username;
@@ -299,10 +298,10 @@ static gchar *accountrc_tmpl =
static gchar *wizard_get_default_domain_name(void)
{
static gchar *domain_name = NULL;
-
+
if (domain_name == NULL) {
domain_name = g_strdup(get_domain_name());
- if (strchr(domain_name, '.') != NULL
+ if (strchr(domain_name, '.') != NULL
&& strchr(domain_name, '.') != strrchr(domain_name, '.')
&& strlen(strchr(domain_name, '.')) > 6) {
gchar *tmp = g_strdup(strchr(domain_name, '.')+1);
@@ -321,7 +320,7 @@ static gchar *get_name_for_mail(void)
name = g_utf8_strdown(tmpl.name, -1);
while(strstr(name, " "))
*strstr(name, " ")='.';
-
+
return name;
}
@@ -451,7 +450,7 @@ static void initialize_fonts(WizardWindow *wizard)
prefs_common.boldfont = pango_font_description_to_string(bold_desc);
pango_font_description_free(bold_desc);
g_free(curfont);
-#endif
+#endif
tmp = g_strdup(prefs_common.textfont);
if (strrchr(tmp, ' ')) {
*(strrchr(tmp, ' ')) = '\0';
@@ -460,7 +459,7 @@ static void initialize_fonts(WizardWindow *wizard)
prefs_common.textfont = new;
}
g_free(tmp);
-
+
tmp = g_strdup(prefs_common.smallfont);
if (strrchr(tmp, ' ')) {
*(strrchr(tmp, ' ')) = '\0';
@@ -469,7 +468,7 @@ static void initialize_fonts(WizardWindow *wizard)
prefs_common.smallfont = new;
}
g_free(tmp);
-
+
tmp = g_strdup(prefs_common.normalfont);
if (strrchr(tmp, ' ')) {
*(strrchr(tmp, ' ')) = '\0';
@@ -515,16 +514,16 @@ static void write_welcome_email(WizardWindow *wizard)
FolderItem *inbox = folder ? folder->inbox:NULL;
gchar *file = get_tmp_file();
gchar enc_from_name[BUFFSIZE], enc_to_name[BUFFSIZE], enc_subject[BUFFSIZE];
-
+
get_rfc822_date(date, sizeof(date));
- conv_encode_header_full(enc_subject, sizeof(enc_subject),
+ conv_encode_header_full(enc_subject, sizeof(enc_subject),
C_("Welcome Mail Subject", "Welcome to Claws Mail"),
strlen("Subject: "), FALSE, CS_INTERNAL);
- conv_encode_header_full(enc_to_name, sizeof(enc_to_name),
+ conv_encode_header_full(enc_to_name, sizeof(enc_to_name),
gtk_entry_get_text(GTK_ENTRY(wizard->full_name)),
strlen("To: "), TRUE, CS_INTERNAL);
- conv_encode_header_full(enc_from_name, sizeof(enc_from_name),
+ conv_encode_header_full(enc_from_name, sizeof(enc_from_name),
_("The Claws Mail Team"),
strlen("From: "), TRUE, CS_INTERNAL);
@@ -550,12 +549,6 @@ static void write_welcome_email(WizardWindow *wizard)
"mail by clicking the 'Get Mail' button at the left of the\n"
"toolbar.\n"
"\n"
- "Claws Mail has lots of extra features accessible via plugins,\n"
- "like anti-spam filtering and learning (via the Bogofilter or\n"
- "SpamAssassin plugins), privacy protection (via PGP/Mime), an RSS\n"
- "aggregator, a calendar, and much more. You can load them from\n"
- "the menu entry '/Configuration/Plugins'.\n"
- "\n"
"You can change your Account Preferences by using the menu\n"
"entry '/Configuration/Preferences for current account'\n"
"and change the general Preferences by using\n"
@@ -586,7 +579,7 @@ static void write_welcome_email(WizardWindow *wizard)
"so at <%s>.\n\n"),
HOMEPAGE_URI, MANUAL_URI, FAQ_URI, THEMES_URI, MAILING_LIST_URI,
GPL_URI, DONATE_URI);
-
+
msg = g_strconcat(head, body, NULL);
if (inbox && inbox->total_msgs == 0
@@ -614,20 +607,20 @@ static gboolean wizard_write_config(WizardWindow *wizard)
prefs_account->protocol = combobox_get_active_data(
GTK_COMBO_BOX(wizard->recv_type));
-
- if (wizard->create_mailbox && prefs_account->protocol != A_IMAP4 &&
+
+ if (wizard->create_mailbox && prefs_account->protocol != A_IMAP4 &&
!strlen(gtk_entry_get_text(GTK_ENTRY(wizard->mailbox_name)))) {
alertpanel_error(_("Please enter the mailbox name."));
g_free(prefs_account);
gtk_notebook_set_current_page (
- GTK_NOTEBOOK(wizard->notebook),
+ GTK_NOTEBOOK(wizard->notebook),
MAILBOX_PAGE);
return FALSE;
}
if (!mailbox_ok) {
if (wizard->create_mailbox && prefs_account->protocol != A_IMAP4) {
- mailbox_ok = setup_write_mailbox_path(wizard->mainwin,
+ mailbox_ok = setup_write_mailbox_path(wizard->mainwin,
gtk_entry_get_text(
GTK_ENTRY(wizard->mailbox_name)));
} else
@@ -638,21 +631,21 @@ static gboolean wizard_write_config(WizardWindow *wizard)
/* alertpanel done by setup_write_mailbox_path */
g_free(prefs_account);
gtk_notebook_set_current_page (
- GTK_NOTEBOOK(wizard->notebook),
+ GTK_NOTEBOOK(wizard->notebook),
MAILBOX_PAGE);
return FALSE;
}
-
+
if (!strlen(gtk_entry_get_text(GTK_ENTRY(wizard->full_name)))
|| !strlen(gtk_entry_get_text(GTK_ENTRY(wizard->email)))) {
alertpanel_error(_("Please enter your name and email address."));
g_free(prefs_account);
gtk_notebook_set_current_page (
- GTK_NOTEBOOK(wizard->notebook),
+ GTK_NOTEBOOK(wizard->notebook),
USER_PAGE);
return FALSE;
}
-
+
if (prefs_account->protocol != A_LOCAL) {
if (!strlen(gtk_entry_get_text(GTK_ENTRY(wizard->recv_username)))
|| !strlen(gtk_entry_get_text(GTK_ENTRY(wizard->recv_server)))) {
@@ -660,7 +653,7 @@ static gboolean wizard_write_config(WizardWindow *wizard)
"and username."));
g_free(prefs_account);
gtk_notebook_set_current_page (
- GTK_NOTEBOOK(wizard->notebook),
+ GTK_NOTEBOOK(wizard->notebook),
RECV_PAGE);
return FALSE;
}
@@ -669,17 +662,17 @@ static gboolean wizard_write_config(WizardWindow *wizard)
alertpanel_error(_("Please enter your username."));
g_free(prefs_account);
gtk_notebook_set_current_page (
- GTK_NOTEBOOK(wizard->notebook),
+ GTK_NOTEBOOK(wizard->notebook),
RECV_PAGE);
return FALSE;
}
}
-
+
if (!strlen(gtk_entry_get_text(GTK_ENTRY(wizard->smtp_server)))) {
alertpanel_error(_("Please enter your SMTP server."));
g_free(prefs_account);
gtk_notebook_set_current_page (
- GTK_NOTEBOOK(wizard->notebook),
+ GTK_NOTEBOOK(wizard->notebook),
SMTP_PAGE);
return FALSE;
}
@@ -690,9 +683,9 @@ static gboolean wizard_write_config(WizardWindow *wizard)
alertpanel_error(_("Please enter your SMTP username."));
g_free(prefs_account);
gtk_notebook_set_current_page (
- GTK_NOTEBOOK(wizard->notebook),
+ GTK_NOTEBOOK(wizard->notebook),
SMTP_PAGE);
- return FALSE;
+ return FALSE;
} /* if it's not local we'll use the reception server */
}
@@ -724,7 +717,7 @@ static gboolean wizard_write_config(WizardWindow *wizard)
prefs_account->set_smtpport = TRUE;
prefs_account->smtpport = smtp_port;
}
-
+
prefs_account->name = g_strdup(
gtk_entry_get_text(GTK_ENTRY(wizard->full_name)));
prefs_account->address = g_strdup(
@@ -743,7 +736,7 @@ static gboolean wizard_write_config(WizardWindow *wizard)
prefs_account->local_inbox = g_strdup(prefs_account->inbox);
} else if (prefs_account->protocol != A_IMAP4) {
if (folder_get_default_inbox())
- prefs_account->local_inbox =
+ prefs_account->local_inbox =
folder_item_get_identifier(folder_get_default_inbox());
}
@@ -773,7 +766,7 @@ static gboolean wizard_write_config(WizardWindow *wizard)
#ifdef USE_GNUTLS
smtp_ssl_type = SSL_NONE;
- recv_ssl_type = SSL_NONE;
+ recv_ssl_type = SSL_NONE;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wizard->smtp_use_ssl))) {
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wizard->smtp_use_tls)))
@@ -814,7 +807,7 @@ static gboolean wizard_write_config(WizardWindow *wizard)
if (directory && strlen(directory)) {
prefs_account->imap_dir = g_strdup(directory);
}
- prefs_account->imap_subsonly =
+ prefs_account->imap_subsonly =
gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(wizard->subsonly_checkbtn));
g_free(directory);
@@ -829,9 +822,6 @@ static gboolean wizard_write_config(WizardWindow *wizard)
if (wizard->create_mailbox && prefs_account->protocol != A_IMAP4)
write_welcome_email(wizard);
-#ifndef G_OS_WIN32
- plugin_load_standard_plugins();
-#endif
return TRUE;
}
@@ -878,12 +868,12 @@ static gchar *get_default_server(WizardWindow * wizard, const gchar *type)
if (!strcmp(type, "smtp")) {
if (!tmpl.smtpserver || !strlen(tmpl.smtpserver))
return g_strconcat(type, ".", tmpl.domain, NULL);
- else
+ else
return g_strdup(tmpl.smtpserver);
} else {
if (!tmpl.recvserver || !strlen(tmpl.recvserver))
return g_strconcat(type, ".", tmpl.domain, NULL);
- else
+ else
return g_strdup(tmpl.recvserver);
}
}
@@ -891,14 +881,14 @@ static gchar *get_default_server(WizardWindow * wizard, const gchar *type)
static gchar *get_default_account(WizardWindow * wizard)
{
gchar *result = NULL;
-
+
if (!tmpl.recvuser || !strlen(tmpl.recvuser)) {
result = gtk_editable_get_chars(
GTK_EDITABLE(wizard->email), 0, -1);
if (strstr(result, "@")) {
*(strstr(result,"@")) = '\0';
- }
+ }
} else {
result = g_strdup(tmpl.recvuser);
}
@@ -908,7 +898,7 @@ static gchar *get_default_account(WizardWindow * wizard)
static gchar *get_default_smtp_account(WizardWindow * wizard)
{
gchar *result = NULL;
-
+
if (!tmpl.smtpuser || !strlen(tmpl.smtpuser)) {
return g_strdup("");
} else {
@@ -923,7 +913,7 @@ static void wizard_email_changed(GtkWidget *widget, gpointer data)
RecvProtocol protocol;
gchar *text;
protocol = combobox_get_active_data(GTK_COMBO_BOX(wizard->recv_type));
-
+
text = get_default_server(wizard, "smtp");
gtk_entry_set_text(GTK_ENTRY(wizard->smtp_server), text);
g_free(text);
@@ -943,7 +933,7 @@ static void wizard_email_changed(GtkWidget *widget, gpointer data)
} else if (protocol == A_LOCAL) {
gtk_entry_set_text(GTK_ENTRY(wizard->recv_server), tmpl.mboxfile?tmpl.mboxfile:"");
}
-
+
}
static GtkWidget* user_page (WizardWindow * wizard)
@@ -952,7 +942,7 @@ static GtkWidget* user_page (WizardWindow * wizard)
GtkWidget *vbox;
GtkWidget *label;
GtkWidget *user_table;
-
+
gtk_grid_set_row_spacing(GTK_GRID(table), 4);
gtk_grid_set_column_spacing(GTK_GRID(table), 8);
@@ -1001,7 +991,7 @@ static GtkWidget* user_page (WizardWindow * wizard)
gtk_widget_set_hexpand(wizard->organization, TRUE);
gtk_widget_set_halign(wizard->organization, GTK_ALIGN_FILL);
gtk_widget_set_margin_start(wizard->organization, 4);
-
+
g_signal_connect(G_OBJECT(wizard->email), "changed",
G_CALLBACK(wizard_email_changed),
wizard);
@@ -1086,7 +1076,7 @@ static GtkWidget* smtp_page (WizardWindow * wizard)
GtkWidget *smtp_cert_table;
#endif
gchar *text;
-
+
gtk_grid_set_row_spacing(GTK_GRID(table), 4);
gtk_grid_set_column_spacing(GTK_GRID(table), 8);
@@ -1123,7 +1113,7 @@ static GtkWidget* smtp_page (WizardWindow * wizard)
label = gtk_label_new(g_strconcat("<span size=\"small\">",
_("(empty to use the same as receive)"), "</span>", NULL));
gtk_label_set_use_markup(GTK_LABEL(label), TRUE);
- SET_TOGGLE_SENSITIVITY (wizard->smtp_auth, label);
+ SET_TOGGLE_SENSITIVITY (wizard->smtp_auth, label);
gtk_box_pack_end(GTK_BOX(hbox), label, FALSE, FALSE, 0);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VSPACING_NARROW);
@@ -1139,7 +1129,7 @@ static GtkWidget* smtp_page (WizardWindow * wizard)
wizard->smtp_username_label = gtk_label_new(_("SMTP username:"));
gtk_label_set_xalign(GTK_LABEL(wizard->smtp_username_label), 1.0);
gtk_grid_attach(GTK_GRID(smtp_auth_table), wizard->smtp_username_label, 0, 0, 1, 1);
-
+
text = get_default_smtp_account(wizard);
wizard->smtp_username = gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(wizard->smtp_username), text);
@@ -1155,7 +1145,7 @@ static GtkWidget* smtp_page (WizardWindow * wizard)
gtk_grid_attach(GTK_GRID(smtp_auth_table), wizard->smtp_password_label, 0, 1, 1, 1);
wizard->smtp_password = gtk_entry_new();
- gtk_entry_set_text(GTK_ENTRY(wizard->smtp_password), tmpl.smtppass?tmpl.smtppass:"");
+ gtk_entry_set_text(GTK_ENTRY(wizard->smtp_password), tmpl.smtppass?tmpl.smtppass:"");
gtk_entry_set_visibility(GTK_ENTRY(wizard->smtp_password), FALSE);
gtk_grid_attach(GTK_GRID(smtp_auth_table), wizard->smtp_password, 1, 1, 1, 1);
gtk_widget_set_hexpand(wizard->smtp_password, TRUE);
@@ -1182,7 +1172,7 @@ static GtkWidget* smtp_page (WizardWindow * wizard)
tmpl.smtpssl == 2);
gtk_box_pack_start(GTK_BOX(hbox), wizard->smtp_use_tls, FALSE, FALSE, 0);
SET_TOGGLE_SENSITIVITY (wizard->smtp_use_ssl, wizard->smtp_use_tls);
-
+
smtp_cert_table = gtk_grid_new();
gtk_box_pack_start (GTK_BOX(vbox), smtp_cert_table, FALSE, FALSE, 4);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VSPACING_NARROW);
@@ -1223,7 +1213,7 @@ static GtkWidget* smtp_page (WizardWindow * wizard)
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VSPACING_NARROW);
hbox_spc = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
gtk_widget_set_size_request (hbox_spc, 12, -1);
- gtk_box_pack_start (GTK_BOX (hbox), hbox_spc, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), hbox_spc, FALSE, FALSE, 0);
label = gtk_label_new(_("Password:"));
gtk_label_set_xalign(GTK_LABEL(label), 1.0);
gtk_widget_set_margin_start(label, 4);
@@ -1248,7 +1238,7 @@ static GtkWidget* smtp_page (WizardWindow * wizard)
static void wizard_protocol_change(WizardWindow *wizard, RecvProtocol protocol)
{
gchar *text;
-
+
if (protocol == A_POP3) {
text = get_default_server(wizard, "pop");
gtk_entry_set_text(GTK_ENTRY(wizard->recv_server), text);
@@ -1334,7 +1324,7 @@ static void wizard_protocol_change(WizardWindow *wizard, RecvProtocol protocol)
#endif
} else if (protocol == A_LOCAL) {
gtk_entry_set_text(GTK_ENTRY(wizard->recv_server), tmpl.mboxfile?tmpl.mboxfile:"");
- gtk_label_set_text(GTK_LABEL(wizard->recv_label),
+ gtk_label_set_text(GTK_LABEL(wizard->recv_label),
g_strconcat("<span weight=\"bold\">", _("Local mailbox:"),
"</span>", NULL));
gtk_label_set_use_markup(GTK_LABEL(wizard->recv_label), TRUE);
@@ -1369,7 +1359,7 @@ static void wizard_protocol_changed(GtkComboBox *combo, gpointer data)
WizardWindow *wizard = (WizardWindow *)data;
RecvProtocol protocol = combobox_get_active_data(combo);
- wizard_protocol_change(wizard, protocol);
+ wizard_protocol_change(wizard, protocol);
}
#if defined USE_GNUTLS
@@ -1474,7 +1464,7 @@ static GtkWidget* recv_page (WizardWindow * wizard)
GtkWidget *table = gtk_grid_new();
GtkWidget *vbox;
GtkWidget *hbox;
- GtkWidget *hbox_spc;
+ GtkWidget *hbox_spc;
GtkWidget *recv_table;
GtkWidget *label;
#ifdef USE_GNUTLS
@@ -1499,7 +1489,7 @@ static GtkWidget* recv_page (WizardWindow * wizard)
gtk_grid_attach(GTK_GRID(table), vbox, 0, 1, 1, 1);
- recv_table = gtk_grid_new();
+ recv_table = gtk_grid_new();
gtk_box_pack_start(GTK_BOX(vbox), recv_table, FALSE, FALSE, 0);
@@ -1517,7 +1507,7 @@ static GtkWidget* recv_page (WizardWindow * wizard)
COMBOBOX_ADD(store, _("Local mbox file"), A_LOCAL);
switch(tmpl.recvtype) {
- case A_POP3:
+ case A_POP3:
index = 0;
break;
case A_IMAP4:
@@ -1568,7 +1558,7 @@ static GtkWidget* recv_page (WizardWindow * wizard)
gtk_widget_set_margin_start(wizard->recv_server, 4);
gtk_widget_set_margin_bottom(wizard->recv_server, 4);
g_free(text);
-
+
CLAWS_SET_TIP(wizard->recv_server,
_("You can specify the port number by appending it at the end: "
"\"mail.example.com:110\""));
@@ -1591,7 +1581,7 @@ static GtkWidget* recv_page (WizardWindow * wizard)
gtk_widget_set_halign(wizard->recv_username, GTK_ALIGN_FILL);
gtk_widget_set_margin_start(wizard->recv_username, 4);
gtk_widget_set_margin_bottom(wizard->recv_username, 4);
-
+
wizard->recv_password_label = gtk_label_new(_("Password:"));
gtk_label_set_xalign(GTK_LABEL(wizard->recv_password_label), 1.0);
gtk_grid_attach(GTK_GRID(recv_table), wizard->recv_password_label, 0, 4, 1, 1);
@@ -1618,7 +1608,7 @@ static GtkWidget* recv_page (WizardWindow * wizard)
gtk_box_pack_start (GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
hbox_spc = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
gtk_widget_set_size_request (hbox_spc, 12, -1);
- gtk_box_pack_start (GTK_BOX (hbox), hbox_spc, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), hbox_spc, FALSE, FALSE, 0);
wizard->recv_use_tls = gtk_check_button_new_with_label(
_("Use STARTTLS command to start encryption"));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wizard->recv_use_tls),
@@ -1627,7 +1617,7 @@ static GtkWidget* recv_page (WizardWindow * wizard)
SET_TOGGLE_SENSITIVITY (wizard->recv_use_ssl, wizard->recv_use_tls);
recv_cert_table = gtk_grid_new();
-
+
gtk_box_pack_start (GTK_BOX(vbox), recv_cert_table, FALSE, FALSE, 4);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VSPACING_NARROW);
hbox_spc = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
@@ -1635,7 +1625,7 @@ static GtkWidget* recv_page (WizardWindow * wizard)
gtk_box_pack_start (GTK_BOX (hbox), hbox_spc, FALSE, FALSE, 0);
label = gtk_label_new(_("Client TLS certificate (optional)"));
gtk_label_set_xalign(GTK_LABEL(label), 0.0);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
gtk_grid_attach(GTK_GRID(recv_cert_table), hbox, 0, 0, 1, 1);
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VSPACING_NARROW);
@@ -1645,7 +1635,7 @@ static GtkWidget* recv_page (WizardWindow * wizard)
label = gtk_label_new(_("File:"));
gtk_label_set_xalign(GTK_LABEL(label), 1.0);
- gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
gtk_grid_attach(GTK_GRID(recv_cert_table), hbox, 0, 1, 1, 1);
wizard->recv_ssl_cert_file = gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(wizard->recv_ssl_cert_file), tmpl.recvssl_cert?tmpl.recvssl_cert:"");
@@ -1680,9 +1670,9 @@ static GtkWidget* recv_page (WizardWindow * wizard)
gtk_widget_set_margin_start(wizard->recv_ssl_cert_pass, 4);
gtk_widget_set_margin_bottom(wizard->recv_ssl_cert_pass, 4);
- SET_TOGGLE_SENSITIVITY (wizard->recv_use_ssl, recv_cert_table);
+ SET_TOGGLE_SENSITIVITY (wizard->recv_use_ssl, recv_cert_table);
wizard->recv_cert_table = recv_cert_table;
-#endif
+#endif
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VSPACING_NARROW);
gtk_box_pack_start (GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
wizard->recv_imap_subdir = gtk_entry_new();
@@ -1691,7 +1681,7 @@ static GtkWidget* recv_page (WizardWindow * wizard)
gtk_label_set_xalign(GTK_LABEL(wizard->recv_imap_label), 1.0);
gtk_box_pack_start(GTK_BOX(hbox), wizard->recv_imap_label, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), wizard->recv_imap_subdir, TRUE, TRUE, 0);
-
+
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VSPACING_NARROW);
gtk_box_pack_start (GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
hbox_spc = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
@@ -1702,7 +1692,7 @@ static GtkWidget* recv_page (WizardWindow * wizard)
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wizard->subsonly_checkbtn),
tmpl.subsonly);
gtk_box_pack_start(GTK_BOX(hbox), wizard->subsonly_checkbtn, FALSE, FALSE, 0);
-
+
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VSPACING_NARROW);
gtk_box_pack_start (GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
wizard->no_imap_warning = gtk_label_new(g_strconcat("<span weight=\"bold\">",
@@ -1758,7 +1748,7 @@ wizard_response_cb (GtkDialog * dialog, int response, gpointer data)
current_page--;
}
gtk_notebook_set_current_page (
- GTK_NOTEBOOK(wizard->notebook),
+ GTK_NOTEBOOK(wizard->notebook),
current_page);
}
}
@@ -1771,14 +1761,14 @@ wizard_response_cb (GtkDialog * dialog, int response, gpointer data)
current_page++;
}
gtk_notebook_set_current_page (
- GTK_NOTEBOOK(wizard->notebook),
+ GTK_NOTEBOOK(wizard->notebook),
current_page);
}
}
set_sens:
- gtk_dialog_set_response_sensitive (dialog, GO_BACK,
+ gtk_dialog_set_response_sensitive (dialog, GO_BACK,
current_page > 0);
- gtk_dialog_set_response_sensitive (dialog, GO_FORWARD,
+ gtk_dialog_set_response_sensitive (dialog, GO_FORWARD,
current_page < (num_pages - 1));
if (current_page == (num_pages -1)) {
gtk_dialog_set_response_sensitive (dialog, FINISHED, TRUE);
@@ -1797,7 +1787,7 @@ static gint wizard_close_cb(GtkWidget *widget, GdkEventAny *event,
WizardWindow *wizard = (WizardWindow *)data;
wizard->result = FALSE;
wizard->finished = TRUE;
-
+
return FALSE;
}
@@ -1820,13 +1810,13 @@ gboolean run_wizard(MainWindow *mainwin, gboolean create_mailbox) {
gint i = 0;
wizard->mainwin = mainwin;
wizard->create_mailbox = create_mailbox;
-
+
gtk_widget_hide(mainwin->window);
-
+
wizard_read_defaults();
-
+
wizard->window = gtk_dialog_new_with_buttons (_("Claws Mail Setup Wizard"),
- NULL, 0,
+ NULL, 0,
_("_Previous"), GO_BACK,
_("_Next"), GO_FORWARD,
_("_Save"), FINISHED,
@@ -1835,37 +1825,37 @@ gboolean run_wizard(MainWindow *mainwin, gboolean create_mailbox) {
gtk_window_set_position(GTK_WINDOW(wizard->window), GTK_WIN_POS_CENTER);
gtk_window_set_default_size(GTK_WINDOW(wizard->window), 550, 500);
- g_signal_connect(wizard->window, "response",
+ g_signal_connect(wizard->window, "response",
G_CALLBACK(wizard_response_cb), wizard);
gtk_widget_realize(wizard->window);
- gtk_dialog_set_default_response(GTK_DIALOG(wizard->window),
+ gtk_dialog_set_default_response(GTK_DIALOG(wizard->window),
GO_FORWARD);
- gtk_dialog_set_response_sensitive(GTK_DIALOG(wizard->window),
+ gtk_dialog_set_response_sensitive(GTK_DIALOG(wizard->window),
GO_BACK, FALSE);
- gtk_dialog_set_response_sensitive(GTK_DIALOG(wizard->window),
+ gtk_dialog_set_response_sensitive(GTK_DIALOG(wizard->window),
GO_FORWARD, TRUE);
- gtk_dialog_set_response_sensitive(GTK_DIALOG(wizard->window),
+ gtk_dialog_set_response_sensitive(GTK_DIALOG(wizard->window),
FINISHED, FALSE);
- gtk_dialog_set_response_sensitive(GTK_DIALOG(wizard->window),
+ gtk_dialog_set_response_sensitive(GTK_DIALOG(wizard->window),
CANCEL, TRUE);
-
+
wizard->notebook = gtk_notebook_new();
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(wizard->notebook), FALSE);
gtk_notebook_set_show_border(GTK_NOTEBOOK(wizard->notebook), FALSE);
- gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(wizard->window))),
+ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(wizard->window))),
wizard->notebook, TRUE, TRUE, 0);
-
+
wizard->pages = NULL;
-
+
/*welcome page: 0 */
WELCOME_PAGE = i;
page = create_page(wizard, _("Welcome to Claws Mail"));
-
+
wizard->pages = g_slist_append(wizard->pages, page);
widget = priv_pixmap_widget(PRIV_PIXMAP_CLAWS_MAIL_LOGO);
gtk_box_pack_start (GTK_BOX(page), widget, FALSE, FALSE, 0);
-
+
text = g_strdup(_("Welcome to the Claws Mail setup wizard.\n\n"
"We will begin by defining some basic "
"information about you and your most common "
@@ -1887,7 +1877,7 @@ gboolean run_wizard(MainWindow *mainwin, gboolean create_mailbox) {
gtk_container_add(GTK_CONTAINER(scrolled_window), user_page(wizard));
PACK_WARNING(_("Bold fields must be completed"));
-
+
wizard->pages = g_slist_append(wizard->pages, widget);
/* recv+auth page: 2 */
@@ -1901,7 +1891,7 @@ gboolean run_wizard(MainWindow *mainwin, gboolean create_mailbox) {
gtk_container_add(GTK_CONTAINER(scrolled_window), recv_page(wizard));
PACK_WARNING(_("Bold fields must be completed"));
-
+
wizard->pages = g_slist_append(wizard->pages, widget);
/*smtp page: 3 */
@@ -1915,7 +1905,7 @@ gboolean run_wizard(MainWindow *mainwin, gboolean create_mailbox) {
gtk_container_add(GTK_CONTAINER(scrolled_window), smtp_page(wizard));
PACK_WARNING(_("Bold fields must be completed"));
-
+
wizard->pages = g_slist_append(wizard->pages, widget);
/* mailbox page: 4 */
@@ -1930,7 +1920,7 @@ gboolean run_wizard(MainWindow *mainwin, gboolean create_mailbox) {
gtk_container_add(GTK_CONTAINER(scrolled_window), mailbox_page(wizard));
PACK_WARNING(_("Bold fields must be completed"));
-
+
wizard->pages = g_slist_append(wizard->pages, widget);
}
@@ -1938,12 +1928,12 @@ gboolean run_wizard(MainWindow *mainwin, gboolean create_mailbox) {
i++;
DONE_PAGE = i;
page = create_page(wizard, _("Configuration finished"));
-
+
wizard->pages = g_slist_append(wizard->pages, page);
widget = priv_pixmap_widget(PRIV_PIXMAP_CLAWS_MAIL_LOGO);
gtk_box_pack_start (GTK_BOX(page), widget, FALSE, FALSE, 0);
-
+
text = g_strdup(_("Claws Mail is now ready.\n"
"Click Save to start."));
widget = gtk_label_new(text);
@@ -1952,10 +1942,10 @@ gboolean run_wizard(MainWindow *mainwin, gboolean create_mailbox) {
for (cur = wizard->pages; cur && cur->data; cur = cur->next) {
- gtk_notebook_append_page (GTK_NOTEBOOK(wizard->notebook),
+ gtk_notebook_append_page (GTK_NOTEBOOK(wizard->notebook),
GTK_WIDGET(cur->data), NULL);
}
-
+
g_signal_connect(G_OBJECT(wizard->window), "delete_event",
G_CALLBACK(wizard_close_cb), wizard);
gtk_widget_show_all (wizard->window);
@@ -1972,7 +1962,7 @@ gboolean run_wizard(MainWindow *mainwin, gboolean create_mailbox) {
gtk_main_iteration();
result = wizard->result;
-
+
GTK_EVENTS_FLUSH();
gtk_widget_show(mainwin->window);