This commit was manufactured by cvs2svn to create branch 'gtk2'.
authorClaws Mail Team <theteam@claws-mail.org>
Thu, 10 Jun 2004 12:51:14 +0000 (12:51 +0000)
committerClaws Mail Team <theteam@claws-mail.org>
Thu, 10 Jun 2004 12:51:14 +0000 (12:51 +0000)
Cherrypick from master 2004-06-10 12:51:13 UTC reboot '0.9.11cvs9':
    src/gtk/quicksearch.c
    src/gtk/quicksearch.h
    src/pixmaps/privacy_emblem_encrypted.xpm
    src/pixmaps/privacy_emblem_failed.xpm
    src/pixmaps/privacy_emblem_passed.xpm
    src/pixmaps/privacy_emblem_signed.xpm
    src/pixmaps/privacy_emblem_warn.xpm
    tools/nautilus2sylpheed.sh

src/gtk/quicksearch.c [new file with mode: 0644]
src/gtk/quicksearch.h [new file with mode: 0644]
src/pixmaps/privacy_emblem_encrypted.xpm [new file with mode: 0644]
src/pixmaps/privacy_emblem_failed.xpm [new file with mode: 0644]
src/pixmaps/privacy_emblem_passed.xpm [new file with mode: 0644]
src/pixmaps/privacy_emblem_signed.xpm [new file with mode: 0644]
src/pixmaps/privacy_emblem_warn.xpm [new file with mode: 0644]
tools/nautilus2sylpheed.sh [new file with mode: 0644]

diff --git a/src/gtk/quicksearch.c b/src/gtk/quicksearch.c
new file mode 100644 (file)
index 0000000..e4a4a77
--- /dev/null
@@ -0,0 +1,379 @@
+/*
+ * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
+ * Copyright (C) 2004 Hiroyuki Yamamoto & the Sylpheed-Claws 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 2 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+#include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
+
+#include "intl.h"
+#include "utils.h"
+#include "menu.h"
+#include "prefs_common.h"
+#include "description_window.h"
+#include "matcher.h"
+#include "matcher_parser.h"
+#include "quicksearch.h"
+
+struct _QuickSearch
+{
+       GtkWidget                       *hbox_search;
+       GtkWidget                       *search_type;
+       GtkWidget                       *search_type_opt;
+       GtkWidget                       *search_string_entry;
+       GtkWidget                       *search_description;
+
+       gboolean                         active;
+       gchar                           *search_string;
+       MatcherList                     *matcher_list;
+
+       QuickSearchExecuteCallback       callback;
+       gpointer                         callback_data;
+};
+
+static void prepare_matcher(QuickSearch *quicksearch)
+{
+       gchar *search_string = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(quicksearch->search_string_entry)->entry));
+
+       if (quicksearch->matcher_list != NULL) {
+               matcherlist_free(quicksearch->matcher_list);
+               quicksearch->matcher_list = NULL;
+       }
+
+       if (search_string == NULL || search_string[0] == '\0') {
+               quicksearch->active = FALSE;
+               return;
+       }
+
+       if (prefs_common.summary_quicksearch_type == QUICK_SEARCH_EXTENDED) {
+               char *newstr = NULL;
+
+               newstr = expand_search_string(search_string);
+               if (newstr && newstr[0] != '\0') {
+                       quicksearch->matcher_list = matcher_parser_get_cond(newstr);
+                       g_free(newstr);
+               } else {
+                       quicksearch->matcher_list = NULL;
+                       quicksearch->active = FALSE;
+
+                       return;
+               }
+       } else {
+               if (quicksearch->search_string != NULL)
+                       g_free(quicksearch->search_string);
+               quicksearch->search_string = g_strdup(search_string);
+       }
+
+       quicksearch->active = TRUE;
+}
+
+static gint searchbar_pressed(GtkWidget *widget, GdkEventKey *event,
+                             QuickSearch *quicksearch)
+{
+       if (event != NULL && event->keyval == GDK_Return) {
+               gchar *search_string = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(quicksearch->search_string_entry)->entry));
+
+               if (search_string && strlen(search_string) != 0) {
+                       prefs_common.summary_quicksearch_history =
+                               add_history(prefs_common.summary_quicksearch_history,
+                                           search_string);
+                       gtk_combo_set_popdown_strings(GTK_COMBO(quicksearch->search_string_entry), 
+                               prefs_common.summary_quicksearch_history);                      
+               }
+
+               prepare_matcher(quicksearch);
+
+               if (quicksearch->callback != NULL)
+                       quicksearch->callback(quicksearch, quicksearch->callback_data);
+               gtk_signal_emit_stop_by_name(GTK_OBJECT(widget), "key_press_event");
+       }
+
+       return TRUE;            
+}
+
+static void searchtype_changed(GtkMenuItem *widget, gpointer data)
+{
+       QuickSearch *quicksearch = (QuickSearch *)data;
+
+       prefs_common.summary_quicksearch_type = GPOINTER_TO_INT(gtk_object_get_user_data(
+                                  GTK_OBJECT(GTK_MENU_ITEM(gtk_menu_get_active(
+                                  GTK_MENU(quicksearch->search_type))))));
+
+       /* Show extended search description button, only when Extended is selected */
+       if (prefs_common.summary_quicksearch_type == QUICK_SEARCH_EXTENDED) {
+               gtk_widget_show(quicksearch->search_description);
+       } else {
+               gtk_widget_hide(quicksearch->search_description);
+
+       }
+
+       prepare_matcher(quicksearch);
+
+       if (quicksearch->callback != NULL)
+               quicksearch->callback(quicksearch, quicksearch->callback_data);
+}
+
+/*
+ * Strings describing how to use Extended Search
+ * 
+ * When adding new lines, remember to put 2 strings for each line
+ */
+static gchar *search_descr_strings[] = {
+       "a",     N_("all messages"),
+       "ag #",  N_("messages whose age is greater than #"),
+       "al #",  N_("messages whose age is less than #"),
+       "b S",   N_("messages which contain S in the message body"),
+       "B S",   N_("messages which contain S in the whole message"),
+       "c S",   N_("messages carbon-copied to S"),
+       "C S",   N_("message is either to: or cc: to S"),
+       "D",     N_("deleted messages"), /** how I can filter deleted messages **/
+       "e S",   N_("messages which contain S in the Sender field"),
+       "E S",   N_("true if execute \"S\" succeeds"),
+       "f S",   N_("messages originating from user S"),
+       "F",     N_("forwarded messages"),
+       "h S",   N_("messages which contain header S"),
+       "i S",   N_("messages which contain S in Message-Id header"),
+       "I S",   N_("messages which contain S in inreplyto header"),
+       "L",     N_("locked messages"),
+       "n S",   N_("messages which are in newsgroup S"),
+       "N",     N_("new messages"),
+       "O",     N_("old messages"),
+       "r",     N_("messages which have been replied to"),
+       "R",     N_("read messages"),
+       "s S",   N_("messages which contain S in subject"),
+       "se #",  N_("messages whose score is equal to #"),
+       "sg #",  N_("messages whose score is greater than #"),
+       "sl #",  N_("messages whose score is lower than #"),
+       "Se #",  N_("messages whose size is equal to #"),
+       "Sg #",  N_("messages whose size is greater than #"),
+       "Ss #",  N_("messages whose size is smaller than #"),
+       "t S",   N_("messages which have been sent to S"),
+       "T",     N_("marked messages"),
+       "U",     N_("unread messages"),
+       "x S",   N_("messages which contain S in References header"),
+       "X cmd", N_("messages returning 0 when passed to command"),
+       "y S",   N_("messages which contain S in X-Label header"),
+        "",     "" ,
+       "&",     N_("logical AND operator"),
+       "|",     N_("logical OR operator"),
+       "! or ~",       N_("logical NOT operator"),
+       "%",     N_("case sensitive search"),
+       NULL,    NULL 
+};
+static DescriptionWindow search_descr = {
+       NULL, 
+       2,
+       N_("Extended Search symbols"),
+       search_descr_strings
+};
+       
+static void search_description_cb(GtkWidget *widget)
+{
+       description_window_create(&search_descr);
+};
+
+/*
+static void summary_searchbar_focus_evt(GtkWidget *widget, GdkEventFocus *event,
+                                       SummaryView *summaryview)
+{
+       if (event != NULL && event->in)
+               gtk_signal_handler_block_by_func(GTK_OBJECT(summaryview->mainwin->window), 
+                                                GTK_SIGNAL_FUNC(mainwindow_key_pressed),
+                                                summaryview->mainwin);
+       else
+               gtk_signal_handler_unblock_by_func(GTK_OBJECT(summaryview->mainwin->window), 
+                                                  GTK_SIGNAL_FUNC(mainwindow_key_pressed),
+                                                  summaryview->mainwin);
+}
+*/
+
+QuickSearch *quicksearch_new()
+{
+       QuickSearch *quicksearch;
+
+       GtkWidget *hbox_search;
+       GtkWidget *search_type_opt;
+       GtkWidget *search_type;
+       GtkWidget *search_string_entry;
+       GtkWidget *search_hbbox;
+       GtkWidget *search_description;
+       GtkWidget *menuitem;
+
+       quicksearch = g_new0(QuickSearch, 1);
+
+       /* quick search */
+       hbox_search = gtk_hbox_new(FALSE, 0);
+
+       search_type_opt = gtk_option_menu_new();
+       gtk_widget_show(search_type_opt);
+       gtk_box_pack_start(GTK_BOX(hbox_search), search_type_opt, FALSE, FALSE, 0);
+
+       search_type = gtk_menu_new();
+       MENUITEM_ADD (search_type, menuitem, _("Subject"), QUICK_SEARCH_SUBJECT);
+       gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
+                          GTK_SIGNAL_FUNC(searchtype_changed),
+                          quicksearch);
+       MENUITEM_ADD (search_type, menuitem, _("From"), QUICK_SEARCH_FROM);
+       gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
+                          GTK_SIGNAL_FUNC(searchtype_changed),
+                          quicksearch);
+       MENUITEM_ADD (search_type, menuitem, _("To"), QUICK_SEARCH_TO);
+       gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
+                          GTK_SIGNAL_FUNC(searchtype_changed),
+                          quicksearch);
+       MENUITEM_ADD (search_type, menuitem, _("Extended"), QUICK_SEARCH_EXTENDED);
+       gtk_signal_connect(GTK_OBJECT(menuitem), "activate",
+                          GTK_SIGNAL_FUNC(searchtype_changed),
+                          quicksearch);
+
+       gtk_option_menu_set_menu(GTK_OPTION_MENU(search_type_opt), search_type);
+       
+       gtk_option_menu_set_history(GTK_OPTION_MENU(search_type_opt), prefs_common.summary_quicksearch_type);
+       
+       gtk_widget_show(search_type);
+       
+       search_string_entry = gtk_combo_new();
+       gtk_box_pack_start(GTK_BOX(hbox_search), search_string_entry, FALSE, FALSE, 2);
+       gtk_combo_set_value_in_list(GTK_COMBO(search_string_entry), FALSE, TRUE);
+       gtk_combo_set_case_sensitive(GTK_COMBO(search_string_entry), TRUE);
+       if (prefs_common.summary_quicksearch_history) 
+               gtk_combo_set_popdown_strings(GTK_COMBO(search_string_entry), 
+                       prefs_common.summary_quicksearch_history);
+       gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(search_string_entry)->entry), "");
+       gtk_widget_show(search_string_entry);
+               
+       gtkut_button_set_create(&search_hbbox, &search_description, _("Extended Symbols"),
+                               NULL, NULL, NULL, NULL);
+       gtk_signal_connect(GTK_OBJECT(search_description), "clicked",
+                          GTK_SIGNAL_FUNC(search_description_cb), NULL);
+       gtk_box_pack_start(GTK_BOX(hbox_search), search_hbbox, FALSE, FALSE, 2);                                
+       gtk_widget_show(search_hbbox);
+       if (prefs_common.summary_quicksearch_type == QUICK_SEARCH_EXTENDED)
+               gtk_widget_show(search_description);
+       else
+               gtk_widget_hide(search_description);
+
+       gtk_signal_connect(GTK_OBJECT(GTK_COMBO(search_string_entry)->entry), 
+                          "key_press_event",
+                          GTK_SIGNAL_FUNC(searchbar_pressed),
+                          quicksearch);
+
+       /*
+       gtk_signal_connect(GTK_OBJECT(GTK_COMBO(search_string_entry)->entry), 
+                          "focus_in_event",
+                          GTK_SIGNAL_FUNC(searchbar_focus_evt),
+                          quicksearch);
+
+       gtk_signal_connect(GTK_OBJECT(GTK_COMBO(search_string_entry)->entry), 
+                          "focus_out_event",
+                          GTK_SIGNAL_FUNC(searchbar_focus_evt),
+                          quicksearch);
+       */
+
+       quicksearch->hbox_search = hbox_search;
+       quicksearch->search_type = search_type;
+       quicksearch->search_type_opt = search_type_opt;
+       quicksearch->search_string_entry = search_string_entry;
+       quicksearch->search_description = search_description;
+       quicksearch->matcher_list = NULL;
+       quicksearch->active = FALSE;
+
+       return quicksearch;
+}
+
+GtkWidget *quicksearch_get_widget(QuickSearch *quicksearch)
+{
+       return quicksearch->hbox_search;
+}
+
+void quicksearch_show(QuickSearch *quicksearch)
+{
+       prepare_matcher(quicksearch);
+       gtk_widget_show(quicksearch->hbox_search);
+}
+
+void quicksearch_hide(QuickSearch *quicksearch)
+{
+       quicksearch->active = FALSE;
+       gtk_widget_hide(quicksearch->hbox_search);
+}
+
+void quicksearch_set(QuickSearch *quicksearch, QuickSearchType type,
+                    const gchar *matchstring)
+{
+       gtk_option_menu_set_history(GTK_OPTION_MENU(quicksearch->search_type_opt),
+                                   type);
+       gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(quicksearch->search_string_entry)->entry),
+                          matchstring);
+       prefs_common.summary_quicksearch_type = type;
+
+       prepare_matcher(quicksearch);
+
+       if (quicksearch->callback != NULL)
+               quicksearch->callback(quicksearch, quicksearch->callback_data); 
+}
+
+gboolean quicksearch_is_active(QuickSearch *quicksearch)
+{
+       return quicksearch->active;
+}
+
+void quicksearch_set_execute_callback(QuickSearch *quicksearch,
+                                     QuickSearchExecuteCallback callback,
+                                     gpointer data)
+{
+       quicksearch->callback = callback;
+       quicksearch->callback_data = data;
+}
+
+gboolean quicksearch_match(QuickSearch *quicksearch, MsgInfo *msginfo)
+{
+       gchar *searched_header = NULL;
+
+       if (!quicksearch->active)
+               return TRUE;
+
+       switch (prefs_common.summary_quicksearch_type) {
+       case QUICK_SEARCH_SUBJECT:
+               searched_header = msginfo->subject;
+               break;
+       case QUICK_SEARCH_FROM:
+               searched_header = msginfo->from;
+               break;
+       case QUICK_SEARCH_TO:
+               searched_header = msginfo->to;
+               break;
+       case QUICK_SEARCH_EXTENDED:
+               break;
+       default:
+               debug_print("unknown search type (%d)\n", prefs_common.summary_quicksearch_type);
+               break;
+       }
+
+       if (prefs_common.summary_quicksearch_type != QUICK_SEARCH_EXTENDED && quicksearch->search_string &&
+            searched_header && strcasestr(searched_header, quicksearch->search_string) != NULL)
+               return TRUE;
+       else if ((quicksearch->matcher_list != NULL) && matcherlist_match(quicksearch->matcher_list, msginfo))
+               return TRUE;
+
+       return FALSE;
+}
diff --git a/src/gtk/quicksearch.h b/src/gtk/quicksearch.h
new file mode 100644 (file)
index 0000000..81ba739
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
+ * Copyright (C) 2004 Hiroyuki Yamamoto & the Sylpheed-Claws 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 2 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef QUICKSEARCH_H
+#define QUICKSEARCH_H 1
+
+typedef enum
+{
+       QUICK_SEARCH_SUBJECT,
+       QUICK_SEARCH_FROM,
+       QUICK_SEARCH_TO,
+       QUICK_SEARCH_EXTENDED,
+} QuickSearchType;
+
+typedef struct _QuickSearch QuickSearch;
+typedef void (*QuickSearchExecuteCallback) (QuickSearch *quicksearch, gpointer data);
+
+#include "procmsg.h"
+
+QuickSearch *quicksearch_new();
+GtkWidget *quicksearch_get_widget(QuickSearch *quicksearch);
+void quicksearch_show(QuickSearch *quicksearch);
+void quicksearch_hide(QuickSearch *quicksearch);
+void quicksearch_set(QuickSearch *quicksearch, QuickSearchType type, const gchar *matchstring);
+gboolean quicksearch_is_active(QuickSearch *quicksearch);
+void quicksearch_set_execute_callback(QuickSearch *quicksearch,
+                                     QuickSearchExecuteCallback callback,
+                                     gpointer data);
+gboolean quicksearch_match(QuickSearch *quicksearch, MsgInfo *msginfo);
+
+#endif /* QUICKSEARCH_H */
diff --git a/src/pixmaps/privacy_emblem_encrypted.xpm b/src/pixmaps/privacy_emblem_encrypted.xpm
new file mode 100644 (file)
index 0000000..d7604ca
--- /dev/null
@@ -0,0 +1,32 @@
+/* XPM */
+static char * privacy_emblem_encrypted_xpm[] = {
+"13 16 13 1",
+"      c None",
+".     c #000000",
+"+     c #FFFFFF",
+"@     c #EDEDED",
+"#     c #D9D9D9",
+"$     c #BDBDBD",
+"%     c #BABABA",
+"&     c #ECE6C8",
+"*     c #C8B971",
+"=     c #826D02",
+"-     c #B8A751",
+";     c #857005",
+">     c #D3C78A",
+"   ......    ",
+"  .+@@###.   ",
+"  .@#..##.$  ",
+"  .#.$$.#.$  ",
+"  .%.$+.%.$  ",
+" ..........$ ",
+".&********=. ",
+".-.*;;;;**=.$",
+".&**;...>*=.$",
+".-.*;...>*=.$",
+".&***;.>**=.$",
+".-.**;.>**=.$",
+".&********=.$",
+".==========.$",
+" ..........$ ",
+"  $$$$$$$$$  "};
diff --git a/src/pixmaps/privacy_emblem_failed.xpm b/src/pixmaps/privacy_emblem_failed.xpm
new file mode 100644 (file)
index 0000000..44533ec
--- /dev/null
@@ -0,0 +1,133 @@
+/* XPM */
+static char * privacy_emblem_failed_xpm[] = {
+"15 16 114 2",
+"      c None",
+".     c #151515",
+"+     c #2C2C2C",
+"@     c #0D0D0D",
+"#     c #030303",
+"$     c #040404",
+"%     c #060606",
+"&     c #0E0E0E",
+"*     c #242424",
+"=     c #FFFFFF",
+"-     c #D5D5D5",
+";     c #171717",
+">     c #000000",
+",     c #252525",
+"'     c #2D2D2D",
+")     c #373737",
+"!     c #262626",
+"~     c #F2F2F2",
+"{     c #0F0F0F",
+"]     c #F8F8F8",
+"^     c #4C4C4C",
+"/     c #B9B9B9",
+"(     c #3E3E3E",
+"_     c #101010",
+":     c #090909",
+"<     c #454545",
+"[     c #FCFCFC",
+"}     c #565656",
+"|     c #B8B8B8",
+"1     c #4E4E4E",
+"2     c #131313",
+"3     c #6E6E6E",
+"4     c #FBFBFB",
+"5     c #272727",
+"6     c #646464",
+"7     c #A6A6A6",
+"8     c #CBCBCB",
+"9     c #3B3B3B",
+"0     c #C2C2C2",
+"a     c #282828",
+"b     c #A3A3A3",
+"c     c #848484",
+"d     c #4D4D4D",
+"e     c #DBDBDB",
+"f     c #292929",
+"g     c #474747",
+"h     c #F0F0F0",
+"i     c #C1C1C1",
+"j     c #767676",
+"k     c #C5C5C5",
+"l     c #606060",
+"m     c #2A2A2A",
+"n     c #595959",
+"o     c #E2E2E2",
+"p     c #1B1B1B",
+"q     c #FAFAFA",
+"r     c #424242",
+"s     c #DAB6B6",
+"t     c #F4AFAF",
+"u     c #F4B1B1",
+"v     c #F6BCBC",
+"w     c #2B2B2B",
+"x     c #7A7A7A",
+"y     c #B1B1B1",
+"z     c #333333",
+"A     c #949494",
+"B     c #D2D2D2",
+"C     c #3C3C3C",
+"D     c #9B9B9B",
+"E     c #E74E4E",
+"F     c #E33030",
+"G     c #F6BDBD",
+"H     c #DE0D0D",
+"I     c #F3A7A7",
+"J     c #2E2E2E",
+"K     c #353535",
+"L     c #5B5B5B",
+"M     c #858585",
+"N     c #444444",
+"O     c #DCDCDC",
+"P     c #F8CCCC",
+"Q     c #DC0101",
+"R     c #DF1919",
+"S     c #F7C3C3",
+"T     c #313131",
+"U     c #D3D3D3",
+"V     c #383838",
+"W     c #2F2F2F",
+"X     c #3D3D3D",
+"Y     c #8F8F8F",
+"Z     c #FDFDFD",
+"`     c #FFFDFD",
+" .    c #EA6666",
+"..    c #DC0000",
+"+.    c #DE0B0B",
+"@.    c #FBE0E0",
+"#.    c #797979",
+"$.    c #D9D9D9",
+"%.    c #EE8484",
+"&.    c #DE1212",
+"*.    c #F5B7B7",
+"=.    c #E12323",
+"-.    c #E75252",
+";.    c #FEFEFE",
+">.    c #FADADA",
+",.    c #F9D3D3",
+"'.    c #FADEDE",
+").    c #FDEEEE",
+"!.    c #0C0C0C",
+"~.    c #202020",
+"{.    c #212121",
+"].    c #222222",
+"^.    c #232323",
+"/.    c #111111",
+". + + + + + + + @ # # # $ % & ",
+"* = = = = = = - ; > > > > , ' ",
+", = = = = = = ) > > > > > ! ' ",
+", = = = = = ~ ' { > > > > ! ' ",
+", = = = = ] ^ / ( _ > > : < ' ",
+"! = = = [ } | = ] 1 2 2 3 4 ' ",
+"5 = = = 6 7 = = = 8 9 0 = = ' ",
+"a = = b c = = = = d e = = = ' ",
+"f = = g h i j = k l = = = = ' ",
+"m = e n o p i q r s t = u v ' ",
+"w = x y z A B C D E F G H I ' ",
+"J [ K L l M N O = P Q R S = ' ",
+"T U V W X Y Z = `  ...+.@.= ' ",
+"K = #.C $.= = = %.&.*.=.-.= ' ",
+") = ;.Z = = = = >.,.= '.).= ' ",
+"!.~.{.{.].].^.^.* , , ! ! 5 /."};
diff --git a/src/pixmaps/privacy_emblem_passed.xpm b/src/pixmaps/privacy_emblem_passed.xpm
new file mode 100644 (file)
index 0000000..78c5e58
--- /dev/null
@@ -0,0 +1,120 @@
+/* XPM */
+static char * privacy_emblem_passed_xpm[] = {
+"15 16 101 2",
+"      c None",
+".     c #393939",
+"+     c #404040",
+"@     c #171717",
+"#     c #050505",
+"$     c #060606",
+"%     c #080808",
+"&     c #1F1F1F",
+"*     c #3F3F3F",
+"=     c #FFFFFF",
+"-     c #DADADA",
+";     c #181818",
+">     c #000000",
+",     c #212121",
+"'     c #4F4F4F",
+")     c #383838",
+"!     c #222222",
+"~     c #F6F6F6",
+"{     c #303030",
+"]     c #101010",
+"^     c #3E3E3E",
+"/     c #FAFAFA",
+"(     c #515151",
+"_     c #B3B3B3",
+":     c #464646",
+"<     c #121212",
+"[     c #070707",
+"}     c #FDFDFD",
+"|     c #5B5B5B",
+"1     c #B0B0B0",
+"2     c #FBFBFB",
+"3     c #595959",
+"4     c #151515",
+"5     c #131313",
+"6     c #666666",
+"7     c #F9F9F9",
+"8     c #676767",
+"9     c #A1A1A1",
+"0     c #D9D9D9",
+"a     c #353535",
+"b     c #C0C0C0",
+"c     c #A4A4A4",
+"d     c #838383",
+"e     c #5A5A5A",
+"f     c #CECECE",
+"g     c #FEFFFE",
+"h     c #E2F2E2",
+"i     c #4A4A4A",
+"j     c #EFEFEF",
+"k     c #C2C2C2",
+"l     c #767676",
+"m     c #D3D3D3",
+"n     c #525252",
+"o     c #B9E1B9",
+"p     c #069305",
+"q     c #A3D7A3",
+"r     c #E1E1E1",
+"s     c #545454",
+"t     c #E5E5E5",
+"u     c #1C1C1C",
+"v     c #BFBFBF",
+"w     c #4D4D4D",
+"x     c #50B34F",
+"y     c #0A9509",
+"z     c #E5F4E5",
+"A     c #848484",
+"B     c #A9A9A9",
+"C     c #8D8D8D",
+"D     c #414141",
+"E     c #8F8F8F",
+"F     c #049203",
+"G     c #76C375",
+"H     c #363636",
+"I     c #575757",
+"J     c #909090",
+"K     c #D5D5D5",
+"L     c #A1D6A1",
+"M     c #83CA83",
+"N     c #7AC579",
+"O     c #0F970E",
+"P     c #EDF7ED",
+"Q     c #2B2B2B",
+"R     c #424242",
+"S     c #FCFEFC",
+"T     c #019100",
+"U     c #82C982",
+"V     c #898989",
+"W     c #343434",
+"X     c #D1D1D1",
+"Y     c #60BA5F",
+"Z     c #169A15",
+"`     c #F3FAF3",
+" .    c #CDE9CD",
+"..    c #1D1D1D",
+"+.    c #313131",
+"@.    c #323232",
+"#.    c #333333",
+"$.    c #3A3A3A",
+"%.    c #3B3B3B",
+"&.    c #3C3C3C",
+"*.    c #2A2A2A",
+". + + + + + + + @ # # # $ % & ",
+"* = = = = = = - ; > > > > , ' ",
+"* = = = = = = ) > > > > > ! ' ",
+"* = = = = = ~ { ] > > > > ! ' ",
+"^ = = = = / ( _ : < > > [ . ' ",
+"* = = = } | 1 = 2 3 4 5 6 7 ' ",
+"^ = = = 8 9 = = = 0 a b = = ' ",
+"* = = c d = = = = e f g h = ' ",
+"+ = = i j k l = m n = o p q ' ",
+"+ = r s t u v } w f = x y z ' ",
+"+ = A B . C 0 D E = h F G = ' ",
+"+ = H 6 I J ^ K L M N O P = ' ",
+"+ r { Q R A 2 S x T T U = = ' ",
+"+ = V W X = = = S Y Z ` = = ' ",
+"+ = = 2 = = = = = g  .= = = ' ",
+"..+.@.@.#.W H H ) $.$.%.&.^ *."};
diff --git a/src/pixmaps/privacy_emblem_signed.xpm b/src/pixmaps/privacy_emblem_signed.xpm
new file mode 100644 (file)
index 0000000..b9a24e7
--- /dev/null
@@ -0,0 +1,94 @@
+/* XPM */
+static char * privacy_emblem_signed_xpm[] = {
+"15 16 75 1",
+"      c None",
+".     c #393939",
+"+     c #404040",
+"@     c #151515",
+"#     c #050505",
+"$     c #060606",
+"%     c #090909",
+"&     c #222222",
+"*     c #3F3F3F",
+"=     c #FFFFFF",
+"-     c #D5D5D5",
+";     c #171717",
+">     c #000000",
+",     c #232323",
+"'     c #373737",
+")     c #242424",
+"!     c #F6F6F6",
+"~     c #303030",
+"{     c #101010",
+"]     c #252525",
+"^     c #3E3E3E",
+"/     c #FAFAFA",
+"(     c #515151",
+"_     c #B3B3B3",
+":     c #434343",
+"<     c #111111",
+"[     c #454545",
+"}     c #FDFDFD",
+"|     c #5B5B5B",
+"1     c #B0B0B0",
+"2     c #131313",
+"3     c #6E6E6E",
+"4     c #FBFBFB",
+"5     c #676767",
+"6     c #A1A1A1",
+"7     c #CCCCCC",
+"8     c #3B3B3B",
+"9     c #C2C2C2",
+"0     c #A3A3A3",
+"a     c #838383",
+"b     c #525252",
+"c     c #D7D7D7",
+"d     c #474747",
+"e     c #F0F0F0",
+"f     c #C1C1C1",
+"g     c #767676",
+"h     c #CECECE",
+"i     c #575757",
+"j     c #DBDBDB",
+"k     c #595959",
+"l     c #E2E2E2",
+"m     c #1B1B1B",
+"n     c #FCFCFC",
+"o     c #4C4C4C",
+"p     c #D1D1D1",
+"q     c #7A7A7A",
+"r     c #B1B1B1",
+"s     c #333333",
+"t     c #949494",
+"u     c #8F8F8F",
+"v     c #353535",
+"w     c #606060",
+"x     c #8A8A8A",
+"y     c #D3D3D3",
+"z     c #383838",
+"A     c #797979",
+"B     c #FEFEFE",
+"C     c #1D1D1D",
+"D     c #313131",
+"E     c #323232",
+"F     c #343434",
+"G     c #363636",
+"H     c #3A3A3A",
+"I     c #3C3C3C",
+"J     c #2C2C2C",
+".+++++++@##$$%&",
+"*======-;>>>>,+",
+"*======'>>>>>)+",
+"*=====!~{>>>>]+",
+"^====/(_:<>>%[+",
+"*===}|1=/(2234+",
+"^===56===789==+",
+"*==0a====bc===+",
+"+==defg=hi====+",
+"+=jklmfnop====+",
+"+=qrstc+u=====+",
+"+nv|wx+c======+",
+"+yz~^xn=======+",
+"+=A8c=========+",
+"+=Bn==========+",
+"CDEEsFGGzHH8I^J"};
diff --git a/src/pixmaps/privacy_emblem_warn.xpm b/src/pixmaps/privacy_emblem_warn.xpm
new file mode 100644 (file)
index 0000000..e90c41a
--- /dev/null
@@ -0,0 +1,101 @@
+/* XPM */
+static char * privacy_emblem_warn_xpm[] = {
+"15 16 82 1",
+"      c None",
+".     c #111111",
+"+     c #2C2C2C",
+"@     c #0D0D0D",
+"#     c #030303",
+"$     c #040404",
+"%     c #080808",
+"&     c #0E0E0E",
+"*     c #272727",
+"=     c #FFFFFF",
+"-     c #D5D5D5",
+";     c #171717",
+">     c #000000",
+",     c #252525",
+"'     c #2D2D2D",
+")     c #373737",
+"!     c #262626",
+"~     c #282828",
+"{     c #F1F1F1",
+"]     c #F6F6F6",
+"^     c #4A4A4A",
+"/     c #BABABA",
+"(     c #3D3D3D",
+"_     c #101010",
+":     c #454545",
+"<     c #292929",
+"[     c #FAFAFA",
+"}     c #515151",
+"|     c #BDBDBD",
+"1     c #F8F8F8",
+"2     c #4D4D4D",
+"3     c #121212",
+"4     c #131313",
+"5     c #666666",
+"6     c #FDFDFD",
+"7     c #5B5B5B",
+"8     c #AFAFAF",
+"9     c #CBCBCB",
+"0     c #363636",
+"a     c #B6B6B6",
+"b     c #2A2A2A",
+"c     c #949494",
+"d     c #939393",
+"e     c #DADADA",
+"f     c #EFEFEF",
+"g     c #F2F2F2",
+"h     c #414141",
+"i     c #F7F7F7",
+"j     c #C1C1C1",
+"k     c #767676",
+"l     c #C5C5C5",
+"m     c #606060",
+"n     c #303030",
+"o     c #2E2E2E",
+"p     c #D3D3D3",
+"q     c #626262",
+"r     c #E2E2E2",
+"s     c #1B1B1B",
+"t     c #424242",
+"u     c #DBDBDB",
+"v     c #747474",
+"w     c #B7B7B7",
+"x     c #333333",
+"y     c #9A9A9A",
+"z     c #323232",
+"A     c #FCFCFC",
+"B     c #343434",
+"C     c #5C5C5C",
+"D     c #616161",
+"E     c #8D8D8D",
+"F     c #D2D2D2",
+"G     c #3A3A3A",
+"H     c #444444",
+"I     c #868686",
+"J     c #8F8F8F",
+"K     c #A2A2A2",
+"L     c #717171",
+"M     c #D0D0D0",
+"N     c #383838",
+"O     c #F9F9F9",
+"P     c #0C0C0C",
+"Q     c #2B2B2B",
+".+++++++@###$%&",
+"*======-;>>>>,'",
+"*======)>>>>>!'",
+"~====={+&>>>>!'",
+"~====]^/(_>>%:'",
+"<===[}|=12345['",
+"<==678===90a=='",
+"b==cd====2efg='",
+"+==hijk=lmf>n='",
+"o=pqrsj[tuf>n='",
+"n=vwxc-(y=f>n='",
+"zABCDEhe==f>n='",
+"BFGzHIA===iJK='",
+"0=L)M=====f>n='",
+"N=AO=========='",
+"P''+++Qb<<~~**."};
diff --git a/tools/nautilus2sylpheed.sh b/tools/nautilus2sylpheed.sh
new file mode 100644 (file)
index 0000000..677c813
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+# nautilus2sylpheed.sh
+# Copyright 2004 Reza Pakdel <hrpakdel@cpsc.ucalgary.ca>
+
+# 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 2
+# 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# This script will recursively attach a number of selected 
+# files/directories from Nautilus to a new blank e-mail.
+
+# Authors: Reza Pakdel <hrpakdel@cpsc.ucalgary.ca>
+#                 Stephan Sachse <white@teg-clan.de>
+#
+# Fixes:
+#              Stephan Sachse  :  files/directorys with whitspaces
+
+
+SELECTED_PATHS="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}"
+NB_SELECTED_PATHS=`echo -n "${SELECTED_PATHS}" | wc -l | awk '{print $1}'`
+
+ATTACHMENTS=""
+
+for ((i=${NB_SELECTED_PATHS}; i>0; i--)) ; do
+       CURRENT_PATH=`echo -n "${SELECTED_PATHS}" | head -n${i} | tail -n1`
+       if test -d "${CURRENT_PATH}" ; then
+               FILES_FOUND=`find "${CURRENT_PATH}" -type f`
+               NB_FILES_FOUND=`echo "${FILES_FOUND}" | wc -l | awk '{print $1}'`
+               for ((j=${NB_FILES_FOUND}; j>0; j--)) ; do
+                       CURRENT_FILE=`echo "${FILES_FOUND}" | head -n${j} | tail -n1`
+                       ATTACHMENTS="${ATTACHMENTS} \"${CURRENT_FILE}\""
+               done
+       else
+               ATTACHMENTS="${ATTACHMENTS} \"${CURRENT_PATH}\""
+       fi
+done
+
+echo "-----------"
+echo ${ATTACHMENTS}
+
+eval "sylpheed --compose --attach ${ATTACHMENTS}"
+