[nautilus/wip/oholy/hidden-template-files] files-view: Add support for hidden template files



commit 9b70705106da18467a785cb753b085dc164ed020
Author: Ondrej Holy <oholy redhat com>
Date:   Fri Dec 20 09:33:30 2019 +0100

    files-view: Add support for hidden template files
    
    Currently, hidden files are filtered out when looking for template files.
    However, it would be nice to have a way to create hidden files from templates.
    Let's offer hidden files as templates, but only when hidden files are shown.
    
    Fixes: https://gitlab.gnome.org/GNOME/nautilus/issues/1320

 src/nautilus-files-view.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index db84bd191..9da289e15 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -2851,14 +2851,21 @@ static void
 show_hidden_files_changed_callback (gpointer callback_data)
 {
     NautilusFilesView *view;
+    NautilusFilesViewPrivate *priv;
     gboolean preference_value;
 
     view = NAUTILUS_FILES_VIEW (callback_data);
+    priv = nautilus_files_view_get_instance_private (view);
 
     preference_value =
         g_settings_get_boolean (gtk_filechooser_preferences, NAUTILUS_PREFERENCES_SHOW_HIDDEN_FILES);
 
     nautilus_files_view_set_show_hidden_files (view, preference_value);
+
+    if (priv->active)
+    {
+        schedule_update_context_menus (view);
+    }
 }
 
 static gboolean
@@ -5472,6 +5479,7 @@ static GMenu *
 update_directory_in_scripts_menu (NautilusFilesView *view,
                                   NautilusDirectory *directory)
 {
+    NautilusFilesViewPrivate *priv;
     GList *file_list, *filtered, *node;
     GMenu *menu, *children_menu;
     GMenuItem *menu_item;
@@ -5485,6 +5493,8 @@ update_directory_in_scripts_menu (NautilusFilesView *view,
     g_return_val_if_fail (NAUTILUS_IS_FILES_VIEW (view), NULL);
     g_return_val_if_fail (NAUTILUS_IS_DIRECTORY (directory), NULL);
 
+    priv = nautilus_files_view_get_instance_private (view);
+
     if (script_accels == NULL)
     {
         script_accels = g_hash_table_new_full (g_str_hash, g_str_equal,
@@ -5493,7 +5503,7 @@ update_directory_in_scripts_menu (NautilusFilesView *view,
     }
 
     file_list = nautilus_directory_get_file_list (directory);
-    filtered = nautilus_file_list_filter_hidden (file_list, FALSE);
+    filtered = nautilus_file_list_filter_hidden (file_list, priv->show_hidden_files);
     nautilus_file_list_free (file_list);
     menu = g_menu_new ();
 
@@ -5723,6 +5733,7 @@ static GMenu *
 update_directory_in_templates_menu (NautilusFilesView *view,
                                     NautilusDirectory *directory)
 {
+    NautilusFilesViewPrivate *priv;
     GList *file_list, *filtered, *node;
     GMenu *menu, *children_menu;
     GMenuItem *menu_item;
@@ -5736,8 +5747,10 @@ update_directory_in_templates_menu (NautilusFilesView *view,
     g_return_val_if_fail (NAUTILUS_IS_FILES_VIEW (view), NULL);
     g_return_val_if_fail (NAUTILUS_IS_DIRECTORY (directory), NULL);
 
+    priv = nautilus_files_view_get_instance_private (view);
+
     file_list = nautilus_directory_get_file_list (directory);
-    filtered = nautilus_file_list_filter_hidden (file_list, FALSE);
+    filtered = nautilus_file_list_filter_hidden (file_list, priv->show_hidden_files);
     nautilus_file_list_free (file_list);
     templates_directory_uri = nautilus_get_templates_directory_uri ();
     menu = g_menu_new ();


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