]> git.pld-linux.org Git - packages/vim.git/blame - vim-gtkfilechooser-bonobo.patch
- updated to 0.7.3
[packages/vim.git] / vim-gtkfilechooser-bonobo.patch
CommitLineData
e299a0ce 1diff -urN vim63-pld-before-gtkchooser/src/gui_gtk.c vim63-pld-with-gtkchooser/src/gui_gtk.c
2--- vim63-pld-before-gtkchooser/src/gui_gtk.c 2005-09-09 16:33:27.806599424 +0200
3+++ vim63-pld-with-gtkchooser/src/gui_gtk.c 2005-09-09 16:38:56.025702536 +0200
4@@ -39,6 +39,15 @@
5
6 #include "vim.h"
7
8+/* Check to see if we are able to use GtkFileChooser */
9+#undef HAVE_FILECHOOSER
10+
11+#if defined(HAVE_GTK2)
12+# if GTK_MINOR_VERSION >= 4
13+# define HAVE_FILECHOOSER
14+# endif
15+#endif
16+
17 #if 0
18 /* Gnome redefines _() and N_(). Grrr... */
19 # ifdef _
20@@ -1547,6 +1556,7 @@
21 * Implementation of the file selector related stuff
22 */
23
24+#if !defined(HAVE_FILECHOOSER)
25 /*ARGSUSED*/
26 static void
27 browse_ok_cb(GtkWidget *widget, gpointer cbdata)
28@@ -1578,6 +1588,7 @@
29 if (MAIN_LEVEL() > 0)
30 MAIN_QUIT();
31 }
32+#endif
33
34 /*ARGSUSED*/
35 static gboolean
36@@ -1615,7 +1626,11 @@
37 char_u *initdir,
38 char_u *filter)
39 {
40+#if !defined(HAVE_FILECHOOSER)
41 GtkFileSelection *fs; /* shortcut */
42+#else
43+ GtkFileChooserDialog *fs;
44+#endif
45 char_u dirbuf[MAXPATHL];
46 char_u *p;
47
48@@ -1625,6 +1640,7 @@
49
50 if (!gui.filedlg)
51 {
52+#if !defined(HAVE_FILECHOOSER)
53 gui.filedlg = gtk_file_selection_new((const gchar *)title);
54 gtk_window_set_modal(GTK_WINDOW(gui.filedlg), TRUE);
55 gtk_window_set_transient_for(GTK_WINDOW(gui.filedlg),
56@@ -1641,6 +1657,26 @@
57 gtk_signal_connect_object(GTK_OBJECT(gui.filedlg),
58 "destroy", GTK_SIGNAL_FUNC(browse_destroy_cb),
59 GTK_OBJECT(gui.filedlg));
60+#else
61+ if(saving == 0)
62+ gui.filedlg = gtk_file_chooser_dialog_new ((const gchar *)title,
63+ GTK_WINDOW(gui.mainwin),
64+ GTK_FILE_CHOOSER_ACTION_OPEN,
65+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
66+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
67+ NULL);
68+ else
69+ gui.filedlg = gtk_file_chooser_dialog_new ((const gchar *)title,
70+ GTK_WINDOW(gui.mainwin),
71+ GTK_FILE_CHOOSER_ACTION_SAVE,
72+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
73+ GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
74+ NULL);
75+
76+ gtk_window_set_modal(GTK_WINDOW(gui.filedlg), TRUE);
77+ fs = GTK_FILE_CHOOSER_DIALOG(gui.filedlg);
78+ gtk_container_border_width(GTK_CONTAINER(fs), 4);
79+#endif
80 }
81 else
82 gtk_window_set_title(GTK_WINDOW(gui.filedlg), (const gchar *)title);
83@@ -1665,16 +1701,40 @@
84 && STRLEN(dirbuf) + 2 + STRLEN(dflt) < MAXPATHL)
85 STRCAT(dirbuf, dflt);
86
87- gtk_file_selection_set_filename(GTK_FILE_SELECTION(gui.filedlg),
88- (const gchar *)dirbuf);
89+#if !defined(HAVE_FILECHOOSER)
90+ gtk_file_selection_set_filename(GTK_FILE_SELECTION(gui.filedlg),
91+ (const gchar *)dirbuf);
92+#else
93+ if((dirbuf[STRLEN(dirbuf) - 1]) == '/')
94+ gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(fs),
95+ (const gchar *)dirbuf);
96+ else
97+ gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(fs),
98+ (const gchar *)dirbuf);
99+#endif
100+
101 # ifndef HAVE_GTK2
102 gui_gtk_position_in_parent(GTK_WIDGET(gui.mainwin),
103 GTK_WIDGET(gui.filedlg), VW_POS_MOUSE);
104 # endif
105
106+#if !defined(HAVE_FILECHOOSER)
107 gtk_widget_show(gui.filedlg);
108 while (gui.filedlg && GTK_WIDGET_DRAWABLE(gui.filedlg))
109 MAIN_ITERATION_DO(TRUE);
110+#else
111+ if (gui.browse_fname != NULL) {
112+ g_free(gui.browse_fname);
113+ gui.browse_fname = NULL;
114+ }
115+
116+ if (gtk_dialog_run(GTK_DIALOG(fs)) == GTK_RESPONSE_ACCEPT)
117+ gui.browse_fname = gtk_file_chooser_get_filename(
118+ GTK_FILE_CHOOSER(fs));
119+
120+ gtk_widget_destroy(GTK_WIDGET(fs));
121+ gui.filedlg = NULL;
122+#endif
123
124 if (gui.browse_fname == NULL)
125 return NULL;
126Files vim63-pld-before-gtkchooser/src/.gui_gtk.c.rej.swp and vim63-pld-with-gtkchooser/src/.gui_gtk.c.rej.swp differ
This page took 0.043606 seconds and 4 git commands to generate.