[Goodies-commits] r7700 - xfburn/trunk/xfburn

David Mohr squisher at xfce.org
Thu Jul 9 01:33:05 CEST 2009


Author: squisher
Date: 2009-07-08 23:33:05 +0000 (Wed, 08 Jul 2009)
New Revision: 7700

Modified:
   xfburn/trunk/xfburn/xfburn-directory-browser.c
   xfburn/trunk/xfburn/xfburn-fs-browser.c
   xfburn/trunk/xfburn/xfburn-preferences-dialog.c
Log:
Actually show hidden files if selected in the preferences

Modified: xfburn/trunk/xfburn/xfburn-directory-browser.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-directory-browser.c	2009-07-08 21:02:32 UTC (rev 7699)
+++ xfburn/trunk/xfburn/xfburn-directory-browser.c	2009-07-08 23:33:05 UTC (rev 7700)
@@ -38,6 +38,7 @@
 #include "xfburn-directory-browser.h"
 #include "xfburn-data-composition.h"
 #include "xfburn-utils.h"
+#include "xfburn-settings.h"
 
 #define XFBURN_DIRECTORY_BROWSER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), XFBURN_TYPE_DIRECTORY_BROWSER, XfburnDirectoryBrowserPrivate))
 
@@ -234,6 +235,7 @@
   gchar *temp;
   GdkScreen *screen;
   GtkIconTheme *icon_theme;
+  gboolean show_hidden;
   
   dir = g_dir_open (path, 0, &error);
   if (!dir) {
@@ -256,10 +258,22 @@
   icon_directory = gtk_icon_theme_load_icon (icon_theme, "gnome-fs-directory", x, 0, NULL);
   icon_file = gtk_icon_theme_load_icon (icon_theme, "gnome-fs-regular", x, 0, NULL);
 
+  show_hidden = xfburn_settings_get_boolean ("show-hidden-files", FALSE);
+
   while ((dir_entry = g_dir_read_name (dir))) {
     gchar *full_path;
     struct stat s;
 
+    if (dir_entry[0] == '.') {
+      /* skip . and .. */
+      if (dir_entry[1] == '\0' ||
+          (dir_entry[1] == '.' && dir_entry[2] == '\0'))
+        continue;
+
+      if (!show_hidden)
+        continue;
+    }
+
     full_path = g_build_filename (path, dir_entry, NULL);
 #if 0
     if (g_file_test (full_path, G_FILE_TEST_IS_SYMLINK)) {
@@ -268,7 +282,7 @@
     }
 #endif
 
-    if (dir_entry[0] != '.' && (stat (full_path, &s) == 0)) {
+    if (stat (full_path, &s) == 0) {
       gchar *humansize;
 
       gchar *path_utf8;

Modified: xfburn/trunk/xfburn/xfburn-fs-browser.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-fs-browser.c	2009-07-08 21:02:32 UTC (rev 7699)
+++ xfburn/trunk/xfburn/xfburn-fs-browser.c	2009-07-08 23:33:05 UTC (rev 7700)
@@ -31,6 +31,7 @@
 #include "xfburn-fs-browser.h"
 #include "xfburn-data-composition.h"
 #include "xfburn-utils.h"
+#include "xfburn-settings.h"
 
 /* prototypes */
 static void xfburn_fs_browser_class_init (XfburnFsBrowserClass * klass);
@@ -132,6 +133,7 @@
   GtkIconTheme *icon_theme;
   const gchar *dir_entry;
   int x, y;
+  gboolean show_hidden;
 
   dir = g_dir_open (path, 0, &error);
   if (!dir) {
@@ -148,15 +150,23 @@
   icon_theme = gtk_icon_theme_get_for_screen (screen);
   icon = gtk_icon_theme_load_icon (icon_theme, "gnome-fs-directory", x, 0, NULL);
 
+  show_hidden = xfburn_settings_get_boolean ("show-hidden-files", FALSE);
+
   while ((dir_entry = g_dir_read_name (dir))) {
     gchar *full_path;
 
+    if (dir_entry[0] == '.') {
+      /* skip . and .. */
+      if (dir_entry[1] == '\0' ||
+          (dir_entry[1] == '.' && dir_entry[2] == '\0'))
+        continue;
+
+      if (!show_hidden)
+        continue;
+    }
+
     full_path = g_build_filename (path, dir_entry, NULL);
-    if (dir_entry[0] != '.' && g_file_test (full_path, G_FILE_TEST_IS_DIR)) {
-#if 0
-      &&
-        !g_file_test (full_path, G_FILE_TEST_IS_SYMLINK)) {
-#endif
+    if (g_file_test (full_path, G_FILE_TEST_IS_DIR)) {
       GtkTreeIter iter;
       GtkTreeIter iter_empty;
 

Modified: xfburn/trunk/xfburn/xfburn-preferences-dialog.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-preferences-dialog.c	2009-07-08 21:02:32 UTC (rev 7699)
+++ xfburn/trunk/xfburn/xfburn-preferences-dialog.c	2009-07-08 23:33:05 UTC (rev 7700)
@@ -56,6 +56,7 @@
 static void refresh_devices_list (XfburnPreferencesDialog * dialog);
 static void scan_button_clicked_cb (GtkWidget * button, gpointer user_data);
 static void xfburn_preferences_dialog_response_cb (XfburnPreferencesDialog * dialog, guint response_id, XfburnPreferencesDialogPrivate * priv);
+static void cb_show_hidden_clicked (GtkButton * Button, gpointer user_data);
 
 enum {
   SETTINGS_LIST_PIXBUF_COLUMN,
@@ -207,6 +208,7 @@
   priv->check_show_hidden = gtk_check_button_new_with_mnemonic (_("Show _hidden files"));
   gtk_box_pack_start (GTK_BOX (vbox2), priv->check_show_hidden, FALSE, FALSE, BORDER);
   gtk_widget_show (priv->check_show_hidden);
+  g_signal_connect (G_OBJECT (priv->check_show_hidden), "clicked", G_CALLBACK (cb_show_hidden_clicked), NULL);
 
   priv->check_show_human_readable = gtk_check_button_new_with_mnemonic (_("Show human_readable filesizes"));
   gtk_box_pack_start (GTK_BOX (vbox2), priv->check_show_human_readable, FALSE, FALSE, BORDER);
@@ -456,6 +458,12 @@
   refresh_devices_list (user_data);
 }
 
+static void 
+cb_show_hidden_clicked (GtkButton * Button, gpointer user_data)
+{
+  xfce_warn (_("Changing this setting only takes full effect after a program restart."));
+}
+
 /* public */
 GtkWidget *
 xfburn_preferences_dialog_new ()




More information about the Goodies-commits mailing list