From 709c4d66e0b107ca606941b988bad717c0b45d9b Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Tue, 17 Mar 2009 14:32:59 -0400 Subject: rename packages/ to recipes/ per earlier agreement See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko Acked-by: Mike Westerhof Acked-by: Philip Balister Acked-by: Khem Raj Acked-by: Marcin Juszkiewicz Acked-by: Koen Kooi Acked-by: Frans Meulenbroeks --- recipes/sylpheed/claws-mail_3.6.1.bb | 55 ++ .../claws-plugin-gtkhtml2-viewer_0.17.1.bb | 20 + recipes/sylpheed/claws-plugin-mailmbox_1.14.bb | 15 + recipes/sylpheed/claws-plugin-rssyl_0.18.bb | 14 + recipes/sylpheed/files/Makefile-am.patch | 12 + recipes/sylpheed/files/claws-mail-g_strcmp0.patch | 575 +++++++++++ .../files/claws-plugin-mailmbox-fixup.patch | 218 +++++ recipes/sylpheed/files/desktop.patch | 19 + recipes/sylpheed/files/streamline-ui.patch | 1008 ++++++++++++++++++++ .../sylpheed-2.2.2-libsylph-Makefile-am.patch | 11 + .../files/sylpheed-2.2.2-src-Makefile-am.patch | 11 + recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch | 140 +++ recipes/sylpheed/sylpheed_2.2.9.bb | 32 + recipes/sylpheed/sylpheed_2.5.0.bb | 32 + 14 files changed, 2162 insertions(+) create mode 100644 recipes/sylpheed/claws-mail_3.6.1.bb create mode 100644 recipes/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.1.bb create mode 100644 recipes/sylpheed/claws-plugin-mailmbox_1.14.bb create mode 100644 recipes/sylpheed/claws-plugin-rssyl_0.18.bb create mode 100644 recipes/sylpheed/files/Makefile-am.patch create mode 100644 recipes/sylpheed/files/claws-mail-g_strcmp0.patch create mode 100644 recipes/sylpheed/files/claws-plugin-mailmbox-fixup.patch create mode 100644 recipes/sylpheed/files/desktop.patch create mode 100644 recipes/sylpheed/files/streamline-ui.patch create mode 100644 recipes/sylpheed/files/sylpheed-2.2.2-libsylph-Makefile-am.patch create mode 100644 recipes/sylpheed/files/sylpheed-2.2.2-src-Makefile-am.patch create mode 100644 recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch create mode 100644 recipes/sylpheed/sylpheed_2.2.9.bb create mode 100644 recipes/sylpheed/sylpheed_2.5.0.bb (limited to 'recipes/sylpheed') diff --git a/recipes/sylpheed/claws-mail_3.6.1.bb b/recipes/sylpheed/claws-mail_3.6.1.bb new file mode 100644 index 0000000000..a2d7101ece --- /dev/null +++ b/recipes/sylpheed/claws-mail_3.6.1.bb @@ -0,0 +1,55 @@ +SECTION = "x11/network" +DESCRIPTION = "Mail user agent" +DEPENDS = "gtk+ libetpan openssl aspell" +LICENSE = "GPL" +PR = "r1" + +inherit autotools pkgconfig + +# translation patch: http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=1774 +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/sylpheed-claws/claws-mail-${PV}.tar.bz2 \ + http://www.penguin.cz/~utx/ftp/claws-mail/claws-mail-${PV}-po-update.patch;patch=1 \ + file://desktop.patch;patch=1 \ + file://claws-mail-g_strcmp0.patch;patch=1 \ + " + +do_configure_append() { + cd po ; for PO in *.po ; do MO=`echo $PO | sed s/\\.po//`.gmo ; if ! test -f $MO ; then msgfmt $PO -o $MO ; fi ; done +} + +# FIXME: maemo builds may want --enable-maemo +# FIXME: some platforms may want --enable-generic-umpc +EXTRA_OECONF = "--disable-aspell-test \ + --enable-aspell \ + --disable-manual \ + --disable-crash-dialog \ + --disable-jpilot \ + --disable-trayicon-plugin \ + --disable-spamassassin-plugin \ + --disable-bogofilter-plugin \ + --disable-pgpcore-plugin \ + --disable-pgpmime-plugin \ + --disable-pgpinline-plugin \ + --disable-dillo-viewer-plugin \ + --disable-clamav-plugin \ + --disable-gnomeprint \ + --disable-valgrind \ + " + +# Remove enchant references: +do_install_prepend() { + sed -i -e 's:${STAGING_INCDIR}:${includedir}:g;s:${STAGING_LIBDIR}:${libdir}:g' claws-mail.pc +} + +# Work-around broken GPE icon lookup: +do_install_append() { + rm -r ${D}${datadir}/icons + install -d ${D}${datadir}/pixmaps + install -m 0644 claws-mail.png ${D}${datadir}/pixmaps/ + sed -i 's/Icon=[^.]*$/&.png/' ${D}${datadir}/applications/claws-mail.desktop +} + +do_stage() { + autotools_stage_includes +} diff --git a/recipes/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.1.bb b/recipes/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.1.bb new file mode 100644 index 0000000000..5ca95d9dfb --- /dev/null +++ b/recipes/sylpheed/claws-plugin-gtkhtml2-viewer_0.17.1.bb @@ -0,0 +1,20 @@ +SECTION = "x11/network" +DESCRIPTION = "Mail user agent plugins" +DEPENDS = "claws-mail gtkhtml2 curl" +LICENSE = "GPL" +PR = "r0" + +SRC_URI = "http://www.claws-mail.org/downloads/plugins/gtkhtml2_viewer-${PV}.tar.gz" + +inherit autotools pkgconfig + +S = "${WORKDIR}/gtkhtml2_viewer-${PV}" + +do_configure() { + gnu-configize + libtoolize --force + oe_runconf +} + +FILES_${PN} = "${libdir}/claws-mail/plugins/*.so" + diff --git a/recipes/sylpheed/claws-plugin-mailmbox_1.14.bb b/recipes/sylpheed/claws-plugin-mailmbox_1.14.bb new file mode 100644 index 0000000000..621fbb4fdf --- /dev/null +++ b/recipes/sylpheed/claws-plugin-mailmbox_1.14.bb @@ -0,0 +1,15 @@ +SECTION = "x11/network" +DESCRIPTION = "Mail user agent plugins" +DEPENDS = "claws-mail" +LICENSE = "GPL" +PR = "r2" + +SRC_URI = "http://www.claws-mail.org/downloads/plugins/mailmbox-${PV}.tar.gz\ + file://claws-plugin-mailmbox-fixup.patch;patch=1" + +inherit autotools pkgconfig + +S = "${WORKDIR}/mailmbox-${PV}" + +FILES_${PN} = "${libdir}/claws-mail/plugins/*.so" +FILES_${PN}-dbg += "${libdir}/claws-mail/plugins/.debug" diff --git a/recipes/sylpheed/claws-plugin-rssyl_0.18.bb b/recipes/sylpheed/claws-plugin-rssyl_0.18.bb new file mode 100644 index 0000000000..fd30e81ef6 --- /dev/null +++ b/recipes/sylpheed/claws-plugin-rssyl_0.18.bb @@ -0,0 +1,14 @@ +SECTION = "x11/network" +DESCRIPTION = "Mail user agent plugins" +DEPENDS = "claws-mail libxml2 curl glib-2.0 gtk+" +LICENSE = "GPL" +PR = "r1" + +SRC_URI = "http://www.claws-mail.org/downloads/plugins/rssyl-${PV}.tar.gz" + +inherit autotools pkgconfig + +S = "${WORKDIR}/rssyl-${PV}" + +FILES_${PN} = "${libdir}/claws-mail/plugins/*.so" +FILES_${PN}-dbg += "${libdir}/claws-mail/plugins/.debug" diff --git a/recipes/sylpheed/files/Makefile-am.patch b/recipes/sylpheed/files/Makefile-am.patch new file mode 100644 index 0000000000..d1fb09ffcf --- /dev/null +++ b/recipes/sylpheed/files/Makefile-am.patch @@ -0,0 +1,12 @@ +--- sylpheed-1.9.12/src/Makefile.am.orig 2006-01-16 13:14:05.000000000 +0000 ++++ sylpheed-1.9.12/src/Makefile.am 2006-01-16 13:14:19.000000000 +0000 +@@ -177,8 +177,7 @@ + -DG_LOG_DOMAIN=\"Sylpheed\" \ + $(GTK_CFLAGS) \ + $(GDK_PIXBUF_CFLAGS) \ +- $(GPGME_CFLAGS) \ +- -I$(includedir) ++ $(GPGME_CFLAGS) + + sylpheed_LDADD = \ + $(INTLLIBS) \ diff --git a/recipes/sylpheed/files/claws-mail-g_strcmp0.patch b/recipes/sylpheed/files/claws-mail-g_strcmp0.patch new file mode 100644 index 0000000000..17c213d732 --- /dev/null +++ b/recipes/sylpheed/files/claws-mail-g_strcmp0.patch @@ -0,0 +1,575 @@ +http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=1773 + +However using if (g_utf8_collate(foo1, foo2)) works and gives good results (at +least if glibc or locale data are not broken), this usage is bad. + +If you need to just compare strings to get equal/non-equal return value, than +using of four-pass locale wise lexicographic collating is purely superfluous. + +Using simpler functions like strcmp() or g_strcmp0() will give the same result +5-50 times faster. + +In attached patch, I replaces all occurrences of upper mentioned use case. + +Stanislav Brabec + +diff -ur claws-mail-3.6.1.orig/src/addrcustomattr.c claws-mail-3.6.1/src/addrcustomattr.c +--- claws-mail-3.6.1.orig/src/addrcustomattr.c 2008-07-25 23:01:29.000000000 +0200 ++++ claws-mail-3.6.1/src/addrcustomattr.c 2008-11-14 14:27:12.000000000 +0100 +@@ -353,7 +353,7 @@ + gchar *attr; + gtk_tree_model_get(model, iter, CUSTOM_ATTR_NAME, &attr, -1); + +- if (g_utf8_collate(data->attr, attr)==0) { ++ if (g_strcmp0(data->attr, attr)==0) { + data->path = path; /* signal we found it */ + data->iter = *iter; + return TRUE; +diff -ur claws-mail-3.6.1.orig/src/addressbook_foldersel.c claws-mail-3.6.1/src/addressbook_foldersel.c +--- claws-mail-3.6.1.orig/src/addressbook_foldersel.c 2008-09-09 19:10:50.000000000 +0200 ++++ claws-mail-3.6.1/src/addressbook_foldersel.c 2008-11-14 14:27:12.000000000 +0100 +@@ -392,12 +392,19 @@ + corresponds to what we received */ + + if ( path != NULL ) { +- if ( g_utf8_collate(path, _("Any")) == 0 || strcasecmp(path, "Any") ==0 || *path == '\0' ) ++ /* FIXME: Do we really need to recognize "anY" (and translated form)? */ ++ /* It's a bit more complicated than g_utf8_collate, but still much faster */ ++ char *tmp1, *tmp2; ++ tmp1 = g_utf8_casefold(path, -1); ++ tmp2 = g_utf8_casefold(_("Any"), -1); /* FIXME: This should be done only once. */ ++ if ( g_strcmp0(tmp1, tmp2) == 0 || g_ascii_strcasecmp(path, "Any") ==0 || *path == '\0' ) + /* consider "Any" (both translated or untranslated forms) and "" + as valid addressbook roots */ + folder_path_match.matched = TRUE; + else + folder_path_match.folder_path = g_strsplit( path, "/", 256 ); ++ g_free(tmp1); ++ g_free(tmp2); + } + + addressbook_foldersel_load_data( addrIndex, &folder_path_match ); +diff -ur claws-mail-3.6.1.orig/src/addrgather.c claws-mail-3.6.1/src/addrgather.c +--- claws-mail-3.6.1.orig/src/addrgather.c 2008-09-09 19:10:50.000000000 +0200 ++++ claws-mail-3.6.1/src/addrgather.c 2008-11-14 14:27:12.000000000 +0100 +@@ -507,7 +507,7 @@ + for (i = 0; i < NUM_FIELDS; i++) { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(addrgather_dlg.checkHeader[i]), + FALSE); +- if (g_utf8_collate(_harv_headerNames_[i], HEADER_FROM) == 0) ++ if (g_strcmp0(_harv_headerNames_[i], HEADER_FROM) == 0) + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(addrgather_dlg.checkHeader[i]), + TRUE); + } +diff -ur claws-mail-3.6.1.orig/src/common/mgutils.c claws-mail-3.6.1/src/common/mgutils.c +--- claws-mail-3.6.1.orig/src/common/mgutils.c 2007-10-15 19:19:53.000000000 +0200 ++++ claws-mail-3.6.1/src/common/mgutils.c 2008-11-14 14:27:12.000000000 +0100 +@@ -356,7 +356,7 @@ + if( strlen( str ) > 0 ) { + node = list; + while( node ) { +- if( g_utf8_collate( str, node->data ) == 0 ) ++ if( g_strcmp0( str, node->data ) == 0 ) + return FALSE; + node = g_slist_next( node ); + } +@@ -380,7 +380,7 @@ + if( strlen( str ) > 0 ) { + node = list; + while( node ) { +- if( g_utf8_collate( str, node->data ) == 0 ) ++ if( g_strcmp0( str, node->data ) == 0 ) + return FALSE; + node = g_list_next( node ); + } +diff -ur claws-mail-3.6.1.orig/src/compose.c claws-mail-3.6.1/src/compose.c +--- claws-mail-3.6.1.orig/src/compose.c 2008-10-04 12:58:45.000000000 +0200 ++++ claws-mail-3.6.1/src/compose.c 2008-11-14 14:27:12.000000000 +0100 +@@ -2399,7 +2399,7 @@ + for (h_list = compose->header_list; h_list != NULL; h_list = h_list->next) { + entry = GTK_ENTRY(((ComposeHeaderEntry *)h_list->data)->entry); + if (gtk_entry_get_text(entry) && +- !g_utf8_collate(gtk_entry_get_text(entry), mailto)) { ++ !g_strcmp0(gtk_entry_get_text(entry), mailto)) { + if (yellow_initialised) { + gtk_widget_modify_base( + GTK_WIDGET(((ComposeHeaderEntry *)h_list->data)->entry), +@@ -4858,7 +4858,7 @@ + headerentry = ((ComposeHeaderEntry *)list->data); + headerentryname = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((headerentry->combo))))); + +- if (g_utf8_collate(headerentryname, to_hdr) == 0) { ++ if (g_strcmp0(headerentryname, to_hdr) == 0) { + const gchar *entstr = gtk_entry_get_text(GTK_ENTRY(headerentry->entry)); + Xstrdup_a(str, entstr, return -1); + g_strstrip(str); +@@ -4886,7 +4886,7 @@ + headerentry = ((ComposeHeaderEntry *)list->data); + headerentryname = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((headerentry->combo))))); + +- if (g_utf8_collate(headerentryname, cc_hdr) == 0) { ++ if (g_strcmp0(headerentryname, cc_hdr) == 0) { + const gchar *strg = gtk_entry_get_text(GTK_ENTRY(headerentry->entry)); + Xstrdup_a(str, strg, return -1); + g_strstrip(str); +@@ -5760,7 +5760,7 @@ + headerentry = ((ComposeHeaderEntry *)list->data); + headerentryname = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((headerentry->combo))))); + +- if (!g_utf8_collate(trans_fieldname, headerentryname)) { ++ if (!g_strcmp0(trans_fieldname, headerentryname)) { + str = gtk_editable_get_chars(GTK_EDITABLE(headerentry->entry), 0, -1); + g_strstrip(str); + if (str[0] != '\0') { +diff -ur claws-mail-3.6.1.orig/src/customheader.c claws-mail-3.6.1/src/customheader.c +--- claws-mail-3.6.1.orig/src/customheader.c 2007-07-11 18:33:01.000000000 +0200 ++++ claws-mail-3.6.1/src/customheader.c 2008-11-14 14:27:12.000000000 +0100 +@@ -83,7 +83,7 @@ + + for (cur = header_list; cur != NULL; cur = cur->next) { + chdr = (CustomHeader *)cur->data; +- if (!g_utf8_collate(chdr->name, header)) ++ if (!g_strcmp0(chdr->name, header)) + return chdr; + } + +diff -ur claws-mail-3.6.1.orig/src/exportldif.c claws-mail-3.6.1/src/exportldif.c +--- claws-mail-3.6.1.orig/src/exportldif.c 2007-10-04 19:36:26.000000000 +0200 ++++ claws-mail-3.6.1/src/exportldif.c 2008-11-14 14:27:12.000000000 +0100 +@@ -275,7 +275,7 @@ + UserAttribute *attrib = node->data; + + node = g_list_next( node ); +- if( g_utf8_collate( attrib->name, LDIF_TAG_DN ) == 0 ) { ++ if( g_strcmp0( attrib->name, LDIF_TAG_DN ) == 0 ) { + retVal = g_strdup( attrib->value ); + break; + } +diff -ur claws-mail-3.6.1.orig/src/gtk/combobox.c claws-mail-3.6.1/src/gtk/combobox.c +--- claws-mail-3.6.1.orig/src/gtk/combobox.c 2008-08-29 10:37:19.000000000 +0200 ++++ claws-mail-3.6.1/src/gtk/combobox.c 2008-11-14 14:27:12.000000000 +0100 +@@ -101,7 +101,7 @@ + const gchar *curdata; + + gtk_tree_model_get (GTK_TREE_MODEL(model), iter, 0, &curdata, -1); +- if (!g_utf8_collate(data, curdata)) { ++ if (!g_strcmp0(data, curdata)) { + gtk_combo_box_set_active_iter(combobox, iter); + return TRUE; + } +diff -ur claws-mail-3.6.1.orig/src/jpilot.c claws-mail-3.6.1/src/jpilot.c +--- claws-mail-3.6.1.orig/src/jpilot.c 2008-10-01 09:10:29.000000000 +0200 ++++ claws-mail-3.6.1/src/jpilot.c 2008-11-14 14:27:12.000000000 +0100 +@@ -1322,7 +1322,7 @@ + } + } + +- if( g_utf8_collate( labelName, lbl ) == 0 ) { ++ if( g_strcmp0( labelName, lbl ) == 0 ) { + ind = i; + break; + } +@@ -1640,7 +1640,7 @@ + if( labelName ) { + node = pilotFile->customLabels; + while( node ) { +- if( g_utf8_collate( labelName, ( gchar * ) node->data ) == 0 ) { ++ if( g_strcmp0( labelName, ( gchar * ) node->data ) == 0 ) { + retVal = TRUE; + break; + } +diff -ur claws-mail-3.6.1.orig/src/ldapserver.c claws-mail-3.6.1/src/ldapserver.c +--- claws-mail-3.6.1.orig/src/ldapserver.c 2007-08-22 18:08:33.000000000 +0200 ++++ claws-mail-3.6.1/src/ldapserver.c 2008-11-14 14:27:12.000000000 +0100 +@@ -437,7 +437,7 @@ + /* Search backwards for query */ + while( node ) { + LdapQuery *qry = node->data; +- if( g_utf8_collate( ADDRQUERY_SEARCHVALUE(qry), searchTerm ) == 0 ) { ++ if( g_strcmp0( ADDRQUERY_SEARCHVALUE(qry), searchTerm ) == 0 ) { + if( qry->agedFlag ) continue; + if( qry->completed ) { + /* Found */ +diff -ur claws-mail-3.6.1.orig/src/ldif.c claws-mail-3.6.1/src/ldif.c +--- claws-mail-3.6.1.orig/src/ldif.c 2008-08-06 21:38:36.000000000 +0200 ++++ claws-mail-3.6.1/src/ldif.c 2008-11-14 14:27:12.000000000 +0100 +@@ -536,19 +536,19 @@ + } + g_strstrip( val ); + +- if( g_utf8_collate( nm, LDIF_TAG_COMMONNAME ) == 0 ) { ++ if( g_strcmp0( nm, LDIF_TAG_COMMONNAME ) == 0 ) { + rec->listCName = g_slist_append( rec->listCName, val ); + } +- else if( g_utf8_collate( nm, LDIF_TAG_FIRSTNAME ) == 0 ) { ++ else if( g_strcmp0( nm, LDIF_TAG_FIRSTNAME ) == 0 ) { + rec->listFName = g_slist_append( rec->listFName, val ); + } +- else if( g_utf8_collate( nm, LDIF_TAG_LASTNAME ) == 0 ) { ++ else if( g_strcmp0( nm, LDIF_TAG_LASTNAME ) == 0 ) { + rec->listLName = g_slist_append( rec->listLName, val ); + } +- else if( g_utf8_collate( nm, LDIF_TAG_NICKNAME ) == 0 ) { ++ else if( g_strcmp0( nm, LDIF_TAG_NICKNAME ) == 0 ) { + rec->listNName = g_slist_append( rec->listNName, val ); + } +- else if( g_utf8_collate( nm, LDIF_TAG_EMAIL ) == 0 ) { ++ else if( g_strcmp0( nm, LDIF_TAG_EMAIL ) == 0 ) { + rec->listAddress = g_slist_append( rec->listAddress, val ); + } + else { +@@ -759,27 +759,27 @@ + gchar *key = g_strdup( tag ); + + rec = ldif_create_fieldrec( tag ); +- if( g_utf8_collate( tag, LDIF_TAG_DN ) == 0 ) { ++ if( g_strcmp0( tag, LDIF_TAG_DN ) == 0 ) { + rec->reserved = rec->selected = TRUE; + rec->userName = g_strdup( "dn" ); + } +- else if( g_utf8_collate( tag, LDIF_TAG_COMMONNAME ) == 0 ) { ++ else if( g_strcmp0( tag, LDIF_TAG_COMMONNAME ) == 0 ) { + rec->reserved = rec->selected = TRUE; + rec->userName = g_strdup( _( "Display Name" ) ); + } +- else if( g_utf8_collate( tag, LDIF_TAG_FIRSTNAME ) == 0 ) { ++ else if( g_strcmp0( tag, LDIF_TAG_FIRSTNAME ) == 0 ) { + rec->reserved = rec->selected = TRUE; + rec->userName = g_strdup( _( "First Name" ) ); + } +- else if( g_utf8_collate( tag, LDIF_TAG_LASTNAME ) == 0 ) { ++ else if( g_strcmp0( tag, LDIF_TAG_LASTNAME ) == 0 ) { + rec->reserved = rec->selected = TRUE; + rec->userName = g_strdup( _( "Last Name" ) ); + } +- else if( g_utf8_collate( tag, LDIF_TAG_NICKNAME ) == 0 ) { ++ else if( g_strcmp0( tag, LDIF_TAG_NICKNAME ) == 0 ) { + rec->reserved = rec->selected = TRUE; + rec->userName = g_strdup( _( "Nick Name" ) ); + } +- else if( g_utf8_collate( tag, LDIF_TAG_EMAIL ) == 0 ) { ++ else if( g_strcmp0( tag, LDIF_TAG_EMAIL ) == 0 ) { + rec->reserved = rec->selected = TRUE; + rec->userName = g_strdup( _( "Email Address" ) ); + } +@@ -894,7 +894,7 @@ + /* Add tag to list */ + listTags = g_slist_append( listTags, tagName ); + +- if( g_utf8_collate( ++ if( g_strcmp0( + tagName, LDIF_TAG_EMAIL ) == 0 ) + { + flagMail = TRUE; +diff -ur claws-mail-3.6.1.orig/src/plugins/bogofilter/bogofilter_gtk.c claws-mail-3.6.1/src/plugins/bogofilter/bogofilter_gtk.c +--- claws-mail-3.6.1.orig/src/plugins/bogofilter/bogofilter_gtk.c 2008-09-09 19:10:52.000000000 +0200 ++++ claws-mail-3.6.1/src/plugins/bogofilter/bogofilter_gtk.c 2008-11-14 14:27:12.000000000 +0100 +@@ -296,7 +296,7 @@ + config->whitelist_ab_folder); + else + /* backward compatibility (when translated "Any" was stored) */ +- if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0) ++ if (g_strcmp0(config->whitelist_ab_folder, _("Any")) == 0) + gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((whitelist_ab_folder_combo)))), + config->whitelist_ab_folder); + else +@@ -373,7 +373,7 @@ + config->whitelist_ab_folder = gtk_editable_get_chars( + GTK_EDITABLE(gtk_bin_get_child(GTK_BIN((page->whitelist_ab_folder_combo)))), 0, -1); + /* store UNtranslated "Any" */ +- if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0) { ++ if (g_strcmp0(config->whitelist_ab_folder, _("Any")) == 0) { + g_free(config->whitelist_ab_folder); + config->whitelist_ab_folder = g_strdup("Any"); + } +diff -ur claws-mail-3.6.1.orig/src/plugins/dillo_viewer/dillo_prefs.c claws-mail-3.6.1/src/plugins/dillo_viewer/dillo_prefs.c +--- claws-mail-3.6.1.orig/src/plugins/dillo_viewer/dillo_prefs.c 2008-08-07 18:38:59.000000000 +0200 ++++ claws-mail-3.6.1/src/plugins/dillo_viewer/dillo_prefs.c 2008-11-14 14:27:12.000000000 +0100 +@@ -209,7 +209,7 @@ + _("Any")); + else + /* backward compatibility (when translated "Any" was stored) */ +- if (g_utf8_collate(dillo_prefs.whitelist_ab_folder, _("Any")) == 0) ++ if (g_strcmp0(dillo_prefs.whitelist_ab_folder, _("Any")) == 0) + gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((whitelist_ab_folder_combo)))), + dillo_prefs.whitelist_ab_folder); + else +@@ -272,7 +272,7 @@ + dillo_prefs.whitelist_ab_folder = gtk_editable_get_chars( + GTK_EDITABLE(gtk_bin_get_child(GTK_BIN((prefs_page->whitelist_ab_folder_combo)))), 0, -1); + /* store UNtranslated "Any" */ +- if (g_utf8_collate(dillo_prefs.whitelist_ab_folder, _("Any")) == 0) { ++ if (g_strcmp0(dillo_prefs.whitelist_ab_folder, _("Any")) == 0) { + g_free(dillo_prefs.whitelist_ab_folder); + dillo_prefs.whitelist_ab_folder = g_strdup("Any"); + } +diff -ur claws-mail-3.6.1.orig/src/plugins/spamassassin/spamassassin_gtk.c claws-mail-3.6.1/src/plugins/spamassassin/spamassassin_gtk.c +--- claws-mail-3.6.1.orig/src/plugins/spamassassin/spamassassin_gtk.c 2008-09-09 19:10:52.000000000 +0200 ++++ claws-mail-3.6.1/src/plugins/spamassassin/spamassassin_gtk.c 2008-11-14 14:27:12.000000000 +0100 +@@ -480,7 +480,7 @@ + config->whitelist_ab_folder); + else + /* backward compatibility (when translated "Any" was stored) */ +- if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0) ++ if (g_strcmp0(config->whitelist_ab_folder, _("Any")) == 0) + gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN((whitelist_ab_folder_combo)))), + config->whitelist_ab_folder); + else +@@ -603,7 +603,7 @@ + config->whitelist_ab_folder = gtk_editable_get_chars( + GTK_EDITABLE(gtk_bin_get_child(GTK_BIN((page->whitelist_ab_folder_combo)))), 0, -1); + /* store UNtranslated "Any" */ +- if (g_utf8_collate(config->whitelist_ab_folder, _("Any")) == 0) { ++ if (g_strcmp0(config->whitelist_ab_folder, _("Any")) == 0) { + g_free(config->whitelist_ab_folder); + config->whitelist_ab_folder = g_strdup("Any"); + } +diff -ur claws-mail-3.6.1.orig/src/prefs_matcher.c claws-mail-3.6.1/src/prefs_matcher.c +--- claws-mail-3.6.1.orig/src/prefs_matcher.c 2008-10-08 20:23:51.000000000 +0200 ++++ claws-mail-3.6.1/src/prefs_matcher.c 2008-11-14 14:27:12.000000000 +0100 +@@ -1484,10 +1484,10 @@ + if (*expr == '\0') { + gchar *tmp; + +- if (g_utf8_collate(header, Q_("Filtering Matcher Menu|All")) == 0) ++ if (g_strcmp0(header, Q_("Filtering Matcher Menu|All")) == 0) + tmp = g_strdup(_("all addresses in all headers")); + else +- if (g_utf8_collate(header, _("Any")) == 0) ++ if (g_strcmp0(header, _("Any")) == 0) + tmp = g_strdup(_("any address in any header")); + else + tmp = g_strdup_printf(_("the address(es) in header '%s'"), header); +@@ -1499,12 +1499,12 @@ + return NULL; + } + /* store UNtranslated "Any"/"All" in matcher expressions */ +- if (g_utf8_collate(header, Q_("Filtering Matcher Menu|All")) == 0) ++ if (g_strcmp0(header, Q_("Filtering Matcher Menu|All")) == 0) + header = "All"; + else +- if (g_utf8_collate(header, _("Any")) == 0) ++ if (g_strcmp0(header, _("Any")) == 0) + header = "Any"; +- if (g_utf8_collate(expr, _("Any")) == 0) ++ if (g_strcmp0(expr, _("Any")) == 0) + expr = "Any"; + break; + } +diff -ur claws-mail-3.6.1.orig/src/prefs_toolbar.c claws-mail-3.6.1/src/prefs_toolbar.c +--- claws-mail-3.6.1.orig/src/prefs_toolbar.c 2008-09-09 19:10:50.000000000 +0200 ++++ claws-mail-3.6.1/src/prefs_toolbar.c 2008-11-14 14:27:12.000000000 +0100 +@@ -391,7 +391,7 @@ + gtk_tree_model_get(model_set, &iter, + SET_EVENT, &entry, + -1); +- if (g_utf8_collate(chosen_action, entry) == 0) ++ if (g_strcmp0(chosen_action, entry) == 0) + result = TRUE; + g_free(entry); + } while (!result && gtk_tree_model_iter_next(model_set, &iter)); +@@ -551,7 +551,7 @@ + prefs_toolbar->item_func_combo)); + + if (is_duplicate(prefs_toolbar, icon_event) +- && g_utf8_collate(icon_event, set_event) != 0){ ++ && g_strcmp0(icon_event, set_event) != 0){ + alertpanel_error(ERROR_MSG); + g_free(icon_event); + g_free(set_event); +@@ -1179,7 +1179,7 @@ + gtk_button_set_image(GTK_BUTTON(prefs_toolbar->icon_button), + gtk_image_new_from_pixbuf(pix)); + +- if (g_utf8_collate(toolbar_ret_descr_from_val(A_SEPARATOR), descr) == 0) { ++ if (g_strcmp0(toolbar_ret_descr_from_val(A_SEPARATOR), descr) == 0) { + gtk_button_set_label(GTK_BUTTON(prefs_toolbar->icon_button), + _("None")); + g_free(prefs_toolbar->item_icon_file); +@@ -1196,7 +1196,7 @@ + gtk_entry_set_text(GTK_ENTRY(prefs_toolbar->item_text_entry), + icon_text); + +- if (g_utf8_collate(toolbar_ret_descr_from_val(A_CLAWS_ACTIONS), descr) == 0) { ++ if (g_strcmp0(toolbar_ret_descr_from_val(A_CLAWS_ACTIONS), descr) == 0) { + gtk_combo_box_set_active(GTK_COMBO_BOX( + prefs_toolbar->item_type_combo), ITEM_USER_ACTION); + +@@ -1205,7 +1205,7 @@ + gchar *item_string; + get_action_name((gchar *)cur2->data, &item_string); + +- if(g_utf8_collate(item_string, icon_text) == 0) { ++ if(g_strcmp0(item_string, icon_text) == 0) { + gtk_combo_box_set_active( + GTK_COMBO_BOX(prefs_toolbar->item_action_combo), + item_num); +@@ -1231,7 +1231,7 @@ + for (cur = prefs_toolbar->combo_action_list, item_num = 0; cur != NULL; + cur = cur->next) { + gchar *item_str = (gchar*)cur->data; +- if (g_utf8_collate(item_str, descr) == 0) { ++ if (g_strcmp0(item_str, descr) == 0) { + gtk_combo_box_set_active( + GTK_COMBO_BOX(prefs_toolbar->item_func_combo), + item_num); +diff -ur claws-mail-3.6.1.orig/src/procmime.c claws-mail-3.6.1/src/procmime.c +--- claws-mail-3.6.1.orig/src/procmime.c 2008-10-01 09:10:29.000000000 +0200 ++++ claws-mail-3.6.1/src/procmime.c 2008-11-14 14:27:12.000000000 +0100 +@@ -1020,14 +1020,6 @@ + return hash_result; + } + +-static gint procmime_str_equal(gconstpointer gptr1, gconstpointer gptr2) +-{ +- const char *str1 = gptr1; +- const char *str2 = gptr2; +- +- return !g_utf8_collate(str1, str2); +-} +- + static GHashTable *procmime_get_mime_type_table(void) + { + GHashTable *table = NULL; +@@ -1040,7 +1032,7 @@ + if (!mime_type_list) return NULL; + } + +- table = g_hash_table_new(procmime_str_hash, procmime_str_equal); ++ table = g_hash_table_new(procmime_str_hash, g_str_equal); + + for (cur = mime_type_list; cur != NULL; cur = cur->next) { + gint i; +diff -ur claws-mail-3.6.1.orig/src/summaryview.c claws-mail-3.6.1/src/summaryview.c +--- claws-mail-3.6.1.orig/src/summaryview.c 2008-10-09 20:17:53.000000000 +0200 ++++ claws-mail-3.6.1/src/summaryview.c 2008-11-14 14:27:12.000000000 +0100 +@@ -4240,7 +4240,7 @@ + g_strdup_printf("%s", + account->address); + +- if (g_utf8_collate(from_name, msginfo->from) == 0) { ++ if (g_strcmp0(from_name, msginfo->from) == 0) { + g_free(from_name); + found = TRUE; + break; +diff -ur claws-mail-3.6.1.orig/src/toolbar.c claws-mail-3.6.1/src/toolbar.c +--- claws-mail-3.6.1.orig/src/toolbar.c 2008-09-13 12:07:43.000000000 +0200 ++++ claws-mail-3.6.1/src/toolbar.c 2008-11-14 14:39:07.000000000 +0100 +@@ -236,7 +236,7 @@ + gint i; + + for (i = 0; i < N_ACTION_VAL; i++) { +- if (g_utf8_collate(gettext(toolbar_text[i].descr), descr) == 0) ++ if (g_strcmp0(gettext(toolbar_text[i].descr), descr) == 0) + return i; + } + +@@ -255,7 +255,7 @@ + gint i; + + for (i = 0; i < N_ACTION_VAL; i++) { +- if (g_utf8_collate(toolbar_text[i].index_str, text) == 0) ++ if (g_strcmp0(toolbar_text[i].index_str, text) == 0) + return i; + } + +@@ -346,11 +346,11 @@ + name = ((XMLAttr *)attr->data)->name; + value = ((XMLAttr *)attr->data)->value; + +- if (g_utf8_collate(name, TOOLBAR_ICON_FILE) == 0) ++ if (g_strcmp0(name, TOOLBAR_ICON_FILE) == 0) + item->file = g_strdup (value); +- else if (g_utf8_collate(name, TOOLBAR_ICON_TEXT) == 0) ++ else if (g_strcmp0(name, TOOLBAR_ICON_TEXT) == 0) + item->text = g_strdup (gettext(value)); +- else if (g_utf8_collate(name, TOOLBAR_ICON_ACTION) == 0) ++ else if (g_strcmp0(name, TOOLBAR_ICON_ACTION) == 0) + item->index = toolbar_ret_val_from_text(value); + if (item->index == -1 && !strcmp(value, "A_DELETE")) { + /* switch button */ +@@ -821,7 +821,7 @@ + + action_p = strstr(action, ": "); + action_p[0] = 0x00; +- if (g_utf8_collate(act->name, action) == 0) { ++ if (g_strcmp0(act->name, action) == 0) { + found = TRUE; + g_free(action); + break; +diff -ur claws-mail-3.6.1.orig/src/vcard.c claws-mail-3.6.1/src/vcard.c +--- claws-mail-3.6.1.orig/src/vcard.c 2008-08-06 21:38:43.000000000 +0200 ++++ claws-mail-3.6.1/src/vcard.c 2008-11-14 14:27:12.000000000 +0100 +@@ -348,7 +348,7 @@ + str = nodeRemarks->data; + if( nodeRemarks ) { + if( str ) { +- if( g_utf8_collate( str, "internet" ) != 0 ) { ++ if( g_strcmp0( str, "internet" ) != 0 ) { + if( *str != '\0' ) + addritem_email_set_remarks( email, str ); + } +@@ -442,7 +442,7 @@ + /* g_print( "\ttype: %s\n", tagtype ); */ + /* g_print( "\tvalue: %s\n", tagvalue ); */ + +- if( g_utf8_collate( tagtype, VCARD_TYPE_QP ) == 0 ) { ++ if( g_strcmp0( tagtype, VCARD_TYPE_QP ) == 0 ) { + gchar *tmp; + /* Quoted-Printable: could span multiple lines */ + tagvalue = vcard_read_qp( cardFile, tagvalue ); +@@ -452,26 +452,26 @@ + /* g_print( "QUOTED-PRINTABLE !!! final\n>%s<\n", tagvalue ); */ + } + +- if( g_utf8_collate( tagname, VCARD_TAG_START ) == 0 && ++ if( g_strcmp0( tagname, VCARD_TAG_START ) == 0 && + g_ascii_strcasecmp( tagvalue, VCARD_NAME ) == 0 ) { + /* g_print( "start card\n" ); */ + vcard_free_lists( listName, listAddress, listRemarks, listID ); + listName = listAddress = listRemarks = listID = NULL; + } +- if( g_utf8_collate( tagname, VCARD_TAG_FULLNAME ) == 0 ) { ++ if( g_strcmp0( tagname, VCARD_TAG_FULLNAME ) == 0 ) { + /* g_print( "- full name: %s\n", tagvalue ); */ + listName = g_slist_append( listName, g_strdup( tagvalue ) ); + } +- if( g_utf8_collate( tagname, VCARD_TAG_EMAIL ) == 0 ) { ++ if( g_strcmp0( tagname, VCARD_TAG_EMAIL ) == 0 ) { + /* g_print( "- address: %s\n", tagvalue ); */ + listAddress = g_slist_append( listAddress, g_strdup( tagvalue ) ); + listRemarks = g_slist_append( listRemarks, g_strdup( tagtype ) ); + } +- if( g_utf8_collate( tagname, VCARD_TAG_UID ) == 0 ) { ++ if( g_strcmp0( tagname, VCARD_TAG_UID ) == 0 ) { + /* g_print( "- id: %s\n", tagvalue ); */ + listID = g_slist_append( listID, g_strdup( tagvalue ) ); + } +- if( g_utf8_collate( tagname, VCARD_TAG_END ) == 0 && ++ if( g_strcmp0( tagname, VCARD_TAG_END ) == 0 && + g_ascii_strcasecmp( tagvalue, VCARD_NAME ) == 0 ) { + /* vCard is complete */ + /* g_print( "end card\n--\n" ); */ +@@ -659,7 +659,7 @@ + tagtemp = NULL; + } + +- if( g_utf8_collate( tagtype, VCARD_TYPE_QP ) == 0 ) { ++ if( g_strcmp0( tagtype, VCARD_TYPE_QP ) == 0 ) { + gchar *tmp; + /* Quoted-Printable: could span multiple lines */ + tagvalue = vcard_read_qp( cardFile, tagvalue ); +@@ -667,11 +667,11 @@ + g_free(tagvalue); + tagvalue=tmp; + } +- if( g_utf8_collate( tagname, VCARD_TAG_START ) == 0 && ++ if( g_strcmp0( tagname, VCARD_TAG_START ) == 0 && + g_ascii_strcasecmp( tagvalue, VCARD_NAME ) == 0 ) { + haveStart = TRUE; + } +- if( g_utf8_collate( tagname, VCARD_TAG_END ) == 0 && ++ if( g_strcmp0( tagname, VCARD_TAG_END ) == 0 && + g_ascii_strcasecmp( tagvalue, VCARD_NAME ) == 0 ) { + /* vCard is complete */ + if( haveStart ) cardFile->retVal = MGU_SUCCESS; diff --git a/recipes/sylpheed/files/claws-plugin-mailmbox-fixup.patch b/recipes/sylpheed/files/claws-plugin-mailmbox-fixup.patch new file mode 100644 index 0000000000..f8cce25225 --- /dev/null +++ b/recipes/sylpheed/files/claws-plugin-mailmbox-fixup.patch @@ -0,0 +1,218 @@ +Index: mailmbox-1.14/src/plugin_gtk.c +=================================================================== +--- mailmbox-1.14.orig/src/plugin_gtk.c 2008-12-04 06:18:50.000000000 +0300 ++++ mailmbox-1.14/src/plugin_gtk.c 2008-12-04 06:49:40.000000000 +0300 +@@ -35,39 +35,41 @@ + + #include "pluginconfig.h" + +-static void new_folder_cb(FolderView *folderview, guint action, GtkWidget *widget); +-static void delete_folder_cb(FolderView *folderview, guint action, GtkWidget *widget); +-static void rename_folder_cb(FolderView *folderview, guint action, GtkWidget *widget); +-static void move_folder_cb(FolderView *folderview, guint action, GtkWidget *widget); +-static void update_tree_cb(FolderView *folderview, guint action, GtkWidget *widget); +-static void remove_mailbox_cb(FolderView *folderview, guint action, GtkWidget *widget); +-static void add_mailbox(gpointer callback_data, guint callback_action, GtkWidget *widget); +- +-static GtkItemFactoryEntry claws_mailmbox_popup_entries[] = +-{ +- {N_("/Create _new folder..."), NULL, new_folder_cb, 0, NULL}, +- {N_("/---"), NULL, NULL, 0, ""}, +- {N_("/_Rename folder..."), NULL, rename_folder_cb, 0, NULL}, +- {N_("/M_ove folder..."), NULL, move_folder_cb, 0, NULL}, +- {N_("/Cop_y folder..."), NULL, move_folder_cb, 1, NULL}, +- {N_("/---"), NULL, NULL, 0, ""}, +- {N_("/_Delete folder"), NULL, delete_folder_cb, 0, NULL}, +- {N_("/---"), NULL, NULL, 0, ""}, +- {N_("/_Check for new messages"), NULL, update_tree_cb, 0, NULL}, +- {N_("/C_heck for new folders"), NULL, update_tree_cb, 1, NULL}, +- {N_("/R_ebuild folder tree"), NULL, update_tree_cb, 2, NULL}, +- {N_("/---"), NULL, NULL, 0, ""}, +- {N_("/Remove _mailbox"), NULL, remove_mailbox_cb, 0, NULL}, +- {N_("/---"), NULL, NULL, 0, ""}, ++static void new_folder_cb(GtkAction *action, gpointer data); ++static void delete_folder_cb(GtkAction *action, gpointer data); ++static void rename_folder_cb(GtkAction *action, gpointer data); ++static void move_folder_cb(GtkAction *action, gpointer data); ++static void update_tree_cb(GtkAction *action, gpointer data); ++static void remove_mailbox_cb(GtkAction *action, gpointer data); ++static void add_mailbox(gpointer callback_data, guint callback_action, gpointer data); ++ ++static GtkActionEntry claws_mailmbox_popup_entries[] = ++{ ++ {"FolderViewPopup/CreateNewFolder", NULL, N_("/Create _new folder..."), NULL, NULL, G_CALLBACK(new_folder_cb) }, ++ {"FolderViewPopup/---", NULL, N_("/---") }, ++ {"FolderViewPopup/RenameFolder", NULL, N_("/_Rename folder..."), NULL, NULL, G_CALLBACK(rename_folder_cb) }, ++ {"FolderViewPopup/MoveFolder", NULL, N_("/M_ove folder..."), NULL, NULL, G_CALLBACK(move_folder_cb) }, ++ {"FolderViewPopup/CopyFolder", NULL, N_("/Cop_y folder..."), NULL, NULL, G_CALLBACK(move_folder_cb) }, ++ {"FolderViewPopup/---", NULL, N_("/---") }, ++ {"FolderViewPopup/DeleteFolder", NULL, N_("/_Delete folder"), NULL, NULL, G_CALLBACK(delete_folder_cb) }, ++ {"FolderViewPopup/---", NULL, N_("/---") }, ++ {"FolderViewPopup/CheckNewMessages", NULL, N_("/_Check for new messages"), NULL, NULL, G_CALLBACK(update_tree_cb) }, ++ {"FolderViewPopup/CheckNewFolders", NULL, N_("/C_heck for new folders"), NULL, NULL, G_CALLBACK(update_tree_cb) }, ++ {"FolderViewPopup/RebuildfTree", NULL, N_("/R_ebuild folder tree"), NULL, NULL, G_CALLBACK(update_tree_cb) }, ++ {"FolderViewPopup/---", NULL, N_("/---") }, ++ {"FolderViewPopup/RemoveMailbox", NULL, N_("/Remove _mailbox"), NULL, NULL, G_CALLBACK(remove_mailbox_cb) }, + }; + +-static void set_sensitivity(GtkItemFactory *factory, FolderItem *item); ++static void set_sensitivity(GtkUIManager *factory, FolderItem *item); + + static FolderViewPopup claws_mailmbox_popup = + { + "mailmbox", + "", +- NULL, ++ claws_mailmbox_popup_entries, ++ G_N_ELEMENTS(claws_mailmbox_popup_entries), ++ NULL, 0, ++ NULL, 0, 0, NULL, NULL, + set_sensitivity + }; + +@@ -85,11 +87,6 @@ + GtkItemFactory *ifactory; + MainWindow *mainwin = mainwindow_get_mainwindow(); + +- n_entries = sizeof(claws_mailmbox_popup_entries) / +- sizeof(claws_mailmbox_popup_entries[0]); +- for (i = 0; i < n_entries; i++) +- claws_mailmbox_popup.entries = g_slist_append(claws_mailmbox_popup.entries, &claws_mailmbox_popup_entries[i]); +- + folderview_register_popup(&claws_mailmbox_popup); + + ifactory = gtk_item_factory_from_widget(mainwin->menubar); +@@ -115,7 +112,7 @@ + gtk_item_factory_delete_item(ifactory, mainwindow_add_mailbox.path); + } + +-static void set_sensitivity(GtkItemFactory *factory, FolderItem *item) ++static void set_sensitivity(GtkUIManager *factory, FolderItem *item) + { + #define SET_SENS(name, sens) \ + menu_set_sensitive(factory, name, sens) +@@ -132,10 +129,13 @@ + #undef SET_SENS + } + +-static void update_tree_cb(FolderView *folderview, guint action, +- GtkWidget *widget) ++#define DO_ACTION(name, act) { if (!strcmp(a_name, name)) act; } ++ ++static void update_tree_cb(GtkAction *action, gpointer data) + { ++ FolderView *folderview = (FolderView *)data; + FolderItem *item; ++ const gchar *a_name = gtk_action_get_name(action); + + item = folderview_get_selected_item(folderview); + g_return_if_fail(item != NULL); +@@ -144,16 +144,12 @@ + + g_return_if_fail(item->folder != NULL); + +- if (action == 0) +- folderview_check_new(item->folder); +- else if (action == 1) +- folderview_rescan_tree(item->folder, FALSE); +- else if (action == 2) +- folderview_rescan_tree(item->folder, TRUE); ++ DO_ACTION("FolderViewPopup/CheckNewMessages", folderview_check_new(item->folder)); ++ DO_ACTION("FolderViewPopup/CheckNewFolders", folderview_rescan_tree(item->folder, FALSE)); ++ DO_ACTION("FolderViewPopup/RebuildTree", folderview_rescan_tree(item->folder, FALSE)); + } + +-static void add_mailbox(gpointer callback_data, guint callback_action, +- GtkWidget *widget) ++static void add_mailbox(gpointer callback_data, guint callback_action, gpointer data) + { + MainWindow *mainwin = (MainWindow *) callback_data; + gchar *path, *basename; +@@ -193,10 +189,10 @@ + return; + } + +-static void new_folder_cb(FolderView *folderview, guint action, +- GtkWidget *widget) ++static void new_folder_cb(GtkAction *action, gpointer data) + { +- GtkCTree *ctree = GTK_CTREE(folderview->ctree); ++ FolderView *folderview = (FolderView *)data; ++ GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree); + FolderItem *item; + FolderItem *new_item; + gchar *new_folder; +@@ -245,9 +241,10 @@ + folder_write_list(); + } + +-static void remove_mailbox_cb(FolderView *folderview, guint action, GtkWidget *widget) ++static void remove_mailbox_cb(GtkAction *action, gpointer data) + { +- GtkCTree *ctree = GTK_CTREE(folderview->ctree); ++ FolderView *folderview = (FolderView *)data; ++ GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree); + GtkCTreeNode *node; + FolderItem *item; + gchar *name; +@@ -276,10 +273,10 @@ + folder_destroy(item->folder); + } + +-static void delete_folder_cb(FolderView *folderview, guint action, +- GtkWidget *widget) ++static void delete_folder_cb(GtkAction *action, gpointer data) + { +- GtkCTree *ctree = GTK_CTREE(folderview->ctree); ++ FolderView *folderview = (FolderView *)data; ++ GtkCMCTree *ctree = GTK_CMCTREE(folderview->ctree); + FolderItem *item; + gchar *message, *name; + AlertValue avalue; +@@ -329,24 +326,41 @@ + + } + +-static void move_folder_cb(FolderView *folderview, guint action, GtkWidget *widget) ++static void move_folder_cb(GtkAction *action, gpointer data) ++{ ++ FolderView *folderview = (FolderView *)data; ++ FolderItem *from_folder = NULL, *to_folder = NULL; ++ ++ from_folder = folderview_get_selected_item(folderview); ++ if (!from_folder || from_folder->folder->klass != claws_mailmbox_get_class()) ++ return; ++ ++ to_folder = foldersel_folder_sel(from_folder->folder, FOLDER_SEL_MOVE, NULL, TRUE); ++ if (!to_folder) ++ return; ++ ++ folderview_move_folder(folderview, from_folder, to_folder, 0); ++} ++ ++static void copy_folder_cb(GtkAction *action, gpointer data) + { ++ FolderView *folderview = (FolderView *)data; + FolderItem *from_folder = NULL, *to_folder = NULL; + + from_folder = folderview_get_selected_item(folderview); + if (!from_folder || from_folder->folder->klass != claws_mailmbox_get_class()) + return; + +- to_folder = foldersel_folder_sel(from_folder->folder, FOLDER_SEL_MOVE, NULL); ++ to_folder = foldersel_folder_sel(from_folder->folder, FOLDER_SEL_MOVE, NULL, TRUE); + if (!to_folder) + return; + +- folderview_move_folder(folderview, from_folder, to_folder, action); ++ folderview_move_folder(folderview, from_folder, to_folder, 1); + } + +-static void rename_folder_cb(FolderView *folderview, guint action, +- GtkWidget *widget) ++static void rename_folder_cb(GtkAction *action, gpointer data) + { ++ FolderView *folderview = (FolderView *)data; + FolderItem *item, *parent; + gchar *new_folder; + gchar *name; diff --git a/recipes/sylpheed/files/desktop.patch b/recipes/sylpheed/files/desktop.patch new file mode 100644 index 0000000000..c5ed7a9c7d --- /dev/null +++ b/recipes/sylpheed/files/desktop.patch @@ -0,0 +1,19 @@ +Index: claws-mail-2.9.1/claws-mail.desktop +=================================================================== +--- claws-mail-2.9.1.orig/claws-mail.desktop 2007-04-24 17:40:20.000000000 +0100 ++++ claws-mail-2.9.1/claws-mail.desktop 2007-04-25 07:08:36.000000000 +0100 +@@ -1,11 +1,11 @@ + [Desktop Entry] + Encoding=UTF-8 +-Name=Claws Mail ++Name=Mail + Exec=claws-mail + Icon=claws-mail +-Info="Claws Mail" ++Info=Email Application + Categories=GTK;Network;Email; +-Comment="Gtk+ based Mail Client" ++Comment=Email Application + Terminal=false + Type=Application + StartupNotify=true diff --git a/recipes/sylpheed/files/streamline-ui.patch b/recipes/sylpheed/files/streamline-ui.patch new file mode 100644 index 0000000000..29a52ff795 --- /dev/null +++ b/recipes/sylpheed/files/streamline-ui.patch @@ -0,0 +1,1008 @@ +Index: claws-mail-2.9.1/src/mainwindow.c +=================================================================== +--- claws-mail-2.9.1.orig/src/mainwindow.c 2007-04-25 07:40:10.000000000 +0100 ++++ claws-mail-2.9.1/src/mainwindow.c 2007-04-25 10:26:40.000000000 +0100 +@@ -189,9 +189,6 @@ + static void toggle_statusbar_cb (MainWindow *mainwin, + guint action, + GtkWidget *widget); +-static void set_layout_cb (MainWindow *mainwin, +- guint action, +- GtkWidget *widget); + + static void addressbook_open_cb (MainWindow *mainwin, + guint action, +@@ -538,94 +535,24 @@ + {N_("/_Edit/_Search folder..."), "F", search_cb, 1, NULL}, + {N_("/_Edit/_Quick search"), "slash", mainwindow_quicksearch, 0, NULL}, + {N_("/_View"), NULL, NULL, 0, ""}, +- {N_("/_View/Show or hi_de"), NULL, NULL, 0, ""}, +- {N_("/_View/Show or hi_de/_Message view"), +- "V", toggle_message_cb, 0, ""}, +- {N_("/_View/Show or hi_de/_Toolbar"), +- NULL, NULL, 0, ""}, +- {N_("/_View/Show or hi_de/_Toolbar/Text _below icons"), +- NULL, toggle_toolbar_cb, TOOLBAR_BOTH, ""}, +- {N_("/_View/Show or hi_de/_Toolbar/Text be_side icons"), +- NULL, toggle_toolbar_cb, TOOLBAR_BOTH_HORIZ, "/View/Show or hide/Toolbar/Text below icons"}, +- {N_("/_View/Show or hi_de/_Toolbar/_Icons only"), +- NULL, toggle_toolbar_cb, TOOLBAR_ICON, "/View/Show or hide/Toolbar/Text below icons"}, +- {N_("/_View/Show or hi_de/_Toolbar/_Text only"), +- NULL, toggle_toolbar_cb, TOOLBAR_TEXT, "/View/Show or hide/Toolbar/Text below icons"}, +- {N_("/_View/Show or hi_de/_Toolbar/_Hide"), +- NULL, toggle_toolbar_cb, TOOLBAR_NONE, "/View/Show or hide/Toolbar/Text below icons"}, +- {N_("/_View/Show or hi_de/Status _bar"), +- NULL, toggle_statusbar_cb, 0, ""}, + {N_("/_View/Set displayed _columns"), NULL, NULL, 0, ""}, + {N_("/_View/Set displayed _columns/in _Folder list..."), NULL, set_folder_display_item_cb, 0, NULL}, + {N_("/_View/Set displayed _columns/in _Message list..."),NULL, set_summary_display_item_cb, 0, NULL}, + + {N_("/_View/---"), NULL, NULL, 0, ""}, +- {N_("/_View/La_yout"), NULL, NULL, 0, ""}, +- {N_("/_View/Layout/_Standard"), NULL, set_layout_cb, NORMAL_LAYOUT, ""}, +- {N_("/_View/Layout/_Three columns"), NULL, set_layout_cb, VERTICAL_LAYOUT, "/View/Layout/Standard"}, +- {N_("/_View/Layout/_Wide message"), NULL, set_layout_cb, WIDE_LAYOUT, "/View/Layout/Standard"}, +- {N_("/_View/Layout/W_ide message list"),NULL, set_layout_cb, WIDE_MSGLIST_LAYOUT, "/View/Layout/Standard"}, +- {N_("/_View/Layout/S_mall screen"), NULL, set_layout_cb, SMALL_LAYOUT, "/View/Layout/Standard"}, +- {N_("/_View/---"), NULL, NULL, 0, ""}, + {N_("/_View/_Sort"), NULL, NULL, 0, ""}, +- {N_("/_View/_Sort/by _number"), NULL, sort_summary_cb, SORT_BY_NUMBER, ""}, +- {N_("/_View/_Sort/by S_ize"), NULL, sort_summary_cb, SORT_BY_SIZE, "/View/Sort/by number"}, +- {N_("/_View/_Sort/by _Date"), NULL, sort_summary_cb, SORT_BY_DATE, "/View/Sort/by number"}, +- {N_("/_View/_Sort/by _From"), NULL, sort_summary_cb, SORT_BY_FROM, "/View/Sort/by number"}, +- {N_("/_View/_Sort/by _To"), NULL, sort_summary_cb, SORT_BY_TO, "/View/Sort/by number"}, +- {N_("/_View/_Sort/by S_ubject"), NULL, sort_summary_cb, SORT_BY_SUBJECT, "/View/Sort/by number"}, +- {N_("/_View/_Sort/by _color label"), +- NULL, sort_summary_cb, SORT_BY_LABEL, "/View/Sort/by number"}, +- {N_("/_View/_Sort/by _mark"), NULL, sort_summary_cb, SORT_BY_MARK, "/View/Sort/by number"}, +- {N_("/_View/_Sort/by _status"), NULL, sort_summary_cb, SORT_BY_STATUS, "/View/Sort/by number"}, +- {N_("/_View/_Sort/by a_ttachment"), +- NULL, sort_summary_cb, SORT_BY_MIME, "/View/Sort/by number"}, +- {N_("/_View/_Sort/by score"), NULL, sort_summary_cb, SORT_BY_SCORE, "/View/Sort/by number"}, +- {N_("/_View/_Sort/by locked"), NULL, sort_summary_cb, SORT_BY_LOCKED, "/View/Sort/by number"}, +- {N_("/_View/_Sort/D_on't sort"), NULL, sort_summary_cb, SORT_BY_NONE, "/View/Sort/by number"}, ++ {N_("/_View/_Sort/by _Date"), NULL, sort_summary_cb, SORT_BY_DATE, ""}, ++ {N_("/_View/_Sort/by _From"), NULL, sort_summary_cb, SORT_BY_FROM, "/View/Sort/by Date"}, ++ {N_("/_View/_Sort/by _To"), NULL, sort_summary_cb, SORT_BY_TO, "/View/Sort/by Date"}, ++ {N_("/_View/_Sort/by S_ubject"), NULL, sort_summary_cb, SORT_BY_SUBJECT, "/View/Sort/by Date"}, + {N_("/_View/_Sort/---"), NULL, NULL, 0, ""}, + {N_("/_View/_Sort/Ascending"), NULL, sort_summary_type_cb, SORT_ASCENDING, ""}, + {N_("/_View/_Sort/Descending"), NULL, sort_summary_type_cb, SORT_DESCENDING, "/View/Sort/Ascending"}, +- {N_("/_View/_Sort/---"), NULL, NULL, 0, ""}, +- {N_("/_View/_Sort/_Attract by subject"), +- NULL, attract_by_subject_cb, 0, NULL}, + {N_("/_View/Th_read view"), "T", thread_cb, 0, ""}, + {N_("/_View/E_xpand all threads"), NULL, expand_threads_cb, 0, NULL}, + {N_("/_View/Co_llapse all threads"), NULL, collapse_threads_cb, 0, NULL}, + {N_("/_View/_Hide read messages"), NULL, hide_read_messages, 0, ""}, + +- {N_("/_View/---"), NULL, NULL, 0, ""}, +- {N_("/_View/_Go to"), NULL, NULL, 0, ""}, +- {N_("/_View/_Go to/_Previous message"), "P", prev_cb, 0, NULL}, +- {N_("/_View/_Go to/_Next message"), "N", next_cb, 0, NULL}, +- {N_("/_View/_Go to/---"), NULL, NULL, 0, ""}, +- {N_("/_View/_Go to/P_revious unread message"), +- "P", prev_unread_cb, 0, NULL}, +- {N_("/_View/_Go to/N_ext unread message"), +- "N", next_unread_cb, 0, NULL}, +- {N_("/_View/_Go to/---"), NULL, NULL, 0, ""}, +- {N_("/_View/_Go to/Previous ne_w message"), NULL, prev_new_cb, 0, NULL}, +- {N_("/_View/_Go to/Ne_xt new message"), NULL, next_new_cb, 0, NULL}, +- {N_("/_View/_Go to/---"), NULL, NULL, 0, ""}, +- {N_("/_View/_Go to/Previous _marked message"), +- NULL, prev_marked_cb, 0, NULL}, +- {N_("/_View/_Go to/Next m_arked message"), +- NULL, next_marked_cb, 0, NULL}, +- {N_("/_View/_Go to/---"), NULL, NULL, 0, ""}, +- {N_("/_View/_Go to/Previous _labeled message"), +- NULL, prev_labeled_cb, 0, NULL}, +- {N_("/_View/_Go to/Next la_beled message"), +- NULL, next_labeled_cb, 0, NULL}, +- {N_("/_View/_Go to/---"), NULL, NULL, 0, ""}, +- {N_("/_View/_Go to/Last read message"), +- NULL, last_read_cb, 0, NULL}, +- {N_("/_View/_Go to/Parent message"), +- "Up", parent_cb, 0, NULL}, +- {N_("/_View/_Go to/---"), NULL, NULL, 0, ""}, +- {N_("/_View/_Go to/Next unread _folder"), "G", goto_unread_folder_cb, 0, NULL}, +- {N_("/_View/_Go to/_Other folder..."), "G", goto_folder_cb, 0, NULL}, +- {N_("/_View/---"), NULL, NULL, 0, ""}, +- + #define ENC_SEPARATOR \ + {N_("/_View/Character _encoding/---"), NULL, NULL, 0, ""} + #define ENC_ACTION(action) \ +@@ -742,7 +669,6 @@ + #undef DEC_ACTION + + {N_("/_View/---"), NULL, NULL, 0, ""}, +- {N_("/_View/Open in new _window"), "N", open_msg_cb, 0, NULL}, + {N_("/_View/Mess_age source"), "U", view_source_cb, 0, NULL}, + {N_("/_View/All headers"), "H", show_all_header_cb, 0, ""}, + {N_("/_View/Quotes"), NULL, NULL, 0, ""}, +@@ -1137,23 +1063,14 @@ + gint i; + guint n_menu_entries; + +- static GdkGeometry geometry; +- + debug_print("Creating main window...\n"); + mainwin = g_new0(MainWindow, 1); + + /* main window */ + window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "mainwindow"); +- gtk_window_set_title(GTK_WINDOW(window), PROG_VERSION); ++ gtk_window_set_title(GTK_WINDOW(window), _("Mail")); + gtk_window_set_resizable(GTK_WINDOW(window), TRUE); + +- if (!geometry.min_height) { +- geometry.min_width = 320; +- geometry.min_height = 200; +- } +- gtk_window_set_geometry_hints(GTK_WINDOW(window), NULL, &geometry, +- GDK_HINT_MIN_SIZE); +- + g_signal_connect(G_OBJECT(window), "delete_event", + G_CALLBACK(main_window_close_cb), mainwin); + MANAGE_WINDOW_SIGNALS_CONNECT(window); +@@ -1184,21 +1101,9 @@ + /* gtk_widget_show(gtk_item_factory_get_item(ifactory,"/Message/Mailing-List")); + main_create_mailing_list_menu (mainwin, NULL); */ + +- menu_set_sensitive(ifactory, "/Help/Manual", manual_available(MANUAL_MANUAL_LOCAL)); +- +- if (prefs_common.toolbar_detachable) { +- handlebox = gtk_handle_box_new(); +- gtk_widget_show(handlebox); +- gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0); +- g_signal_connect(G_OBJECT(handlebox), "child_attached", +- G_CALLBACK(toolbar_child_attached), mainwin); +- g_signal_connect(G_OBJECT(handlebox), "child_detached", +- G_CALLBACK(toolbar_child_detached), mainwin); +- } else { +- handlebox = gtk_hbox_new(FALSE, 0); +- gtk_widget_show(handlebox); +- gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0); +- } ++ handlebox = gtk_hbox_new(FALSE, 0); ++ gtk_widget_show(handlebox); ++ gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0); + /* link window to mainwin->window to avoid gdk warnings */ + mainwin->window = window; + +@@ -1405,36 +1310,6 @@ + (ifactory, "/View/Character encoding/Auto detect"); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE); + +- switch (prefs_common.toolbar_style) { +- case TOOLBAR_NONE: +- menuitem = gtk_item_factory_get_item +- (ifactory, "/View/Show or hide/Toolbar/Hide"); +- break; +- case TOOLBAR_ICON: +- menuitem = gtk_item_factory_get_item +- (ifactory, "/View/Show or hide/Toolbar/Icons only"); +- break; +- case TOOLBAR_TEXT: +- menuitem = gtk_item_factory_get_item +- (ifactory, "/View/Show or hide/Toolbar/Text only"); +- break; +- case TOOLBAR_BOTH: +- menuitem = gtk_item_factory_get_item +- (ifactory, "/View/Show or hide/Toolbar/Text below icons"); +- break; +- case TOOLBAR_BOTH_HORIZ: +- menuitem = gtk_item_factory_get_item +- (ifactory, +- "/View/Show or hide/Toolbar/Text beside icons"); +- } +- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE); +- +- gtk_widget_hide(mainwin->hbox_stat); +- menuitem = gtk_item_factory_get_item +- (ifactory, "/View/Show or hide/Status bar"); +- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), +- prefs_common.show_statusbar); +- + /* set account selection menu */ + ac_menu = gtk_item_factory_get_widget + (ifactory, "/Configuration/Change current account"); +@@ -2284,16 +2159,6 @@ + {"/View/Expand all threads" , M_MSG_EXIST}, + {"/View/Collapse all threads" , M_MSG_EXIST}, + {"/View/Hide read messages" , M_HIDE_READ_MSG}, +- {"/View/Go to/Previous message" , M_MSG_EXIST}, +- {"/View/Go to/Next message" , M_MSG_EXIST}, +- {"/View/Go to/Previous unread message" , M_MSG_EXIST}, +- {"/View/Go to/Previous new message" , M_MSG_EXIST}, +- {"/View/Go to/Previous marked message" , M_MSG_EXIST}, +- {"/View/Go to/Previous labeled message", M_MSG_EXIST}, +- {"/View/Go to/Next labeled message", M_MSG_EXIST}, +- {"/View/Go to/Last read message" , M_SINGLE_TARGET_EXIST}, +- {"/View/Go to/Parent message" , M_SINGLE_TARGET_EXIST}, +- {"/View/Open in new window" , M_SINGLE_TARGET_EXIST}, + {"/View/Message source" , M_SINGLE_TARGET_EXIST}, + {"/View/All headers" , M_SINGLE_TARGET_EXIST}, + {"/View/Quotes" , M_SINGLE_TARGET_EXIST}, +@@ -2379,40 +2244,20 @@ + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), active); \ + } + +- SET_CHECK_MENU_ACTIVE("/View/Show or hide/Message view", +- messageview_is_visible(mainwin->messageview)); +- + summaryview = mainwin->summaryview; +- menu_path = "/View/Sort/Don't sort"; ++ menu_path = "/View/Sort/by Date"; + + switch (summaryview->sort_key) { +- case SORT_BY_NUMBER: +- menu_path = "/View/Sort/by number"; break; +- case SORT_BY_SIZE: +- menu_path = "/View/Sort/by Size"; break; +- case SORT_BY_DATE: +- menu_path = "/View/Sort/by Date"; break; + case SORT_BY_FROM: + menu_path = "/View/Sort/by From"; break; + case SORT_BY_TO: + menu_path = "/View/Sort/by To"; break; + case SORT_BY_SUBJECT: + menu_path = "/View/Sort/by Subject"; break; +- case SORT_BY_LABEL: +- menu_path = "/View/Sort/by color label"; break; +- case SORT_BY_MARK: +- menu_path = "/View/Sort/by mark"; break; +- case SORT_BY_STATUS: +- menu_path = "/View/Sort/by status"; break; +- case SORT_BY_MIME: +- menu_path = "/View/Sort/by attachment"; break; +- case SORT_BY_SCORE: +- menu_path = "/View/Sort/by score"; break; +- case SORT_BY_LOCKED: +- menu_path = "/View/Sort/by locked"; break; + case SORT_BY_NONE: ++ case SORT_BY_DATE: + default: +- menu_path = "/View/Sort/Don't sort"; break; ++ menu_path = "/View/Sort/by Date"; break; + } + SET_CHECK_MENU_ACTIVE(menu_path, TRUE); + +@@ -2735,8 +2580,6 @@ + gtk_widget_destroy(mainwin->hpaned); + } + +- menu_set_sensitive(ifactory, "/View/Show or hide/Message view", +- (layout_mode != WIDE_MSGLIST_LAYOUT && layout_mode != SMALL_LAYOUT)); + switch (layout_mode) { + case VERTICAL_LAYOUT: + case NORMAL_LAYOUT: +@@ -2877,37 +2720,6 @@ + + prefs_common.layout_mode = layout_mode; + +- menuitem = gtk_item_factory_get_item +- (ifactory, "/View/Show or hide/Message view"); +- gtk_check_menu_item_set_active +- (GTK_CHECK_MENU_ITEM(menuitem), +- messageview_is_visible(mainwin->messageview)); +- +-#define SET_CHECK_MENU_ACTIVE(path, active) \ +-{ \ +- menuitem = gtk_item_factory_get_widget(ifactory, path); \ +- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), active); \ +-} +- +- switch (prefs_common.layout_mode) { +- case NORMAL_LAYOUT: +- SET_CHECK_MENU_ACTIVE("/View/Layout/Standard", TRUE); +- break; +- case VERTICAL_LAYOUT: +- SET_CHECK_MENU_ACTIVE("/View/Layout/Three columns", TRUE); +- break; +- case WIDE_LAYOUT: +- SET_CHECK_MENU_ACTIVE("/View/Layout/Wide message", TRUE); +- break; +- case WIDE_MSGLIST_LAYOUT: +- SET_CHECK_MENU_ACTIVE("/View/Layout/Wide message list", TRUE); +- break; +- case SMALL_LAYOUT: +- SET_CHECK_MENU_ACTIVE("/View/Layout/Small screen", TRUE); +- break; +- } +-#undef SET_CHECK_MENU_ACTIVE +- + if (folderwin) { + g_signal_connect + (G_OBJECT(folderwin), "size_allocate", +@@ -3116,12 +2928,6 @@ + summary_toggle_view(mainwin->summaryview); + } + +-static void toggle_toolbar_cb(MainWindow *mainwin, guint action, +- GtkWidget *widget) +-{ +- toolbar_toggle(action, mainwin); +-} +- + static void main_window_reply_cb(MainWindow *mainwin, guint action, + GtkWidget *widget) + { +Index: claws-mail-2.9.1/src/prefs_common.c +=================================================================== +--- claws-mail-2.9.1.orig/src/prefs_common.c 2007-04-25 07:40:10.000000000 +0100 ++++ claws-mail-2.9.1/src/prefs_common.c 2007-04-25 07:42:17.000000000 +0100 +@@ -262,7 +262,7 @@ + {"default_reply_list", "TRUE", &prefs_common.default_reply_list, P_BOOL, + NULL, NULL, NULL}, + +-#ifndef MAEMO ++#if 0 + {"show_ruler", "TRUE", &prefs_common.show_ruler, P_BOOL, + NULL, NULL, NULL}, + #else +@@ -300,7 +300,7 @@ + &prefs_common.normalfont_gtk1, P_STRING, NULL, NULL, NULL}, + + /* new fonts */ +-#ifndef MAEMO ++#if 0 + {"widget_font_gtk2", NULL, + &SPECIFIC_PREFS.widgetfont, P_STRING, NULL, NULL, NULL}, + {"message_font_gtk2", "Monospace 9", +@@ -416,7 +416,7 @@ + + {"enable_thread", "TRUE", &prefs_common.enable_thread, P_BOOL, + NULL, NULL, NULL}, +-#ifndef MAEMO ++#if 0 + {"toolbar_style", "3", &prefs_common.toolbar_style, P_ENUM, + NULL, NULL, NULL}, + #else +@@ -544,7 +544,7 @@ + {"folder_col_pos_total", "3", + &prefs_common.folder_col_pos[F_COL_TOTAL], P_INT, NULL, NULL, NULL}, + +-#ifndef MAEMO ++#if 0 + {"folder_col_size_folder", "120", + &prefs_common.folder_col_size[F_COL_FOLDER], P_INT, NULL, NULL, NULL}, + {"folder_col_size_new", "32", +@@ -702,7 +702,7 @@ + &SPECIFIC_PREFS.mime_open_cmd, P_STRING, NULL, NULL, NULL}, + + /* Interface */ +-#ifndef MAEMO ++#if 0 + {"layout_mode", "0", &prefs_common.layout_mode, P_INT, + NULL, NULL, NULL}, + #else +Index: claws-mail-2.9.1/src/toolbar.c +=================================================================== +--- claws-mail-2.9.1.orig/src/toolbar.c 2007-04-25 07:40:10.000000000 +0100 ++++ claws-mail-2.9.1/src/toolbar.c 2007-04-25 07:42:17.000000000 +0100 +@@ -841,26 +841,17 @@ + gtk_widget_hide(handlebox_wid); + break; + case TOOLBAR_ICON: +- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar_wid), +- GTK_TOOLBAR_ICONS); +- break; + case TOOLBAR_TEXT: +- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar_wid), +- GTK_TOOLBAR_TEXT); +- break; + case TOOLBAR_BOTH: +- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar_wid), +- GTK_TOOLBAR_BOTH); +- break; + case TOOLBAR_BOTH_HORIZ: + gtk_toolbar_set_style(GTK_TOOLBAR(toolbar_wid), +- GTK_TOOLBAR_BOTH_HORIZ); ++ GTK_TOOLBAR_ICONS); + break; + default: + return; + } + +- prefs_common.toolbar_style = (ToolbarStyle)action; ++ prefs_common.toolbar_style = (ToolbarStyle)TOOLBAR_ICON; + gtk_widget_set_size_request(handlebox_wid, 1, -1); + + if (prefs_common.toolbar_style != TOOLBAR_NONE) { +@@ -1594,7 +1585,7 @@ + gtk_container_add(GTK_CONTAINER(container), toolbar); + gtk_container_set_border_width(GTK_CONTAINER(container), 2); + gtk_toolbar_set_orientation(GTK_TOOLBAR(toolbar), GTK_ORIENTATION_HORIZONTAL); +- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH); ++ gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS); + + for (cur = toolbar_list; cur != NULL; cur = cur->next) { + +Index: claws-mail-2.9.1/src/gtk/prefswindow.c +=================================================================== +--- claws-mail-2.9.1.orig/src/gtk/prefswindow.c 2007-04-25 07:40:10.000000000 +0100 ++++ claws-mail-2.9.1/src/gtk/prefswindow.c 2007-04-25 10:30:15.000000000 +0100 +@@ -343,6 +343,10 @@ + gint x = gdk_screen_width(); + gint y = gdk_screen_height(); + static GdkGeometry geometry; ++ gint col_count = g_slist_length (prefs_pages); ++ ++ if (col_count > 1) ++ col_count = 2; + + prefswindow = g_new0(PrefsWindow, 1); + +@@ -360,39 +364,52 @@ + gtk_window_set_resizable (GTK_WINDOW(prefswindow->window), TRUE); + gtk_container_set_border_width(GTK_CONTAINER(prefswindow->window), 4); + +- prefswindow->table1 = gtk_table_new(2, 2, FALSE); ++ prefswindow->table1 = gtk_table_new(col_count, col_count, FALSE); + gtk_widget_show(prefswindow->table1); + gtk_container_add(GTK_CONTAINER(prefswindow->window), prefswindow->table1); + +- prefswindow->scrolledwindow1 = gtk_scrolled_window_new(NULL, NULL); +- gtk_widget_show(prefswindow->scrolledwindow1); +- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(prefswindow->scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); +- gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->scrolledwindow1, 0, 1, 0, 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 2, 2); +- +- prefswindow->tree_view = prefswindow_tree_view_create(prefswindow); +- gtk_widget_show(prefswindow->tree_view); +- gtk_container_add(GTK_CONTAINER(prefswindow->scrolledwindow1), +- prefswindow->tree_view); +- +- prefswindow->frame = gtk_frame_new(NULL); +- gtk_widget_show(prefswindow->frame); +- gtk_frame_set_shadow_type(GTK_FRAME(prefswindow->frame), GTK_SHADOW_IN); +- gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->frame, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 2, 2); +- +- prefswindow->table2 = gtk_table_new(1, 2, FALSE); +- gtk_widget_show(prefswindow->table2); +- gtk_container_add(GTK_CONTAINER(prefswindow->frame), prefswindow->table2); +- +- prefswindow->labelframe = gtk_frame_new(NULL); +- gtk_widget_show(prefswindow->labelframe); +- gtk_frame_set_shadow_type(GTK_FRAME(prefswindow->labelframe), GTK_SHADOW_OUT); +- gtk_table_attach(GTK_TABLE(prefswindow->table2), prefswindow->labelframe, 0, 1, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1); +- +- prefswindow->pagelabel = gtk_label_new(""); +- gtk_widget_show(prefswindow->pagelabel); +- gtk_label_set_justify(GTK_LABEL(prefswindow->pagelabel), GTK_JUSTIFY_LEFT); +- gtk_misc_set_alignment(GTK_MISC(prefswindow->pagelabel), 0, 0.0); +- gtk_container_add(GTK_CONTAINER(prefswindow->labelframe), prefswindow->pagelabel); ++ if (col_count > 1) ++ { ++ prefswindow->scrolledwindow1 = gtk_scrolled_window_new(NULL, NULL); ++ gtk_widget_show(prefswindow->scrolledwindow1); ++ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(prefswindow->scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); ++ gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->scrolledwindow1, 0, 1, 0, 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 2, 2); ++ ++ prefswindow->tree_view = prefswindow_tree_view_create(prefswindow); ++ gtk_widget_show(prefswindow->tree_view); ++ gtk_container_add(GTK_CONTAINER(prefswindow->scrolledwindow1), ++ prefswindow->tree_view); ++ ++ prefswindow->frame = gtk_frame_new(NULL); ++ gtk_widget_show(prefswindow->frame); ++ gtk_frame_set_shadow_type(GTK_FRAME(prefswindow->frame), GTK_SHADOW_IN); ++ gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->frame, col_count - 1, col_count, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 2, 2); ++ ++ prefswindow->table2 = gtk_table_new(1, 2, FALSE); ++ gtk_widget_show(prefswindow->table2); ++ gtk_container_add(GTK_CONTAINER(prefswindow->frame), prefswindow->table2); ++ } ++ else ++ { ++ prefswindow->table2 = gtk_table_new(1, 2, FALSE); ++ gtk_widget_show(prefswindow->table2); ++ gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->table2, 0, 1, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 2, 2); ++ } ++ ++ ++ if (col_count > 1) ++ { ++ prefswindow->labelframe = gtk_frame_new(NULL); ++ gtk_widget_show(prefswindow->labelframe); ++ gtk_frame_set_shadow_type(GTK_FRAME(prefswindow->labelframe), GTK_SHADOW_OUT); ++ gtk_table_attach(GTK_TABLE(prefswindow->table2), prefswindow->labelframe, 0, 1, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1); ++ ++ prefswindow->pagelabel = gtk_label_new(""); ++ gtk_widget_show(prefswindow->pagelabel); ++ gtk_label_set_justify(GTK_LABEL(prefswindow->pagelabel), GTK_JUSTIFY_LEFT); ++ gtk_misc_set_alignment(GTK_MISC(prefswindow->pagelabel), 0, 0.0); ++ gtk_container_add(GTK_CONTAINER(prefswindow->labelframe), prefswindow->pagelabel); ++ } + + prefswindow->scrolledwindow2 = gtk_scrolled_window_new(NULL, NULL); + gtk_widget_show(prefswindow->scrolledwindow2); +@@ -411,9 +428,38 @@ + gtk_widget_show(prefswindow->empty_page); + gtk_container_add(GTK_CONTAINER(prefswindow->notebook), prefswindow->empty_page); + +- prefswindow_build_tree(prefswindow->tree_view, prefs_pages); ++ if (col_count > 1) ++ { ++ prefswindow_build_tree(prefswindow->tree_view, prefs_pages); ++ ++ gtk_widget_grab_focus(prefswindow->tree_view); ++ } ++ else ++ { ++ PrefsPage * page = prefs_pages->data; ++ gint pagenum; ++ GtkAdjustment *adj; ++ ++ if (!page->page_open) ++ { ++ page->create_widget(page, ++ GTK_WINDOW(prefswindow->window), ++ prefswindow->data); ++ gtk_container_add(GTK_CONTAINER(prefswindow->notebook), ++ page->widget); ++ page->page_open = TRUE; ++ } ++ ++ pagenum = gtk_notebook_page_num(GTK_NOTEBOOK(prefswindow->notebook), ++ page->widget); ++ gtk_notebook_set_current_page(GTK_NOTEBOOK(prefswindow->notebook), ++ pagenum); + +- gtk_widget_grab_focus(prefswindow->tree_view); ++ adj = gtk_scrolled_window_get_vadjustment( ++ GTK_SCROLLED_WINDOW(prefswindow->scrolledwindow2)); ++ gtk_adjustment_set_value(adj, 0); ++ ++ } + + gtkut_stock_button_set_create(&prefswindow->confirm_area, + &prefswindow->apply_btn, GTK_STOCK_APPLY, +@@ -440,28 +486,6 @@ + G_CALLBACK(prefswindow_key_pressed), &(prefswindow->window)); + #endif + +- /* connect to callback only if we hhave non-NULL pointers to store size to */ +- if (prefswindow->save_width && prefswindow->save_height) { +- g_signal_connect(G_OBJECT(prefswindow->window), "size_allocate", +- G_CALLBACK(prefs_size_allocate_cb), prefswindow); +- } +- +- if (!geometry.min_height) { +- +- if (x < 800 && y < 600) { +- geometry.min_width = 600; +- geometry.min_height = 440; +- } else { +- geometry.min_width = 700; +- geometry.min_height = 550; +- } +- } +- gtk_window_set_geometry_hints(GTK_WINDOW(prefswindow->window), NULL, &geometry, +- GDK_HINT_MIN_SIZE); +- if (prefswindow->save_width && prefswindow->save_height) { +- gtk_widget_set_size_request(prefswindow->window, *(prefswindow->save_width), +- *(prefswindow->save_height)); +- } + + gtk_widget_show(prefswindow->window); + #ifdef MAEMO +Index: claws-mail-2.9.1/src/compose.c +=================================================================== +--- claws-mail-2.9.1.orig/src/compose.c 2007-04-25 07:40:10.000000000 +0100 ++++ claws-mail-2.9.1/src/compose.c 2007-04-25 10:18:13.000000000 +0100 +@@ -352,9 +352,6 @@ + + /* callback functions */ + +-static gboolean compose_edit_size_alloc (GtkEditable *widget, +- GtkAllocation *allocation, +- GtkSHRuler *shruler); + static void account_activated (GtkComboBox *optmenu, + gpointer data); + static void attach_selected (GtkTreeView *tree_view, +@@ -439,9 +436,6 @@ + guint action, + GtkWidget *widget); + +-static void compose_toggle_ruler_cb (gpointer data, +- guint action, +- GtkWidget *widget); + static void compose_toggle_sign_cb (gpointer data, + guint action, + GtkWidget *widget); +@@ -788,7 +782,6 @@ + ENC_ACTION(C_WINDOWS_874)}, + + {N_("/_Tools"), NULL, NULL, 0, ""}, +- {N_("/_Tools/Show _ruler"), NULL, compose_toggle_ruler_cb, 0, ""}, + {N_("/_Tools/_Address book"), "A", compose_address_cb , 0, NULL}, + {N_("/_Tools/_Template"), NULL, NULL, 0, ""}, + {N_("/_Tools/Actio_ns"), NULL, NULL, 0, ""}, +@@ -2067,7 +2060,6 @@ + menu_set_sensitive(ifactory, "/Message/Insert signature", FALSE); + menu_set_sensitive(ifactory, "/Edit", FALSE); + menu_set_sensitive(ifactory, "/Options", FALSE); +- menu_set_sensitive(ifactory, "/Tools/Show ruler", FALSE); + menu_set_sensitive(ifactory, "/Tools/Actions", FALSE); + + if (compose->toolbar->draft_btn) +@@ -5684,7 +5676,7 @@ + g_signal_connect(G_OBJECT(GTK_COMBO(combo)->entry), "grab_focus", + G_CALLBACK(compose_grab_focus_cb), compose); + gtk_widget_show(combo); +- gtk_table_attach(GTK_TABLE(compose->header_table), combo, 0, 1, compose->header_nextrow, compose->header_nextrow+1, GTK_SHRINK, GTK_FILL, 0, 0); ++ gtk_table_attach(GTK_TABLE(compose->header_table), combo, 0, 1, compose->header_nextrow, compose->header_nextrow+1, GTK_FILL, GTK_FILL, 0, 0); + if (compose->header_last) { + const gchar *last_header_entry = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(compose->header_last->combo)->entry)); + string = headers; +@@ -5778,7 +5770,7 @@ + + static GtkWidget *compose_create_header(Compose *compose) + { +- GtkWidget *from_optmenu_hbox; ++ GtkWidget *from_optmenu; + GtkWidget *header_scrolledwin; + GtkWidget *header_table; + +@@ -5788,18 +5780,20 @@ + header_scrolledwin = gtk_scrolled_window_new(NULL, NULL); + gtk_widget_show(header_scrolledwin); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(header_scrolledwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); +- + header_table = gtk_table_new(2, 2, FALSE); ++ gtk_table_set_col_spacings (GTK_TABLE (header_table), BORDER_WIDTH); + gtk_widget_show(header_table); + gtk_container_set_border_width(GTK_CONTAINER(header_table), BORDER_WIDTH); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(header_scrolledwin), header_table); +- gtk_viewport_set_shadow_type(GTK_VIEWPORT(GTK_BIN(header_scrolledwin)->child), GTK_SHADOW_ETCHED_IN); ++ gtk_viewport_set_shadow_type(GTK_VIEWPORT(GTK_BIN(header_scrolledwin)->child), GTK_SHADOW_NONE); + count = 0; + + /* option menu for selecting accounts */ +- from_optmenu_hbox = compose_account_option_menu_create(compose); +- gtk_table_attach(GTK_TABLE(header_table), from_optmenu_hbox, +- 0, 2, count, count + 1, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); ++ from_optmenu = compose_account_option_menu_create(compose); ++ gtk_table_attach(GTK_TABLE(header_table), from_optmenu, ++ 0, 1, count, count + 1, GTK_FILL, GTK_FILL, 0, 0); ++ gtk_table_attach(GTK_TABLE(header_table), compose->from_name, ++ 1, 2, count, count + 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); + count++; + + compose->header_table = header_table; +@@ -6140,15 +6134,12 @@ + GtkWidget *vbox2; + + GtkWidget *label; +- GtkWidget *subject_hbox; +- GtkWidget *subject_frame; ++ GtkWidget *edit_frame; + GtkWidget *subject_entry; + GtkWidget *subject; + GtkWidget *paned; + + GtkWidget *edit_vbox; +- GtkWidget *ruler_hbox; +- GtkWidget *ruler; + GtkWidget *scrolledwin; + GtkWidget *text; + GtkTextBuffer *buffer; +@@ -6169,8 +6160,6 @@ + GtkAspell * gtkaspell = NULL; + #endif + +- static GdkGeometry geometry; +- + g_return_val_if_fail(account != NULL, NULL); + + debug_print("Creating compose window...\n"); +@@ -6190,28 +6179,6 @@ + + window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "compose"); + +- gtk_window_set_resizable(GTK_WINDOW(window), TRUE); +- gtk_widget_set_size_request(window, -1, prefs_common.compose_height); +- +- if (!geometry.max_width) { +- geometry.max_width = gdk_screen_width(); +- geometry.max_height = gdk_screen_height(); +- } +- +- gtk_window_set_geometry_hints(GTK_WINDOW(window), NULL, +- &geometry, GDK_HINT_MAX_SIZE); +- if (!geometry.min_width) { +- geometry.min_width = 600; +- geometry.min_height = 480; +- } +- gtk_window_set_geometry_hints(GTK_WINDOW(window), NULL, +- &geometry, GDK_HINT_MIN_SIZE); +- +-#ifndef MAEMO +- if (compose_force_window_origin) +- gtk_widget_set_uposition(window, prefs_common.compose_x, +- prefs_common.compose_y); +-#endif + g_signal_connect(G_OBJECT(window), "delete_event", + G_CALLBACK(compose_delete_cb), compose); + MANAGE_WINDOW_SIGNALS_CONNECT(window); +@@ -6227,11 +6194,7 @@ + n_menu_entries, "", compose); + gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0); + +- if (prefs_common.toolbar_detachable) { +- handlebox = gtk_handle_box_new(); +- } else { +- handlebox = gtk_hbox_new(FALSE, 0); +- } ++ handlebox = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0); + + gtk_widget_realize(handlebox); +@@ -6244,7 +6207,6 @@ + + /* Notebook */ + notebook = gtk_notebook_new(); +- gtk_widget_set_size_request(notebook, -1, 130); + gtk_widget_show(notebook); + + /* header labels and entries */ +@@ -6258,18 +6220,10 @@ + /* Others Tab */ + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), + compose_create_others(compose), +- gtk_label_new_with_mnemonic(_("Othe_rs"))); ++ gtk_label_new_with_mnemonic(_("Othe_r"))); + + /* Subject */ +- subject_hbox = gtk_hbox_new(FALSE, 0); +- gtk_widget_show(subject_hbox); +- +- subject_frame = gtk_frame_new(NULL); +- gtk_frame_set_shadow_type(GTK_FRAME(subject_frame), GTK_SHADOW_NONE); +- gtk_box_pack_start(GTK_BOX(subject_hbox), subject_frame, TRUE, TRUE, 0); +- gtk_widget_show(subject_frame); +- +- subject = gtk_hbox_new(FALSE, HSPACING_NARROW); ++ subject = gtk_hbox_new(FALSE, BORDER_WIDTH); + gtk_container_set_border_width(GTK_CONTAINER(subject), 0); + gtk_widget_show(subject); + +@@ -6283,20 +6237,16 @@ + G_CALLBACK(compose_grab_focus_cb), compose); + gtk_widget_show(subject_entry); + compose->subject_entry = subject_entry; +- gtk_container_add(GTK_CONTAINER(subject_frame), subject); + +- edit_vbox = gtk_vbox_new(FALSE, 0); ++ edit_vbox = gtk_vbox_new(FALSE, BORDER_WIDTH); ++ gtk_container_set_border_width(GTK_CONTAINER(edit_vbox), BORDER_WIDTH); + +- gtk_box_pack_start(GTK_BOX(edit_vbox), subject_hbox, FALSE, FALSE, 0); ++ gtk_box_pack_start(GTK_BOX(edit_vbox), subject, FALSE, FALSE, 0); + +- /* ruler */ +- ruler_hbox = gtk_hbox_new(FALSE, 0); +- gtk_box_pack_start(GTK_BOX(edit_vbox), ruler_hbox, FALSE, FALSE, 0); +- +- ruler = gtk_shruler_new(); +- gtk_ruler_set_range(GTK_RULER(ruler), 0.0, 100.0, 1.0, 100.0); +- gtk_box_pack_start(GTK_BOX(ruler_hbox), ruler, TRUE, TRUE, +- BORDER_WIDTH); ++ edit_frame = gtk_frame_new(NULL); ++ gtk_frame_set_shadow_type(GTK_FRAME(edit_frame), GTK_SHADOW_IN); ++ gtk_widget_show(edit_frame); ++ gtk_container_add(GTK_CONTAINER(edit_frame), edit_vbox); + + /* text widget */ + scrolledwin = gtk_scrolled_window_new(NULL, NULL); +@@ -6317,9 +6267,6 @@ + + gtk_container_add(GTK_CONTAINER(scrolledwin), text); + +- g_signal_connect_after(G_OBJECT(text), "size_allocate", +- G_CALLBACK(compose_edit_size_alloc), +- ruler); + g_signal_connect(G_OBJECT(buffer), "changed", + G_CALLBACK(compose_changed_cb), compose); + g_signal_connect(G_OBJECT(text), "grab_focus", +@@ -6363,7 +6310,7 @@ + gtk_widget_set_size_request(edit_vbox, -1, mode == COMPOSE_NEW ? 250 : 230); + #endif + gtk_paned_add1(GTK_PANED(paned), notebook); +- gtk_paned_add2(GTK_PANED(paned), edit_vbox); ++ gtk_paned_add2(GTK_PANED(paned), edit_frame); + gtk_widget_show_all(paned); + + +@@ -6408,8 +6355,6 @@ + + compose->notebook = notebook; + compose->edit_vbox = edit_vbox; +- compose->ruler_hbox = ruler_hbox; +- compose->ruler = ruler; + compose->scrolledwin = scrolledwin; + compose->text = text; + +@@ -6531,13 +6476,6 @@ + + compose_list = g_list_append(compose_list, compose); + +- if (!prefs_common.show_ruler) +- gtk_widget_hide(ruler_hbox); +- +- menuitem = gtk_item_factory_get_item(ifactory, "/Tools/Show ruler"); +- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), +- prefs_common.show_ruler); +- + /* Priority */ + compose->priority = PRIORITY_NORMAL; + compose_update_priority_menu_item(compose); +@@ -6568,7 +6506,6 @@ + static GtkWidget *compose_account_option_menu_create(Compose *compose) + { + GList *accounts; +- GtkWidget *hbox; + GtkWidget *optmenu; + GtkWidget *optmenubox; + GtkListStore *menu; +@@ -6584,7 +6521,6 @@ + optmenu = gtkut_sc_combobox_create(optmenubox, FALSE); + menu = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(optmenu))); + +- hbox = gtk_hbox_new(FALSE, 6); + from_name = gtk_entry_new(); + + g_signal_connect_after(G_OBJECT(from_name), "grab_focus", +@@ -6623,9 +6559,6 @@ + G_CALLBACK(account_activated), + compose); + +- gtk_box_pack_start(GTK_BOX(hbox), optmenubox, FALSE, FALSE, 0); +- gtk_box_pack_start(GTK_BOX(hbox), from_name, TRUE, TRUE, 0); +- + gtk_tooltips_set_tip(compose->tooltips, optmenubox, + _("Account to use for this email"), NULL); + gtk_tooltips_set_tip(compose->tooltips, from_name, +@@ -6633,7 +6566,7 @@ + + compose->from_name = from_name; + +- return hbox; ++ return optmenubox; + } + + static void compose_set_priority_cb(gpointer data, +@@ -7851,32 +7784,6 @@ + + /* callback functions */ + +-/* compose_edit_size_alloc() - called when resized. don't know whether Gtk +- * includes "non-client" (windows-izm) in calculation, so this calculation +- * may not be accurate. +- */ +-static gboolean compose_edit_size_alloc(GtkEditable *widget, +- GtkAllocation *allocation, +- GtkSHRuler *shruler) +-{ +- if (prefs_common.show_ruler) { +- gint char_width = 0, char_height = 0; +- gint line_width_in_chars; +- +- gtkut_get_font_size(GTK_WIDGET(widget), +- &char_width, &char_height); +- line_width_in_chars = +- (allocation->width - allocation->x) / char_width; +- +- /* got the maximum */ +- gtk_ruler_set_range(GTK_RULER(shruler), +- 0.0, line_width_in_chars, 0, +- /*line_width_in_chars*/ char_width); +- } +- +- return TRUE; +-} +- + static void account_activated(GtkComboBox *optmenu, gpointer data) + { + Compose *compose = (Compose *)data; +@@ -9040,21 +8947,6 @@ + compose_update_privacy_system_menu_item(compose, warn); + } + +-static void compose_toggle_ruler_cb(gpointer data, guint action, +- GtkWidget *widget) +-{ +- Compose *compose = (Compose *)data; +- +- if (GTK_CHECK_MENU_ITEM(widget)->active) { +- gtk_widget_show(compose->ruler_hbox); +- prefs_common.show_ruler = TRUE; +- } else { +- gtk_widget_hide(compose->ruler_hbox); +- gtk_widget_queue_resize(compose->edit_vbox); +- prefs_common.show_ruler = FALSE; +- } +-} +- + static void compose_attach_drag_received_cb (GtkWidget *widget, + GdkDragContext *context, + gint x, +Index: claws-mail-2.9.1/src/folderview.c +=================================================================== +--- claws-mail-2.9.1.orig/src/folderview.c 2007-04-03 19:10:25.000000000 +0100 ++++ claws-mail-2.9.1/src/folderview.c 2007-04-25 10:28:00.000000000 +0100 +@@ -73,6 +73,11 @@ + #define COL_FOLDER_WIDTH 150 + #define COL_NUM_WIDTH 32 + ++/* added dummy column to stop the last column from ++ * resizing insanely in small screen view ++ */ ++#define _N_FOLDER_COLS (N_FOLDER_COLS + 1) ++ + static GList *folderview_list = NULL; + + static GtkStyle *normal_style; +@@ -448,7 +453,7 @@ + gint *col_pos; + FolderColumnState *col_state; + FolderColumnType type; +- gchar *titles[N_FOLDER_COLS]; ++ gchar *titles[_N_FOLDER_COLS]; + gint i; + GtkWidget *scrolledwin = folderview->scrolledwin; + +@@ -471,8 +476,9 @@ + titles[col_pos[F_COL_UNREAD]] = _("Unread"); + /* TRANSLATORS: This in Number sign in American style */ + titles[col_pos[F_COL_TOTAL]] = _("#"); ++ titles[F_COL_DUMMY] = ""; + +- ctree = gtk_sctree_new_with_titles(N_FOLDER_COLS, col_pos[F_COL_FOLDER], ++ ctree = gtk_sctree_new_with_titles(_N_FOLDER_COLS, col_pos[F_COL_FOLDER], + titles); + + gtk_clist_set_selection_mode(GTK_CLIST(ctree), GTK_SELECTION_BROWSE); +@@ -510,6 +516,9 @@ + (GTK_CLIST(ctree), i, col_state[i].visible); + } + ++ GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(ctree)->column[i].button, ++ GTK_CAN_FOCUS); ++ + g_signal_connect(G_OBJECT(ctree), "key_press_event", + G_CALLBACK(folderview_key_pressed), + folderview); +@@ -605,9 +614,6 @@ + (GTK_SCROLLED_WINDOW(scrolledwin), + GTK_POLICY_AUTOMATIC, + prefs_common.folderview_vscrollbar_policy); +- gtk_widget_set_size_request(scrolledwin, +- prefs_common.folderview_width, +- prefs_common.folderview_height); + + folderview->scrolledwin = scrolledwin; + ctree = folderview_ctree_create(folderview); +@@ -2268,7 +2274,7 @@ + static void folderview_create_folder_node(FolderView *folderview, FolderItem *item) + { + GtkCTree *ctree = GTK_CTREE(folderview->ctree); +- gchar *text[N_FOLDER_COLS] = {NULL, "0", "0", "0"}; ++ gchar *text[_N_FOLDER_COLS] = {NULL, "0", "0", "0", ""}; + GtkCTreeNode *node, *parent_node; + gint *col_pos = folderview->col_pos; + FolderItemUpdateData hookdata; +Index: claws-mail-2.9.1/src/folderview.h +=================================================================== +--- claws-mail-2.9.1.orig/src/folderview.h 2007-03-22 17:22:52.000000000 +0000 ++++ claws-mail-2.9.1/src/folderview.h 2007-04-25 10:16:55.000000000 +0100 +@@ -37,7 +37,8 @@ + F_COL_FOLDER, + F_COL_NEW, + F_COL_UNREAD, +- F_COL_TOTAL ++ F_COL_TOTAL, ++ F_COL_DUMMY + } FolderColumnType; + + #define N_FOLDER_COLS 4 diff --git a/recipes/sylpheed/files/sylpheed-2.2.2-libsylph-Makefile-am.patch b/recipes/sylpheed/files/sylpheed-2.2.2-libsylph-Makefile-am.patch new file mode 100644 index 0000000000..e4570acb9d --- /dev/null +++ b/recipes/sylpheed/files/sylpheed-2.2.2-libsylph-Makefile-am.patch @@ -0,0 +1,11 @@ +--- sylpheed-2.2.2/libsylph/Makefile.am.orig 2006-03-03 14:45:37.000000000 -0800 ++++ sylpheed-2.2.2/libsylph/Makefile.am 2006-03-03 14:45:50.000000000 -0800 +@@ -3,7 +3,7 @@ + -DG_LOG_DOMAIN=\"LibSylph\" \ + -DSYSCONFDIR=\""$(sysconfdir)"\" + +-INCLUDES = $(GLIB_CFLAGS) -I$(top_srcdir) -I$(includedir) ++INCLUDES = $(GLIB_CFLAGS) -I$(top_srcdir) + + #lib_LTLIBRARIES = libsylph.la + noinst_LTLIBRARIES = libsylph.la diff --git a/recipes/sylpheed/files/sylpheed-2.2.2-src-Makefile-am.patch b/recipes/sylpheed/files/sylpheed-2.2.2-src-Makefile-am.patch new file mode 100644 index 0000000000..4e1fe97378 --- /dev/null +++ b/recipes/sylpheed/files/sylpheed-2.2.2-src-Makefile-am.patch @@ -0,0 +1,11 @@ +--- sylpheed-2.2.2/src/Makefile.am.orig 2006-03-03 14:41:42.000000000 -0800 ++++ sylpheed-2.2.2/src/Makefile.am 2006-03-03 14:42:45.000000000 -0800 +@@ -102,8 +102,6 @@ + -DG_LOG_DOMAIN=\"Sylpheed\" \ + $(GTK_CFLAGS) \ + $(GDK_PIXBUF_CFLAGS) \ +- $(GPGME_CFLAGS) \ +- -I$(includedir) \ + -I$(top_srcdir)/libsylph + + if HAVE_WINDRES diff --git a/recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch b/recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch new file mode 100644 index 0000000000..2bc27a484f --- /dev/null +++ b/recipes/sylpheed/files/sylpheed-gnutls_2.2.4.patch @@ -0,0 +1,140 @@ +--- sylpheed-2.2.4/config.h.in.orig 2005-11-16 10:12:37.000000000 +0000 ++++ sylpheed-2.2.4/config.h.in 2006-04-28 11:36:36.000000000 +0100 +@@ -251,6 +251,9 @@ + /* Define to 1 if your declares `struct tm'. */ + #undef TM_IN_SYS_TIME + ++/* Define if you use GnuTLS to support SSL. */ ++#undef USE_GNUTLS ++ + /* Define if you use GPGME to support OpenPGP. */ + #undef USE_GPGME + +@@ -264,6 +267,9 @@ + #undef USE_LDAP + + /* Define if you use OpenSSL to support SSL. */ ++#undef USE_OPENSSL ++ ++/* Define if SSL is supported. */ + #undef USE_SSL + + /* Whether to use multithread or not */ +--- sylpheed-2.2.4/configure.in.orig 2006-03-24 04:22:10.000000000 +0000 ++++ sylpheed-2.2.4/configure.in 2006-04-28 11:36:36.000000000 +0100 +@@ -231,7 +231,8 @@ + #include + ], [ return OPENSSL_VERSION_NUMBER; ], + [ AC_MSG_RESULT(yes) +- AC_DEFINE(USE_SSL, 1, Define if you use OpenSSL to support SSL.) ], ++ AC_DEFINE(USE_SSL, 1, Define if SSL is supported.) ++ AC_DEFINE(USE_OPENSSL, 1, Define if you use OpenSSL to support SSL.) ], + [ AC_MSG_RESULT(no) + LIBS="$ac_save_LIBS" + ac_cv_enable_ssl=no ]) +@@ -240,6 +241,27 @@ + AC_MSG_RESULT(no) + fi + ++AC_ARG_ENABLE(gnutls, ++ [ --enable-gnutls Enable SSL support using GnuTLS [default=no]], ++ [ac_cv_enable_gnutls=$enableval], [ac_cv_enable_gnutls=no]) ++AC_MSG_CHECKING([whether to use GnuTLS]) ++if test $ac_cv_enable_gnutls = yes; then ++ AC_MSG_RESULT(yes) ++ AC_MSG_CHECKING([if GnuTLS is available]) ++ LIBS="$LIBS -lgnutls-openssl" ++ AC_TRY_LINK([ ++#include ++], [ return OPENSSL_VERSION_NUMBER; ], ++ [ AC_MSG_RESULT(yes) ++ AC_DEFINE(USE_SSL, 1, Define if SSL is supported.) ++ AC_DEFINE(USE_GNUTLS, 1, Define if you use GnuTLS to support SSL.) ], ++ [ AC_MSG_RESULT(no) ++ LIBS="$ac_save_LIBS" ++ ac_cv_enable_gnutls=no ]) ++else ++ AC_MSG_RESULT(no) ++fi ++ + dnl Check for X-Face support + AC_ARG_ENABLE(compface, + [ --disable-compface Do not use compface (X-Face)], +@@ -400,6 +422,7 @@ + echo "JPilot : $ac_cv_enable_jpilot" + echo "LDAP : $ac_cv_enable_ldap" + echo "OpenSSL : $ac_cv_enable_ssl" ++echo "GnuTLS : $ac_cv_enable_gnutls" + echo "iconv : $am_cv_func_iconv" + echo "compface : $ac_cv_enable_compface" + echo "IPv6 : $ac_cv_enable_ipv6" +--- sylpheed-2.2.4/libsylph/ssl.h.old 2006-04-28 11:36:10.000000000 +0100 ++++ sylpheed-2.2.4/libsylph/ssl.h 2006-04-28 11:37:03.000000000 +0100 +@@ -27,11 +27,20 @@ + #if USE_SSL + + #include ++#if USE_OPENSSL + #include + #include + #include + #include + #include ++#else ++#if USE_GNUTLS ++#include ++#define X509_V_OK 0 ++#else ++#error Must select either GnuTLS or OpenSSL ++#endif ++#endif + + #include "socket.h" + +--- sylpheed-2.2.4/libsylph/ssl.c.orig 2006-04-28 20:38:46.000000000 +0100 ++++ sylpheed-2.2.4/libsylph/ssl.c 2006-04-28 20:40:22.000000000 +0100 +@@ -54,9 +54,11 @@ + debug_print(_("SSLv23 not available\n")); + } else { + debug_print(_("SSLv23 available\n")); ++#if USE_OPENSSL + if (certs_dir && + !SSL_CTX_load_verify_locations(ssl_ctx_SSLv23, NULL, + certs_dir)) ++#endif + g_warning("SSLv23 SSL_CTX_load_verify_locations failed.\n"); + } + +@@ -65,9 +67,11 @@ + debug_print(_("TLSv1 not available\n")); + } else { + debug_print(_("TLSv1 available\n")); ++#if USE_OPENSSL + if (certs_dir && + !SSL_CTX_load_verify_locations(ssl_ctx_TLSv1, NULL, + certs_dir)) ++#endif + g_warning("TLSv1 SSL_CTX_load_verify_locations failed.\n"); + } + +@@ -151,14 +155,19 @@ + g_free(str); + } + ++#if USE_OPENSSL + verify_result = SSL_get_verify_result(sockinfo->ssl); + if (verify_result == X509_V_OK) + debug_print("SSL verify OK\n"); + else ++#endif + g_warning("%s: SSL certificate verify failed (%ld: %s)\n", + sockinfo->hostname, verify_result, ++#if USE_OPENSSL + X509_verify_cert_error_string(verify_result)); +- ++#else ++ "Unsupport GnuTLS features"); ++#endif + X509_free(server_cert); + } + diff --git a/recipes/sylpheed/sylpheed_2.2.9.bb b/recipes/sylpheed/sylpheed_2.2.9.bb new file mode 100644 index 0000000000..b22512b32f --- /dev/null +++ b/recipes/sylpheed/sylpheed_2.2.9.bb @@ -0,0 +1,32 @@ +SECTION = "x11/network" +DESCRIPTION = "Mail user agent" +DEPENDS = "gtk+ gpgme gnutls" +LICENSE = "GPL" +PR = "r0" + +SRC_URI = "http://sylpheed.good-day.net/sylpheed/v2.2/sylpheed-${PV}.tar.bz2 \ + file://sylpheed-2.2.2-libsylph-Makefile-am.patch;patch=1 \ + file://sylpheed-2.2.2-src-Makefile-am.patch;patch=1 \ + file://sylpheed-gnutls_2.2.4.patch;patch=1" + + +FILES_${PN} = "${bindir} ${datadir}/pixmaps ${datadir}/applications" +FILES_${PN}-doc += "${datadir}" + +EXTRA_OECONF = "--disable-ssl --enable-gnutls" + +CFLAGS += "-D_GNU_SOURCE" + +do_configure_prepend() { + mkdir -p m4 +} + +inherit autotools + +do_install_append() { + install -d ${D}${datadir}/applications + install -m 0644 sylpheed.desktop ${D}${datadir}/applications/ + install -d ${D}${datadir}/pixmaps + install -m 0644 sylpheed.png ${D}${datadir}/pixmaps/ +} + diff --git a/recipes/sylpheed/sylpheed_2.5.0.bb b/recipes/sylpheed/sylpheed_2.5.0.bb new file mode 100644 index 0000000000..94c51e4fce --- /dev/null +++ b/recipes/sylpheed/sylpheed_2.5.0.bb @@ -0,0 +1,32 @@ +SECTION = "x11/network" +DESCRIPTION = "Mail user agent" +DEPENDS = "gtk+ gpgme gnutls" +LICENSE = "GPL" +PR = "r0" + +SRC_URI = "http://sylpheed.good-day.net/sylpheed/v2.5/sylpheed-${PV}.tar.bz2 \ + " + +FILES_${PN} = "${bindir} ${datadir}/pixmaps ${datadir}/applications" +FILES_${PN}-doc += "${datadir}" + +EXTRA_OECONF = "--disable-ssl --enable-gnutls" + +CFLAGS += "-D_GNU_SOURCE" + +do_configure_prepend() { + mkdir -p m4 + for i in $(find ${S} -name "Makefile.am") ; do + sed -i s:'-I$(includedir)'::g $i + done +} + +inherit autotools + +do_install_append() { + install -d ${D}${datadir}/applications + install -m 0644 sylpheed.desktop ${D}${datadir}/applications/ + install -d ${D}${datadir}/pixmaps + install -m 0644 sylpheed.png ${D}${datadir}/pixmaps/ +} + -- cgit v1.2.3