[gedit/wip/misc] filebrowser: remove confirm-trash gsetting, as in Nautilus




commit 56a285ab9f969603e7edeece215331aa90008c1f
Author: Sébastien Wilmet <swilmet informatique-libre be>
Date:   Sat Jul 16 13:47:21 2022 +0200

    filebrowser: remove confirm-trash gsetting, as in Nautilus
    
    Nautilus has removed the gsetting, keeping its default value (true) for
    the behavior.
    
    So, always ask for confirmation.
    
    This fixes a crash at startup:
    ```
    GLib-GIO-ERROR: Settings schema 'org.gnome.nautilus.preferences' does
    not contain a key named 'confirm-trash'
    ```
    
    In the future, before using an external GSettings key, we should
    introspect at run-time if the *key* exists (not only the GSettings base
    object, which was already checked here for NAUTILUS_BASE_SETTINGS with
    NAUTILUS_FALLBACK_SETTINGS as a fallback).
    
    We could have kept the confirm-trash gsetting key from
    org.gnome.gedit.plugins.filebrowser.nautilus, and still use it, so that
    users could configure that aspect, but we think it's better to follow
    what Nautilus does, and the fewer options we have, the better (easier to
    test).

 plugins/filebrowser/gedit-file-browser-plugin.c    | 33 ----------------------
 ...org.gnome.gedit.plugins.filebrowser.gschema.xml |  3 --
 2 files changed, 36 deletions(-)
---
diff --git a/plugins/filebrowser/gedit-file-browser-plugin.c b/plugins/filebrowser/gedit-file-browser-plugin.c
index 2e8e13e7f..73d702fa4 100644
--- a/plugins/filebrowser/gedit-file-browser-plugin.c
+++ b/plugins/filebrowser/gedit-file-browser-plugin.c
@@ -50,7 +50,6 @@
 #define NAUTILUS_BASE_SETTINGS         "org.gnome.nautilus.preferences"
 #define NAUTILUS_FALLBACK_SETTINGS     "org.gnome.gedit.plugins.filebrowser.nautilus"
 #define NAUTILUS_CLICK_POLICY_KEY      "click-policy"
-#define NAUTILUS_CONFIRM_TRASH_KEY     "confirm-trash"
 
 #define TERMINAL_BASE_SETTINGS         "org.gnome.desktop.default-applications.terminal"
 #define TERMINAL_EXEC_KEY              "exec"
@@ -66,10 +65,8 @@ struct _GeditFileBrowserPluginPrivate
        GeditFileBrowserWidget *tree_widget;
        gboolean                auto_root;
        gulong                  end_loading_handle;
-       gboolean                confirm_trash;
 
        guint                   click_policy_handle;
-       guint                   confirm_trash_handle;
 };
 
 enum
@@ -321,19 +318,10 @@ on_click_policy_changed (GSettings              *settings,
        gedit_file_browser_view_set_click_policy (view, policy);
 }
 
-static void
-on_confirm_trash_changed (GSettings              *settings,
-                         const gchar            *key,
-                         GeditFileBrowserPlugin *plugin)
-{
-       plugin->priv->confirm_trash = g_settings_get_boolean (settings, key);
-}
-
 static void
 install_nautilus_prefs (GeditFileBrowserPlugin *plugin)
 {
        GeditFileBrowserPluginPrivate *priv = plugin->priv;
-       gboolean prefb;
        GeditFileBrowserViewClickPolicy policy;
        GeditFileBrowserView *view;
 
@@ -349,18 +337,6 @@ install_nautilus_prefs (GeditFileBrowserPlugin *plugin)
                                  "changed::" NAUTILUS_CLICK_POLICY_KEY,
                                  G_CALLBACK (on_click_policy_changed),
                                  plugin);
-
-       /* Get confirm_trash */
-       prefb = g_settings_get_boolean (priv->nautilus_settings,
-                                       NAUTILUS_CONFIRM_TRASH_KEY);
-
-       priv->confirm_trash = prefb;
-
-       priv->confirm_trash_handle =
-               g_signal_connect (priv->nautilus_settings,
-                                 "changed::" NAUTILUS_CONFIRM_TRASH_KEY,
-                                 G_CALLBACK (on_confirm_trash_changed),
-                                 plugin);
 }
 
 static void
@@ -588,12 +564,6 @@ gedit_file_browser_plugin_deactivate (GeditWindowActivatable *activatable)
                                             priv->click_policy_handle);
        }
 
-       if (priv->confirm_trash_handle)
-       {
-               g_signal_handler_disconnect (priv->nautilus_settings,
-                                            priv->confirm_trash_handle);
-       }
-
        panel = gedit_window_get_side_panel (priv->window);
        gtk_container_remove (GTK_CONTAINER (panel), GTK_WIDGET (priv->tree_widget));
 }
@@ -932,9 +902,6 @@ on_confirm_delete_cb (GeditFileBrowserWidget *widget,
        gchar *secondary;
        gboolean result;
 
-       if (!priv->confirm_trash)
-               return TRUE;
-
        if (paths->next == NULL)
        {
                normal = get_filename_from_path (GTK_TREE_MODEL (store), (GtkTreePath *)(paths->data));
diff --git a/plugins/filebrowser/org.gnome.gedit.plugins.filebrowser.gschema.xml 
b/plugins/filebrowser/org.gnome.gedit.plugins.filebrowser.gschema.xml
index 9e9d85627..819880296 100644
--- a/plugins/filebrowser/org.gnome.gedit.plugins.filebrowser.gschema.xml
+++ b/plugins/filebrowser/org.gnome.gedit.plugins.filebrowser.gschema.xml
@@ -51,8 +51,5 @@
     <key name="click-policy" enum="org.gnome.gedit.plugins.filebrowser.nautilus.ClickPolicy">
       <default>'double'</default>
     </key>
-    <key name="confirm-trash" type="b">
-      <default>true</default>
-    </key>
   </schema>
 </schemalist>


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