2007-01-05 [colin] 2.6.1cvs109
authorColin Leroy <colin@colino.net>
Fri, 5 Jan 2007 07:45:41 +0000 (07:45 +0000)
committerColin Leroy <colin@colino.net>
Fri, 5 Jan 2007 07:45:41 +0000 (07:45 +0000)
* src/mainwindow.c
Allow --select'ing emails by Message-ID too

ChangeLog
PATCHSETS
configure.ac
src/mainwindow.c

index 95478af2d3a9fceb6bc4fef83a3aea085d230e13..7d8740e769a17ad83a8bd97b452b79484e1985c6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-01-05 [colin]     2.6.1cvs109
+
+       * src/mainwindow.c
+               Allow --select'ing emails by Message-ID too
+
 2007-01-05 [colin]     2.6.1cvs108
 
        * src/common/quoted-printable.c
index 5ac40808e9837c6cf667b3af92a03a1e896df5dd..717f5c212348803b885e163bb7baf0f698bcaa91 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.3.2.10 -r 1.3.2.11 src/common/quoted-printable.c;  ) > 2.6.1cvs106.patchset
 ( cvs diff -u -r 1.3.2.10 -r 1.3.2.11 src/common/quoted-printable.c;  ) > 2.6.1cvs107.patchset
 ( cvs diff -u -r 1.3.2.11 -r 1.3.2.12 src/common/quoted-printable.c;  ) > 2.6.1cvs108.patchset
+( cvs diff -u -r 1.274.2.159 -r 1.274.2.160 src/mainwindow.c;  ) > 2.6.1cvs109.patchset
index 85f540809b75e756226a7a64e0725b3cff0cb33f..1ba3d0b820edf78f5ecdad9e3893c5032ec51ccc 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=6
 MICRO_VERSION=1
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=108
+EXTRA_VERSION=109
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index da0d0372fa22efffb03f8535ae57110b7da095c1..504f635a92f4778bf801992c2dc7ea3568363658 100644 (file)
@@ -4069,7 +4069,7 @@ void mainwindow_jump_to(const gchar *target)
                return;
                
        if (!mainwin) {
-               printf(_("not initialized\n"));
+               printf("not initialized\n");
                return;
        }
 
@@ -4081,7 +4081,7 @@ void mainwindow_jump_to(const gchar *target)
                *p = '\0';
 
        if ((item = folder_find_item_from_identifier(tmp))) {
-               printf(_("selecting folder '%s'\n"), tmp);
+               printf("selecting folder '%s'\n", tmp);
                folderview_select(mainwin->folderview, item);
                main_window_popup(mainwin);
                g_free(tmp);
@@ -4092,20 +4092,40 @@ void mainwindow_jump_to(const gchar *target)
        if (msg) {
                *msg++ = '\0';
                if ((item = folder_find_item_from_identifier(tmp))) {
-                       printf(_("selecting folder '%s'\n"), tmp);
+                       printf("selecting folder '%s'\n", tmp);
                        folderview_select(mainwin->folderview, item);
-               } 
+               } else {
+                       printf("'%s' not found\n", tmp);
+               }
                if (item && msg && atoi(msg)) {
-                       printf(_("selecting message %d\n"), atoi(msg));
+                       printf("selecting message %d\n", atoi(msg));
                        summary_select_by_msgnum(mainwin->summaryview, atoi(msg));
                        summary_display_msg_selected(mainwin->summaryview, FALSE);
                        main_window_popup(mainwin);
                        g_free(tmp);
                        return;
-               } 
+               } else if (item && msg[0] == '<' && msg[strlen(msg)-1] == '>') {
+                       MsgInfo *msginfo = NULL;
+                       msg++;
+                       msg[strlen(msg)-1] = '\0';
+                       msginfo = folder_item_get_msginfo_by_msgid(item, msg);
+                       if (msginfo) {
+                               printf("selecting message %s\n", msg);
+                               summary_select_by_msgnum(mainwin->summaryview, msginfo->msgnum);
+                               summary_display_msg_selected(mainwin->summaryview, FALSE);
+                               main_window_popup(mainwin);
+                               g_free(tmp);
+                               procmsg_msginfo_free(msginfo);
+                               return;
+                       } else {
+                               printf("'%s' not found\n", msg);
+                       }
+               } else {
+                       printf("'%s' not found\n", msg);
+               }
+       } else {
+               printf("'%s' not found\n", tmp);
        }
        
-       printf("'%s' not found\n", tmp);
-       
        g_free(tmp);
 }