2007-05-11 [colin] 2.9.2cvs6
authorColin Leroy <colin@colino.net>
Fri, 11 May 2007 06:21:30 +0000 (06:21 +0000)
committerColin Leroy <colin@colino.net>
Fri, 11 May 2007 06:21:30 +0000 (06:21 +0000)
* src/gtk/filesel.c
Use Hildon's file chooser on Maemo. Patch
by Jean-Luc Biord; fixes part 2 of bug 1201,
'File attachment "manipulation" bugs...'

ChangeLog
PATCHSETS
configure.ac
src/gtk/filesel.c

index db4fcd9140987c66a2487e9b5031a485cf1f3630..0a51d52b76821f3216d8571443174995026dfabc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-05-11 [colin]     2.9.2cvs6
+
+       * src/gtk/filesel.c
+               Use Hildon's file chooser on Maemo. Patch
+               by Jean-Luc Biord; fixes part 2 of bug 1201,
+               'File attachment "manipulation" bugs...'
+
 2007-05-10 [wwp]       2.9.2cvs5
 
        * src/prefs_common.c
index a72db10278c620e09514bb0e5e855a7a9eb4c1b4..02d623ad3b95765c80dcac136697c2311292c036 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.23.2.22 -r 1.23.2.23 src/crash.c;  cvs diff -u -r 1.5.2.18 -r 1.5.2.19 src/exporthtml.c;  cvs diff -u -r 1.28.2.34 -r 1.28.2.35 src/mbox.c;  cvs diff -u -r 1.1.2.39 -r 1.1.2.40 src/prefs_summaries.c;  cvs diff -u -r 1.47.2.39 -r 1.47.2.40 src/procheader.c;  cvs diff -u -r 1.6.2.10 -r 1.6.2.11 src/common/log.c;  cvs diff -u -r 1.36.2.101 -r 1.36.2.102 src/common/utils.c;  cvs diff -u -r 1.1.2.6 -r 1.1.2.7 src/gtk/gtksourceprintjob.c;  cvs diff -u -r 1.9.2.16 -r 1.9.2.17 src/gtk/sslcertwindow.c;  ) > 2.9.2cvs3.patchset
 ( cvs diff -u -r 1.179.2.172 -r 1.179.2.173 src/imap.c;  ) > 2.9.2cvs4.patchset
 ( cvs diff -u -r 1.204.2.133 -r 1.204.2.134 src/prefs_common.c;  cvs diff -u -r 1.103.2.81 -r 1.103.2.82 src/prefs_common.h;  cvs diff -u -r 1.1.2.70 -r 1.1.2.71 src/gtk/quicksearch.c;  ) > 2.9.2cvs5.patchset
+( cvs diff -u -r 1.2.2.33 -r 1.2.2.34 src/gtk/filesel.c;  ) > 2.9.2cvs6.patchset
index df9eb36c8a612dfbde1862c0ff54484c6aef2f44..f998ee2522b1cf8b25a74190d7646fb1f9b2679b 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=2
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=5
+EXTRA_VERSION=6
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
@@ -438,12 +438,12 @@ AC_ARG_ENABLE(maemo,
        [  --enable-maemo   Build for the Maemo platform [default=no]],
        [ac_cv_enable_maemo=$enableval], [ac_cv_enable_maemo=no])
 if test $ac_cv_enable_maemo = yes; then
-       PKG_CHECK_MODULES(MAEMO, libosso hildon-libs, ac_cv_enable_maemo=yes,
+       PKG_CHECK_MODULES(MAEMO, libosso hildon-libs hildon-fm, ac_cv_enable_maemo=yes,
                  ac_cv_enable_maemo=no)
        AC_SUBST(MAEMO_CFLAGS)
        AC_SUBST(MAEMO_LIBS)
        if test $ac_cv_enable_maemo = no; then
-               AC_MSG_ERROR(libosso or hildon-libs not found)
+               AC_MSG_ERROR(libosso, hildon-libs or hildon-fm not found)
        else
                AC_DEFINE(MAEMO, 1, Build for maemo)
        fi
index ab133494f7137c485dadab02e8b603dd6336c5ef..fc2a318deb8c425078312b4f17039c7710b49237 100644 (file)
 #include <gtk/gtkfilechooser.h>
 #include <gtk/gtkfilechooserdialog.h>
 
+#ifdef MAEMO
+#include <hildon-widgets/hildon-file-chooser-dialog.h>
+#endif
+
 #include "claws.h"
 #include "filesel.h"
 #include "manage_window.h"
@@ -90,11 +94,25 @@ static GList *filesel_create(const gchar *title, const gchar *path,
                                               GTK_FILE_CHOOSER_ACTION_SAVE);
                        
        gchar * action_btn = (open == TRUE) ? GTK_STOCK_OPEN:GTK_STOCK_SAVE;
+#ifdef MAEMO
+       GtkWidget *chooser;
+       if( path && strcmp(path, get_plugin_dir()) == 0 ) {
+               chooser = gtk_file_chooser_dialog_new_with_backend
+                                       (title, NULL, action, "gtk+",
+                                       GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                       action_btn, GTK_RESPONSE_ACCEPT, 
+                                       NULL);
+       }
+       else {
+               chooser = hildon_file_chooser_dialog_new (NULL, action);
+       }
+#else
        GtkWidget *chooser = gtk_file_chooser_dialog_new_with_backend
                                (title, NULL, action, "gtk+",
                                GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                action_btn, GTK_RESPONSE_ACCEPT, 
                                NULL);
+#endif
        if (filter != NULL) {
                GtkFileFilter *file_filter = gtk_file_filter_new();
                gtk_file_filter_add_pattern(file_filter, filter);
@@ -163,7 +181,12 @@ static GList *filesel_create(const gchar *title, const gchar *path,
                g_free(tmp);
        }
 
+#ifdef MAEMO
+        if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_OK 
+               || gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT)
+#else
        if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT) 
+#endif
                slist = gtk_file_chooser_get_filenames (GTK_FILE_CHOOSER (chooser));
        
        manage_window_focus_out(chooser, NULL, NULL);