[Xfce4-commits] r23635 - xfdesktop/trunk/src

Brian Tarricone kelnos at xfce.org
Sat Nov 4 12:49:44 CET 2006


Author: kelnos
Date: 2006-11-04 11:49:44 +0000 (Sat, 04 Nov 2006)
New Revision: 23635

Modified:
   xfdesktop/trunk/src/xfdesktop-file-icon-manager.c
   xfdesktop/trunk/src/xfdesktop-file-utils.c
   xfdesktop/trunk/src/xfdesktop-file-utils.h
   xfdesktop/trunk/src/xfdesktop-special-file-icon.c
   xfdesktop/trunk/src/xfdesktop-volume-icon.c
Log:
change the cursor to the hourglass while invoking some dbus methods


Modified: xfdesktop/trunk/src/xfdesktop-file-icon-manager.c
===================================================================
--- xfdesktop/trunk/src/xfdesktop-file-icon-manager.c	2006-11-04 11:36:59 UTC (rev 23634)
+++ xfdesktop/trunk/src/xfdesktop-file-icon-manager.c	2006-11-04 11:49:44 UTC (rev 23635)
@@ -855,8 +855,12 @@
                                                GError *error,
                                                gpointer user_data)
 {
+    XfdesktopFileIconManager *fmanager = XFDESKTOP_FILE_ICON_MANAGER(user_data);
+    GtkWidget *toplevel = gtk_widget_get_toplevel(GTK_WIDGET(fmanager->priv->icon_view));
+    
+    xfdesktop_file_utils_set_window_cursor(GTK_WINDOW(toplevel), GDK_LEFT_PTR);
     if(error)
-        xfdesktop_file_icon_manager_display_chooser_error(XFDESKTOP_FILE_ICON_MANAGER(user_data));
+        xfdesktop_file_icon_manager_display_chooser_error(fmanager);
 }
 
 static void
@@ -891,6 +895,10 @@
                                                               fmanager))
         {
             xfdesktop_file_icon_manager_display_chooser_error(fmanager);
+        } else {
+            GtkWidget *toplevel = gtk_widget_get_toplevel(GTK_WIDGET(fmanager->priv->icon_view));
+            xfdesktop_file_utils_set_window_cursor(GTK_WINDOW(toplevel),
+                                                   GDK_WATCH);
         }
         g_free(uri);
         g_free(display_name);

Modified: xfdesktop/trunk/src/xfdesktop-file-utils.c
===================================================================
--- xfdesktop/trunk/src/xfdesktop-file-utils.c	2006-11-04 11:36:59 UTC (rev 23634)
+++ xfdesktop/trunk/src/xfdesktop-file-utils.c	2006-11-04 11:49:44 UTC (rev 23635)
@@ -296,6 +296,22 @@
     return pix;
 }
 
+void
+xfdesktop_file_utils_set_window_cursor(GtkWindow *window,
+                                       GdkCursorType cursor_type)
+{
+    GdkCursor *cursor;
+    
+    if(!window || !GTK_WIDGET(window)->window)
+        return;
+    
+    cursor = gdk_cursor_new(cursor_type);
+    if(G_LIKELY(cursor)) {
+        gdk_window_set_cursor(GTK_WIDGET(window)->window, cursor);
+        gdk_cursor_unref(cursor);
+    }
+}
+
 gboolean
 xfdesktop_file_utils_launch_fallback(const ThunarVfsInfo *info,
                                      GdkScreen *screen,
@@ -358,10 +374,13 @@
                                        GError *error,
                                        gpointer user_data)
 {
+    XfdesktopDisplayFolderData *dfdata = user_data;
+    
     g_return_if_fail(user_data);
     
+    xfdesktop_file_utils_set_window_cursor(dfdata->parent, GDK_LEFT_PTR);
+    
     if(error) {
-        XfdesktopDisplayFolderData *dfdata = user_data;
         xfdesktop_file_utils_launch_fallback(dfdata->info, dfdata->screen,
                                              dfdata->parent);
     }
@@ -397,7 +416,8 @@
         {
             xfdesktop_file_utils_launch_fallback(info, screen, parent);
             g_free(dfdata);
-        }
+        } else
+            xfdesktop_file_utils_set_window_cursor(parent, GDK_WATCH);
         
         g_free(uri);
         g_free(display_name);

Modified: xfdesktop/trunk/src/xfdesktop-file-utils.h
===================================================================
--- xfdesktop/trunk/src/xfdesktop-file-utils.h	2006-11-04 11:36:59 UTC (rev 23634)
+++ xfdesktop/trunk/src/xfdesktop-file-utils.h	2006-11-04 11:49:44 UTC (rev 23635)
@@ -67,6 +67,9 @@
                                               const GdkPixbuf *emblem,
                                               guint opacity);
 
+void xfdesktop_file_utils_set_window_cursor(GtkWindow *window,
+                                            GdkCursorType cursor_type);
+
 gboolean xfdesktop_file_utils_launch_fallback(const ThunarVfsInfo *info,
                                               GdkScreen *screen,
                                               GtkWindow *parent);

Modified: xfdesktop/trunk/src/xfdesktop-special-file-icon.c
===================================================================
--- xfdesktop/trunk/src/xfdesktop-special-file-icon.c	2006-11-04 11:36:59 UTC (rev 23634)
+++ xfdesktop/trunk/src/xfdesktop-special-file-icon.c	2006-11-04 11:49:44 UTC (rev 23635)
@@ -523,6 +523,13 @@
                                           GError *error,
                                           gpointer user_data)
 {
+    GtkWidget *icon_view, *toplevel;
+    
+    icon_view = xfdesktop_icon_peek_icon_view(XFDESKTOP_ICON(user_data));
+    toplevel = gtk_widget_get_toplevel(icon_view);
+    xfdesktop_file_utils_set_window_cursor(GTK_WINDOW(toplevel),
+                                           GDK_LEFT_PTR);
+    
     if(error) {
         xfdesktop_special_file_icon_trash_handle_error(XFDESKTOP_SPECIAL_FILE_ICON(user_data),
                                                        "DisplayTrash",
@@ -563,8 +570,17 @@
             xfdesktop_special_file_icon_trash_handle_error(file_icon,
                                                            "DisplayTrash",
                                                             NULL);
-        } else
+        } else {
+            GtkWidget *icon_view, *toplevel;
+            
             g_object_ref(G_OBJECT(file_icon));
+            
+            icon_view = xfdesktop_icon_peek_icon_view(XFDESKTOP_ICON(file_icon));
+            toplevel = gtk_widget_get_toplevel(icon_view);
+            xfdesktop_file_utils_set_window_cursor(GTK_WINDOW(toplevel),
+                                                   GDK_WATCH);
+        }
+            
         g_free(display_name);
     }
 }

Modified: xfdesktop/trunk/src/xfdesktop-volume-icon.c
===================================================================
--- xfdesktop/trunk/src/xfdesktop-volume-icon.c	2006-11-04 11:36:59 UTC (rev 23634)
+++ xfdesktop/trunk/src/xfdesktop-volume-icon.c	2006-11-04 11:49:44 UTC (rev 23635)
@@ -631,6 +631,8 @@
     XfdesktopVolumeIcon *icon = XFDESKTOP_VOLUME_ICON(icon_p);
     ThunarVfsVolume *volume = (ThunarVfsVolume *)xfdesktop_volume_icon_peek_volume(icon);
     
+    TRACE("entering");
+    
     if(!thunar_vfs_volume_is_mounted(volume)) {
         xfdesktop_volume_icon_menu_toggle_mount(NULL, icon);
         if(!thunar_vfs_volume_is_mounted(volume))



More information about the Xfce4-commits mailing list