[gedit] OpenDocumentSelector: filter fix



commit 9c5a32d79a69c5b42d8b28d99d29727d5d782e45
Author: Sebastien Lafargue <slafargue gnome org>
Date:   Sun Aug 30 19:30:55 2015 +0200

    OpenDocumentSelector: filter fix
    
    When loading a file from the selector with
    a filter, next recent files list in selector keeps
    this filter, even if you reset it.

 gedit/gedit-open-document-selector-store.c |   18 ++++++++++--------
 gedit/gedit-open-document-selector-store.h |    4 ++--
 gedit/gedit-open-document-selector.c       |    6 +++---
 3 files changed, 15 insertions(+), 13 deletions(-)
---
diff --git a/gedit/gedit-open-document-selector-store.c b/gedit/gedit-open-document-selector-store.c
index a9a652e..b9b6e4d 100644
--- a/gedit/gedit-open-document-selector-store.c
+++ b/gedit/gedit-open-document-selector-store.c
@@ -34,9 +34,9 @@
  * in return the list of FileItem structs.
  *
  * The recent files list can be filtered by calling
- * gedit_open_document_selector_store_set_recent_filter()
+ * gedit_open_document_selector_store_set_filter()
  * and you can get the actual filter by calling
- * gedit_open_document_selector_store_get_recent_filter()
+ * gedit_open_document_selector_store_get_filter()
  * ( this is in addition to the text mime type filter)
  *
  * The recent files list is not capped by Gedit settings like
@@ -70,6 +70,7 @@ struct _GeditOpenDocumentSelectorStore
        GSource *recent_source;
 
        GeditRecentConfiguration recent_config;
+       gchar *filter;
        GList *recent_items;
        gint recent_config_limit;
        gboolean recent_items_need_update;
@@ -577,6 +578,7 @@ gedit_open_document_selector_store_dispose (GObject *object)
        gedit_recent_configuration_destroy (&selector_store->recent_config);
 
        g_clear_pointer (&selector_store->recent_source, g_source_destroy);
+       g_clear_pointer (&selector_store->filter, g_free);
 
        if (selector_store->recent_items)
        {
@@ -783,8 +785,8 @@ gedit_open_document_selector_store_get_recent_limit (GeditOpenDocumentSelectorSt
 }
 
 void
-gedit_open_document_selector_store_set_recent_filter (GeditOpenDocumentSelectorStore *selector_store,
-                                                      const gchar                    *filter)
+gedit_open_document_selector_store_set_filter (GeditOpenDocumentSelectorStore *selector_store,
+                                               const gchar                    *filter)
 {
        gchar *old_filter;
 
@@ -793,22 +795,22 @@ gedit_open_document_selector_store_set_recent_filter (GeditOpenDocumentSelectorS
 
        G_LOCK (recent_files_filter_lock);
 
-       old_filter = selector_store->recent_config.substring_filter;
-       selector_store->recent_config.substring_filter = g_strdup (filter);
+       old_filter = selector_store->filter;
+       selector_store->filter = g_strdup (filter);
 
        G_UNLOCK (recent_files_filter_lock);
        g_free (old_filter);
 }
 
 gchar *
-gedit_open_document_selector_store_get_recent_filter (GeditOpenDocumentSelectorStore *selector_store)
+gedit_open_document_selector_store_get_filter (GeditOpenDocumentSelectorStore *selector_store)
 {
        gchar *recent_filter;
 
        g_return_val_if_fail (GEDIT_IS_OPEN_DOCUMENT_SELECTOR_STORE (selector_store), NULL);
 
        G_LOCK (recent_files_filter_lock);
-       recent_filter = g_strdup (selector_store->recent_config.substring_filter);
+       recent_filter = g_strdup (selector_store->filter);
        G_UNLOCK (recent_files_filter_lock);
 
        return recent_filter;
diff --git a/gedit/gedit-open-document-selector-store.h b/gedit/gedit-open-document-selector-store.h
index 6a0212d..0393a7a 100644
--- a/gedit/gedit-open-document-selector-store.h
+++ b/gedit/gedit-open-document-selector-store.h
@@ -44,10 +44,10 @@ GQuark                               gedit_open_document_selector_store_error_quark       
                  (void);
 
 gint                            gedit_open_document_selector_store_get_recent_limit                    
(GeditOpenDocumentSelectorStore *store);
 
-void                            gedit_open_document_selector_store_set_recent_filter                   
(GeditOpenDocumentSelectorStore *store,
+void                            gedit_open_document_selector_store_set_filter                          
(GeditOpenDocumentSelectorStore *store,
                                                                                                          
const gchar                    *filter);
 
-gchar                          *gedit_open_document_selector_store_get_recent_filter                   
(GeditOpenDocumentSelectorStore *store);
+gchar                          *gedit_open_document_selector_store_get_filter                          
(GeditOpenDocumentSelectorStore *store);
 
 GList                          *gedit_open_document_selector_store_update_list_finish                  
(GeditOpenDocumentSelectorStore  *open_document_selector_store,
                                                                                                          
GAsyncResult                    *res,
diff --git a/gedit/gedit-open-document-selector.c b/gedit/gedit-open-document-selector.c
index 2453a7d..1e2d0b2 100644
--- a/gedit/gedit-open-document-selector.c
+++ b/gedit/gedit-open-document-selector.c
@@ -499,7 +499,7 @@ real_populate_liststore (gpointer data)
        gtk_list_store_clear (selector->liststore);
 
        selector_store = selector->selector_store;
-       filter = gedit_open_document_selector_store_get_recent_filter (selector_store);
+       filter = gedit_open_document_selector_store_get_filter (selector_store);
        if (filter && *filter != '\0')
        {
                DEBUG_SELECTOR (g_print ("Selector(%p): populate liststore: all lists\n", selector););
@@ -630,8 +630,8 @@ on_entry_changed (GtkEntry                  *entry,
        const gchar *entry_text;
 
        entry_text = gtk_entry_get_text (entry);
-       gedit_open_document_selector_store_set_recent_filter (selector->selector_store,
-                                                             entry_text);
+       gedit_open_document_selector_store_set_filter (selector->selector_store,
+                                                      entry_text);
 
        if (gtk_widget_get_mapped ( GTK_WIDGET (selector)))
        {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]