]> git.pld-linux.org Git - packages/vim.git/blob - 7.3.592
- add patches 7.3.619-743
[packages/vim.git] / 7.3.592
1 To: vim_dev@googlegroups.com
2 Subject: Patch 7.3.592
3 Fcc: outbox
4 From: Bram Moolenaar <Bram@moolenaar.net>
5 Mime-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8 ------------
9
10 Patch 7.3.592
11 Problem:    Vim on GTK does not support g:browsefilter.
12 Solution:   Add a GtkFileFilter to the file chooser. (Christian Brabandt)
13 Files:      src/gui_gtk.c
14
15
16 *** ../vim-7.3.591/src/gui_gtk.c        2012-06-06 16:14:36.000000000 +0200
17 --- src/gui_gtk.c       2012-07-10 13:08:06.000000000 +0200
18 ***************
19 *** 840,846 ****
20                char_u *dflt,
21                char_u *ext UNUSED,
22                char_u *initdir,
23 !              char_u *filter UNUSED)
24   {
25   #ifdef USE_FILE_CHOOSER
26       GtkWidget         *fc;
27 --- 840,846 ----
28                char_u *dflt,
29                char_u *ext UNUSED,
30                char_u *initdir,
31 !              char_u *filter)
32   {
33   #ifdef USE_FILE_CHOOSER
34       GtkWidget         *fc;
35 ***************
36 *** 848,853 ****
37 --- 848,854 ----
38       char_u            dirbuf[MAXPATHL];
39       guint             log_handler;
40       const gchar               *domain = "Gtk";
41 +     GtkFileFilter     *gfilter;
42   
43       title = CONVERT_TO_UTF8(title);
44   
45 ***************
46 *** 879,884 ****
47 --- 880,924 ----
48             NULL);
49       gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(fc),
50                                                        (const gchar *)dirbuf);
51
52 +     if (filter != NULL && *filter != NUL)
53 +     {
54 +       int     i = 0;
55 +       char_u  *patt;
56 +       char_u  *p = filter;
57
58 +       gfilter = gtk_file_filter_new();
59 +       patt = alloc(STRLEN(filter));
60 +       while (p != NULL && *p != NUL)
61 +       {
62 +           if (*p == '\n' || *p == ';' || *p == '\t')
63 +           {
64 +               STRNCPY(patt, filter, i);
65 +               patt[i] = '\0';
66 +               if (*p == '\t')
67 +                   gtk_file_filter_set_name(gfilter, (gchar *)patt);
68 +               else
69 +               {
70 +                   gtk_file_filter_add_pattern(gfilter, (gchar *)patt);
71 +                   if (*p == '\n')
72 +                   {
73 +                       gtk_file_chooser_add_filter((GtkFileChooser *)fc,
74 +                                                                    gfilter);
75 +                       if (*(p + 1) != NUL)
76 +                           gfilter = gtk_file_filter_new();
77 +                   }
78 +               }
79 +               filter = ++p;
80 +               i = 0;
81 +           }
82 +           else
83 +           {
84 +               p++;
85 +               i++;
86 +           }
87 +       }
88 +       vim_free(patt);
89 +     }
90       if (saving && dflt != NULL && *dflt != NUL)
91         gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(fc), (char *)dflt);
92   
93 ***************
94 *** 1304,1310 ****
95         gtk_widget_show(entry);
96   
97         /* Make Enter work like pressing OK. */
98 !         gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
99   
100         text = CONVERT_TO_UTF8(textfield);
101         gtk_entry_set_text(GTK_ENTRY(entry), (const char *)text);
102 --- 1344,1350 ----
103         gtk_widget_show(entry);
104   
105         /* Make Enter work like pressing OK. */
106 !       gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
107   
108         text = CONVERT_TO_UTF8(textfield);
109         gtk_entry_set_text(GTK_ENTRY(entry), (const char *)text);
110 *** ../vim-7.3.591/src/version.c        2012-07-06 18:27:34.000000000 +0200
111 --- src/version.c       2012-07-10 13:00:29.000000000 +0200
112 ***************
113 *** 716,717 ****
114 --- 716,719 ----
115   {   /* Add new patch number below this line */
116 + /**/
117 +     592,
118   /**/
119
120 -- 
121 To be rich is not the end, but only a change of worries.
122
123  /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
124 ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
125 \\\  an exciting new programming language -- http://www.Zimbu.org        ///
126  \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
This page took 0.147975 seconds and 3 git commands to generate.