commit 97b8469a6a676e1a09d3e82c8bd88e109c56d8f3
parent dea802d0abee36c3985b2d3a9da90fa662e0186c
Author: Oliver Lowe <o@olowe.co>
Date: Wed, 13 Aug 2025 18:16:49 +1000
Drop message colours
Doesn't sync with other clients or servers
Diffstat:
22 files changed, 28 insertions(+), 2040 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
@@ -132,7 +132,6 @@ claws_mail_SOURCES = \
prefs_matcher.c \
prefs_message.c \
prefs_migration.c \
- prefs_msg_colors.c \
prefs_other.c \
prefs_proxy.c \
prefs_quote.c \
@@ -250,7 +249,6 @@ claws_mailinclude_HEADERS = \
prefs_matcher.h \
prefs_message.h \
prefs_migration.h \
- prefs_msg_colors.h \
prefs_other.h \
prefs_proxy.h \
prefs_quote.h \
diff --git a/src/advsearch.c b/src/advsearch.c
@@ -224,7 +224,6 @@ gchar *advsearch_expand_search_string(const gchar *search_string)
{ "ha", "has_attachments", 0, FALSE, FALSE },
{ "i", "messageid", 1, TRUE, TRUE },
{ "I", "inreplyto", 1, TRUE, TRUE },
- { "k", "colorlabel", 1, FALSE, FALSE },
{ "L", "locked", 0, FALSE, FALSE },
{ "n", "newsgroups", 1, TRUE, TRUE },
{ "N", "new", 0, FALSE, FALSE },
diff --git a/src/common/file-utils.c b/src/common/file-utils.c
@@ -32,6 +32,7 @@
#include "defs.h"
#include "codeconv.h"
+#include "utils.h"
#include "file-utils.h"
gboolean prefs_common_get_flush_metadata(void);
diff --git a/src/gtk/Makefile.am b/src/gtk/Makefile.am
@@ -12,7 +12,6 @@ EXTRA_DIST = \
libclawsgtk_la_SOURCES = \
about.c \
- colorlabel.c \
combobox.c \
description_window.c \
filesel.c \
@@ -41,7 +40,6 @@ clawsgtkincludedir = $(pkgincludedir)/gtk
clawsgtkinclude_HEADERS = \
about.h \
authors.h \
- colorlabel.h \
combobox.h \
description_window.h \
filesel.h \
diff --git a/src/gtk/colorlabel.c b/src/gtk/colorlabel.c
@@ -1,561 +0,0 @@
-/*
- * Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 2001-2018 Hiroyuki Yamamoto & 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/>.
- */
-
-/* (alfons) - based on a contribution by Satoshi Nagayasu; revised for colorful
- * menu and more Sylpheed integration. The idea to put the code in a separate
- * file is just that it make it easier to allow "user changeable" label colors.
- */
-
-#include "config.h"
-#include "defs.h"
-
-#include <glib.h>
-#include <glib/gi18n.h>
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-
-#include "colorlabel.h"
-#include "utils.h"
-#include "gtkutils.h"
-#include "prefs_common.h"
-
-static gchar *labels[COLORLABELS] = {
- N_("Orange"),
- N_("Red") ,
- N_("Pink"),
- N_("Sky blue"),
- N_("Blue"),
- N_("Green"),
- N_("Brown"),
- N_("Grey"),
- N_("Light brown"),
- N_("Dark red"),
- N_("Dark pink"),
- N_("Steel blue"),
- N_("Gold"),
- N_("Bright green"),
- N_("Magenta")
-};
-
-#define CL(x) ((gdouble)x / 65535)
-static GdkRGBA default_colors[COLORLABELS] = {
- { CL(65535), CL(39168), CL(0), 1.0 },
- { CL(65535), CL(0), CL(0), 1.0 },
- { CL(65535), CL(26112), CL(65535), 1.0 },
- { CL(0), CL(52224), CL(65535), 1.0 },
- { CL(0), CL(0), CL(65535), 1.0 },
- { CL(0), CL(39168), CL(0), 1.0 },
- { CL(26112), CL(13056), CL(13056), 1.0 },
- { CL(43520), CL(43520), CL(43520), 1.0 },
- { CL(49152), CL(29184), CL(21504), 1.0 },
- { CL(49152), CL(0), CL(0), 1.0 },
- { CL(52224), CL(4096), CL(29696), 1.0 },
- { CL(20480), CL(37888), CL(52480), 1.0 },
- { CL(65535), CL(54528), CL(0), 1.0 },
- { CL(0), CL(55296), CL(0), 1.0 },
- { CL(49152), CL(24576), CL(49152), 1.0 }
-};
-
-
-typedef enum LabelColorChangeFlags_ {
- LCCF_COLOR = 1 << 0,
- LCCF_LABEL = 1 << 1,
- LCCF_ALL = LCCF_COLOR | LCCF_LABEL
-} LabelColorChangeFlags;
-
-/* XXX: if you add colors, make sure you also check the procmsg.h.
- * color indices are stored as 3 bits; that explains the max. of 7 colors */
-static struct
-{
- LabelColorChangeFlags changed;
- /* color here is initialized from default_colors[] at startup */
- GdkRGBA color;
-
- /* XXX: note that the label member is supposed to be dynamically
- * allocated and freed */
- gchar *label;
- GtkWidget *widget;
-} label_colors[NUM_MENUS][COLORLABELS] = {
- {
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL }},
- {
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL },
- { LCCF_ALL, { 0 }, NULL, NULL }}
-};
-
-#define LABEL_COLOR_WIDTH 28
-#define LABEL_COLOR_HEIGHT 16
-
-#define LABEL_COLORS_ELEMS (sizeof label_colors[0] / sizeof label_colors[0][0])
-
-#define G_RETURN_VAL_IF_INVALID_COLOR(color, val) \
- do if ((color) < 0 || (color) >= LABEL_COLORS_ELEMS) { \
- return val; \
- } while(0)
-
-static void colorlabel_recreate (gint);
-static void colorlabel_recreate_label (gint);
-
-void colorlabel_update_colortable_from_prefs(void)
-{
- gint i, c;
-
- for (i = 0; i < NUM_MENUS; i++) {
- for (c = 0; c < COLORLABELS; c++) {
- label_colors[i][c].color = prefs_common.custom_colorlabel[c].color;
- g_free(label_colors[i][c].label);
- label_colors[i][c].label =
- g_strdup(prefs_common.custom_colorlabel[c].label);
- }
- }
-}
-
-
-gint colorlabel_get_color_count(void)
-{
- return LABEL_COLORS_ELEMS;
-}
-
-GdkRGBA colorlabel_get_color(gint color_index)
-{
- GdkRGBA invalid = { 0 };
-
- G_RETURN_VAL_IF_INVALID_COLOR(color_index, invalid);
-
- return label_colors[0][color_index].color;
-}
-
-GdkRGBA colorlabel_get_default_color(gint color_index)
-{
- GdkRGBA invalid = { 0 };
-
- G_RETURN_VAL_IF_INVALID_COLOR(color_index, invalid);
-
- return default_colors[color_index];
-}
-
-gchar *colorlabel_get_color_default_text(gint color_index)
-{
- G_RETURN_VAL_IF_INVALID_COLOR(color_index, NULL);
-
- return labels[color_index];
-}
-
-static gboolean colorlabel_drawing_area_expose_event_cb
- (GtkWidget *widget, cairo_t *cr, gpointer data)
-{
- GdkRGBA *color = (GdkRGBA *)data;
- GtkAllocation allocation;
-
- gtk_widget_get_allocation(widget, &allocation);
-
- cairo_set_source_rgb(cr, 0., 0., 0.);
- cairo_rectangle(cr, 0, 0,
- allocation.width - 1,
- allocation.height - 1);
- cairo_stroke(cr);
-
- gdk_cairo_set_source_rgba(cr, color);
- cairo_rectangle(cr, 1, 1,
- allocation.width - 2,
- allocation.height - 2);
- cairo_fill(cr);
-
- return FALSE;
-}
-
-static GtkWidget *colorlabel_create_color_widget(GdkRGBA *color)
-{
- GtkWidget *widget;
-
- widget = gtk_drawing_area_new();
- gtk_widget_set_size_request(widget, LABEL_COLOR_WIDTH - 2,
- LABEL_COLOR_HEIGHT - 4);
-
- g_signal_connect(G_OBJECT(widget), "draw",
- G_CALLBACK(colorlabel_drawing_area_expose_event_cb),
- color);
-
- return widget;
-}
-
-static GdkPixbuf *colorlabel_create_colormenu_pixbuf(GdkRGBA *color)
-{
- GdkPixbuf *pixbuf;
- guint32 pixel = 0;
-
- cm_return_val_if_fail(color != NULL, NULL);
-
- pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8,
- LABEL_COLOR_WIDTH - 2, LABEL_COLOR_HEIGHT - 4);
-
- /* "pixel" needs to be set to 0xrrggbb00 */
- pixel += (guint32)(color->red * 255) << 24;
- pixel += (guint32)(color->green * 255) << 16;
- pixel += (guint32)(color->blue * 255) << 8;
- gdk_pixbuf_fill(pixbuf, pixel);
-
- return pixbuf;
-}
-
-/* XXX: colorlabel_recreate_XXX are there to make sure everything
- * is initialized ok, without having to call a global _xxx_init_
- * function */
-static void colorlabel_recreate_color(gint color)
-{
- GtkWidget *widget;
- int i;
-
- for (i = 0; i < NUM_MENUS; i++) {
- if (!(label_colors[i][color].changed & LCCF_COLOR))
- continue;
-
- widget = colorlabel_create_color_widget(&label_colors[i][color].color);
- cm_return_if_fail(widget);
-
- if (label_colors[i][color].widget)
- gtk_widget_destroy(label_colors[i][color].widget);
-
- label_colors[i][color].widget = widget;
- label_colors[i][color].changed &= ~LCCF_COLOR;
- }
-}
-
-static void colorlabel_recreate_label(gint color)
-{
- int i;
-
- for (i = 0; i < NUM_MENUS; i++) {
- if (!(label_colors[i][color].changed & LCCF_LABEL))
- continue;
-
- if (label_colors[i][color].label == NULL)
- label_colors[i][color].label = g_strdup(gettext(labels[color]));
-
- label_colors[i][color].changed &= ~LCCF_LABEL;
- }
-}
-
-/* XXX: call this function everytime when you're doing important
- * stuff with the label_colors[] array */
-static void colorlabel_recreate(gint color)
-{
- colorlabel_recreate_label(color);
- colorlabel_recreate_color(color);
-}
-
-static void colorlabel_recreate_all(void)
-{
- gint n;
-
- for ( n = 0; n < LABEL_COLORS_ELEMS; n++)
- colorlabel_recreate(n);
-}
-
-/* colorlabel_create_check_color_menu_item() - creates a color
- * menu item with a check box */
-GtkWidget *colorlabel_create_check_color_menu_item(gint color_index, gboolean force, gint menu_index)
-{
- GtkWidget *label;
- GtkWidget *hbox;
- GtkWidget *vbox;
- GtkWidget *item;
- gchar *accel;
-
- G_RETURN_VAL_IF_INVALID_COLOR(color_index, NULL);
-
- item = gtk_check_menu_item_new();
-
- if (force) {
- label_colors[menu_index][color_index].changed |= LCCF_COLOR;
- label_colors[menu_index][color_index].changed |= LCCF_LABEL;
- }
- colorlabel_recreate(color_index);
-
- /* XXX: gnome-core::panel::menu.c is a great example of
- * how to create pixmap menus */
- label = gtk_label_new(label_colors[menu_index][color_index].label);
-
- gtk_widget_show(label);
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_widget_show(hbox);
- gtk_container_add(GTK_CONTAINER(item), hbox);
-
- vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
- gtk_widget_show(vbox);
- gtk_container_set_border_width(GTK_CONTAINER(vbox), 1);
-
- gtk_container_add(GTK_CONTAINER(vbox),
- label_colors[menu_index][color_index].widget);
- gtk_widget_show(label_colors[menu_index][color_index].widget);
-
- gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
- if (color_index < 9) {
- accel = gtk_accelerator_get_label(GDK_KEY_1+color_index, GDK_CONTROL_MASK);
- label = gtk_label_new(accel);
- gtk_widget_show(label);
- gtk_label_set_xalign(GTK_LABEL(label), 1.0);
- g_free(accel);
- gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 4);
- g_object_set_data(G_OBJECT(item), "accel_label", label);
- } else {
- label = gtk_label_new("");
- gtk_widget_show(label);
- gtk_label_set_xalign(GTK_LABEL(label), 1.0);
- gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 4);
- g_object_set_data(G_OBJECT(item), "accel_label", label);
- }
- return item;
-}
-
-/* colorlabel_create_color_menu() - creates a color menu without
- * checkitems, probably for use in combo items */
-GtkWidget *colorlabel_create_color_menu(void)
-{
- GtkWidget *label;
- GtkWidget *item;
- GtkWidget *menu;
- gint i;
-
- colorlabel_recreate_all();
-
- /* create the menu items. each item has its color code attached */
- menu = gtk_menu_new();
- g_object_set_data(G_OBJECT(menu), "label_color_menu", menu);
-
- item = gtk_menu_item_new_with_label(_("None"));
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
- g_object_set_data(G_OBJECT(item), "color", GUINT_TO_POINTER(0));
- gtk_widget_show(item);
-
- item = gtk_separator_menu_item_new();
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
- gtk_widget_show(item);
-
- /* and the color items */
- for (i = 0; i < LABEL_COLORS_ELEMS; i++) {
- GtkWidget *hbox;
- GtkWidget *vbox;
- GtkWidget *widget;
-
- item = gtk_menu_item_new();
- g_object_set_data(G_OBJECT(item), "color",
- GUINT_TO_POINTER(i + 1));
-
- label = gtk_label_new(label_colors[0][i].label);
-
- gtk_widget_show(label);
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
- gtk_widget_show(hbox);
- gtk_container_add(GTK_CONTAINER(item), hbox);
-
- vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
- gtk_widget_show(vbox);
- gtk_container_set_border_width(GTK_CONTAINER(vbox), 1);
-
- widget = colorlabel_create_color_widget(&label_colors[0][i].color);
- gtk_widget_show(widget);
- gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, FALSE, 0);
-
- gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
-
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
- gtk_widget_show(item);
- }
-
- gtk_widget_show(menu);
-
- return menu;
-}
-
-guint colorlabel_get_color_menu_active_item(GtkWidget *menu)
-{
- GtkWidget *menuitem;
- guint color;
-
- menuitem = gtk_menu_get_active(GTK_MENU(menu));
- color = GPOINTER_TO_UINT
- (g_object_get_data(G_OBJECT(menuitem), "color"));
- return color;
-}
-
-static gboolean colormenu_separator_func(GtkTreeModel *model,
- GtkTreeIter *iter, gpointer data)
-{
- gchar *txt;
-
- gtk_tree_model_get(model, iter, COLORMENU_COL_TEXT, &txt, -1);
-
- if (txt == NULL)
- return TRUE;
-
- return FALSE;
-}
-
-GtkWidget *colorlabel_create_combobox_colormenu()
-{
- GtkWidget *combobox;
- GtkListStore *store;
- GtkCellRenderer *renderer;
-
- store = gtk_list_store_new(3,
- GDK_TYPE_PIXBUF,
- G_TYPE_STRING,
- G_TYPE_INT);
- combobox = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store));
-
- gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(combobox),
- (GtkTreeViewRowSeparatorFunc)colormenu_separator_func,
- NULL, NULL);
-
- renderer = gtk_cell_renderer_pixbuf_new();
- gtk_cell_renderer_set_padding(renderer, 2, 0);
- gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combobox),
- renderer, FALSE);
- gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combobox),
- renderer,
- "pixbuf", COLORMENU_COL_PIXBUF,
- NULL);
-
- renderer = gtk_cell_renderer_text_new();
- gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combobox),
- renderer, TRUE);
- gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combobox),
- renderer,
- "text", COLORMENU_COL_TEXT,
- NULL);
-
- colorlabel_refill_combobox_colormenu(GTK_COMBO_BOX(combobox));
-
- return combobox;
-}
-
-void colorlabel_refill_combobox_colormenu(GtkComboBox *combobox)
-{
- GtkListStore *store;
- GtkTreeIter iter;
- gint i;
-
- cm_return_if_fail(combobox != NULL);
-
- store = GTK_LIST_STORE(gtk_combo_box_get_model(combobox));
-
- cm_return_if_fail(store != NULL);
-
- gtk_list_store_clear(store);
-
- /* "None" */
- gtk_list_store_append(store, &iter);
- gtk_list_store_set(store, &iter,
- COLORMENU_COL_PIXBUF, NULL,
- COLORMENU_COL_TEXT, _("None"),
- COLORMENU_COL_ID, -1,
- -1);
- /* Separator */
- gtk_list_store_append(store, &iter);
- gtk_list_store_set(store, &iter,
- COLORMENU_COL_PIXBUF, NULL,
- COLORMENU_COL_TEXT, NULL,
- COLORMENU_COL_ID, -1,
- -1);
-
- /* Menu items for individual colors */
- for (i = 0; i < LABEL_COLORS_ELEMS; i++) {
- gtk_list_store_append(store, &iter);
- gtk_list_store_set(store, &iter,
- COLORMENU_COL_PIXBUF, colorlabel_create_colormenu_pixbuf(&label_colors[0][i].color),
- COLORMENU_COL_TEXT, label_colors[0][i].label,
- COLORMENU_COL_ID, i,
- -1);
- }
-}
-
-gint colorlabel_get_combobox_colormenu_active(GtkComboBox *combobox)
-{
- gint value;
- GtkTreeIter iter;
- GtkTreeModel *model;
-
- cm_return_val_if_fail(combobox != NULL, 0);
-
- if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combobox), &iter))
- return 0;
-
- model = gtk_combo_box_get_model(GTK_COMBO_BOX(combobox));
- gtk_tree_model_get(model, &iter,
- COLORMENU_COL_ID, &value,
- -1);
-
- return value + 1;
-}
-
-void colorlabel_set_combobox_colormenu_active(GtkComboBox *combobox,
- gint color)
-{
- GtkTreeModel *model;
- GtkTreeIter iter;
- gint id;
-
- cm_return_if_fail(combobox != NULL);
-
- model = gtk_combo_box_get_model(combobox);
- cm_return_if_fail(model != NULL);
-
- if (!gtk_tree_model_get_iter_first(model, &iter))
- return;
-
- do {
- gtk_tree_model_get(model, &iter,
- COLORMENU_COL_ID, &id,
- -1);
-
- if (id == color - 1)
- break;
- } while (gtk_tree_model_iter_next(model, &iter));
-
- gtk_combo_box_set_active_iter(combobox, &iter);
-}
diff --git a/src/gtk/colorlabel.h b/src/gtk/colorlabel.h
@@ -1,72 +0,0 @@
-/*
- * Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 2001-2012 Hiroyuki Yamamoto & 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/>.
- *
- */
-
-#if !defined(COLORLABEL_H__)
-#define COLORLABEL_H__
-
-#include <glib.h>
-#include <gtk/gtk.h>
-
-/* max value of color label index (0..max) - see also procmsg.h */
-#define COLORLABELS 15
-
-#define MAINWIN_COLORMENU 0
-#define SUMMARY_COLORMENU 1
-#define NUM_MENUS 2
-
-/* Columns for model used in GtkComboBox color menu */
-typedef enum {
- COLORMENU_COL_PIXBUF,
- COLORMENU_COL_TEXT,
- COLORMENU_COL_ID,
- NUM_COLORMENU_COLS
-} ColorMenuColumn;
-
-void colorlabel_update_colortable_from_prefs(void);
-gint colorlabel_get_color_count (void);
-GdkRGBA colorlabel_get_color (gint color_index);
-GdkRGBA colorlabel_get_default_color (gint color_index);
-gchar *colorlabel_get_color_default_text (gint color_index);
-GtkImage *colorlabel_create_color_pixmap (GdkColor color);
-GtkWidget *colorlabel_create_check_color_menu_item
- (gint color_index,
- gboolean force,
- gint menu_index);
-GtkWidget *colorlabel_create_color_menu (void);
-guint colorlabel_get_color_menu_active_item (GtkWidget *menu);
-
-/* Creates a GtkComboBox with selection of configured colors */
-GtkWidget *colorlabel_create_combobox_colormenu(void);
-
-/* Resets contents of an existing combobox with matching
- * model. Can be useful after prefs, and therefore configured
- * colors, change. */
-void colorlabel_refill_combobox_colormenu(GtkComboBox *combobox);
-
-/* Returns index of selected color in the colormenu combobox.
- * 0 if "none" is selected, and 1-16 for colors 0-15. */
-gint colorlabel_get_combobox_colormenu_active(GtkComboBox *combobox);
-
-/* Select specified color entry in the colormenu combobox.
- * The color parameter corresponds to return value of
- * colorlabel_get_combobox_colormenu_active(). */
-void colorlabel_set_combobox_colormenu_active(GtkComboBox *combobox,
- gint color);
-
-#endif /* COLORLABEL_H__ */
diff --git a/src/main.c b/src/main.c
@@ -77,7 +77,6 @@
#include "prefs_message.h"
#include "prefs_migration.h"
#include "prefs_receive.h"
-#include "prefs_msg_colors.h"
#include "prefs_quote.h"
#include "prefs_spelling.h"
#include "prefs_summaries.h"
@@ -710,7 +709,6 @@ int main(int argc, char *argv[])
prefs_ext_prog_init();
prefs_wrapping_init();
prefs_compose_writing_init();
- prefs_msg_colors_init();
image_viewer_init();
prefs_image_viewer_init();
prefs_quote_init();
@@ -1062,8 +1060,6 @@ static void exit_claws(MainWindow *mainwin)
prefs_ext_prog_done();
prefs_wrapping_done();
prefs_compose_writing_done();
- prefs_msg_colors_done();
- prefs_image_viewer_done();
image_viewer_done();
prefs_quote_done();
prefs_summaries_done();
diff --git a/src/mainwindow.c b/src/mainwindow.c
@@ -80,7 +80,6 @@
#include "folderutils.h"
#include "foldersort.h"
#include "icon_legend.h"
-#include "colorlabel.h"
#include "tags.h"
#include "textview.h"
#include "imap.h"
@@ -867,88 +866,6 @@ static GtkRadioActionEntry mainwin_radio_dec_entries[] =
static gboolean offline_ask_sync = TRUE;
static gboolean is_obscured = FALSE;
-#define N_COLOR_LABELS colorlabel_get_color_count()
-
-static void mainwindow_colorlabel_menu_item_activate_item_cb(GtkMenuItem *menu_item,
- gpointer data)
-{
- MainWindow *mainwin;
- GtkMenuShell *menu;
- GtkCheckMenuItem **items;
- gint n;
- GList *children, *cur;
- GSList *sel;
-
- mainwin = (MainWindow *)data;
- cm_return_if_fail(mainwin != NULL);
-
- sel = summary_get_selection(mainwin->summaryview);
- if (!sel) return;
-
- menu = GTK_MENU_SHELL(mainwin->colorlabel_menu);
- cm_return_if_fail(menu != NULL);
-
- Xalloca(items, (N_COLOR_LABELS + 1) * sizeof(GtkWidget *), return);
-
- /* NOTE: don't return prematurely because we set the "dont_toggle"
- * state for check menu items. This would be bad! */
- g_object_set_data(G_OBJECT(menu), "dont_toggle",
- GINT_TO_POINTER(1));
-
- /* clear items. get item pointers. */
- children = gtk_container_get_children(GTK_CONTAINER(menu));
- for (n = 0, cur = children; cur != NULL && cur->data != NULL; cur = cur->next) {
- if (GTK_IS_CHECK_MENU_ITEM(cur->data)) {
- gtk_check_menu_item_set_active
- (GTK_CHECK_MENU_ITEM(cur->data), FALSE);
- items[n] = GTK_CHECK_MENU_ITEM(cur->data);
- n++;
- }
- }
-
- g_list_free(children);
-
- if (n == (N_COLOR_LABELS + 1)) {
- /* iterate all messages and set the state of the appropriate
- * items */
- for (; sel != NULL; sel = sel->next) {
- MsgInfo *msginfo;
- gint clabel;
-
- msginfo = (MsgInfo *)sel->data;
- if (msginfo) {
- clabel = MSG_GET_COLORLABEL_VALUE(msginfo->flags);
- if (!gtk_check_menu_item_get_active(items[clabel]))
- gtk_check_menu_item_set_active
- (items[clabel], TRUE);
- }
- }
- } else
- g_warning("invalid number of color elements (%d)", n);
-
- g_slist_free(sel);
- /* reset "dont_toggle" state */
- g_object_set_data(G_OBJECT(menu), "dont_toggle",
- GINT_TO_POINTER(0));
-}
-
-static void mainwindow_colorlabel_menu_item_activate_cb(GtkWidget *widget,
- gpointer data)
-{
- guint color = GPOINTER_TO_UINT(data);
- MainWindow *mainwin;
-
- mainwin = g_object_get_data(G_OBJECT(widget), "mainwin");
- cm_return_if_fail(mainwin != NULL);
-
- /* "dont_toggle" state set? */
- if (g_object_get_data(G_OBJECT(mainwin->colorlabel_menu),
- "dont_toggle"))
- return;
-
- summary_set_colorlabel(mainwin->summaryview, color, NULL);
-}
-
static void mainwindow_tags_menu_item_activate_item_cb(GtkMenuItem *menu_item,
gpointer data)
{
@@ -1087,68 +1004,6 @@ void mainwin_accel_changed_cb (GtkAccelGroup *accelgroup, guint keyval, GdkModif
g_list_free(closures);
}
-static void mainwindow_colorlabel_menu_create(MainWindow *mainwin, gboolean refresh)
-{
- GtkWidget *label_menuitem;
- GtkWidget *menu;
- GtkWidget *item;
- gint i;
- gchar *accel_path = NULL;
-
- label_menuitem = gtk_ui_manager_get_widget(mainwin->ui_manager, "/Menu/Message/ColorLabel");
- g_signal_connect(G_OBJECT(label_menuitem), "activate",
- G_CALLBACK(mainwindow_colorlabel_menu_item_activate_item_cb),
- mainwin);
- gtk_widget_show(label_menuitem);
-
- menu = gtk_menu_new();
- gtk_menu_set_accel_group (GTK_MENU (menu),
- gtk_ui_manager_get_accel_group(mainwin->ui_manager));
-
- /* create sub items. for the menu item activation callback we pass the
- * index of label_colors[] as data parameter. for the None color we
- * pass an invalid (high) value. also we attach a data pointer so we
- * can always get back the Mainwindow pointer. */
-
- item = gtk_check_menu_item_new_with_label(_("None"));
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
- g_signal_connect(G_OBJECT(item), "activate",
- G_CALLBACK(mainwindow_colorlabel_menu_item_activate_cb),
- GUINT_TO_POINTER(0));
- g_object_set_data(G_OBJECT(item), "mainwin", mainwin);
- gtk_widget_show(item);
-
- accel_path = g_strdup_printf("<ClawsColorLabels>/None");
- gtk_menu_item_set_accel_path(GTK_MENU_ITEM(item), accel_path);
- g_free(accel_path);
- gtk_accel_map_add_entry("<ClawsColorLabels>/None", GDK_KEY_0, GDK_CONTROL_MASK);
-
- /* create pixmap/label menu items */
- for (i = 0; i < N_COLOR_LABELS; i++) {
- item = colorlabel_create_check_color_menu_item(
- i, refresh, MAINWIN_COLORMENU);
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
- g_signal_connect(G_OBJECT(item), "activate",
- G_CALLBACK(mainwindow_colorlabel_menu_item_activate_cb),
- GUINT_TO_POINTER(i + 1));
- g_object_set_data(G_OBJECT(item), "mainwin",
- mainwin);
- gtk_widget_show(item);
- accel_path = g_strdup_printf("<ClawsColorLabels>/%d", i+1);
- gtk_menu_item_set_accel_path(GTK_MENU_ITEM(item), accel_path);
- 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(mainwin->ui_manager),
- "accel-changed", G_CALLBACK (mainwin_accel_changed_cb), item);
-
-
- }
- gtk_widget_show(menu);
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(label_menuitem), menu);
- mainwin->colorlabel_menu = menu;
-}
-
static void mainwindow_tags_menu_item_apply_tags_activate_cb(GtkWidget *widget,
gpointer data)
{
@@ -2073,7 +1928,6 @@ MainWindow *main_window_create()
if (prefs_common.work_offline)
online_switch_clicked (GTK_BUTTON(online_switch), mainwin);
- mainwindow_colorlabel_menu_create(mainwin, FALSE);
mainwindow_tags_menu_create(mainwin, FALSE);
if (prefs_common.mainwin_fullscreen) {
@@ -2229,30 +2083,6 @@ void main_window_reflect_prefs_all_now(void)
reflect_prefs_timeout_cb(GINT_TO_POINTER(FALSE));
}
-void main_window_reflect_prefs_custom_colors(MainWindow *mainwin)
-{
- GtkMenuShell *menu;
- GList *children, *cur;
-
- /* re-create colorlabel submenu */
- menu = GTK_MENU_SHELL(mainwin->colorlabel_menu);
- cm_return_if_fail(menu != NULL);
-
- /* clear items. get item pointers. */
- 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(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);
- }
- g_list_free(children);
- mainwindow_colorlabel_menu_create(mainwin, TRUE);
- summary_reflect_prefs_custom_colors(mainwin->summaryview);
- folderview_reinit_fonts(mainwin->folderview);
-}
-
static gint tags_tag = 0;
static gboolean main_window_reflect_tags_changes_real(gpointer data)
{
diff --git a/src/mainwindow.h b/src/mainwindow.h
@@ -142,7 +142,6 @@ struct _MainWindow
gint progressindicator_hook;
- GtkWidget *colorlabel_menu;
GtkWidget *warning_btn;
GtkWidget *tags_menu;
diff --git a/src/matcher.c b/src/matcher.c
@@ -76,8 +76,6 @@ static const MatchParser matchparser_tab[] = {
{MATCHCRITERIA_NOT_FORWARDED, "~forwarded"},
{MATCHCRITERIA_LOCKED, "locked"},
{MATCHCRITERIA_NOT_LOCKED, "~locked"},
- {MATCHCRITERIA_COLORLABEL, "colorlabel"},
- {MATCHCRITERIA_NOT_COLORLABEL, "~colorlabel"},
{MATCHCRITERIA_IGNORE_THREAD, "ignore_thread"},
{MATCHCRITERIA_NOT_IGNORE_THREAD, "~ignore_thread"},
{MATCHCRITERIA_WATCH_THREAD, "watch_thread"},
diff --git a/src/matcher_parser_parse.y b/src/matcher_parser_parse.y
@@ -15,7 +15,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
*/
#include "defs.h"
@@ -29,7 +29,6 @@
#include "matcher.h"
#include "matcher_parser.h"
#include "matcher_parser_lex.h"
-#include "colorlabel.h"
#include "folder_item_prefs.h"
static gint error = 0;
@@ -91,18 +90,18 @@ void matcher_parser_start_parsing(FILE *f)
matcher_parserparse();
}
-
+
void * matcher_parser_scan_string(const char * str);
-
+
FilteringProp *matcher_parser_get_filtering(gchar *str)
{
void *bufstate;
void *tmp_str = NULL;
-
+
/* little hack to allow passing rules with no names */
if (!strncmp(str, "rulename ", 9))
tmp_str = g_strdup(str);
- else
+ else
tmp_str = g_strconcat("rulename \"\" ", str, NULL);
/* bad coding to enable the sub-grammar matching
@@ -131,7 +130,7 @@ static gboolean check_quote_symetry(gchar *str)
{
const gchar *walk;
int ret = 0;
-
+
if (str == NULL)
return TRUE; /* heh, that's symetric */
if (*str == '\0')
@@ -154,7 +153,7 @@ MatcherList *matcher_parser_get_name(gchar *str)
cond = NULL;
return cond;
}
-
+
/* bad coding to enable the sub-grammar matching
in yacc */
matcher_parserlineno = 1;
@@ -177,7 +176,7 @@ MatcherList *matcher_parser_get_enabled(gchar *str)
cond = NULL;
return cond;
}
-
+
/* bad coding to enable the sub-grammar matching
in yacc */
matcher_parserlineno = 1;
@@ -200,7 +199,7 @@ MatcherList *matcher_parser_get_account(gchar *str)
cond = NULL;
return cond;
}
-
+
/* bad coding to enable the sub-grammar matching
in yacc */
matcher_parserlineno = 1;
@@ -223,7 +222,7 @@ MatcherList *matcher_parser_get_cond(gchar *str, gboolean *is_fast)
cond = NULL;
return cond;
}
-
+
matcher_is_fast = TRUE;
/* bad coding to enable the sub-grammar matching
in yacc */
@@ -249,7 +248,7 @@ GSList *matcher_parser_get_action_list(gchar *str)
action_list = NULL;
return action_list;
}
-
+
/* bad coding to enable the sub-grammar matching
in yacc */
matcher_parserlineno = 1;
@@ -318,7 +317,7 @@ int matcher_parserwrap(void)
char *str;
int value;
}
-%token MATCHER_ALL MATCHER_UNREAD MATCHER_NOT_UNREAD
+%token MATCHER_ALL MATCHER_UNREAD MATCHER_NOT_UNREAD
%token MATCHER_NEW MATCHER_NOT_NEW MATCHER_MARKED
%token MATCHER_NOT_MARKED MATCHER_DELETED MATCHER_NOT_DELETED
%token MATCHER_REPLIED MATCHER_NOT_REPLIED MATCHER_FORWARDED
@@ -344,8 +343,8 @@ int matcher_parserwrap(void)
%token MATCHER_MARK_AS_READ MATCHER_MARK_AS_UNREAD MATCHER_FORWARD
%token MATCHER_MARK_AS_SPAM MATCHER_MARK_AS_HAM
%token MATCHER_FORWARD_AS_ATTACHMENT MATCHER_EOL
-%token MATCHER_OR MATCHER_AND
-%token MATCHER_COLOR MATCHER_SCORE_EQUAL MATCHER_REDIRECT
+%token MATCHER_OR MATCHER_AND
+%token MATCHER_COLOR MATCHER_SCORE_EQUAL MATCHER_REDIRECT
%token MATCHER_SIZE_GREATER MATCHER_SIZE_SMALLER MATCHER_SIZE_EQUAL
%token MATCHER_LOCKED MATCHER_NOT_LOCKED
%token MATCHER_PARTIAL MATCHER_NOT_PARTIAL
@@ -388,7 +387,7 @@ file_line_list
file_line:
section_notification
-|
+|
{ action_list = NULL; }
instruction
| error MATCHER_EOL
@@ -529,17 +528,17 @@ filtering_action_list
prefs_filtering = &filtering_rules;
if (action_list != NULL) {
FilteringAction * first_action;
-
+
first_action = action_list->data;
-
+
if (first_action->type == MATCHACTION_CHANGE_SCORE)
prefs_filtering = &pre_global_processing;
}
}
-
+
cond = NULL;
action_list = NULL;
-
+
if ((matcher_parse_op == MATCHER_PARSE_FILE) &&
(prefs_filtering != NULL)) {
*prefs_filtering = g_slist_append(*prefs_filtering,
@@ -636,7 +635,7 @@ MATCHER_ALL
criteria = MATCHCRITERIA_UNREAD;
prop = matcherprop_new(criteria, NULL, 0, NULL, 0);
}
-| MATCHER_NOT_UNREAD
+| MATCHER_NOT_UNREAD
{
gint criteria = 0;
@@ -734,7 +733,7 @@ MATCHER_ALL
criteria = MATCHCRITERIA_SPAM;
prop = matcherprop_new(criteria, NULL, 0, NULL, 0);
}
-| MATCHER_NOT_SPAM
+| MATCHER_NOT_SPAM
{
gint criteria = 0;
@@ -783,28 +782,6 @@ MATCHER_ALL
criteria = MATCHCRITERIA_NOT_PARTIAL;
prop = matcherprop_new(criteria, NULL, 0, NULL, 0);
}
-| MATCHER_COLORLABEL MATCHER_INTEGER
-{
- gint criteria = 0;
- gint value = 0;
-
- criteria = MATCHCRITERIA_COLORLABEL;
- value = strtol($2, NULL, 10);
- if (value < 0) value = 0;
- else if (value > COLORLABELS) value = COLORLABELS;
- prop = matcherprop_new(criteria, NULL, 0, NULL, value);
-}
-| MATCHER_NOT_COLORLABEL MATCHER_INTEGER
-{
- gint criteria = 0;
- gint value = 0;
-
- criteria = MATCHCRITERIA_NOT_COLORLABEL;
- value = strtol($2, NULL, 0);
- if (value < 0) value = 0;
- else if (value > COLORLABELS) value = COLORLABELS;
- prop = matcherprop_new(criteria, NULL, 0, NULL, value);
-}
| MATCHER_IGNORE_THREAD
{
gint criteria = 0;
@@ -1112,7 +1089,7 @@ MATCHER_ALL
value = strtol($2, NULL, 0);
prop = matcherprop_new(criteria, NULL, 0, NULL, value);
}
-| MATCHER_SIZE_GREATER MATCHER_INTEGER
+| MATCHER_SIZE_GREATER MATCHER_INTEGER
{
gint criteria = 0;
gint value = 0;
@@ -1444,7 +1421,7 @@ MATCHER_EXECUTE MATCHER_STRING
| MATCHER_CHANGE_SCORE MATCHER_INTEGER
{
gint score = 0;
-
+
score = strtol($2, NULL, 10);
action = filteringaction_new(MATCHACTION_CHANGE_SCORE, 0,
NULL, 0, score, NULL);
@@ -1453,7 +1430,7 @@ MATCHER_EXECUTE MATCHER_STRING
| MATCHER_SCORE MATCHER_INTEGER
{
gint score = 0;
-
+
score = strtol($2, NULL, 10);
action = filteringaction_new(MATCHACTION_CHANGE_SCORE, 0,
NULL, 0, score, NULL);
@@ -1461,7 +1438,7 @@ MATCHER_EXECUTE MATCHER_STRING
| MATCHER_SET_SCORE MATCHER_INTEGER
{
gint score = 0;
-
+
score = strtol($2, NULL, 10);
action = filteringaction_new(MATCHACTION_SET_SCORE, 0,
NULL, 0, score, NULL);
diff --git a/src/prefs_account.c b/src/prefs_account.c
@@ -53,7 +53,6 @@
#include "gtkutils.h"
#include "utils.h"
#include "alertpanel.h"
-#include "colorlabel.h"
#include "smtp.h"
#include "imap.h"
#include "pop.h"
@@ -362,8 +361,6 @@ typedef struct AdvancedPage
GtkWidget *nntpport_spinbtn;
GtkWidget *domain_checkbtn;
GtkWidget *domain_entry;
- GtkWidget *crosspost_checkbtn;
- GtkWidget *crosspost_colormenu;
GtkWidget *tunnelcmd_checkbtn;
GtkWidget *tunnelcmd_entry;
@@ -448,10 +445,6 @@ static void prefs_account_set_autochk_interval_to_widgets(PrefParam *pparam);
static void prefs_account_enum_set_data_from_radiobtn (PrefParam *pparam);
static void prefs_account_enum_set_radiobtn (PrefParam *pparam);
-static void crosspost_color_toggled(void);
-static void prefs_account_crosspost_set_data_from_colormenu(PrefParam *pparam);
-static void prefs_account_crosspost_set_colormenu(PrefParam *pparam);
-
static void prefs_account_nntpauth_toggled(GtkToggleButton *button, gpointer user_data);
static void prefs_account_mailcmd_toggled(GtkToggleButton *button, gpointer user_data);
static void prefs_account_showpwd_toggled(GtkEntry *entry, gpointer user_data);
@@ -1024,14 +1017,6 @@ static PrefParam advanced_param[] = {
{"tunnelcmd", NULL, &tmp_ac_prefs.tunnelcmd, P_STRING,
&advanced_page.tunnelcmd_entry,
prefs_set_data_from_entry, prefs_set_entry},
- {"mark_crosspost_read", "FALSE", &tmp_ac_prefs.mark_crosspost_read, P_BOOL,
- &advanced_page.crosspost_checkbtn,
- prefs_set_data_from_toggle, prefs_set_toggle},
-
- {"crosspost_color", NULL, &tmp_ac_prefs.crosspost_col, P_ENUM,
- &advanced_page.crosspost_colormenu,
- prefs_account_crosspost_set_data_from_colormenu,
- prefs_account_crosspost_set_colormenu},
{"set_sent_folder", "FALSE", &tmp_ac_prefs.set_sent_folder, P_BOOL,
&advanced_page.sent_folder_checkbtn,
@@ -3344,8 +3329,6 @@ static void advanced_create_widget_func(PrefsPage * _page,
GtkWidget *checkbtn_domain;
GtkWidget *entry_domain;
gchar *tip_domain;
- GtkWidget *checkbtn_crosspost;
- GtkWidget *colormenu_crosspost;
GtkWidget *checkbtn_tunnelcmd;
GtkWidget *entry_tunnelcmd;
GtkWidget *folder_frame;
@@ -3433,18 +3416,6 @@ static void advanced_create_widget_func(PrefsPage * _page,
gtk_box_pack_start (GTK_BOX (hbox1), entry_tunnelcmd, TRUE, TRUE, 0);
SET_TOGGLE_SENSITIVITY (checkbtn_tunnelcmd, entry_tunnelcmd);
- PACK_HBOX (hbox1);
- PACK_CHECK_BUTTON (hbox1, checkbtn_crosspost,
- _("Mark cross-posted messages as read and color:"));
- g_signal_connect (G_OBJECT (checkbtn_crosspost), "toggled",
- G_CALLBACK (crosspost_color_toggled),
- NULL);
-
- colormenu_crosspost = colorlabel_create_combobox_colormenu();
- gtk_widget_show (colormenu_crosspost);
- gtk_box_pack_start (GTK_BOX (hbox1), colormenu_crosspost, FALSE, FALSE, 0);
-
- SET_TOGGLE_SENSITIVITY(checkbtn_crosspost, colormenu_crosspost);
#undef PACK_HBOX
#undef PACK_PORT_SPINBTN
@@ -3506,8 +3477,6 @@ static void advanced_create_widget_func(PrefsPage * _page,
page->nntpport_spinbtn = spinbtn_nntpport;
page->domain_checkbtn = checkbtn_domain;
page->domain_entry = entry_domain;
- page->crosspost_checkbtn = checkbtn_crosspost;
- page->crosspost_colormenu = colormenu_crosspost;
page->tunnelcmd_checkbtn = checkbtn_tunnelcmd;
page->tunnelcmd_entry = entry_tunnelcmd;
page->sent_folder_checkbtn = sent_folder_checkbtn;
@@ -4709,32 +4678,6 @@ PrefsAccount *prefs_account_open(PrefsAccount *ac_prefs, gboolean *dirty)
}
}
-static void crosspost_color_toggled(void)
-{
- gboolean is_active;
-
- is_active = gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON(advanced_page.crosspost_checkbtn));
- gtk_widget_set_sensitive(advanced_page.crosspost_colormenu, is_active);
-}
-
-static void prefs_account_crosspost_set_data_from_colormenu(PrefParam *pparam)
-{
- gint color;
- GtkWidget *combobox = *pparam->widget;
-
- color = colorlabel_get_combobox_colormenu_active(GTK_COMBO_BOX(combobox));
- *((gint *)pparam->data) = color;
-}
-
-static void prefs_account_crosspost_set_colormenu(PrefParam *pparam)
-{
- gint color = *((gint *)pparam->data);
- GtkWidget *combobox = *pparam->widget;
-
- colorlabel_set_combobox_colormenu_active(GTK_COMBO_BOX(combobox), color);
-}
-
static void pop_bfr_smtp_tm_set_sens(GtkWidget *widget, gpointer data)
{
gtk_widget_set_sensitive(send_page.pop_bfr_smtp_tm_spinbtn,
@@ -5458,8 +5401,6 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
gtk_widget_hide(advanced_page.popport_hbox);
gtk_widget_hide(advanced_page.imapport_hbox);
gtk_widget_show(advanced_page.nntpport_hbox);
- gtk_widget_show(advanced_page.crosspost_checkbtn);
- gtk_widget_show(advanced_page.crosspost_colormenu);
gtk_widget_hide(advanced_page.tunnelcmd_checkbtn);
gtk_widget_hide(advanced_page.tunnelcmd_entry);
gtk_widget_hide(receive_page.imapdir_label);
@@ -5538,8 +5479,6 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
gtk_widget_hide(advanced_page.popport_hbox);
gtk_widget_hide(advanced_page.imapport_hbox);
gtk_widget_hide(advanced_page.nntpport_hbox);
- gtk_widget_hide(advanced_page.crosspost_checkbtn);
- gtk_widget_hide(advanced_page.crosspost_colormenu);
gtk_widget_hide(advanced_page.tunnelcmd_checkbtn);
gtk_widget_hide(advanced_page.tunnelcmd_entry);
gtk_widget_hide(receive_page.imapdir_label);
@@ -5627,8 +5566,6 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
gtk_widget_hide(advanced_page.popport_hbox);
gtk_widget_show(advanced_page.imapport_hbox);
gtk_widget_hide(advanced_page.nntpport_hbox);
- gtk_widget_hide(advanced_page.crosspost_checkbtn);
- gtk_widget_hide(advanced_page.crosspost_colormenu);
gtk_widget_show(advanced_page.tunnelcmd_checkbtn);
gtk_widget_show(advanced_page.tunnelcmd_entry);
gtk_widget_show(receive_page.imapdir_label);
@@ -5705,8 +5642,6 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
gtk_widget_hide(advanced_page.popport_hbox);
gtk_widget_hide(advanced_page.imapport_hbox);
gtk_widget_hide(advanced_page.nntpport_hbox);
- gtk_widget_hide(advanced_page.crosspost_checkbtn);
- gtk_widget_hide(advanced_page.crosspost_colormenu);
gtk_widget_hide(advanced_page.tunnelcmd_checkbtn);
gtk_widget_hide(advanced_page.tunnelcmd_entry);
gtk_widget_hide(receive_page.imapdir_label);
@@ -5790,8 +5725,6 @@ static void prefs_account_protocol_changed(GtkComboBox *combobox, gpointer data)
gtk_widget_show(advanced_page.popport_hbox);
gtk_widget_hide(advanced_page.imapport_hbox);
gtk_widget_hide(advanced_page.nntpport_hbox);
- gtk_widget_hide(advanced_page.crosspost_checkbtn);
- gtk_widget_hide(advanced_page.crosspost_colormenu);
gtk_widget_hide(advanced_page.tunnelcmd_checkbtn);
gtk_widget_hide(advanced_page.tunnelcmd_entry);
gtk_widget_hide(receive_page.imapdir_label);
diff --git a/src/prefs_common.c b/src/prefs_common.c
@@ -58,7 +58,6 @@
#include "filesel.h"
#include "stock_pixmap.h"
#include "prefswindow.h"
-#include "colorlabel.h"
#include "passwordstore.h"
#include "file-utils.h"
@@ -263,68 +262,6 @@ static PrefParam param[] = {
{"derive_from_normal_font", "TRUE", &prefs_common.derive_from_normal_font, P_BOOL,
NULL, NULL, NULL},
- /* custom colors */
- {"custom_color1", "#ff9900", &prefs_common.custom_colorlabel[0].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel1", N_("Orange"), &prefs_common.custom_colorlabel[0].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color2", "#ff0000", &prefs_common.custom_colorlabel[1].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel2", N_("Red"), &prefs_common.custom_colorlabel[1].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color3", "#ff66ff", &prefs_common.custom_colorlabel[2].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel3", N_("Pink"), &prefs_common.custom_colorlabel[2].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color4", "#00ccff", &prefs_common.custom_colorlabel[3].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel4", N_("Sky blue"), &prefs_common.custom_colorlabel[3].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color5", "#0000ff", &prefs_common.custom_colorlabel[4].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel5", N_("Blue"), &prefs_common.custom_colorlabel[4].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color6", "#009900", &prefs_common.custom_colorlabel[5].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel6", N_("Green"), &prefs_common.custom_colorlabel[5].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color7", "#663333", &prefs_common.custom_colorlabel[6].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel7", N_("Brown"), &prefs_common.custom_colorlabel[6].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color8", "#aaaaaa", &prefs_common.custom_colorlabel[7].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel8", N_("Grey"), &prefs_common.custom_colorlabel[7].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color9", "#c07254", &prefs_common.custom_colorlabel[8].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel9", N_("Light brown"), &prefs_common.custom_colorlabel[8].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color10", "#c00000", &prefs_common.custom_colorlabel[9].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel10", N_("Dark red"), &prefs_common.custom_colorlabel[9].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color11", "#cc1074", &prefs_common.custom_colorlabel[10].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel11", N_("Dark pink"), &prefs_common.custom_colorlabel[10].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color12", "#5094cd", &prefs_common.custom_colorlabel[11].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel12", N_("Steel blue"), &prefs_common.custom_colorlabel[11].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color13", "#ffd500", &prefs_common.custom_colorlabel[12].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel13", N_("Gold"), &prefs_common.custom_colorlabel[12].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color14", "#00d800", &prefs_common.custom_colorlabel[13].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel14", N_("Bright green"), &prefs_common.custom_colorlabel[13].label, P_STRING,
- NULL, NULL, NULL},
- {"custom_color15", "#c060c0", &prefs_common.custom_colorlabel[14].color, P_COLOR,
- NULL, NULL, NULL},
- {"custom_colorlabel15", N_("Magenta"), &prefs_common.custom_colorlabel[14].label, P_STRING,
- NULL, NULL, NULL},
-
/* image viewer */
{"display_image", "TRUE", &prefs_common.display_img, P_BOOL,
NULL, NULL, NULL},
@@ -750,8 +687,6 @@ static PrefParam param[] = {
NULL, NULL, NULL},
{"ask_mark_all_read", "TRUE", &prefs_common.ask_mark_all_read, P_BOOL,
NULL, NULL, NULL},
- {"ask_override_colorlabel", "TRUE", &prefs_common.ask_override_colorlabel, P_BOOL,
- NULL, NULL, NULL},
{"ask_apply_per_account_filtering_rules", "TRUE", &prefs_common.ask_apply_per_account_filtering_rules, P_BOOL,
NULL, NULL, NULL},
@@ -1219,7 +1154,6 @@ void prefs_common_read_config(void)
prefs_common.compose_save_to_history =
prefs_common_read_history(COMPOSE_SAVE_TO_HISTORY);
prefs_common.addressbook_custom_attributes = addressbook_update_custom_attr_from_prefs();
- colorlabel_update_colortable_from_prefs();
}
#define TRY(func) \
diff --git a/src/prefs_common.h b/src/prefs_common.h
@@ -31,7 +31,6 @@
#include "codeconv.h"
#include "textview.h"
#include "procmime.h"
-#include "prefs_msg_colors.h"
#include "prefs_summary_open.h"
#define CLAWS_CONFIG_VERSION 5
@@ -235,9 +234,6 @@ struct _PrefsCommon
gboolean use_different_print_font;
gboolean derive_from_normal_font;
- /* custom colors */
- ColorlabelPrefs custom_colorlabel[COLORLABELS];
-
/* program colors */
GdkRGBA color[COL_LAST_COLOR_INDEX];
@@ -423,7 +419,6 @@ struct _PrefsCommon
int hover_timeout; /* msecs mouse hover timeout */
gboolean ask_mark_all_read;
gboolean run_processingrules_before_mark_all;
- gboolean ask_override_colorlabel;
gboolean ask_apply_per_account_filtering_rules;
gint apply_per_account_filtering_rules;
diff --git a/src/prefs_filtering_action.c b/src/prefs_filtering_action.c
@@ -49,7 +49,6 @@
#include "addr_compl.h"
#include "tags.h"
#include "matcher_parser.h"
-#include "colorlabel.h"
#include "combobox.h"
#include "account.h"
#include "addressbook.h"
@@ -114,7 +113,6 @@ static struct FilteringAction_ {
GtkWidget *dest_entry;
GtkWidget *dest_btn;
GtkWidget *exec_btn;
- GtkWidget *color_optmenu;
GtkWidget *header_combo;
GtkWidget *header_entry;
GtkWidget *addressbook_btn;
@@ -141,7 +139,6 @@ typedef enum Action_ {
ACTION_FORWARD_AS_ATTACHMENT,
ACTION_REDIRECT,
ACTION_EXECUTE,
- ACTION_COLOR,
ACTION_CHANGE_SCORE,
ACTION_SET_SCORE,
ACTION_SET_TAG,
@@ -173,7 +170,6 @@ static struct {
{ N_("Message flags"), N_("Mark as spam"), ACTION_MARK_AS_SPAM },
{ N_("Message flags"), N_("Mark as ham"), ACTION_MARK_AS_HAM },
{ NULL, N_("Execute"), ACTION_EXECUTE },
- { NULL, N_("Color label"), ACTION_COLOR },
{ N_("Resend"), N_("Forward"), ACTION_FORWARD },
{ N_("Resend"), N_("Forward as attachment"), ACTION_FORWARD_AS_ATTACHMENT },
{ N_("Resend"), N_("Redirect"), ACTION_REDIRECT },
@@ -270,10 +266,6 @@ void prefs_filtering_action_open(GSList *action_list,
if (!filtering_action.window) {
prefs_filtering_action_create();
- } else {
- /* update color label menu */
- colorlabel_refill_combobox_colormenu(
- GTK_COMBO_BOX(filtering_action.color_optmenu));
}
manage_window_set_transient(GTK_WINDOW(filtering_action.window));
@@ -357,8 +349,6 @@ static void prefs_filtering_action_create(void)
GtkWidget *exec_btn;
- GtkWidget *color_optmenu;
-
static GdkGeometry geometry;
GList * accounts;
@@ -508,11 +498,6 @@ static void prefs_filtering_action_create(void)
score_entry = gtk_spin_button_new_with_range(-1000, 1000, 1);
gtk_box_pack_start(GTK_BOX(hbox1), score_entry, FALSE, FALSE, 0);
- color_optmenu = colorlabel_create_combobox_colormenu();
- gtk_size_group_add_widget(size_action, color_optmenu);
- prefs_filtering_action_check_widget_width(color_optmenu);
- gtk_box_pack_start(GTK_BOX(hbox1), color_optmenu, FALSE, FALSE, 0);
-
tags_combo = gtk_combo_box_text_new ();
gtk_size_group_add_widget(size_action, tags_combo);
@@ -635,7 +620,6 @@ static void prefs_filtering_action_create(void)
filtering_action.dest_entry = dest_entry;
filtering_action.dest_btn = dest_btn;
filtering_action.exec_btn = exec_btn;
- filtering_action.color_optmenu = color_optmenu;
filtering_action.score_entry = score_entry;
filtering_action.header_combo = header_combo;
filtering_action.header_entry = header_entry;
@@ -834,8 +818,6 @@ static gint prefs_filtering_action_get_matching_from_action(Action action_id)
return MATCHACTION_REDIRECT;
case ACTION_EXECUTE:
return MATCHACTION_EXECUTE;
- case ACTION_COLOR:
- return MATCHACTION_COLOR;
case ACTION_HIDE:
return MATCHACTION_HIDE;
case ACTION_IGNORE:
@@ -907,11 +889,6 @@ static FilteringAction * prefs_filtering_action_dialog_to_action(gboolean alert)
return NULL;
}
break;
- case ACTION_COLOR:
- labelcolor = colorlabel_get_combobox_colormenu_active(
- GTK_COMBO_BOX(filtering_action.color_optmenu));
- destination = NULL;
- break;
case ACTION_CHANGE_SCORE:
case ACTION_SET_SCORE:
score = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(
@@ -1326,8 +1303,7 @@ static void prefs_filtering_action_type_selection_changed(GtkWidget *combo,
prefs_filtering_action_enable_widget(filtering_action.label3,
(ACTION_SEND(value) || ACTION_TAG(value) ||
ACTION_SCORE(value) || ACTION_FILEOP(value) ||
- value == ACTION_COLOR || value == ACTION_EXECUTE ||
- value == ACTION_ADD_TO_ADDRESSBOOK));
+ value == ACTION_EXECUTE || value == ACTION_ADD_TO_ADDRESSBOOK));
prefs_filtering_action_enable_widget(filtering_action.account_combo,
ACTION_SEND(value));
@@ -1345,9 +1321,6 @@ static void prefs_filtering_action_type_selection_changed(GtkWidget *combo,
prefs_filtering_action_enable_widget(filtering_action.exec_btn,
(value == ACTION_EXECUTE));
- prefs_filtering_action_enable_widget(filtering_action.color_optmenu,
- (value == ACTION_COLOR));
-
prefs_filtering_action_enable_widget(filtering_action.header_combo,
(value == ACTION_ADD_TO_ADDRESSBOOK));
prefs_filtering_action_enable_widget(filtering_action.addressbook_btn,
@@ -1370,9 +1343,6 @@ static void prefs_filtering_action_type_selection_changed(GtkWidget *combo,
case ACTION_MOVE:
gtk_label_set_text(GTK_LABEL(filtering_action.label3), _("Destination"));
break;
- case ACTION_COLOR:
- gtk_label_set_text(GTK_LABEL(filtering_action.label3), _("Color"));
- break;
case ACTION_EXECUTE:
gtk_label_set_text(GTK_LABEL(filtering_action.label3), _("Execute"));
break;
@@ -1574,13 +1544,6 @@ static gboolean prefs_filtering_actions_selected
combobox_select_by_data(GTK_COMBO_BOX(filtering_action.action_combo),
ACTION_EXECUTE);
break;
- case MATCHACTION_COLOR:
- combobox_select_by_data(GTK_COMBO_BOX(filtering_action.action_combo),
- ACTION_COLOR);
- colorlabel_set_combobox_colormenu_active(
- GTK_COMBO_BOX(filtering_action.color_optmenu),
- action->labelcolor);
- break;
case MATCHACTION_CHANGE_SCORE:
combobox_select_by_data(GTK_COMBO_BOX(filtering_action.action_combo),
ACTION_CHANGE_SCORE);
diff --git a/src/prefs_matcher.c b/src/prefs_matcher.c
@@ -50,7 +50,6 @@
#include "combobox.h"
#include "matcher_parser.h"
-#include "colorlabel.h"
#include "tags.h"
#include "addressbook.h"
@@ -92,7 +91,6 @@ static struct Matcher {
GtkWidget *addressbook_folder_combo;
GtkWidget *case_checkbtn;
GtkWidget *regexp_checkbtn;
- GtkWidget *color_optmenu;
GtkWidget *calendar;
GtkWidget *time_label;
GtkWidget *time_entry;
@@ -452,9 +450,6 @@ void prefs_matcher_open(MatcherList *matchers, PrefsMatcherSignal *cb)
if (!matcher.window) {
prefs_matcher_models_create();
prefs_matcher_create();
- } else {
- /* update color label menu */
- colorlabel_refill_combobox_colormenu(GTK_COMBO_BOX(matcher.color_optmenu));
}
manage_window_set_transient(GTK_WINDOW(matcher.window));
@@ -543,7 +538,6 @@ static void prefs_matcher_create(void)
GtkWidget *test_btn;
GtkWidget *addressbook_select_btn;
- GtkWidget *color_optmenu;
GtkWidget *calendar;
GtkWidget *time_label;
GtkWidget *time_entry;
@@ -632,7 +626,6 @@ static void prefs_matcher_create(void)
COMBOBOX_ADD(store, _("Age"), MATCH_AGE);
COMBOBOX_ADD(store, _("Phrase"), MATCH_PHRASE);
COMBOBOX_ADD(store, _("Flags"), MATCH_FLAG);
- COMBOBOX_ADD(store, _("Color labels"), MATCH_LABEL);
COMBOBOX_ADD(store, _("Thread"), MATCH_THREAD);
COMBOBOX_ADD(store, _("Score"), MATCH_SCORE);
COMBOBOX_ADD(store, _("Size"), MATCH_SIZE);
@@ -700,10 +693,6 @@ static void prefs_matcher_create(void)
match_combo = gtkut_sc_combobox_create(NULL, TRUE);
gtk_box_pack_start(GTK_BOX(match_hbox), match_combo, TRUE, TRUE, 0);
- /* color labels combo */
- color_optmenu = colorlabel_create_combobox_colormenu();
- gtk_box_pack_start(GTK_BOX(match_hbox), color_optmenu, FALSE, FALSE, 0);
-
/* address header name */
header_addr_combo = combobox_text_new(TRUE,
C_("Filtering Matcher Menu", "All"), _("Any"),
@@ -878,7 +867,6 @@ static void prefs_matcher_create(void)
matcher.time_label = time_label;
matcher.time_entry = time_entry;
matcher.addressbook_select_btn = addressbook_select_btn;
- matcher.color_optmenu = color_optmenu;
matcher.match_label = match_label;
matcher.criteria_label2 = criteria_label2;
matcher.headers_combo = headers_combo;
@@ -968,7 +956,6 @@ static void prefs_matcher_reset_condition(void)
gtk_combo_box_set_active(GTK_COMBO_BOX(matcher.match_combo), 0);
if (match_combo2_model_set())
gtk_combo_box_set_active(GTK_COMBO_BOX(matcher.match_combo2), 0);
- gtk_combo_box_set_active(GTK_COMBO_BOX(matcher.color_optmenu), 0);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(matcher.numeric_entry), 0);
gtk_entry_set_text(GTK_ENTRY(matcher.header_entry), "");
gtk_entry_set_text(GTK_ENTRY(matcher.header_addr_entry), "");
@@ -1613,11 +1600,6 @@ static MatcherProp *prefs_matcher_dialog_to_matcher(void)
value *= KB_SIZE;
break;
- case CRITERIA_COLORLABEL:
- value = colorlabel_get_combobox_colormenu_active(
- GTK_COMBO_BOX(matcher.color_optmenu));
- break;
-
case CRITERIA_HEADER:
header = gtk_entry_get_text(GTK_ENTRY(matcher.header_entry));
expr = gtk_entry_get_text(GTK_ENTRY(matcher.string_entry));
@@ -1987,8 +1969,6 @@ static void prefs_matcher_criteria_select(GtkWidget *widget,
(value == MATCH_TEST));
prefs_matcher_enable_widget(matcher.addressbook_select_btn,
(value == MATCH_ABOOK));
- prefs_matcher_enable_widget(matcher.color_optmenu,
- (value == MATCH_LABEL));
prefs_matcher_enable_widget(matcher.upper_filler,
MATCH_CASE_REGEXP(value));
prefs_matcher_enable_widget(matcher.lower_filler,
@@ -2035,12 +2015,6 @@ static void prefs_matcher_criteria_select(GtkWidget *widget,
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(matcher.regexp_checkbtn), FALSE);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(matcher.case_checkbtn), FALSE);
break;
- case MATCH_LABEL:
- gtk_combo_box_set_active(GTK_COMBO_BOX(matcher.color_optmenu), 0);
- prefs_matcher_set_model(matcher.match_combo2, matcher.model_set);
- gtk_label_set_text(GTK_LABEL(matcher.match_label), _("Label"));
- gtk_label_set_text(GTK_LABEL(matcher.match_label2), _("is"));
- break;
case MATCH_PARTIAL:
prefs_matcher_set_model(matcher.criteria_combo2, matcher.model_partial);
gtk_label_set_text(GTK_LABEL(matcher.criteria_label2), _("Value:"));
@@ -2636,12 +2610,6 @@ static gboolean prefs_matcher_selected(GtkTreeSelection *selector,
}
break;
- case MATCHCRITERIA_NOT_COLORLABEL:
- case MATCHCRITERIA_COLORLABEL:
- colorlabel_set_combobox_colormenu_active(
- GTK_COMBO_BOX(matcher.color_optmenu), prop->value);
- break;
-
case MATCHCRITERIA_NOT_HEADER:
case MATCHCRITERIA_HEADER:
gtk_entry_set_text(GTK_ENTRY(matcher.header_entry), prop->header);
diff --git a/src/prefs_msg_colors.c b/src/prefs_msg_colors.c
@@ -1,600 +0,0 @@
-/*
- * Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 2004-2021 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 "defs.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <glib.h>
-#include <glib/gi18n.h>
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-
-#include "prefs_common.h"
-#include "prefs_gtk.h"
-
-#include "gtk/gtkutils.h"
-#include "gtk/prefswindow.h"
-
-#include "manage_window.h"
-#include "mainwindow.h"
-#include "colorlabel.h"
-
-#define SAFE_STRING(str) \
- (str) ? (str) : ""
-
-static struct MessageColorButtons {
- /* program colors */
- GtkWidget *color[COL_LAST_COLOR_INDEX];
- /* custom colors */
- GtkWidget *custom_color[COLORLABELS];
-} color_buttons;
-
-typedef struct _MsgColorsPage
-{
- PrefsPage page;
-
- GtkWidget *window;
-
- GtkWidget *checkbtn_enable_colors;
- GtkWidget *checkbtn_enable_bgcolors;
- GtkWidget *checkbtn_recycle_colors;
-
- /* custom colors */
- GtkWidget *entry_custom_colorlabel[COLORLABELS];
-} MsgColorsPage;
-
-static void prefs_msg_colors_reset_custom_colors(GtkWidget *widget,
- gpointer data);
-
-#define COLOR_BUTTON_PACK_START(gtkbox, colorid, text) \
- color_buttons.color[colorid] = gtk_color_button_new_with_rgba( \
- &prefs_common.color[colorid]); \
- gtk_color_button_set_title(GTK_COLOR_BUTTON(color_buttons.color[colorid]), text); \
- gtk_widget_show(color_buttons.color[colorid]); \
- gtk_box_pack_start(GTK_BOX(gtkbox), color_buttons.color[colorid], FALSE, FALSE, 0); \
- gtk_widget_set_tooltip_text(GTK_WIDGET(color_buttons.color[colorid]), text)
-
-#define COLOR_BUTTON_PACK_END(gtkbox, colorid, text) \
- color_buttons.color[colorid] = gtk_color_button_new_with_rgba( \
- &prefs_common.color[colorid]); \
- gtk_color_button_set_title(GTK_COLOR_BUTTON(color_buttons.color[colorid]), text); \
- gtk_widget_show(color_buttons.color[colorid]); \
- gtk_box_pack_end(GTK_BOX(gtkbox), color_buttons.color[colorid], FALSE, FALSE, 0); \
- gtk_widget_set_tooltip_text(GTK_WIDGET(color_buttons.color[colorid]), text)
-
-#define COLOR_LABEL_PACK_START(gtkbox, colorid, labeltext) \
- label[colorid] = gtk_label_new (labeltext); \
- gtk_widget_show (label[colorid]); \
- gtk_box_pack_start (GTK_BOX(gtkbox), label[colorid], FALSE, FALSE, 0)
-
-#define COLOR_LABEL_PACK_END(gtkbox, colorid, labeltext) \
- label[colorid] = gtk_label_new (labeltext); \
- gtk_widget_show (label[colorid]); \
- gtk_box_pack_end (GTK_BOX(gtkbox), label[colorid], FALSE, FALSE, 0)
-
-static void prefs_msg_colors_create_widget(PrefsPage *_page, GtkWindow *window,
- gpointer data)
-{
- MsgColorsPage *prefs_msg_colors = (MsgColorsPage *) _page;
-
- GtkWidget *notebook;
- GtkWidget *vbox1;
- GtkWidget *vbox2;
- GtkWidget *checkbtn_enable_colors;
- GtkWidget *label_quote_level1;
- GtkWidget *label_quote_level2;
- GtkWidget *label_quote_level3;
- GtkWidget *checkbtn_enable_bgcolors;
- GtkWidget *checkbtn_recycle_colors;
- GtkWidget *hbox;
- GtkWidget *label[COL_LAST_COLOR_INDEX];
- GtkWidget *frame_msg;
- GtkWidget *frame_folder;
- GtkWidget *frame_quote;
- GtkWidget *vbox3;
- GtkWidget *hbox_quote;
- GtkWidget *vbox_quotefg;
- GtkWidget *vbox_quotebg;
- GtkWidget *frame_diff;
- GtkWidget *vbox4;
- /* custom colors */
- GtkWidget *hbox_custom_colors;
- GtkWidget *vbox_custom_colors;
- GtkWidget *vbox_custom_colors1;
- GtkWidget *vbox_custom_colors2;
- GtkWidget *hbox_reset_custom_colors;
- GtkWidget *btn_reset_custom_colors;
- GtkWidget *hbox_custom_color[COLORLABELS];
- GtkWidget *entry_custom_colorlabel[COLORLABELS];
- gint c;
- gchar *tooltip_btn_text = NULL;
- gchar *tooltip_entry_text = NULL;
- gchar *title = NULL;
-
- notebook = gtk_notebook_new();
- gtk_widget_show(notebook);
-
- vbox1 = gtk_box_new(GTK_ORIENTATION_VERTICAL, VBOX_BORDER);
- gtk_widget_show (vbox1);
- gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
- gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox1,
- gtk_label_new(_("Other")));
-
- vbox2 = gtkut_get_options_frame(vbox1, &frame_msg, _("Message view"));
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
-
- gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, TRUE, 0);
- PACK_CHECK_BUTTON (hbox, checkbtn_enable_colors,
- _("Enable coloration of message text"));
-
- hbox_quote = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox_quote);
- vbox_quotefg = gtk_box_new(GTK_ORIENTATION_VERTICAL, VBOX_BORDER);
- gtk_widget_show (vbox_quotefg);
- vbox_quotebg = gtk_box_new(GTK_ORIENTATION_VERTICAL, VBOX_BORDER);
- gtk_widget_show (vbox_quotebg);
- vbox3 = gtkut_get_options_frame(vbox2, &frame_quote, _("Quote"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, frame_quote);
-
- gtk_box_pack_start (GTK_BOX (vbox3), hbox_quote, FALSE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (hbox_quote), vbox_quotefg, FALSE, TRUE, 0);
- gtk_box_pack_start (GTK_BOX (hbox_quote), vbox_quotebg, FALSE, TRUE, 0);
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox_quotefg), hbox, FALSE, TRUE, 0);
-
- PACK_CHECK_BUTTON (hbox, checkbtn_recycle_colors,
- _("Cycle quote colors"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, checkbtn_recycle_colors);
-
- CLAWS_SET_TIP(checkbtn_recycle_colors,
- _("If there are more than 3 quote levels, the colors will be reused"));
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox_quotefg), hbox, FALSE, TRUE, 0);
-
- label_quote_level1 = gtk_label_new (_("1st Level"));
- gtk_widget_show(label_quote_level1);
- gtk_box_pack_start (GTK_BOX(hbox), label_quote_level1,
- FALSE, FALSE, 0);
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, label_quote_level1);
-
- COLOR_LABEL_PACK_END(hbox, COL_QUOTE_LEVEL1, _("Text"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, label[COL_QUOTE_LEVEL1]);
-
- COLOR_BUTTON_PACK_END(hbox, COL_QUOTE_LEVEL1,
- C_("Tooltip", "Pick color for 1st level text"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors,
- color_buttons.color[COL_QUOTE_LEVEL1]);
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox_quotefg), hbox, FALSE, TRUE, 0);
-
- label_quote_level2 = gtk_label_new (_("2nd Level"));
- gtk_widget_show(label_quote_level2);
- gtk_box_pack_start (GTK_BOX(hbox), label_quote_level2,
- FALSE, FALSE, 0);
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, label_quote_level2);
-
- COLOR_LABEL_PACK_END(hbox, COL_QUOTE_LEVEL2, _("Text"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, label[COL_QUOTE_LEVEL2]);
-
- COLOR_BUTTON_PACK_END(hbox, COL_QUOTE_LEVEL2,
- C_("Tooltip", "Pick color for 2nd level text"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors,
- color_buttons.color[COL_QUOTE_LEVEL2]);
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox_quotefg), hbox, FALSE, TRUE, 0);
-
- label_quote_level3 = gtk_label_new (_("3rd Level"));
- gtk_widget_show(label_quote_level3);
- gtk_box_pack_start (GTK_BOX(hbox), label_quote_level3,
- FALSE, FALSE, 0);
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, label_quote_level3);
-
- COLOR_LABEL_PACK_END(hbox, COL_QUOTE_LEVEL3, _("Text"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, label[COL_QUOTE_LEVEL3]);
-
- COLOR_BUTTON_PACK_END(hbox, COL_QUOTE_LEVEL3,
- C_("Tooltip", "Pick color for 3rd level text"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors,
- color_buttons.color[COL_QUOTE_LEVEL3]);
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox_quotebg), hbox, FALSE, TRUE, 0);
-
- PACK_CHECK_BUTTON (hbox, checkbtn_enable_bgcolors,
- _("Enable coloration of text background"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, checkbtn_enable_bgcolors);
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, hbox);
- gtk_box_pack_start (GTK_BOX (vbox_quotebg), hbox, FALSE, TRUE, 0);
-
- COLOR_BUTTON_PACK_START(hbox, COL_QUOTE_LEVEL1_BG,
- C_("Tooltip and Dialog title",
- "Pick color for 1st level text background"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_bgcolors,
- color_buttons.color[COL_QUOTE_LEVEL1_BG]);
-
- COLOR_LABEL_PACK_START(hbox, COL_QUOTE_LEVEL1_BG, _("Background"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_bgcolors, label[COL_QUOTE_LEVEL1_BG]);
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, hbox);
- gtk_box_pack_start (GTK_BOX (vbox_quotebg), hbox, FALSE, TRUE, 0);
-
- COLOR_BUTTON_PACK_START(hbox, COL_QUOTE_LEVEL2_BG,
- C_("Tooltip and Dialog title",
- "Pick color for 2nd level text background"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_bgcolors,
- color_buttons.color[COL_QUOTE_LEVEL2_BG]);
-
- COLOR_LABEL_PACK_START(hbox, COL_QUOTE_LEVEL2_BG, _("Background"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_bgcolors, label[COL_QUOTE_LEVEL2_BG]);
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, hbox);
- gtk_box_pack_start (GTK_BOX (vbox_quotebg), hbox, FALSE, TRUE, 0);
-
- COLOR_BUTTON_PACK_START(hbox, COL_QUOTE_LEVEL3_BG,
- C_("Tooltip and Dialog title",
- "Pick color for 3rd level text background"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_bgcolors,
- color_buttons.color[COL_QUOTE_LEVEL3_BG]);
-
- COLOR_LABEL_PACK_START(hbox, COL_QUOTE_LEVEL3_BG, _("Background"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_bgcolors, label[COL_QUOTE_LEVEL3_BG]);
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, TRUE, 0);
-
- COLOR_BUTTON_PACK_START(hbox, COL_URI,
- C_("Tooltip and Dialog title",
- "Pick color for links"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors,
- color_buttons.color[COL_URI]);
-
- COLOR_LABEL_PACK_START(hbox, COL_URI, _("URI link"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, label[COL_URI]);
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, TRUE, 0);
-
- COLOR_BUTTON_PACK_START(hbox, COL_SIGNATURE,
- C_("Tooltip and Dialog title",
- "Pick color for signatures"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors,
- color_buttons.color[COL_SIGNATURE]);
-
- COLOR_LABEL_PACK_START(hbox, COL_SIGNATURE, _("Signatures"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, label[COL_SIGNATURE]);
-
- vbox4 = gtkut_get_options_frame(vbox2, &frame_diff,
- /* TRANSLATORS: A patch is a text file listing the differences between 2 or more different */
- /* versions of the same text file */
- _("Patch messages and attachments"));
- SET_TOGGLE_SENSITIVITY(checkbtn_enable_colors, frame_diff);
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox4), hbox, FALSE, TRUE, 0);
-
- COLOR_BUTTON_PACK_START(hbox, COL_DIFF_ADDED,
- C_("Tooltip and Dialog title",
- "Pick color for inserted lines"));
-
- COLOR_LABEL_PACK_START(hbox, COL_DIFF_ADDED, _("Inserted lines"));
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox4), hbox, FALSE, FALSE, 0);
-
- COLOR_BUTTON_PACK_START(hbox, COL_DIFF_DELETED,
- C_("Tooltip and Dialog title",
- "Pick color for removed lines"));
-
- COLOR_LABEL_PACK_START(hbox, COL_DIFF_DELETED,
- _("Removed lines"));
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox4), hbox, FALSE, FALSE, 0);
-
- COLOR_BUTTON_PACK_START(hbox, COL_DIFF_HUNK,
- /* TRANSLATORS: A hunk is a section of the patch indicating how the files differ */
- C_("Tooltip and Dialog title",
- "Pick color for hunk lines"));
-
- COLOR_LABEL_PACK_START(hbox, COL_DIFF_HUNK,
- /* TRANSLATORS: A hunk is a section of the patch indicating how the files differ */
- _("Hunk lines"));
-
- vbox2 = gtkut_get_options_frame(vbox1, &frame_folder, _("Folder list"));
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, TRUE, 0);
-
- COLOR_BUTTON_PACK_START(hbox, COL_TGT_FOLDER,
- C_("Tooltip and Dialog title",
- "Pick color for Target folder"));
- COLOR_LABEL_PACK_START(hbox, COL_TGT_FOLDER, _("Target folder"));
- gtk_widget_set_tooltip_text(GTK_WIDGET(label[COL_TGT_FOLDER]),
- C_("Tooltip", "Target folder is used when the option "
- "'Execute immediately when moving or "
- "deleting messages' is turned off"));
-
-
- hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0);
-
- COLOR_BUTTON_PACK_START(hbox, COL_NEW,
- C_("Tooltip and Dialog title",
- "Pick color for folders containing new messages"));
-
- COLOR_LABEL_PACK_START(hbox, COL_NEW,
- _("Folder containing new messages"));
-
- /* custom colors */
- vbox_custom_colors = gtk_box_new(GTK_ORIENTATION_VERTICAL, VSPACING_NARROW);
- gtk_widget_show (vbox_custom_colors);
- gtk_container_set_border_width (GTK_CONTAINER (vbox_custom_colors), VBOX_BORDER);
- gtk_notebook_prepend_page(GTK_NOTEBOOK(notebook), vbox_custom_colors,
- gtk_label_new(_("Color labels")));
-
- hbox_custom_colors = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 8);
- gtk_widget_show(hbox_custom_colors);
- gtk_box_pack_start(GTK_BOX (vbox_custom_colors), hbox_custom_colors,
- FALSE, TRUE, 0);
-
- vbox_custom_colors1 = gtk_box_new(GTK_ORIENTATION_VERTICAL, VSPACING_NARROW);
- gtk_widget_show (vbox_custom_colors1);
- gtk_box_pack_start (GTK_BOX (hbox_custom_colors), vbox_custom_colors1, FALSE, FALSE, 0);
-
- vbox_custom_colors2 = gtk_box_new(GTK_ORIENTATION_VERTICAL, VSPACING_NARROW);
- gtk_widget_show (vbox_custom_colors2);
- gtk_box_pack_start (GTK_BOX (hbox_custom_colors), vbox_custom_colors2, FALSE, FALSE, 0);
-
- for (c = 0; c < (COLORLABELS>>1)+(COLORLABELS&1); c++) {
- /* TRANSLATORS: 'color %d' refers to the filtering/processing
- rule name and should not be translated */
- tooltip_btn_text = g_strdup_printf(C_("Tooltip", "Pick color for 'color %d'"), c+1);
-
- /* TRANSLATORS: 'color %d' refers to the filtering/processing
- rule name and should not be translated */
- tooltip_entry_text = g_strdup_printf(_("Set label for 'color %d'"), c+1);
-
- hbox_custom_color[c] = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 8);
- gtk_widget_show(hbox_custom_color[c]);
- gtk_box_pack_start(GTK_BOX (vbox_custom_colors1), hbox_custom_color[c],
- FALSE, TRUE, 0);
-
- color_buttons.custom_color[c] = gtk_color_button_new_with_rgba(
- &prefs_common.custom_colorlabel[c].color);
- title = g_strdup_printf(C_("Dialog title", "Pick color for 'color %d'"), c+1);
- gtk_color_button_set_title(GTK_COLOR_BUTTON(color_buttons.custom_color[c]),
- title);
- g_free(title);
- gtk_widget_show(color_buttons.custom_color[c]);
- gtk_box_pack_start(GTK_BOX (hbox_custom_color[c]), color_buttons.custom_color[c],
- FALSE, FALSE, 0);
-
- CLAWS_SET_TIP(color_buttons.custom_color[c],
- tooltip_btn_text);
- g_free(tooltip_btn_text);
-
- entry_custom_colorlabel[c] = gtk_entry_new();
- gtk_widget_show (entry_custom_colorlabel[c]);
- gtk_box_pack_start(GTK_BOX (hbox_custom_color[c]), entry_custom_colorlabel[c],
- FALSE, FALSE, 0);
- CLAWS_SET_TIP(entry_custom_colorlabel[c],
- tooltip_entry_text);
- g_free(tooltip_entry_text);
- }
-
- for (c = (COLORLABELS>>1)+(COLORLABELS&1); c < COLORLABELS; c++) {
- /* TRANSLATORS: 'color %d' refers to the filtering/processing
- rule name and should not be translated */
- tooltip_btn_text = g_strdup_printf(C_("Tooltip", "Pick color for 'color %d'"), c+1);
-
- /* TRANSLATORS: 'color %d' refers to the filtering/processing
- rule name and should not be translated */
- tooltip_entry_text = g_strdup_printf(_("Set label for 'color %d'"), c+1);
-
- hbox_custom_color[c] = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 8);
- gtk_widget_show(hbox_custom_color[c]);
- gtk_box_pack_start(GTK_BOX (vbox_custom_colors2), hbox_custom_color[c],
- FALSE, TRUE, 0);
-
- color_buttons.custom_color[c] = gtk_color_button_new_with_rgba(
- &prefs_common.custom_colorlabel[c].color);
- title = g_strdup_printf(C_("Dialog title", "Pick color for 'color %d'"), c+1);
- gtk_color_button_set_title(GTK_COLOR_BUTTON(color_buttons.custom_color[c]),
- title);
- g_free(title);
- gtk_widget_show(color_buttons.custom_color[c]);
- gtk_box_pack_start(GTK_BOX (hbox_custom_color[c]), color_buttons.custom_color[c],
- FALSE, FALSE, 0);
- CLAWS_SET_TIP(color_buttons.custom_color[c],
- tooltip_btn_text);
- g_free(tooltip_btn_text);
-
- entry_custom_colorlabel[c] = gtk_entry_new();
- gtk_widget_show (entry_custom_colorlabel[c]);
- gtk_box_pack_start(GTK_BOX (hbox_custom_color[c]), entry_custom_colorlabel[c],
- FALSE, FALSE, 0);
- CLAWS_SET_TIP(entry_custom_colorlabel[c],
- tooltip_entry_text);
-
- g_free(tooltip_entry_text);
- }
-
- hbox_reset_custom_colors = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, VBOX_BORDER);
- gtk_widget_show (hbox_reset_custom_colors);
- gtk_box_pack_start(GTK_BOX (vbox_custom_colors), hbox_reset_custom_colors,
- FALSE, FALSE, 0);
-
- btn_reset_custom_colors = gtk_button_new_with_label(_(" Use default "));
- gtk_widget_show(btn_reset_custom_colors);
- gtk_box_pack_start(GTK_BOX(hbox_reset_custom_colors), btn_reset_custom_colors,
- FALSE, FALSE, 0);
-
- g_signal_connect(G_OBJECT(btn_reset_custom_colors), "clicked",
- G_CALLBACK(prefs_msg_colors_reset_custom_colors), prefs_msg_colors);
-
- for (c = 0; c < COLORLABELS; c++) {
- gtk_entry_set_text(GTK_ENTRY (entry_custom_colorlabel[c]),
- gettext(SAFE_STRING (prefs_common.custom_colorlabel[c].label)));
- }
-
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_enable_colors),
- prefs_common.enable_color);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_enable_bgcolors),
- prefs_common.enable_bgcolor);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_recycle_colors),
- prefs_common.recycle_quote_colors);
-
- prefs_msg_colors->checkbtn_enable_colors = checkbtn_enable_colors;
- prefs_msg_colors->checkbtn_enable_bgcolors = checkbtn_enable_bgcolors;
- prefs_msg_colors->checkbtn_recycle_colors = checkbtn_recycle_colors;
-
- for (c = 0; c < COLORLABELS; c++) {
- prefs_msg_colors->entry_custom_colorlabel[c] = entry_custom_colorlabel[c];
- }
- gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), 0);
-
- prefs_msg_colors->page.widget = notebook;
-}
-
-#undef COLOR_BUTTON_PACK_START
-#undef COLOR_BUTTON_PACK_END
-#undef COLOR_LABEL_PACK_START
-#undef COLOR_LABEL_PACK_END
-
-#define COLOR_OTHER_SAVE(colorid) \
- gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(color_buttons.color[colorid]), \
- &prefs_common.color[colorid])
-
-static void prefs_msg_colors_save(PrefsPage *_page)
-{
- MsgColorsPage *page = (MsgColorsPage *) _page;
- gint c;
-
- prefs_common.enable_color =
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->checkbtn_enable_colors));
- prefs_common.enable_bgcolor =
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->checkbtn_enable_bgcolors));
- prefs_common.recycle_quote_colors =
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(page->checkbtn_recycle_colors));
-
- /* custom colors */
- for (c = 0; c < COLORLABELS; c++) {
- g_free(prefs_common.custom_colorlabel[c].label);
- prefs_common.custom_colorlabel[c].label =
- gtk_editable_get_chars(GTK_EDITABLE(page->entry_custom_colorlabel[c]), 0, -1);
- gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(color_buttons.custom_color[c]),
- &prefs_common.custom_colorlabel[c].color);
- }
- colorlabel_update_colortable_from_prefs();
- COLOR_OTHER_SAVE(COL_QUOTE_LEVEL1);
- COLOR_OTHER_SAVE(COL_QUOTE_LEVEL2);
- COLOR_OTHER_SAVE(COL_QUOTE_LEVEL3);
- COLOR_OTHER_SAVE(COL_QUOTE_LEVEL1_BG);
- COLOR_OTHER_SAVE(COL_QUOTE_LEVEL2_BG);
- COLOR_OTHER_SAVE(COL_QUOTE_LEVEL3_BG);
- COLOR_OTHER_SAVE(COL_URI);
- COLOR_OTHER_SAVE(COL_SIGNATURE);
- COLOR_OTHER_SAVE(COL_DIFF_ADDED);
- COLOR_OTHER_SAVE(COL_DIFF_DELETED);
- COLOR_OTHER_SAVE(COL_DIFF_HUNK);
- COLOR_OTHER_SAVE(COL_TGT_FOLDER);
- COLOR_OTHER_SAVE(COL_NEW);
-
- main_window_reflect_prefs_all();
- main_window_reflect_prefs_custom_colors(mainwindow_get_mainwindow());
-}
-#undef COLOR_OTHER_SAVE
-
-static void prefs_msg_colors_reset_custom_colors(GtkWidget *widget, gpointer data)
-{
- MsgColorsPage *page = (MsgColorsPage *) data;
- GdkRGBA rgba;
- gint c;
-
- for (c = 0; c < COLORLABELS; c++) {
- rgba = colorlabel_get_default_color(c);
- prefs_common.custom_colorlabel[c].color = rgba;
- gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(color_buttons.custom_color[c]), &rgba);
- gtk_entry_set_text(GTK_ENTRY(page->entry_custom_colorlabel[c]),
- gettext(SAFE_STRING (colorlabel_get_color_default_text(c))));
- }
-}
-
-static void prefs_msg_colors_destroy_widget(PrefsPage *_page)
-{
-}
-
-MsgColorsPage *prefs_msg_colors;
-
-void prefs_msg_colors_init(void)
-{
- MsgColorsPage *page;
- static gchar *path[3];
-
- path[0] = _("Display");
- path[1] = _("Colors");
- path[2] = NULL;
-
- page = g_new0(MsgColorsPage, 1);
- page->page.path = path;
- page->page.create_widget = prefs_msg_colors_create_widget;
- page->page.destroy_widget = prefs_msg_colors_destroy_widget;
- page->page.save_page = prefs_msg_colors_save;
- page->page.weight = 165.0;
- prefs_gtk_register_page((PrefsPage *) page);
- prefs_msg_colors = page;
-}
-
-void prefs_msg_colors_done(void)
-{
- prefs_gtk_unregister_page((PrefsPage *) prefs_msg_colors);
- g_free(prefs_msg_colors);
-}
-
diff --git a/src/prefs_msg_colors.h b/src/prefs_msg_colors.h
@@ -1,44 +0,0 @@
-/*
- * Claws Mail -- a GTK based, lightweight, and fast e-mail client
- * Copyright (C) 2004-2012 Hiroyuki Yamamoto and 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 PREFS_MSG_COLORS_H
-#define PREFS_MSG_COLORS_H
-
-#include "colorlabel.h"
-
-typedef struct _ColorlabelPrefs ColorlabelPrefs;
-typedef struct _ColorlabelPrefsWidgets ColorlabelPrefsWidgets;
-
-struct _ColorlabelPrefs
-{
- GdkRGBA color;
- gchar *label;
-
-};
-
-struct _ColorlabelPrefsWidgets
-{
- GtkWidget* foo;
- GtkWidget* bar;
-};
-
-void prefs_msg_colors_init (void);
-void prefs_msg_colors_done (void);
-
-#endif /* PREFS_MSG_COLORS_H */
diff --git a/src/prefs_summaries.c b/src/prefs_summaries.c
@@ -74,7 +74,6 @@ typedef struct _SummariesPage
GtkWidget *checkbtn_immedexec;
GtkWidget *checkbtn_ask_mark_all_read;
GtkWidget *checkbtn_run_processingrules_mark_all_read;
- GtkWidget *checkbtn_ask_override_colorlabel;
GtkWidget *optmenu_sort_key;
GtkWidget *optmenu_sort_type;
GtkWidget *optmenu_summaryfromshow;
@@ -390,7 +389,6 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
GtkWidget *checkbtn_immedexec;
GtkWidget *checkbtn_ask_mark_all_read;
GtkWidget *checkbtn_run_processingrules_mark_all_read;
- GtkWidget *checkbtn_ask_override_colorlabel;
GtkWidget *label, *label_fill;
GtkListStore *menu;
GtkTreeIter iter;
@@ -664,9 +662,6 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
PACK_CHECK_BUTTON
(vbox1, checkbtn_ask_mark_all_read,
_("Confirm when marking all messages as read or unread"));
- PACK_CHECK_BUTTON
- (vbox1, checkbtn_ask_override_colorlabel,
- _("Confirm when changing color labels"));
PACK_CHECK_BUTTON
(vbox1, checkbtn_show_tooltips,
@@ -703,7 +698,6 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
COMBOBOX_ADD(menu, _("From"), SORT_BY_FROM);
COMBOBOX_ADD(menu, _("To"), SORT_BY_TO);
COMBOBOX_ADD(menu, _("Subject"), SORT_BY_SUBJECT);
- COMBOBOX_ADD(menu, _("Color label"), SORT_BY_LABEL);
COMBOBOX_ADD(menu, _("Tag"), SORT_BY_TAGS);
COMBOBOX_ADD(menu, _("Mark"), SORT_BY_MARK);
COMBOBOX_ADD(menu, _("Status"), SORT_BY_STATUS);
@@ -761,7 +755,6 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
prefs_summaries->checkbtn_immedexec = checkbtn_immedexec;
prefs_summaries->checkbtn_ask_mark_all_read = checkbtn_ask_mark_all_read;
prefs_summaries->checkbtn_run_processingrules_mark_all_read = checkbtn_run_processingrules_mark_all_read;
- prefs_summaries->checkbtn_ask_override_colorlabel = checkbtn_ask_override_colorlabel;
prefs_summaries->optmenu_sort_key = optmenu_sort_key;
prefs_summaries->optmenu_sort_type = optmenu_sort_type;
prefs_summaries->optmenu_nextunreadmsgdialog = optmenu_nextunreadmsgdialog;
@@ -826,8 +819,6 @@ static void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
prefs_common.ask_mark_all_read);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_run_processingrules_mark_all_read),
prefs_common.run_processingrules_before_mark_all);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_ask_override_colorlabel),
- prefs_common.ask_override_colorlabel);
combobox_select_by_data(GTK_COMBO_BOX(optmenu_sort_key),
prefs_common.default_sort_key);
@@ -906,8 +897,6 @@ static void prefs_summaries_save(PrefsPage *_page)
GTK_TOGGLE_BUTTON(page->checkbtn_ask_mark_all_read));
prefs_common.run_processingrules_before_mark_all = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(page->checkbtn_run_processingrules_mark_all_read));
- prefs_common.ask_override_colorlabel = gtk_toggle_button_get_active(
- GTK_TOGGLE_BUTTON(page->checkbtn_ask_override_colorlabel));
prefs_common.mark_as_read_delay = gtk_spin_button_get_value_as_int(
GTK_SPIN_BUTTON(page->spinbtn_mark_as_read_delay));
prefs_common.summary_col_lock = gtk_toggle_button_get_active(
diff --git a/src/ssl_manager.c b/src/ssl_manager.c
@@ -332,7 +332,6 @@ static void ssl_manager_load_certs (void)
const gchar *d;
GError *error = NULL;
gchar *path;
- int row = 0;
GtkListStore *store;
store = GTK_LIST_STORE(gtk_tree_view_get_model
@@ -375,7 +374,6 @@ static void ssl_manager_load_certs (void)
g_free(port);
if (fp)
g_free(fp);
- row++;
}
g_dir_close(dir);
g_free(path);
diff --git a/src/summaryview.c b/src/summaryview.c
@@ -56,7 +56,6 @@
#include "inputdialog.h"
#include "statusbar.h"
#include "folder.h"
-#include "colorlabel.h"
#include "inc.h"
#include "imap.h"
#include "addressbook.h"
@@ -225,14 +224,6 @@ void summary_simplify_subject(SummaryView *summaryview, gchar * rexp,
static void summary_filter_func (MsgInfo *msginfo,
PrefsAccount *ac_prefs);
-static void summary_colorlabel_menu_item_activate_cb
- (GtkWidget *widget,
- gpointer data);
-static void summary_colorlabel_menu_item_activate_item_cb
- (GtkMenuItem *label_menu_item,
- gpointer data);
-static void summary_colorlabel_menu_create(SummaryView *summaryview,
- gboolean refresh);
static void summary_tags_menu_item_activate_cb
(GtkWidget *widget,
gpointer data);
@@ -395,9 +386,6 @@ static void summary_find_answers (SummaryView *summaryview,
static gboolean summary_update_msg (gpointer source, gpointer data);
static gboolean summary_update_folder_item_hook(gpointer source, gpointer data);
static gboolean summary_update_folder_hook(gpointer source, gpointer data);
-static void summary_set_colorlabel_color (GtkCMCTree *ctree,
- GtkCMCTreeNode *node,
- guint labelcolor);
static void summary_thread_build(SummaryView *summaryview);
GtkTargetEntry summary_drag_types[3] =
@@ -726,7 +714,7 @@ SummaryView *summary_create(MainWindow *mainwin)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewPopup/Marks", "Lock", "Message/Marks/Lock", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewPopup/Marks", "Unlock", "Message/Marks/Unlock", GTK_UI_MANAGER_MENUITEM)
- /* submenus - colorlabel and tags are dynamic */
+ /* submenus - tags are dynamic */
/* submenus - createfilterrule */
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewPopup/CreateFilterRule", "Automatically", "Tools/CreateFilterRule/Automatically", GTK_UI_MANAGER_MENUITEM)
MENUITEM_ADDUI_MANAGER(mainwin->ui_manager, "/Menus/SummaryViewPopup/CreateFilterRule", "ByFrom", "Tools/CreateFilterRule/ByFrom", GTK_UI_MANAGER_MENUITEM)
@@ -974,7 +962,6 @@ void summary_init(SummaryView *summaryview)
summaryview->simplify_subject_preg = NULL;
summary_clear_list(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);
summary_set_menu_sensitive(summaryview);
@@ -2851,7 +2838,6 @@ void summary_reflect_tags_changes(SummaryView *summaryview)
gboolean froze = FALSE;
gboolean redisplay = FALSE;
- /* re-create colorlabel submenu */
menu = GTK_MENU_SHELL(summaryview->tags_menu);
cm_return_if_fail(menu != NULL);
@@ -3965,9 +3951,6 @@ static void summary_set_row_marks(SummaryView *summaryview, GtkCMCTreeNode *row)
}
gtk_cmctree_node_set_row_style(ctree, row, style);
-
- if (MSG_GET_COLORLABEL(flags))
- summary_set_colorlabel_color(ctree, row, MSG_GET_COLORLABEL_VALUE(flags));
}
static void summary_mark_row(SummaryView *summaryview, GtkCMCTreeNode *row)
@@ -5863,146 +5846,6 @@ void summary_filter_open(SummaryView *summaryview, PrefsFilterType type,
summary_msginfo_filter_open(item, msginfo, type, processing_rule);
}
-/* color label */
-
-#define N_COLOR_LABELS colorlabel_get_color_count()
-
-static void summary_colorlabel_menu_item_activate_cb(GtkWidget *widget,
- gpointer data)
-{
- guint color = GPOINTER_TO_UINT(data);
- SummaryView *summaryview;
-
- summaryview = g_object_get_data(G_OBJECT(widget), "summaryview");
- cm_return_if_fail(summaryview != NULL);
-
- /* "dont_toggle" state set? */
- if (g_object_get_data(G_OBJECT(summaryview->colorlabel_menu),
- "dont_toggle"))
- return;
-
- summary_set_colorlabel(summaryview, color, NULL);
-}
-
-/* summary_set_colorlabel_color() - labelcolor parameter is the color *flag*
- * for the message; not the color index */
-void summary_set_colorlabel_color(GtkCMCTree *ctree, GtkCMCTreeNode *node,
- guint labelcolor)
-{
- GdkColor color;
- GdkRGBA rgba;
- GtkStyle *style, *prev_style, *ctree_style;
- MsgInfo *msginfo;
- gint color_index;
-
- msginfo = gtk_cmctree_node_get_row_data(ctree, node);
- cm_return_if_fail(msginfo);
-
- color_index = labelcolor == 0 ? -1 : (gint)labelcolor - 1;
- ctree_style = gtk_widget_get_style(GTK_WIDGET(ctree));
- prev_style = gtk_cmctree_node_get_row_style(ctree, node);
-
- if (color_index < 0 || color_index >= N_COLOR_LABELS) {
- if (!prev_style) return;
- style = gtk_style_copy(prev_style);
- color = ctree_style->text[GTK_STATE_NORMAL];
- style->text[GTK_STATE_NORMAL] = color;
- color = ctree_style->text[GTK_STATE_SELECTED];
- style->text[GTK_STATE_SELECTED] = color;
- } else {
- if (prev_style)
- style = gtk_style_copy(prev_style);
- else
- style = gtk_style_copy(ctree_style);
- rgba = colorlabel_get_color(color_index);
- GTKUT_GDKRGBA_TO_GDKCOLOR(rgba, color);
- style->text[GTK_STATE_NORMAL] = color;
- /* get the average of label color and selected fg color
- for visibility */
- style->text[GTK_STATE_SELECTED].red = (color.red + 3*ctree_style->text[GTK_STATE_SELECTED].red ) / 4;
- style->text[GTK_STATE_SELECTED].green = (color.green + 3*ctree_style->text[GTK_STATE_SELECTED].green) / 4;
- style->text[GTK_STATE_SELECTED].blue = (color.blue + 3*ctree_style->text[GTK_STATE_SELECTED].blue ) / 4;
- }
-
- gtk_cmctree_node_set_row_style(ctree, node, style);
- g_object_unref(style);
-}
-
-static void summary_set_row_colorlabel(SummaryView *summaryview, GtkCMCTreeNode *row, guint labelcolor)
-{
- GtkCMCTree *ctree = GTK_CMCTREE(summaryview->ctree);
- MsgInfo *msginfo;
-
- 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,
- MSG_CLABEL_FLAG_MASK, 0);
- summary_set_row_marks(summaryview, row);
-}
-
-void summary_set_colorlabel(SummaryView *summaryview, guint labelcolor,
- GtkWidget *widget)
-{
- GtkCMCTree *ctree = GTK_CMCTREE(summaryview->ctree);
- GList *cur;
- gboolean froze = FALSE;
-
- if (prefs_common.ask_override_colorlabel) {
- GtkCMCTree *ctree = GTK_CMCTREE(summaryview->ctree);
- gboolean ask = FALSE;
- AlertValue val;
- guint color;
- gboolean already_this_color_everywhere = TRUE;
-
- /* if clearing color labels (applying 'none', 0):
- - ask if at least one message has a non-0 color label set
- if applying a non-0 color label:
- - ask if at least one of the selected messages has a non-0 color label different
- from the one we want to apply.
- - don't ask if all messages have the same color label as the one we're applying
- */
- for (cur = GTK_CMCLIST(ctree)->selection;
- !ask && cur != NULL && cur->data != NULL;
- cur = cur->next) {
- MsgInfo *msginfo = gtk_cmctree_node_get_row_data(ctree, GTK_CMCTREE_NODE(cur->data));
- if (msginfo) {
- color = MSG_GET_COLORLABEL_VALUE(msginfo->flags);
- if (labelcolor == 0) {
- /* clearing color labels */
- ask = (color != 0);
- } else {
- already_this_color_everywhere &= (color == labelcolor);
- ask = ((color != 0) && (color != labelcolor)) && !already_this_color_everywhere;
- }
- }
- }
-
- if (ask) {
- gchar *msg;
-
- if (labelcolor == 0)
- msg = _("Do you really want to reset the color label of all selected messages?");
- else
- msg = _("Do you really want to apply this color label to all selected messages?");
- val = alertpanel_full(labelcolor == 0? _("Reset color label"): _("Set color label"), msg,
- NULL, _("_No"), NULL, _("_Yes"), NULL, NULL, ALERTFOCUS_FIRST,
- TRUE, NULL, ALERT_QUESTION);
-
- if ((val & ~G_ALERTDISABLE) != G_ALERTALTERNATE)
- return;
- else if (val & G_ALERTDISABLE)
- prefs_common.ask_override_colorlabel = FALSE;
- }
- }
-
- START_LONG_OPERATION(summaryview, FALSE);
- for (cur = GTK_CMCLIST(ctree)->selection; cur != NULL && cur->data != NULL; cur = cur->next)
- summary_set_row_colorlabel(summaryview,
- GTK_CMCTREE_NODE(cur->data), labelcolor);
- END_LONG_OPERATION(summaryview);
-}
-
static gboolean summary_set_row_tag(SummaryView *summaryview, GtkCMCTreeNode *row, gboolean refresh, gboolean set, gint id)
{
GtkCMCTree *ctree = GTK_CMCTREE(summaryview->ctree);
@@ -6072,134 +5915,6 @@ static void summary_tags_menu_item_activate_cb(GtkWidget *widget,
summary_set_tag(summaryview, id, NULL);
}
-static void summary_colorlabel_menu_item_activate_item_cb(GtkMenuItem *menu_item,
- gpointer data)
-{
- SummaryView *summaryview;
- GtkMenuShell *menu;
- GtkCheckMenuItem **items;
- gint n;
- GList *children, *cur, *sel;
-
- summaryview = (SummaryView *)data;
- cm_return_if_fail(summaryview != NULL);
-
- sel = GTK_CMCLIST(summaryview->ctree)->selection;
- 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);
-
- /* NOTE: don't return prematurely because we set the "dont_toggle"
- * state for check menu items */
- g_object_set_data(G_OBJECT(menu), "dont_toggle",
- GINT_TO_POINTER(1));
-
- /* clear items. get item pointers. */
- children = gtk_container_get_children(GTK_CONTAINER(menu));
- for (n = 0, cur = children; cur != NULL && cur->data != NULL; cur = cur->next) {
- if (GTK_IS_CHECK_MENU_ITEM(cur->data)) {
- gtk_check_menu_item_set_active
- (GTK_CHECK_MENU_ITEM(cur->data), FALSE);
- gtk_check_menu_item_set_draw_as_radio(GTK_CHECK_MENU_ITEM(cur->data),
- TRUE);
- items[n] = GTK_CHECK_MENU_ITEM(cur->data);
- n++;
- }
- }
-
- g_list_free(children);
-
- if (n == (N_COLOR_LABELS + 1)) {
- /* iterate all messages and set the state of the appropriate
- * items */
- for (; sel != NULL; sel = sel->next) {
- MsgInfo *msginfo;
- gint clabel;
-
- msginfo = gtk_cmctree_node_get_row_data
- (GTK_CMCTREE(summaryview->ctree),
- GTK_CMCTREE_NODE(sel->data));
- if (msginfo) {
- clabel = MSG_GET_COLORLABEL_VALUE(msginfo->flags);
- if (!gtk_check_menu_item_get_active(items[clabel]))
- gtk_check_menu_item_set_active
- (items[clabel], TRUE);
- }
- }
- } else
- g_warning("invalid number of color elements (%d)", n);
-
- /* reset "dont_toggle" state */
- g_object_set_data(G_OBJECT(menu), "dont_toggle",
- GINT_TO_POINTER(0));
-}
-
-static void summary_colorlabel_menu_create(SummaryView *summaryview, gboolean refresh)
-{
- GtkWidget *label_menuitem;
- GtkWidget *menu;
- GtkWidget *item;
- gint i;
- gchar *accel_path = NULL;
-
- label_menuitem = gtk_ui_manager_get_widget(summaryview->mainwin->ui_manager, "/Menus/SummaryViewPopup/ColorLabel");
- g_signal_connect(G_OBJECT(label_menuitem), "activate",
- G_CALLBACK(summary_colorlabel_menu_item_activate_item_cb),
- summaryview);
- gtk_widget_show(label_menuitem);
-
- menu = gtk_menu_new();
-
- 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
- * index of label_colors[] as data parameter. for the None color we
- * pass an invalid (high) value. also we attach a data pointer so we
- * can always get back the SummaryView pointer. */
-
- item = gtk_check_menu_item_new_with_label(_("None"));
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
- g_signal_connect(G_OBJECT(item), "activate",
- G_CALLBACK(summary_colorlabel_menu_item_activate_cb),
- GUINT_TO_POINTER(0));
- g_object_set_data(G_OBJECT(item), "summaryview", summaryview);
- gtk_widget_show(item);
-
- accel_path = g_strdup_printf("<ClawsColorLabels>/None");
- gtk_menu_item_set_accel_path(GTK_MENU_ITEM(item), accel_path);
- g_free(accel_path);
- gtk_accel_map_add_entry("<ClawsColorLabels>/None", GDK_KEY_0, GDK_CONTROL_MASK);
-
- /* create pixmap/label menu items */
- for (i = 0; i < N_COLOR_LABELS; i++) {
- item = colorlabel_create_check_color_menu_item(
- i, refresh, SUMMARY_COLORMENU);
- gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
- g_signal_connect(G_OBJECT(item), "activate",
- G_CALLBACK(summary_colorlabel_menu_item_activate_cb),
- GUINT_TO_POINTER(i + 1));
- g_object_set_data(G_OBJECT(item), "summaryview",
- summaryview);
- gtk_widget_show(item);
- accel_path = g_strdup_printf("<ClawsColorLabels>/%d", i+1);
- gtk_menu_item_set_accel_path(GTK_MENU_ITEM(item), accel_path);
- 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),
- "accel-changed", G_CALLBACK (mainwin_accel_changed_cb), item);
- }
-
- gtk_widget_show(menu);
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(label_menuitem), menu);
- summaryview->colorlabel_menu = menu;
-}
-
static void summary_tags_menu_item_activate_item_cb(GtkMenuItem *menu_item,
gpointer data)
{
@@ -8115,28 +7830,6 @@ void summary_reflect_prefs_pixmap_theme(SummaryView *summaryview)
summary_set_column_titles(summaryview);
}
-void summary_reflect_prefs_custom_colors(SummaryView *summaryview)
-{
- GtkMenuShell *menu;
- GList *children, *cur;
-
- /* re-create colorlabel submenu */
- menu = GTK_MENU_SHELL(summaryview->colorlabel_menu);
- cm_return_if_fail(menu != NULL);
-
- /* clear items. get item pointers. */
- 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),
- 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);
- }
- g_list_free(children);
- summary_colorlabel_menu_create(summaryview, TRUE);
-}
-
/*
* Harvest addresses for selected messages in summary view.
*/
diff --git a/src/summaryview.h b/src/summaryview.h
@@ -101,7 +101,6 @@ struct _SummaryView
GtkWidget *quick_search_pixmap;
GtkWidget *popupmenu;
GtkWidget *headerpopupmenu;
- GtkWidget *colorlabel_menu;
GtkWidget *tags_menu;
GtkWidget *window;
@@ -299,9 +298,6 @@ void summary_select_thread (SummaryView *summaryview,
gboolean delete_thread,
gboolean trash_thread);
-void summary_set_colorlabel (SummaryView *summaryview,
- guint labelcolor,
- GtkWidget *widget);
void summary_set_tag (SummaryView *summaryview,
gint tag_id,
GtkWidget *widget);