From: Paul Mangan Date: Tue, 14 Nov 2006 15:05:55 +0000 (+0000) Subject: 2006-11-14 [paul] 2.6.0cvs46 X-Git-Tag: rel_2_7_0~162 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=dbd91b866074991872e056a5969ffa333e9ad222 2006-11-14 [paul] 2.6.0cvs46 * po/Makevars enable Q_ macro * src/Makefile.am * src/stock_pixmap.c * src/stock_pixmap.h * src/gtk/about.c * src/pixmaps/active.xpm * src/pixmaps/inactive.xpm add a new page, 'Features', to the About dialog showing which features are compiled in and which are not --- diff --git a/ChangeLog b/ChangeLog index aaf651b2d..bfcbe20b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2006-11-14 [paul] 2.6.0cvs46 + + * po/Makevars + enable Q_ macro + * src/Makefile.am + * src/stock_pixmap.c + * src/stock_pixmap.h + * src/gtk/about.c + * src/pixmaps/active.xpm + * src/pixmaps/inactive.xpm + add a new page, 'Features', to the About dialog + showing which features are compiled in and which + are not + 2006-11-14 [paul] 2.6.0cvs45 * po/ru.po diff --git a/PATCHSETS b/PATCHSETS index 91e2a0327..69c8ce094 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -2070,3 +2070,4 @@ ( cvs diff -u -r 1.20.2.9 -r 1.20.2.10 src/gtk/Makefile.am; ) > 2.6.0cvs43.patchset ( cvs diff -u -r 1.382.2.329 -r 1.382.2.330 src/compose.c; cvs diff -u -r 1.149.2.61 -r 1.149.2.62 src/inc.c; cvs diff -u -r 1.94.2.109 -r 1.94.2.110 src/messageview.c; cvs diff -u -r 1.101.2.32 -r 1.101.2.33 src/news.c; cvs diff -u -r 1.56.2.45 -r 1.56.2.46 src/pop.c; cvs diff -u -r 1.150.2.82 -r 1.150.2.83 src/procmsg.c; cvs diff -u -r 1.3.2.22 -r 1.3.2.23 src/ssl_manager.c; cvs diff -u -r 1.9.2.43 -r 1.9.2.44 src/gtk/gtkaspell.c; cvs diff -u -r 1.1.2.36 -r 1.1.2.37 src/plugins/pgpcore/sgpgme.c; ) > 2.6.0cvs44.patchset ( cvs diff -u -r 1.17.2.12 -r 1.17.2.13 po/ru.po; ) > 2.6.0cvs45.patchset +( cvs diff -u -r 1.1.4.4 -r 1.1.4.5 po/Makevars; cvs diff -u -r 1.155.2.47 -r 1.155.2.48 src/Makefile.am; cvs diff -u -r 1.25.2.29 -r 1.25.2.30 src/stock_pixmap.c; cvs diff -u -r 1.18.2.20 -r 1.18.2.21 src/stock_pixmap.h; cvs diff -u -r 1.4.2.38 -r 1.4.2.39 src/gtk/about.c; diff -u /dev/null src/pixmaps/active.xpm; diff -u /dev/null src/pixmaps/inactive.xpm; ) > 2.6.0cvs46.patchset diff --git a/configure.ac b/configure.ac index 013c12303..1a593935a 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=6 MICRO_VERSION=0 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=45 +EXTRA_VERSION=46 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/po/Makevars b/po/Makevars index c636c87cd..7911ffb98 100644 --- a/po/Makevars +++ b/po/Makevars @@ -10,6 +10,7 @@ top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = \ --keyword=_ --flag=_:1:pass-c-format \ + --keyword=Q_ --flag=Q_:1:pass-c-format \ --keyword=N_ --flag=N_:1:pass-c-format \ --keyword='proper_name:1,"This is a proper name. See the gettext manual, section Names."' \ --keyword='proper_name_utf8:1,"This is a proper name. See the gettext manual, section Names."' \ diff --git a/src/Makefile.am b/src/Makefile.am index 8b4f182b1..904f8a34c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -293,6 +293,7 @@ BUILT_SOURCES = \ quote_fmt_parse.h EXTRA_DIST = \ + pixmaps/active.xpm \ pixmaps/addr_one.xpm \ pixmaps/addr_two.xpm \ pixmaps/address_book.xpm \ @@ -324,6 +325,7 @@ EXTRA_DIST = \ pixmaps/group.xpm \ pixmaps/ham_btn.xpm \ pixmaps/ignorethread.xpm \ + pixmaps/inactive.xpm \ pixmaps/inbox_hrm.xpm \ pixmaps/inbox.xpm \ pixmaps/interface.xpm \ diff --git a/src/gtk/about.c b/src/gtk/about.c index 527f3d2c7..efe3b1cfc 100644 --- a/src/gtk/about.c +++ b/src/gtk/about.c @@ -90,17 +90,44 @@ void about_show(void) gtk_window_present(GTK_WINDOW(window)); } +#define ADD_FEATURES_HBOX(vbox, image, name, desc) \ +{ \ + GtkWidget *hbox1; \ + char *markup; \ + GtkWidget *label1; \ + \ + hbox1 = gtk_hbox_new(FALSE, 2); \ + gtk_widget_show(hbox1); \ + gtk_box_pack_start(GTK_BOX(vbox), hbox1, TRUE, TRUE, 0); \ + gtk_widget_show(image); \ + gtk_box_pack_start(GTK_BOX(hbox1), image, FALSE, FALSE, 0); \ + \ + label1 = gtk_label_new(""); \ + gtk_label_set_line_wrap(GTK_LABEL(label1), TRUE); \ + gtk_widget_show(label1); \ + gtk_box_pack_start(GTK_BOX(hbox1), label1, FALSE, FALSE, 0); \ + \ + markup = g_markup_printf_escaped \ + ("%s %s", name, \ + desc); \ + gtk_label_set_markup (GTK_LABEL(label1), markup); \ + g_free(markup); \ +} static void about_create(void) { GtkWidget *vbox1; GtkWidget *table; - GtkWidget *table2; GtkWidget *image; GtkWidget *vbox2; GtkWidget *label; GtkWidget *button; GtkWidget *scrolledwin; GtkWidget *notebook; + GtkWidget *viewport; + GtkWidget *vbox; + GtkWidget *hbox; + const gchar *name; + const gchar *desc; char *markup; GtkWidget *text; GtkWidget *confirm_area; @@ -190,60 +217,13 @@ static void about_create(void) gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); gtk_box_pack_start(GTK_BOX(vbox2), label, FALSE, FALSE, 0); - g_snprintf(buf, sizeof(buf), - _("Compiled-in features:\n%s"), -#if USE_THREADS - " gthread" -#endif -#if INET6 - " IPv6" -#endif -#if HAVE_ICONV - " iconv" -#endif -#if HAVE_LIBCOMPFACE - " compface" -#endif -#if USE_OPENSSL - " OpenSSL" -#endif -#if USE_LDAP - " LDAP" -#endif -#if USE_JPILOT - " JPilot" -#endif -#if USE_ASPELL - " GNU/aspell" -#endif -#if HAVE_LIBETPAN - " libetpan" -#endif -#if USE_GNOMEPRINT - " libgnomeprint" -#endif -#if HAVE_LIBSM - " libSM" -#endif - ""); - - label = gtk_label_new(buf); - gtk_label_set_selectable(GTK_LABEL(label), TRUE); - gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_CENTER); - gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); - gtk_box_pack_start(GTK_BOX(vbox2), label, FALSE, FALSE, 0); - - table2 = gtk_table_new (2, 3, FALSE); - gtk_box_pack_start(GTK_BOX(vbox1), table2, FALSE, FALSE, 0); - label = gtk_label_new (_("Copyright (C) 1999-2006 Hiroyuki Yamamoto \n" "and the Claws Mail team")); gtk_label_set_selectable(GTK_LABEL(label), TRUE); gtk_label_set_justify(GTK_LABEL(label), GTK_JUSTIFY_CENTER); - gtk_table_attach(GTK_TABLE(table2), label, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_EXPAND), - (GtkAttachOptions) (GTK_SHRINK), 0, 6); + gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); + gtk_box_pack_start(GTK_BOX(vbox2), label, FALSE, FALSE, 0); notebook = gtk_notebook_new(); gtk_widget_set_size_request(notebook, -1, 200); @@ -461,6 +441,114 @@ static void about_create(void) gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwin), GTK_SHADOW_IN); + viewport = gtk_viewport_new(NULL, NULL); + gtk_widget_show(viewport); + gtk_container_add(GTK_CONTAINER(scrolledwin), viewport); + + vbox = gtk_vbox_new(FALSE, 0); + gtk_box_set_spacing(GTK_BOX(vbox), 4); + gtk_widget_show(vbox); + gtk_container_add(GTK_CONTAINER(viewport), vbox); + + hbox = gtk_hbox_new(FALSE, 0); + gtk_widget_show (hbox); + gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); + + label = gtk_label_new(_("Compiled-in Features")); + gtk_widget_show (label); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); + + name = "IPv6"; + desc = (gchar *)Q_("IPv6|adds support for IPv6 addresses, the new internet " + "addressing protocol"); +#if INET6 + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_ACTIVE), name, desc); +#else + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_INACTIVE), name, desc); +#endif + + name = "iconv"; + desc = (gchar *)Q_("iconv|allows converting to and from different character sets"); +#if HAVE_ICONV + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_ACTIVE), name, desc); +#else + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_INACTIVE), name, desc); +#endif + + name = "compface"; + desc = (gchar *)Q_("compface|adds support for the X-Face header"); +#if HAVE_LIBCOMPFACE + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_ACTIVE), name, desc); +#else + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_INACTIVE), name, desc); +#endif + + name = "OpenSSL"; + desc = (gchar *)Q_("OpenSSL|adds support for encrypted connections to servers"); +#if USE_OPENSSL + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_ACTIVE), name, desc); +#else + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_INACTIVE), name, desc); +#endif + + name = "LDAP"; + desc = (gchar *)Q_("LDAP|adds support for LDAP shared addressbooks"); +#if USE_LDAP + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_ACTIVE), name, desc); +#else + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_INACTIVE), name, desc); +#endif + + name = "JPilot"; + desc = (gchar *)Q_("JPilot|adds support for PalmOS addressbooks"); +#if USE_JPILOT + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_ACTIVE), name, desc); +#else + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_INACTIVE), name, desc); +#endif + + name = "GNU/aspell"; + desc = (gchar *)Q_("GNU/aspell|adds support for spell checking"); +#if USE_ASPELL + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_ACTIVE), name, desc); +#else + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_INACTIVE), name, desc); +#endif + + name = "libetpan"; + desc = (gchar *)Q_("libetpan|adds support for IMAP servers"); +#if HAVE_LIBETPAN + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_ACTIVE), name, desc); +#else + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_INACTIVE), name, desc); +#endif + + name = "libgnomeprint"; + desc = (gchar *)Q_("libgnomeprint|adds support for a complete print dialog"); +#if USE_GNOMEPRINT + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_ACTIVE), name, desc); +#else + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_INACTIVE), name, desc); +#endif + + name = "libSM"; + desc = (gchar *)Q_("libSM|adds support for session handling"); +#if HAVE_LIBSM + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_ACTIVE), name, desc); +#else + ADD_FEATURES_HBOX(vbox, stock_pixmap_widget(window, STOCK_PIXMAP_INACTIVE), name, desc); +#endif + + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), + scrolledwin, + gtk_label_new_with_mnemonic(_("_Features"))); + + scrolledwin = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwin), + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwin), + GTK_SHADOW_IN); + text = gtk_text_view_new(); gtk_text_view_set_editable(GTK_TEXT_VIEW(text), FALSE); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text), GTK_WRAP_WORD); @@ -531,6 +619,7 @@ static void about_create(void) gtk_widget_show_all(window); } +#undef ADD_FEATURES_HBOX static gboolean key_pressed(GtkWidget *widget, GdkEventKey *event) { diff --git a/src/pixmaps/active.xpm b/src/pixmaps/active.xpm new file mode 100644 index 000000000..e70c9d13b --- /dev/null +++ b/src/pixmaps/active.xpm @@ -0,0 +1,67 @@ +/* XPM */ +static char * active_xpm[] = { +"12 9 55 1", +" c None", +". c #02270B", +"+ c #044013", +"@ c #064B16", +"# c #064E17", +"$ c #064F18", +"% c #065619", +"& c #07601C", +"* c #02280C", +"= c #054414", +"- c #08681F", +"; c #097422", +"> c #097523", +", c #097623", +"' c #097121", +") c #086F21", +"! c #054013", +"~ c #08671F", +"{ c #097724", +"] c #097924", +"^ c #097A24", +"/ c #0A7B25", +"( c #0A8327", +"_ c #0B8828", +": c #097322", +"< c #0F7D29", +"[ c #0E7D28", +"} c #0C8027", +"| c #0B912B", +"1 c #0B932C", +"2 c #065419", +"3 c #0D7C27", +"4 c #0C7E27", +"5 c #0B8A2A", +"6 c #0C9D2E", +"7 c #0C9D2F", +"8 c #075F1C", +"9 c #097021", +"0 c #097B25", +"a c #0A7D25", +"b c #0A7E25", +"c c #0C892A", +"d c #0D9D2F", +"e c #0DA732", +"f c #096E20", +"g c #0A8227", +"h c #0B8E2A", +"i c #0B902B", +"j c #0C932C", +"k c #0D9E2F", +"l c #0DA832", +"m c #0DA531", +"n c #0B942C", +"o c #0C962D", +"p c #0C9E2F", +" ", +" .+@##$%& ", +" *=-;>>,,') ", +" !~{]^^^^/(_", +" @:^^^^<[}|1", +" 2;^^^^34567", +" 890aab}cde ", +" fghiijklm ", +" _|1nop "}; diff --git a/src/pixmaps/inactive.xpm b/src/pixmaps/inactive.xpm new file mode 100644 index 000000000..4e58dce0a --- /dev/null +++ b/src/pixmaps/inactive.xpm @@ -0,0 +1,71 @@ +/* XPM */ +static char * inactive_xpm[] = { +"12 9 59 1", +" c None", +". c #FE0000", +"+ c #F20000", +"@ c #E30000", +"# c #E00000", +"$ c #DD0000", +"% c #CA0000", +"& c #AA0000", +"* c #F30000", +"= c #D50000", +"- c #C60000", +"; c #C30000", +"> c #BF0000", +", c #AE0000", +"' c #930000", +") c #F10000", +"! c #C20000", +"~ c #BE0000", +"{ c #BF0505", +"] c #BE0202", +"^ c #BE0404", +"/ c #B50000", +"( c #830000", +"_ c #790000", +": c #E10000", +"< c #BF0202", +"[ c #BE0101", +"} c #BD0202", +"| c #B30000", +"1 c #760000", +"2 c #6D0000", +"3 c #CC0000", +"4 c #C00000", +"5 c #BD0000", +"6 c #BF0404", +"7 c #BA0303", +"8 c #9F0000", +"9 c #5B0000", +"0 c #5E0000", +"a c #AD0000", +"b c #AF0000", +"c c #B60000", +"d c #B70000", +"e c #B40000", +"f c #A00000", +"g c #690000", +"h c #3C0000", +"i c #940000", +"j c #850000", +"k c #7B0000", +"l c #7A0000", +"m c #750000", +"n c #3B0000", +"o c #4C0000", +"p c #770000", +"q c #700000", +"r c #6B0000", +"s c #680000", +"t c #5C0000", +" ", +" .+@##$%& ", +" .*=-;;;>,' ", +" )=!>~{]^/(_", +" :-~~~<[}|12", +" 34~5~6]7890", +" abcdddefgh ", +" ijkllm9no ", +" pqrrst "}; diff --git a/src/stock_pixmap.c b/src/stock_pixmap.c index acdc274c0..29fa5fa5d 100644 --- a/src/stock_pixmap.c +++ b/src/stock_pixmap.c @@ -139,6 +139,8 @@ #include "pixmaps/ham_btn.xpm" #include "pixmaps/moved.xpm" #include "pixmaps/copied.xpm" +#include "pixmaps/active.xpm" +#include "pixmaps/inactive.xpm" #include "pixmaps/empty.xpm" typedef struct _StockPixmapData StockPixmapData; @@ -308,6 +310,8 @@ static StockPixmapData pixmaps[] = {ham_btn_xpm , NULL, NULL, "ham_btn" , NULL}, {moved_xpm , NULL, NULL, "moved", NULL}, {copied_xpm , NULL, NULL, "copied", NULL}, + {active_xpm , NULL, NULL, "active", NULL}, + {inactive_xpm , NULL, NULL, "inactive", NULL}, {empty_xpm , NULL, NULL, "empty" , NULL} }; diff --git a/src/stock_pixmap.h b/src/stock_pixmap.h index 9d07a32e9..eff8911e1 100644 --- a/src/stock_pixmap.h +++ b/src/stock_pixmap.h @@ -159,6 +159,8 @@ typedef enum STOCK_PIXMAP_HAM_BTN, STOCK_PIXMAP_MOVED, STOCK_PIXMAP_COPIED, + STOCK_PIXMAP_ACTIVE, + STOCK_PIXMAP_INACTIVE, STOCK_PIXMAP_EMPTY, /* last entry */ N_STOCK_PIXMAPS } StockPixmap;