Updating branch refs/heads/nick/gseal+clean to d97c66f4396de4b5d9d6a4bed4f6e21d54f25860 (commit) from 0bf9ab24e8a4cb578bd24d80d67de97ff06755cf (commit)
commit d97c66f4396de4b5d9d6a4bed4f6e21d54f25860 Author: Nick Schermer <n...@xfce.org> Date: Fri May 25 20:18:19 2012 +0200 Use a GtkSpinner instead of the ThunarThrobber. This is a new widget since 2.20, so we can use it. In Gtk3 this widget also has a special rendering class in the theme engine. .gitignore | 1 - po/POTFILES.in | 1 - thunar/Makefile.am | 9 - thunar/thunar-size-label.c | 39 ++-- thunar/thunar-throbber-fallback.h | 31 --- thunar/thunar-throbber-fallback.png | Bin 2713 -> 0 bytes thunar/thunar-throbber.c | 371 ----------------------------------- thunar/thunar-throbber.h | 47 ----- thunar/thunar-window.c | 16 +- 9 files changed, 28 insertions(+), 487 deletions(-) diff --git a/.gitignore b/.gitignore index 245172f..51fb0b1 100644 --- a/.gitignore +++ b/.gitignore @@ -107,7 +107,6 @@ tests/data/.*.swp thunar/*.loT thunar/.*.swp thunar/thunar-fallback-icon.c -thunar/thunar-throbber-fallback.c thunar/thunar-thumbnail-frame.c thunar/thunar-thumbnailer-manager-proxy.h thunar/thunar-thumbnailer-proxy.h diff --git a/po/POTFILES.in b/po/POTFILES.in index 63e17af..751ba59 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -78,7 +78,6 @@ thunar/thunar-statusbar.c thunar/thunar-stock.c thunar/thunar-templates-action.c thunar/thunar-text-renderer.c -thunar/thunar-throbber.c thunar/thunar-thumbnail-cache.c thunar/thunar-thumbnailer.c thunar/thunar-transfer-job.c diff --git a/thunar/Makefile.am b/thunar/Makefile.am index 0f9c198..4065d87 100644 --- a/thunar/Makefile.am +++ b/thunar/Makefile.am @@ -195,10 +195,6 @@ thunar_SOURCES = \ thunar-templates-action.h \ thunar-text-renderer.c \ thunar-text-renderer.h \ - thunar-throbber.c \ - thunar-throbber.h \ - thunar-throbber-fallback.c \ - thunar-throbber-fallback.h \ thunar-thumbnail-cache.c \ thunar-thumbnail-cache.h \ thunar-thumbnailer.c \ @@ -318,7 +314,6 @@ DISTCLEANFILES += \ thunar-shortcuts-pane-ui.h \ thunar-renamer-dialog-ui.h \ thunar-standard-view-ui.h \ - thunar-throbber-fallback.c \ thunar-thumbnail-frame.c \ thunar-window-ui.h @@ -331,7 +326,6 @@ BUILT_SOURCES = \ thunar-shortcuts-pane-ui.h \ thunar-renamer-dialog-ui.h \ thunar-standard-view-ui.h \ - thunar-throbber-fallback.c \ thunar-thumbnail-frame.c \ thunar-window-ui.h @@ -356,9 +350,6 @@ thunar-thumbnail-cache-proxy.h: $(srcdir)/thunar-thumbnail-cache-dbus.xml Makefi ) endif -thunar-throbber-fallback.c: $(srcdir)/thunar-throbber-fallback.png Makefile - $(AM_V_GEN) (echo "#include <thunar/thunar-throbber-fallback.h>" && gdk-pixbuf-csource --extern --raw --stream --name=thunar_throbber_fallback $(srcdir)/thunar-throbber-fallback.png) > thunar-throbber-fallback.c - thunar-thumbnail-frame.c: $(srcdir)/thunar-thumbnail-frame.png Makefile $(AM_V_GEN) (echo "#include <thunar/thunar-thumbnail-frame.h>" && gdk-pixbuf-csource --extern --raw --stream --name=thunar_thumbnail_frame $(srcdir)/thunar-thumbnail-frame.png) > thunar-thumbnail-frame.c diff --git a/thunar/thunar-size-label.c b/thunar/thunar-size-label.c index 3f0c12b..679a256 100644 --- a/thunar/thunar-size-label.c +++ b/thunar/thunar-size-label.c @@ -33,7 +33,6 @@ #include <thunar/thunar-gtk-extensions.h> #include <thunar/thunar-private.h> #include <thunar/thunar-size-label.h> -#include <thunar/thunar-throbber.h> #include <thunar/thunar-deep-count-job.h> @@ -88,7 +87,7 @@ struct _ThunarSizeLabel GList *files; GtkWidget *label; - GtkWidget *throbber; + GtkWidget *spinner; }; @@ -132,17 +131,19 @@ thunar_size_label_init (ThunarSizeLabel *size_label) /* configure the box */ gtk_box_set_spacing (GTK_BOX (size_label), 6); - /* add an evenbox for the throbber */ + /* add an evenbox for the spinner */ ebox = gtk_event_box_new (); gtk_event_box_set_visible_window (GTK_EVENT_BOX (ebox), FALSE); g_signal_connect (G_OBJECT (ebox), "button-press-event", G_CALLBACK (thunar_size_label_button_press_event), size_label); gtk_widget_set_tooltip_text (ebox, _("Click here to stop calculating the total size of the folder.")); gtk_box_pack_start (GTK_BOX (size_label), ebox, FALSE, FALSE, 0); - /* add the throbber widget */ - size_label->throbber = thunar_throbber_new (); - exo_binding_new (G_OBJECT (size_label->throbber), "visible", G_OBJECT (ebox), "visible"); - gtk_container_add (GTK_CONTAINER (ebox), size_label->throbber); + /* add the spinner widget */ + size_label->spinner = gtk_spinner_new (); + gtk_widget_set_size_request (size_label->spinner, 16, 16); + exo_binding_new (G_OBJECT (size_label->spinner), "visible", G_OBJECT (ebox), "visible"); + gtk_container_add (GTK_CONTAINER (ebox), size_label->spinner); + gtk_widget_show (size_label->spinner); /* add the label widget */ size_label->label = gtk_label_new (_("Calculating...")); @@ -230,7 +231,7 @@ thunar_size_label_button_press_event (GtkWidget *ebox, _thunar_return_val_if_fail (GTK_IS_EVENT_BOX (ebox), FALSE); _thunar_return_val_if_fail (THUNAR_IS_SIZE_LABEL (size_label), FALSE); - /* left button press on the throbber cancels the calculation */ + /* left button press on the spinner cancels the calculation */ if (G_LIKELY (event->button == 1)) { /* cancel the pending job (if any) */ @@ -242,9 +243,9 @@ thunar_size_label_button_press_event (GtkWidget *ebox, size_label->job = NULL; } - /* be sure to stop and hide the throbber */ - thunar_throbber_set_animated (THUNAR_THROBBER (size_label->throbber), FALSE); - gtk_widget_hide (size_label->throbber); + /* be sure to stop and hide the spinner */ + gtk_spinner_stop (GTK_SPINNER (size_label->spinner)); + gtk_widget_hide (size_label->spinner); /* tell the user that the operation was canceled */ gtk_label_set_text (GTK_LABEL (size_label->label), _("Calculation aborted")); @@ -289,17 +290,17 @@ thunar_size_label_files_changed (ThunarSizeLabel *size_label) /* tell the user that we started calculation */ gtk_label_set_text (GTK_LABEL (size_label->label), _("Calculating...")); - thunar_throbber_set_animated (THUNAR_THROBBER (size_label->throbber), TRUE); - gtk_widget_show (size_label->throbber); + gtk_spinner_start (GTK_SPINNER (size_label->spinner)); + gtk_widget_show (size_label->spinner); /* launch the job */ exo_job_launch (EXO_JOB (size_label->job)); } else { - /* this is going to be quick, stop and hide the throbber */ - thunar_throbber_set_animated (THUNAR_THROBBER (size_label->throbber), FALSE); - gtk_widget_hide (size_label->throbber); + /* this is going to be quick, stop and hide the spinner */ + gtk_spinner_stop (GTK_SPINNER (size_label->spinner)); + gtk_widget_hide (size_label->spinner); /* determine the size of the file */ size = thunar_file_get_size (THUNAR_FILE (size_label->files->data)); @@ -336,9 +337,9 @@ thunar_size_label_finished (ExoJob *job, _thunar_return_if_fail (THUNAR_IS_SIZE_LABEL (size_label)); _thunar_return_if_fail (size_label->job == THUNAR_DEEP_COUNT_JOB (job)); - /* stop and hide the throbber */ - thunar_throbber_set_animated (THUNAR_THROBBER (size_label->throbber), FALSE); - gtk_widget_hide (size_label->throbber); + /* stop and hide the spinner */ + gtk_spinner_stop (GTK_SPINNER (size_label->spinner)); + gtk_widget_hide (size_label->spinner); /* disconnect from the job */ g_signal_handlers_disconnect_matched (size_label->job, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, size_label); diff --git a/thunar/thunar-throbber-fallback.h b/thunar/thunar-throbber-fallback.h deleted file mode 100644 index 6481258..0000000 --- a/thunar/thunar-throbber-fallback.h +++ /dev/null @@ -1,31 +0,0 @@ -/* $Id$ */ -/*- - * Copyright (c) 2006 Benedikt Meurer <be...@xfce.org> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 59 Temple - * Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef __THUNAR_THROBBER_FALLBACK_H__ -#define __THUNAR_THROBBER_FALLBACK_H__ - -#include <glib.h> - -G_BEGIN_DECLS; - -extern const guint8 thunar_throbber_fallback[]; - -G_END_DECLS; - -#endif /* !__THUNAR_THROBBER_FALLBACK_H__ */ diff --git a/thunar/thunar-throbber-fallback.png b/thunar/thunar-throbber-fallback.png deleted file mode 100644 index 5f0a19d..0000000 Binary files a/thunar/thunar-throbber-fallback.png and /dev/null differ diff --git a/thunar/thunar-throbber.c b/thunar/thunar-throbber.c deleted file mode 100644 index 4bcd087..0000000 --- a/thunar/thunar-throbber.c +++ /dev/null @@ -1,371 +0,0 @@ -/* $Id$ */ -/*- - * Copyright (c) 2005-2006 Benedikt Meurer <be...@xfce.org> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 59 Temple - * Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <exo/exo.h> - -#include <thunar/thunar-gobject-extensions.h> -#include <thunar/thunar-private.h> -#include <thunar/thunar-throbber.h> -#include <thunar/thunar-throbber-fallback.h> - - - -/* Property identifiers */ -enum -{ - PROP_0, - PROP_ANIMATED, -}; - - - -static void thunar_throbber_dispose (GObject *object); -static void thunar_throbber_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); -static void thunar_throbber_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); -static void thunar_throbber_realize (GtkWidget *widget); -static void thunar_throbber_unrealize (GtkWidget *widget); -static void thunar_throbber_size_request (GtkWidget *widget, - GtkRequisition *requisition); -static gboolean thunar_throbber_expose_event (GtkWidget *widget, - GdkEventExpose *event); -static gboolean thunar_throbber_timer (gpointer user_data); -static void thunar_throbber_timer_destroy (gpointer user_data); - - - -struct _ThunarThrobberClass -{ - GtkWidgetClass __parent__; -}; - -struct _ThunarThrobber -{ - GtkWidget __parent__; - - GdkPixbuf *icon; - - gboolean animated; - gint index; - gint timer_id; -}; - - - -G_DEFINE_TYPE (ThunarThrobber, thunar_throbber, GTK_TYPE_WIDGET) - - - -static void -thunar_throbber_class_init (ThunarThrobberClass *klass) -{ - GtkWidgetClass *gtkwidget_class; - GObjectClass *gobject_class; - GdkPixbuf *icon; - - gobject_class = G_OBJECT_CLASS (klass); - gobject_class->dispose = thunar_throbber_dispose; - gobject_class->get_property = thunar_throbber_get_property; - gobject_class->set_property = thunar_throbber_set_property; - - gtkwidget_class = GTK_WIDGET_CLASS (klass); - gtkwidget_class->realize = thunar_throbber_realize; - gtkwidget_class->unrealize = thunar_throbber_unrealize; - gtkwidget_class->size_request = thunar_throbber_size_request; - gtkwidget_class->expose_event = thunar_throbber_expose_event; - - /** - * ThunarThrobber:animated: - * - * Whether the throbber should display an animation. - **/ - g_object_class_install_property (gobject_class, - PROP_ANIMATED, - g_param_spec_boolean ("animated", - "animated", - "animated", - FALSE, - EXO_PARAM_READWRITE)); - - /* register the "process-working" fallback icon */ - icon = gdk_pixbuf_new_from_inline (-1, thunar_throbber_fallback, FALSE, NULL); - gtk_icon_theme_add_builtin_icon ("process-working", 16, icon); - g_object_unref (G_OBJECT (icon)); -} - - - -static void -thunar_throbber_init (ThunarThrobber *throbber) -{ - GTK_WIDGET_SET_FLAGS (throbber, GTK_NO_WINDOW); - throbber->timer_id = -1; -} - - - -static void -thunar_throbber_dispose (GObject *object) -{ - ThunarThrobber *throbber = THUNAR_THROBBER (object); - - /* stop any running animation */ - if (G_UNLIKELY (throbber->timer_id >= 0)) - g_source_remove (throbber->timer_id); - - (*G_OBJECT_CLASS (thunar_throbber_parent_class)->dispose) (object); -} - - - -static void -thunar_throbber_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - ThunarThrobber *throbber = THUNAR_THROBBER (object); - - switch (prop_id) - { - case PROP_ANIMATED: - g_value_set_boolean (value, thunar_throbber_get_animated (throbber)); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - - - -static void -thunar_throbber_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - ThunarThrobber *throbber = THUNAR_THROBBER (object); - - switch (prop_id) - { - case PROP_ANIMATED: - thunar_throbber_set_animated (throbber, g_value_get_boolean (value)); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - - - -static void -thunar_throbber_realize (GtkWidget *widget) -{ - ThunarThrobber *throbber = THUNAR_THROBBER (widget); - GtkIconTheme *icon_theme; - - /* let Gtk+ realize the widget */ - (*GTK_WIDGET_CLASS (thunar_throbber_parent_class)->realize) (widget); - - /* determine the icon theme for our screen */ - icon_theme = gtk_icon_theme_get_for_screen (gtk_widget_get_screen (widget)); - - /* try to lookup the "process-working" icon */ - throbber->icon = gtk_icon_theme_load_icon (icon_theme, "process-working", 16, GTK_ICON_LOOKUP_USE_BUILTIN | GTK_ICON_LOOKUP_NO_SVG, NULL); -} - - - -static void -thunar_throbber_unrealize (GtkWidget *widget) -{ - ThunarThrobber *throbber = THUNAR_THROBBER (widget); - - /* release the icon if any */ - if (G_LIKELY (throbber->icon != NULL)) - { - g_object_unref (G_OBJECT (throbber->icon)); - throbber->icon = NULL; - } - - /* let Gtk+ unrealize the widget */ - (*GTK_WIDGET_CLASS (thunar_throbber_parent_class)->unrealize) (widget); -} - - - -static void -thunar_throbber_size_request (GtkWidget *widget, - GtkRequisition *requisition) -{ - requisition->width = 16; - requisition->height = 16; -} - - - -static gboolean -thunar_throbber_expose_event (GtkWidget *widget, - GdkEventExpose *event) -{ - ThunarThrobber *throbber = THUNAR_THROBBER (widget); - gint icon_index; - gint icon_cols; - gint icon_rows; - gint icon_x; - gint icon_y; - - /* verify that we have a valid icon */ - if (G_LIKELY (throbber->icon != NULL)) - { - /* determine the icon columns and icon rows */ - icon_cols = gdk_pixbuf_get_width (throbber->icon) / 16; - icon_rows = gdk_pixbuf_get_height (throbber->icon) / 16; - - /* verify that the icon is usable */ - if (G_LIKELY (icon_cols > 0 && icon_rows > 0)) - { - /* determine the icon index */ - icon_index = throbber->index % (icon_cols * icon_rows); - - /* make sure, we don't display the "empty state" while animated */ - if (G_LIKELY (throbber->timer_id >= 0)) - icon_index = MAX (icon_index, 1); - - /* determine the icon x/y offset for the icon index */ - icon_x = (icon_index % icon_cols) * 16; - icon_y = (icon_index / icon_cols) * 16; - - /* render the given part of the icon */ - gdk_draw_pixbuf (event->window, NULL, throbber->icon, icon_x, icon_y, - widget->allocation.x, widget->allocation.y, - 16, 16, GDK_RGB_DITHER_NONE, 0, 0); - } - } - - return TRUE; -} - - - -static gboolean -thunar_throbber_timer (gpointer user_data) -{ - ThunarThrobber *throbber = THUNAR_THROBBER (user_data); - - GDK_THREADS_ENTER (); - throbber->index += 1; - gtk_widget_queue_draw (GTK_WIDGET (throbber)); - GDK_THREADS_LEAVE (); - - return throbber->animated; -} - - - -static void -thunar_throbber_timer_destroy (gpointer user_data) -{ - THUNAR_THROBBER (user_data)->index = 0; - THUNAR_THROBBER (user_data)->timer_id = -1; -} - - - -/** - * thunar_throbber_new: - * - * Allocates a new #ThunarThrobber instance. - * - * Return value: the newly allocated #ThunarThrobber. - **/ -GtkWidget* -thunar_throbber_new (void) -{ - return g_object_new (THUNAR_TYPE_THROBBER, NULL); -} - - - -/** - * thunar_throbber_get_animated: - * @throbber : a #ThunarThrobber. - * - * Returns whether @throbber is currently animated. - * - * Return value: %TRUE if @throbber is animated. - **/ -gboolean -thunar_throbber_get_animated (const ThunarThrobber *throbber) -{ - _thunar_return_val_if_fail (THUNAR_IS_THROBBER (throbber), FALSE); - return throbber->animated; -} - - - -/** - * thunar_throbber_set_animated: - * @throbber : a #ThunarThrobber. - * @animated : whether to animate @throbber. - * - * If @animated is %TRUE, @throbber will display an animation. - **/ -void -thunar_throbber_set_animated (ThunarThrobber *throbber, - gboolean animated) -{ - _thunar_return_if_fail (THUNAR_IS_THROBBER (throbber)); - - /* check if we're already in the requested state */ - if (G_UNLIKELY (throbber->animated == animated)) - return; - - /* pick up the new state */ - throbber->animated = animated; - - /* start the timer if animated and not already running */ - if (animated && (throbber->timer_id < 0)) - { - /* start the animation */ - throbber->timer_id = g_timeout_add_full (G_PRIORITY_LOW, 25, thunar_throbber_timer, - throbber, thunar_throbber_timer_destroy); - } - - /* schedule a redraw with the new animation state */ - gtk_widget_queue_draw (GTK_WIDGET (throbber)); - - /* notify listeners */ - g_object_notify (G_OBJECT (throbber), "animated"); -} - - diff --git a/thunar/thunar-throbber.h b/thunar/thunar-throbber.h deleted file mode 100644 index 9484f42..0000000 --- a/thunar/thunar-throbber.h +++ /dev/null @@ -1,47 +0,0 @@ -/* $Id$ */ -/*- - * Copyright (c) 2005-2006 Benedikt Meurer <be...@xfce.org> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 59 Temple - * Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef __THUNAR_THROBBER_H__ -#define __THUNAR_THROBBER_H__ - -#include <gtk/gtk.h> - -G_BEGIN_DECLS; - -typedef struct _ThunarThrobberClass ThunarThrobberClass; -typedef struct _ThunarThrobber ThunarThrobber; - -#define THUNAR_TYPE_THROBBER (thunar_throbber_get_type ()) -#define THUNAR_THROBBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUNAR_TYPE_THROBBER, ThunarThrobber)) -#define THUNAR_THROBBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THUNAR_TYPE_THROBBER, ThunarThrobberClass)) -#define THUNAR_IS_THROBBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUNAR_TYPE_THROBBER)) -#define THUNAR_IS_THROBBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_TYPE_THROBBER)) -#define THUNAR_THROBBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_TYPE_THROBBER, ThunarThrobberClass)) - -GType thunar_throbber_get_type (void) G_GNUC_CONST; - -GtkWidget *thunar_throbber_new (void) G_GNUC_MALLOC; - -gboolean thunar_throbber_get_animated (const ThunarThrobber *throbber); -void thunar_throbber_set_animated (ThunarThrobber *throbber, - gboolean animated); - -G_END_DECLS; - -#endif /* !__THUNAR_THROBBER_H__ */ diff --git a/thunar/thunar-window.c b/thunar/thunar-window.c index 7e19e57..a669cb4 100644 --- a/thunar/thunar-window.c +++ b/thunar/thunar-window.c @@ -56,7 +56,6 @@ #include <thunar/thunar-private.h> #include <thunar/thunar-statusbar.h> #include <thunar/thunar-stock.h> -#include <thunar/thunar-throbber.h> #include <thunar/thunar-trash-action.h> #include <thunar/thunar-tree-pane.h> #include <thunar/thunar-window.h> @@ -253,7 +252,7 @@ struct _ThunarWindow GClosure *menu_item_deselected_closure; GtkWidget *table; - GtkWidget *throbber; + GtkWidget *spinner; GtkWidget *paned; GtkWidget *sidepane; GtkWidget *view_box; @@ -785,17 +784,18 @@ thunar_window_init (ThunarWindow *window) gtk_table_attach (GTK_TABLE (window->table), menubar, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show (menubar); - /* append the menu item for the throbber */ + /* append the menu item for the spinner */ item = gtk_menu_item_new (); gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE); gtk_menu_item_set_right_justified (GTK_MENU_ITEM (item), TRUE); gtk_menu_shell_append (GTK_MENU_SHELL (menubar), item); gtk_widget_show (item); - /* place the throbber into the menu item */ - window->throbber = thunar_throbber_new (); - gtk_container_add (GTK_CONTAINER (item), window->throbber); - gtk_widget_show (window->throbber); + /* place the spinner into the menu item */ + window->spinner = gtk_spinner_new (); + gtk_container_add (GTK_CONTAINER (item), window->spinner); + gtk_widget_set_size_request (window->spinner, 16, 16); + gtk_widget_show (window->spinner); /* check if we need to add the root warning */ if (G_UNLIKELY (geteuid () == 0)) @@ -1902,7 +1902,7 @@ thunar_window_action_view_changed (GtkRadioAction *action, g_signal_connect_swapped (G_OBJECT (window->view), "change-directory", G_CALLBACK (thunar_window_set_current_directory), window); exo_binding_new (G_OBJECT (window), "current-directory", G_OBJECT (window->view), "current-directory"); exo_binding_new (G_OBJECT (window), "show-hidden", G_OBJECT (window->view), "show-hidden"); - exo_binding_new (G_OBJECT (window->view), "loading", G_OBJECT (window->throbber), "animated"); + exo_binding_new (G_OBJECT (window->view), "loading", G_OBJECT (window->spinner), "active"); exo_binding_new (G_OBJECT (window->view), "selected-files", G_OBJECT (window->launcher), "selected-files"); exo_mutual_binding_new (G_OBJECT (window->view), "zoom-level", G_OBJECT (window), "zoom-level"); gtk_table_attach (GTK_TABLE (window->view_box), window->view, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits