[Xfce4-commits] <thunar:master> Use a GtkSpinner instead of the ThunarThrobber.
Nick Schermer
noreply at xfce.org
Sun Sep 16 20:20:04 CEST 2012
Updating branch refs/heads/master
to e896587aceea32af7bb7bfab5a30e644087cd68d (commit)
from c1420216a140e6e87b9291f4a5dcc0223c4432e7 (commit)
commit e896587aceea32af7bb7bfab5a30e644087cd68d
Author: Nick Schermer <nick at 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 <benny at 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 <benny at 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 <benny at 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);
More information about the Xfce4-commits
mailing list