filesystemmodel: Don't expose cache
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Sat, 8 Oct 2022 13:12:41 +0000 (10:12 -0300)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 21 Oct 2022 02:34:40 +0000 (22:34 -0400)
With this commit we start slowly cleaning up the sattelite code
surrounding GtkFileChooserWidget, so that we eventually drop it
all.

gtk/gtkfilechooserwidget.c
gtk/gtkfilesystemmodel.c
gtk/gtkfilesystemmodel.h

index e33d1047cbb7449d67e11c85bfdc411e732f4707..4eb913f6f8f6bcd7391e1f3a76bd669bab52f570 100644 (file)
@@ -519,8 +519,6 @@ static void     recent_start_loading         (GtkFileChooserWidget *impl);
 static void     recent_clear_model           (GtkFileChooserWidget *impl,
                                               gboolean               remove_from_treeview);
 static gboolean recent_should_respond        (GtkFileChooserWidget *impl);
-static void     clear_model_cache            (GtkFileChooserWidget *impl,
-                                              int                   column);
 static void     set_model_filter             (GtkFileChooserWidget *impl,
                                               GtkFileFilter        *filter);
 static void     switch_to_home_dir           (GtkFileChooserWidget *impl);
@@ -1587,20 +1585,6 @@ change_sort_directories_first_state (GSimpleAction *action,
                                         impl->sort_order);
 }
 
-static void
-clear_model_cache (GtkFileChooserWidget *impl,
-                   int                   column)
-{
-  if (impl->browse_files_model)
-    _gtk_file_system_model_clear_cache (impl->browse_files_model, column);
-
-  if (impl->search_model)
-    _gtk_file_system_model_clear_cache (impl->search_model, column);
-
-  if (impl->recent_model)
-    _gtk_file_system_model_clear_cache (impl->recent_model, column);
-}
-
 static void
 set_model_filter (GtkFileChooserWidget *impl,
                   GtkFileFilter        *filter)
@@ -6783,7 +6767,6 @@ set_current_filter (GtkFileChooserWidget *impl,
 
       gtk_drop_down_set_selected (GTK_DROP_DOWN (impl->filter_combo), filter_index);
 
-      clear_model_cache (impl, MODEL_COL_IS_SENSITIVE);
       set_model_filter (impl, impl->current_filter);
       g_object_notify (G_OBJECT (impl), "filter");
     }
index 35325cb83f05f895d7440bb5bb19d82aa5440957..1c9b76f27b42d033af2a4f054d3ee43a9be83811 100644 (file)
@@ -2156,59 +2156,6 @@ thaw_updates (GtkFileSystemModel *model)
     }
 }
 
-/**
- * _gtk_file_system_model_clear_cache:
- * @model: a `GtkFileSystemModel`
- * @column: the column to clear or -1 for all columns
- *
- * Clears the cached values in the model for the given @column. Use 
- * this function whenever your get_value function would return different
- * values for a column.
- * The file chooser uses this for example when the icon theme changes to 
- * invalidate the cached pixbufs.
- **/
-void
-_gtk_file_system_model_clear_cache (GtkFileSystemModel *model,
-                                    int                 column)
-{
-  guint i;
-  int start, end;
-  gboolean changed;
-
-  g_return_if_fail (GTK_IS_FILE_SYSTEM_MODEL (model));
-  g_return_if_fail (column >= -1 && (guint) column < model->n_columns);
-
-  if (column > -1)
-    {
-      start = column;
-      end = column + 1;
-    }
-  else
-    {
-      start = 0;
-      end = model->n_columns;
-    }
-
-  for (i = 0; i < model->files->len; i++)
-    {
-      FileModelNode *node = get_node (model, i);
-      changed = FALSE;
-      for (column = start; column < end; column++)
-        {
-          if (!G_VALUE_TYPE (&node->values[column]))
-            continue;
-          
-          g_value_unset (&node->values[column]);
-          changed = TRUE;
-        }
-
-      if (changed && node->visible)
-       emit_row_changed_for_node (model, i);
-    }
-
-  /* FIXME: resort? */
-}
-
 /**
  * _gtk_file_system_model_add_and_query_file:
  * @model: a `GtkFileSystemModel`
index 475c8bb6ec973afae289ef41b95ad956a898bf6d..a69992c24a501f947430a96a0c300b963c6fb2f7 100644 (file)
@@ -96,8 +96,6 @@ void                _gtk_file_system_model_set_show_files   (GtkFileSystemModel
                                                             gboolean            show_files);
 void                _gtk_file_system_model_set_filter_folders (GtkFileSystemModel *model,
                                                             gboolean            show_folders);
-void                _gtk_file_system_model_clear_cache      (GtkFileSystemModel *model,
-                                                             int                 column);
 
 void                _gtk_file_system_model_set_filter       (GtkFileSystemModel *model,
                                                              GtkFileFilter      *filter);