2004-11-18 [paul] 0.9.12cvs158.1
authorPaul Mangan <paul@claws-mail.org>
Thu, 18 Nov 2004 06:36:19 +0000 (06:36 +0000)
committerPaul Mangan <paul@claws-mail.org>
Thu, 18 Nov 2004 06:36:19 +0000 (06:36 +0000)
* configure.ac
* src/compose.c
* src/mainwindow.c
* src/messageview.c
* src/prefs_common.c
* src/common/utils.c
* src/common/utils.h
sync with HEAD

ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/common/utils.c
src/common/utils.h
src/compose.c
src/mainwindow.c
src/messageview.c
src/prefs_common.c

index 7780602..6585ed0 100644 (file)
@@ -1,3 +1,14 @@
+2004-11-18 [paul]      0.9.12cvs158.1
+
+       * configure.ac
+       * src/compose.c
+       * src/mainwindow.c
+       * src/messageview.c
+       * src/prefs_common.c
+       * src/common/utils.c
+       * src/common/utils.h
+               sync with HEAD
+
 2004-11-17 [colin]     0.9.12cvs156.1
 
        * src/prefs_account.c
index 68abf0f..17314c2 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/plugins/pgpmime/pgpmime.c; ) > 0.9.12cvs151.1.patchset
 ( cvs diff -u -r 1.396.2.12 -r 1.396.2.13 ChangeLog; cvs diff -u -r 1.2504.2.32 -r 1.2504.2.33 ChangeLog.claws; cvs diff -u -r 1.391.2.12 -r 1.391.2.13 ChangeLog.jp; cvs diff -u -r 1.42.2.4 -r 1.42.2.5 NEWS; cvs diff -u -r 1.654.2.278 -r 1.654.2.279 configure.ac; cvs diff -u -r 1.382.2.67 -r 1.382.2.68 src/compose.c; cvs diff -u -r 1.18.2.4 -r 1.18.2.5 src/jpilot.c; cvs diff -u -r 1.10.2.2 -r 1.10.2.3 src/privacy.c; cvs diff -u -r 1.49.2.21 -r 1.49.2.22 src/procmime.c; cvs diff -u -r 1.17.2.7 -r 1.17.2.8 src/procmime.h; cvs diff -u -r 1.150.2.15 -r 1.150.2.16 src/procmsg.c; cvs diff -u -r 1.43.2.11 -r 1.43.2.12 src/toolbar.c; cvs diff -u -r 1.1 -r 1.2 src/pixmaps/error.xpm; ) > 0.9.12cvs155.1.patchset
 ( cvs diff -u -r 1.105.2.12 -r 1.105.2.13 src/prefs_account.c; cvs diff -u -r 1.49.2.7 -r 1.49.2.8 src/prefs_account.h; cvs diff -u -r 1.150.2.16 -r 1.150.2.17 src/procmsg.c; ) > 0.9.12cvs156.1.patchset
+( cvs diff -u -r 1.654.2.280 -r 1.654.2.281 configure.ac; cvs diff -u -r 1.382.2.68 -r 1.382.2.69 src/compose.c; cvs diff -u -r 1.274.2.24 -r 1.274.2.25 src/mainwindow.c; cvs diff -u -r 1.94.2.34 -r 1.94.2.35 src/messageview.c; cvs diff -u -r 1.204.2.22 -r 1.204.2.23 src/prefs_common.c; cvs diff -u -r 1.36.2.15 -r 1.36.2.16 src/common/utils.c; cvs diff -u -r 1.20.2.10 -r 1.20.2.11 src/common/utils.h; ) > 0.9.12cvs158.1.patchset
index 0d5f6e0..6b21239 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=12
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=156
+EXTRA_VERSION=158
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=.1
 
index 801a455..f169499 100644 (file)
@@ -3539,7 +3539,7 @@ gint g_int_compare(gconstpointer a, gconstpointer b)
        return GPOINTER_TO_INT(a) - GPOINTER_TO_INT(b);
 }
 
-gchar *generate_msgid(const gchar *address, gchar *buf, gint len)
+gchar *generate_msgid(gchar *buf, gint len)
 {
        struct tm *lt;
        time_t t;
@@ -3548,26 +3548,20 @@ gchar *generate_msgid(const gchar *address, gchar *buf, gint len)
        t = time(NULL);
        lt = localtime(&t);
 
-       if (address && *address) {
-               if (strchr(address, '@'))
-                       addr = g_strdup(address);
-               else
-                       addr = g_strconcat(address, "@", get_domain_name(), NULL);
-       } else
-               addr = g_strconcat(g_get_user_name(), "@", get_domain_name(),
-                                  NULL);
+       addr = g_strconcat("@", get_domain_name(), NULL);
 
-       g_snprintf(buf, len, "%04d%02d%02d%02d%02d%02d.%08x.%s",
+       g_snprintf(buf, len, "%04d%02d%02d%02d%02d%02d.%08x%s",
                   lt->tm_year + 1900, lt->tm_mon + 1,
                   lt->tm_mday, lt->tm_hour,
                   lt->tm_min, lt->tm_sec,
                   (guint) rand(), addr);
 
+       debug_print("generated Message-ID: %s\n", buf);
+
        g_free(addr);
        return buf;
 }
 
-
 /*
    quote_cmd_argument()
    
index 0947578..96bdadc 100644 (file)
@@ -463,7 +463,7 @@ guint g_stricase_hash       (gconstpointer gptr);
 gint g_stricase_equal  (gconstpointer gptr1, gconstpointer gptr2);
 gint g_int_compare     (gconstpointer a, gconstpointer b);
 
-gchar *generate_msgid          (const gchar *address, gchar *buf, gint len);
+gchar *generate_msgid          (gchar *buf, gint len);
 gchar *generate_mime_boundary  (const gchar *prefix);
 
 gint quote_cmd_argument(gchar * result, guint size,
index c847ea0..9d5a508 100644 (file)
@@ -3446,7 +3446,7 @@ static gint compose_redirect_write_headers(Compose *compose, FILE *fp)
 
        /* Resent-Message-ID */
        if (compose->account->gen_msgid) {
-               generate_msgid(compose->account->address, buf, sizeof(buf));
+               generate_msgid(buf, sizeof(buf));
                fprintf(fp, "Resent-Message-ID: <%s>\n", buf);
                compose->msgid = g_strdup(buf);
        }
@@ -4144,7 +4144,7 @@ static gchar *compose_get_header(Compose *compose)
 
        /* Message-ID */
        if (compose->account->gen_msgid) {
-               generate_msgid(compose->account->address, buf, sizeof(buf));
+               generate_msgid(buf, sizeof(buf));
                g_string_append_printf(header, "Message-ID: <%s>\n", buf);
                compose->msgid = g_strdup(buf);
        }
index a9a285d..7fda8eb 100644 (file)
@@ -747,8 +747,8 @@ static GtkItemFactoryEntry mainwin_entries[] =
        {N_("/_Configuration/_Edit accounts..."),
                                                NULL, account_edit_open, 0, NULL},
        {N_("/_Configuration/---"),             NULL, NULL, 0, "<Separator>"},
-       {N_("/_Configuration/_Common preferences..."),
-                                               NULL, prefs_common_open_cb, 0, NULL},
+       {N_("/_Configuration/_Preferences..."),
+                                               NULL, prefs_open_cb, 0, NULL},
        {N_("/_Configuration/Pre-processing..."),
                                                NULL, prefs_pre_processing_open_cb, 0, NULL},
        {N_("/_Configuration/Post-processing..."),
@@ -757,7 +757,6 @@ static GtkItemFactoryEntry mainwin_entries[] =
                                                NULL, prefs_filtering_open_cb, 0, NULL},
        {N_("/_Configuration/_Templates..."),   NULL, prefs_template_open_cb, 0, NULL},
        {N_("/_Configuration/_Actions..."),     NULL, prefs_actions_open_cb, 0, NULL},
-       {N_("/_Configuration/_Other Preferences..."),  NULL, prefs_open_cb, 0, NULL},
        {N_("/_Configuration/Plugins..."),      NULL, plugins_open_cb, 0, NULL},
 
        {N_("/_Help"),                          NULL, NULL, 0, "<Branch>"},
@@ -2927,7 +2926,7 @@ static void create_processing_cb(MainWindow *mainwin, guint action,
 static void prefs_common_open_cb(MainWindow *mainwin, guint action,
                                 GtkWidget *widget)
 {
-       prefs_common_open();
+       /* prefs_common_open(); */
 }
 
 static void prefs_pre_processing_open_cb(MainWindow *mainwin, guint action,
index 321a4f6..ffd6319 100644 (file)
@@ -643,7 +643,7 @@ static gint disposition_notification_send(MsgInfo *msginfo)
        fprintf(fp, "Subject: Disposition notification: %s\n", buf);
 
        /* Message ID */
-       generate_msgid(account->address, buf, sizeof buf);
+       generate_msgid(buf, sizeof(buf));
        fprintf(fp, "Message-ID: <%s>\n", buf);
 
        if (fclose(fp) == EOF) {
index 910bff4..b877860 100644 (file)
 #include "folderview.h"
 #include "stock_pixmap.h"
 #include "quote_fmt.h"
+#include "prefswindow.h"
 
 PrefsCommon prefs_common;
 
-static PrefsDialog dialog;
+GtkWidget *notebook;
 
 static struct Receive {
        GtkWidget *checkbtn_incext;
@@ -768,19 +769,67 @@ static gboolean prefs_keybind_key_pressed (GtkWidget      *widget,
 static void prefs_keybind_cancel               (void);
 static void prefs_keybind_apply_clicked                (GtkWidget      *widget);
 
-static gint prefs_common_deleted       (GtkWidget      *widget,
-                                        GdkEventAny    *event,
-                                        gpointer        data);
-static gboolean prefs_common_key_pressed(GtkWidget     *widget,
-                                        GdkEventKey    *event,
-                                        gpointer        data);
-static void prefs_common_ok            (void);
 static void prefs_common_apply         (void);
-static void prefs_common_cancel                (void);
+
+typedef struct CommonPage
+{
+        PrefsPage page;
+        GtkWidget *vbox;
+} CommonPage;
+
+static CommonPage common_page;
+
+static void create_widget_func(PrefsPage * _page,
+                                           GtkWindow * window,
+                                           gpointer data)
+{
+       CommonPage *page = (CommonPage *) _page;
+       GtkWidget *vbox;
+
+       vbox = gtk_vbox_new(FALSE, 6);
+       gtk_widget_show(vbox);
+
+       if (notebook == NULL)
+               prefs_common_create();
+       gtk_box_pack_start (GTK_BOX (vbox), notebook, TRUE, TRUE, 0);
+       gtk_notebook_set_page(GTK_NOTEBOOK(notebook), 0);
+
+       prefs_set_dialog(param);
+
+       page->vbox = vbox;
+
+       page->page.widget = vbox;
+}
+
+static void destroy_widget_func(PrefsPage *_page)
+{
+       CommonPage *page = (CommonPage *) _page;
+
+       gtk_container_remove(GTK_CONTAINER (page->vbox), notebook);
+}
+
+static void save_func(PrefsPage * _page)
+{
+       prefs_common_apply();
+}
 
 void prefs_common_init(void) 
 {
+        static gchar *path[2];
+
        prefs_common.disphdr_list = NULL;
+            
+        path[0] = _("Common");
+        path[2] = NULL;
+        
+        common_page.page.path = path;
+       common_page.page.weight = 1000.0;
+        common_page.page.create_widget = create_widget_func;
+        common_page.page.destroy_widget = destroy_widget_func;
+        common_page.page.save_page = save_func;
+
+        prefs_gtk_register_page((PrefsPage *) &common_page);
 }
 
 PrefsCommon *prefs_common_get(void)
@@ -864,68 +913,41 @@ void prefs_common_write_config(void)
                prefs_common.summary_quicksearch_history);
 }
 
-void prefs_common_open(void)
-{
-       if (prefs_rc_is_readonly(COMMON_RC))
-               return;
-
-       inc_lock();
-
-       if (!dialog.window) {
-               prefs_common_create();
-       }
-
-       manage_window_set_transient(GTK_WINDOW(dialog.window));
-       gtk_notebook_set_current_page(GTK_NOTEBOOK(dialog.notebook), 0);
-       gtk_widget_grab_focus(dialog.ok_btn);
-
-       prefs_set_dialog(param);
-
-       gtk_widget_show(dialog.window);
-}
-
 static void prefs_common_create(void)
 {
        gint page = 0;
 
        debug_print("Creating common preferences window...\n");
 
-       prefs_dialog_create(&dialog);
-       gtk_window_set_title (GTK_WINDOW(dialog.window),
-                             _("Common Preferences"));
-       g_signal_connect (G_OBJECT(dialog.window), "delete_event",
-                         G_CALLBACK(prefs_common_deleted), NULL);
-       g_signal_connect (G_OBJECT(dialog.window), "key_press_event",
-                         G_CALLBACK(prefs_common_key_pressed), NULL);
-       MANAGE_WINDOW_SIGNALS_CONNECT(dialog.window);
-
-       g_signal_connect (G_OBJECT(dialog.ok_btn), "clicked",
-                         G_CALLBACK(prefs_common_ok), NULL);
-       g_signal_connect (G_OBJECT(dialog.apply_btn), "clicked",
-                         G_CALLBACK(prefs_common_apply), NULL);
-       g_signal_connect_swapped(G_OBJECT(dialog.cancel_btn), "clicked",
-                                G_CALLBACK(prefs_common_cancel),
-                                G_OBJECT(dialog.window));
+       notebook = gtk_notebook_new ();
+       gtk_widget_show(notebook);
+       gtk_container_set_border_width (GTK_CONTAINER (notebook), 2);
+       /* GTK_WIDGET_UNSET_FLAGS (notebook, GTK_CAN_FOCUS); */
+       gtk_notebook_set_scrollable (GTK_NOTEBOOK (notebook), TRUE);
+       
+       gtk_notebook_popup_enable (GTK_NOTEBOOK (notebook));
+
+       gtk_widget_ref(notebook);
 
        /* create all widgets on notebook */
        prefs_receive_create();
-       SET_NOTEBOOK_LABEL(dialog.notebook, _("Receive"),   page++);
+       SET_NOTEBOOK_LABEL(notebook, _("Receive"),   page++);
        prefs_send_create();
-       SET_NOTEBOOK_LABEL(dialog.notebook, _("Send"),      page++);
+       SET_NOTEBOOK_LABEL(notebook, _("Send"),      page++);
        prefs_compose_create();
-       SET_NOTEBOOK_LABEL(dialog.notebook, _("Compose"),   page++);
+       SET_NOTEBOOK_LABEL(notebook, _("Compose"),   page++);
        prefs_quote_create();
-       SET_NOTEBOOK_LABEL(dialog.notebook, _("Quote"),   page++);
+       SET_NOTEBOOK_LABEL(notebook, _("Quote"),     page++);
        prefs_display_create();
-       SET_NOTEBOOK_LABEL(dialog.notebook, _("Display"),   page++);
+       SET_NOTEBOOK_LABEL(notebook, _("Display"),   page++);
        prefs_message_create();
-       SET_NOTEBOOK_LABEL(dialog.notebook, _("Message"),   page++);
+       SET_NOTEBOOK_LABEL(notebook, _("Message"),   page++);
        prefs_interface_create();
-       SET_NOTEBOOK_LABEL(dialog.notebook, _("Interface"), page++);
+       SET_NOTEBOOK_LABEL(notebook, _("Interface"), page++);
        prefs_other_create();
-       SET_NOTEBOOK_LABEL(dialog.notebook, _("Other"),     page++);
+       SET_NOTEBOOK_LABEL(notebook, _("Other"),     page++);
 
-       gtk_widget_show_all(dialog.window);
+       gtk_widget_show_all(notebook);
 }
 
 static void prefs_receive_create(void)
@@ -966,7 +988,7 @@ static void prefs_receive_create(void)
 
        vbox1 = gtk_vbox_new (FALSE, VSPACING);
        gtk_widget_show (vbox1);
-       gtk_container_add (GTK_CONTAINER (dialog.notebook), vbox1);
+       gtk_container_add (GTK_CONTAINER (notebook), vbox1);
        gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
 
        PACK_FRAME(vbox1, frame_incext, _("External program"));
@@ -1151,7 +1173,7 @@ static void prefs_send_create(void)
 
        vbox1 = gtk_vbox_new (FALSE, VSPACING);
        gtk_widget_show (vbox1);
-       gtk_container_add (GTK_CONTAINER (dialog.notebook), vbox1);
+       gtk_container_add (GTK_CONTAINER (notebook), vbox1);
        gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
 
        vbox2 = gtk_vbox_new (FALSE, 0);
@@ -1327,7 +1349,7 @@ static void prefs_compose_create(void)
        
        vbox1 = gtk_vbox_new (FALSE, VSPACING);
        gtk_widget_show (vbox1);
-       gtk_container_add (GTK_CONTAINER (dialog.notebook), vbox1);
+       gtk_container_add (GTK_CONTAINER (notebook), vbox1);
        gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
 
         /* Account autoselection */
@@ -1447,7 +1469,7 @@ static void prefs_quote_create(void)
 
        vbox1 = gtk_vbox_new (FALSE, VSPACING);
        gtk_widget_show (vbox1);
-       gtk_container_add (GTK_CONTAINER (dialog.notebook), vbox1);
+       gtk_container_add (GTK_CONTAINER (notebook), vbox1);
        gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
 
        /* reply */
@@ -1601,7 +1623,7 @@ static void prefs_display_create(void)
 
        vbox1 = gtk_vbox_new (FALSE, VSPACING);
        gtk_widget_show (vbox1);
-       gtk_container_add (GTK_CONTAINER (dialog.notebook), vbox1);
+       gtk_container_add (GTK_CONTAINER (notebook), vbox1);
        gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
 
        vbox2 = gtk_vbox_new (FALSE, 0);
@@ -1735,7 +1757,7 @@ static void prefs_message_create(void)
 
        vbox1 = gtk_vbox_new (FALSE, VSPACING);
        gtk_widget_show (vbox1);
-       gtk_container_add (GTK_CONTAINER (dialog.notebook), vbox1);
+       gtk_container_add (GTK_CONTAINER (notebook), vbox1);
        gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
 
        vbox2 = gtk_vbox_new (FALSE, 0);
@@ -1884,7 +1906,7 @@ static void prefs_interface_create(void)
 
        vbox1 = gtk_vbox_new (FALSE, VSPACING);
        gtk_widget_show (vbox1);
-       gtk_container_add (GTK_CONTAINER (dialog.notebook), vbox1);
+       gtk_container_add (GTK_CONTAINER (notebook), vbox1);
        gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
 
        vbox2 = gtk_vbox_new (FALSE, 0);
@@ -2011,7 +2033,7 @@ static void prefs_other_create(void)
 #endif
        vbox1 = gtk_vbox_new (FALSE, VSPACING);
        gtk_widget_show (vbox1);
-       gtk_container_add (GTK_CONTAINER (dialog.notebook), vbox1);
+       gtk_container_add (GTK_CONTAINER (notebook), vbox1);
        gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER);
 
        PACK_FRAME (vbox1, frame_addr, _("Address book"));
@@ -2934,29 +2956,6 @@ static void prefs_common_send_dialog_set_optmenu(PrefParam *pparam)
        gtk_menu_item_activate(GTK_MENU_ITEM(menuitem));
 }
 
-static gint prefs_common_deleted(GtkWidget *widget, GdkEventAny *event,
-                                gpointer data)
-{
-       prefs_common_cancel();
-       return TRUE;
-}
-
-static gboolean prefs_common_key_pressed(GtkWidget *widget, GdkEventKey *event,
-                                        gpointer data)
-{
-       if (event && event->keyval == GDK_Escape)
-               prefs_common_cancel();
-       return FALSE;
-}
-
-static void prefs_common_ok(void)
-{
-       prefs_common_apply();
-       gtk_widget_hide(dialog.window);
-
-       inc_unlock();
-}
-
 static void prefs_common_apply(void)
 {
        MainWindow *mainwindow;
@@ -3011,12 +3010,13 @@ static void prefs_nextunreadmsgdialog_set_optmenu(PrefParam *pparam)
        gtk_menu_item_activate(GTK_MENU_ITEM(menuitem));
 }
 
+/*
 static void prefs_common_cancel(void)
 {
        gtk_widget_hide(dialog.window);
        inc_unlock();
 }
-
+*/
 
 /* static void prefs_recvdialog_set_data_from_optmenu(PrefParam *pparam)
 {