2006-11-14 [paul] 2.6.0cvs46
authorPaul Mangan <paul@claws-mail.org>
Tue, 14 Nov 2006 15:05:55 +0000 (15:05 +0000)
committerPaul Mangan <paul@claws-mail.org>
Tue, 14 Nov 2006 15:05:55 +0000 (15:05 +0000)
* 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

ChangeLog
PATCHSETS
configure.ac
po/Makevars
src/Makefile.am
src/gtk/about.c
src/pixmaps/active.xpm [new file with mode: 0644]
src/pixmaps/inactive.xpm [new file with mode: 0644]
src/stock_pixmap.c
src/stock_pixmap.h

index aaf651b..bfcbe20 100644 (file)
--- 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
index 91e2a03..69c8ce0 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( 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
index 013c123..1a59393 100644 (file)
@@ -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=
 
index c636c87..7911ffb 100644 (file)
@@ -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."' \
index 8b4f182..904f8a3 100644 (file)
@@ -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 \
index 527f3d2..efe3b1c 100644 (file)
@@ -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                                \
+                       ("<span weight=\"bold\">%s</span> %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 <hiro-y@kcn.ne.jp>\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 (file)
index 0000000..e70c9d1
--- /dev/null
@@ -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 (file)
index 0000000..4e58dce
--- /dev/null
@@ -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   "};
index acdc274..29fa5fa 100644 (file)
 #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}
 };
 
index 9d07a32..eff8911 100644 (file)
@@ -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;