crash when inserting file in compose window; use gtkrc-2.0 intead of gtkrc
authorThorsten Maerz <torte@netztorte.de>
Sun, 25 Jan 2004 16:12:19 +0000 (16:12 +0000)
committerThorsten Maerz <torte@netztorte.de>
Sun, 25 Jan 2004 16:12:19 +0000 (16:12 +0000)
ChangeLog-gtk2
src/gtk/filesel.c
src/main.c

index 58b0825..905d9c4 100644 (file)
@@ -1,3 +1,10 @@
+2004-01-25 Thorsten Maerz <torte@netztorte.de>
+       * src/gtk/filesel.c
+               crash when inserting file in compose window
+               (TODO: keep old selection on clicks)
+       * src/main.c
+               use gtkrc-2.0 instead of gtkrc
+
 2004-01-25 Thorsten Maerz <torte@netztorte.de>
        * src/messageview.c
                remove orphaned mimeview unref()
index 342a69a..4305b0c 100644 (file)
@@ -196,9 +196,18 @@ static void filesel_create(const gchar *title, gboolean multiple_files)
        MANAGE_WINDOW_SIGNALS_CONNECT(filesel);
 
        if (multiple_files) {
+#ifndef _MSC_VER
+#warning GTK2 dir_list/file_list now GtkTreeView. selection handlers not working.
+#endif
+#if 1
+               gtk_file_selection_set_select_multiple
+                       (GTK_FILE_SELECTION(filesel), TRUE);
+#else
                gtk_clist_set_selection_mode
                        (GTK_CLIST(GTK_FILE_SELECTION(filesel)->file_list),
                         GTK_SELECTION_MULTIPLE);
+#endif
+
                gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->file_list),
                                   "select_row", 
                                   GTK_SIGNAL_FUNC(filesel_file_list_select_row_multi),
@@ -324,6 +333,7 @@ static void filesel_dir_list_select_row_single(GtkCList *clist, gint row, gint c
 
 static GList *filesel_get_multiple_filenames(void)
 {
+#if 0
        /* as noted before we are not using the entry text when selecting
         * multiple files. to much hassle to parse out invalid chars (chars
         * that need to be escaped). instead we use the file_list. the
@@ -367,5 +377,21 @@ static GList *filesel_get_multiple_filenames(void)
        g_free(cwd);
        
        return list;
+#else
+/* GTK2 : gtk_file_selection_get_selections() returns newly allocated gchar**
+ * all entries have complete path / are non-utf8 / are free()d in caller
+ */
+       GList *list = NULL;
+       gchar **file_list, **list_ptr;
+       
+       file_list = gtk_file_selection_get_selections (GTK_FILE_SELECTION(filesel));
+
+       /* fetch the selected file names */
+       for (list_ptr = file_list; list_ptr && *list_ptr; list_ptr++)
+               list = g_list_append(list, *list_ptr);
+       g_free(file_list);
+       
+       return list;
+#endif
 }
 
index 800956f..24c8066 100644 (file)
@@ -213,19 +213,19 @@ int main(int argc, char *argv[])
 #endif
 
        /* parse gtkrc files */
-       userrc = g_strconcat(get_home_dir(), G_DIR_SEPARATOR_S, ".gtkrc",
+       userrc = g_strconcat(get_home_dir(), G_DIR_SEPARATOR_S, ".gtkrc-2.0",
                             NULL);
        gtk_rc_parse(userrc);
        g_free(userrc);
        userrc = g_strconcat(get_home_dir(), G_DIR_SEPARATOR_S, ".gtk",
-                            G_DIR_SEPARATOR_S, "gtkrc", NULL);
+                            G_DIR_SEPARATOR_S, "gtkrc-2.0", NULL);
        gtk_rc_parse(userrc);
        g_free(userrc);
-       userrc = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, "gtkrc", NULL);
+       userrc = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, "gtkrc-2.0", NULL);
        gtk_rc_parse(userrc);
        g_free(userrc);
 
-       gtk_rc_parse("./gtkrc");
+       gtk_rc_parse("./gtkrc-2.0");
 
        userrc = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, MENU_RC, NULL);
        gtk_accel_map_load (userrc);