[Xfce4-commits] r30017 - in thunar/branches/migration-to-gio: . thunar
Jannis Pohlmann
jannis at xfce.org
Mon Jun 15 00:58:11 CEST 2009
Author: jannis
Date: 2009-06-14 22:58:11 +0000 (Sun, 14 Jun 2009)
New Revision: 30017
Modified:
thunar/branches/migration-to-gio/ChangeLog
thunar/branches/migration-to-gio/thunar/thunar-file.c
thunar/branches/migration-to-gio/thunar/thunar-file.h
Log:
* thunar/thunar-file.{c,h}: Emit a ThunarFileMonitor "file-changed"
signal whenever the thumbnail state of a ThunarFile is changed. This
helps all components in refreshing their file information and
possibly update the file icon.
Modified: thunar/branches/migration-to-gio/ChangeLog
===================================================================
--- thunar/branches/migration-to-gio/ChangeLog 2009-06-14 01:00:40 UTC (rev 30016)
+++ thunar/branches/migration-to-gio/ChangeLog 2009-06-14 22:58:11 UTC (rev 30017)
@@ -1,3 +1,10 @@
+2009-06-14 Jannis Pohlmann <jannis at xfce.org>
+
+ * thunar/thunar-file.{c,h}: Emit a ThunarFileMonitor "file-changed"
+ signal whenever the thumbnail state of a ThunarFile is changed. This
+ helps all components in refreshing their file information and
+ possibly update the file icon.
+
2009-06-12 Jannis Pohlmann <jannis at xfce.org>
* thunar/Makefile.am, thunar/thunar-thumbnailer-manager-dbus.xml: Add
Modified: thunar/branches/migration-to-gio/thunar/thunar-file.c
===================================================================
--- thunar/branches/migration-to-gio/thunar/thunar-file.c 2009-06-14 01:00:40 UTC (rev 30016)
+++ thunar/branches/migration-to-gio/thunar/thunar-file.c 2009-06-14 22:58:11 UTC (rev 30017)
@@ -458,6 +458,8 @@
static void
thunar_file_info_changed (ThunarxFileInfo *file_info)
{
+ thunar_file_set_thumb_state (THUNAR_FILE (file_info), THUNAR_FILE_THUMB_STATE_UNKNOWN);
+
/* tell the file monitor that this file changed */
thunar_file_monitor_file_changed (THUNAR_FILE (file_info));
}
@@ -836,7 +838,12 @@
g_free (uri);
}
+ /* set thumb state to unknown */
+ file->flags =
+ (file->flags & ~THUNAR_FILE_THUMB_STATE_MASK) | THUNAR_FILE_THUMB_STATE_UNKNOWN;
+
/* determine thumbnail path */
+ /* TODO monitor the thumbnail path for changes */
uri = g_file_get_uri (file->gfile);
md5_hash = g_compute_checksum_for_string (G_CHECKSUM_MD5, uri, -1);
basename = g_strdup_printf ("%s.png", md5_hash);
@@ -2448,6 +2455,31 @@
/**
+ * thunar_file_set_thumb_state:
+ * @file : a #ThunarFile.
+ * @thumb_state : the new #ThunarFileThumbState.
+ *
+ * Sets the #ThunarFileThumbState for @file to @thumb_state.
+ * This will cause a "file-changed" signal to be emitted from
+ * #ThunarFileMonitor.
+ **/
+void
+thunar_file_set_thumb_state (ThunarFile *file,
+ ThunarFileThumbState state)
+{
+ _thunar_return_if_fail (THUNAR_IS_FILE (file));
+
+ /* set the new thumbnail state */
+ file->flags = (file->flags & ~THUNAR_FILE_THUMB_STATE_MASK) | (state);
+
+ /* notify others of this change, so that all components can update
+ * their file information */
+ thunar_file_monitor_file_changed (file);
+}
+
+
+
+/**
* thunar_file_get_custom_icon:
* @file : a #ThunarFile instance.
*
Modified: thunar/branches/migration-to-gio/thunar/thunar-file.h
===================================================================
--- thunar/branches/migration-to-gio/thunar/thunar-file.h 2009-06-14 01:00:40 UTC (rev 30016)
+++ thunar/branches/migration-to-gio/thunar/thunar-file.h 2009-06-14 22:58:11 UTC (rev 30017)
@@ -217,6 +217,9 @@
const gchar *custom_icon,
GError **error);
+const gchar *thunar_file_get_thumbnail_path (const ThunarFile *file);
+void thunar_file_set_thumb_state (ThunarFile *file,
+ ThunarFileThumbState state);
GIcon *thunar_file_get_preview_icon (const ThunarFile *file);
gchar *thunar_file_get_icon_name (const ThunarFile *file,
ThunarFileIconState icon_state,
@@ -249,7 +252,6 @@
GList *thunar_file_list_to_g_file_list (GList *file_list);
gboolean thunar_file_is_desktop (const ThunarFile *file);
-const gchar *thunar_file_get_thumbnail_path (const ThunarFile *file);
/**
* thunar_file_is_root:
@@ -335,21 +337,6 @@
#define thunar_file_get_thumb_state(file) (THUNAR_FILE ((file))->flags & THUNAR_FILE_THUMB_STATE_MASK)
/**
- * thunar_file_set_thumb_state:
- * @file : a #ThunarFile.
- * @thumb_state : the new #ThunarFileThumbState.
- *
- * Sets the #ThunarFileThumbState for @file
- * to @thumb_state. This method is intended
- * to be used by #ThunarIconFactory only.
- **/
-#define thunar_file_set_thumb_state(file, thumb_state) \
-G_STMT_START{ \
- ThunarFile *f = THUNAR_FILE ((file)); \
- f->flags = (f->flags & ~THUNAR_FILE_THUMB_STATE_MASK) | (thumb_state); \
-}G_STMT_END
-
-/**
* thunar_file_list_copy:
* @file_list : a list of #ThunarFile<!---->s.
*
More information about the Xfce4-commits
mailing list