summaryrefslogtreecommitdiff
path: root/src/nautilus-progress-info-widget.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nautilus-progress-info-widget.c')
-rw-r--r--src/nautilus-progress-info-widget.c254
1 files changed, 134 insertions, 120 deletions
diff --git a/src/nautilus-progress-info-widget.c b/src/nautilus-progress-info-widget.c
index a2d711c0b..1cf350ba5 100644
--- a/src/nautilus-progress-info-widget.c
+++ b/src/nautilus-progress-info-widget.c
@@ -24,19 +24,21 @@
#include <config.h>
#include "nautilus-progress-info-widget.h"
-struct _NautilusProgressInfoWidgetPrivate {
- NautilusProgressInfo *info;
-
- GtkWidget *status; /* GtkLabel */
- GtkWidget *details; /* GtkLabel */
- GtkWidget *progress_bar;
- GtkWidget *button;
- GtkWidget *done_image;
+struct _NautilusProgressInfoWidgetPrivate
+{
+ NautilusProgressInfo *info;
+
+ GtkWidget *status; /* GtkLabel */
+ GtkWidget *details; /* GtkLabel */
+ GtkWidget *progress_bar;
+ GtkWidget *button;
+ GtkWidget *done_image;
};
-enum {
- PROP_INFO = 1,
- NUM_PROPERTIES
+enum
+{
+ PROP_INFO = 1,
+ NUM_PROPERTIES
};
static GParamSpec *properties[NUM_PROPERTIES] = { NULL };
@@ -47,169 +49,181 @@ G_DEFINE_TYPE_WITH_PRIVATE (NautilusProgressInfoWidget, nautilus_progress_info_w
static void
info_finished (NautilusProgressInfoWidget *self)
{
- gtk_button_set_image (GTK_BUTTON (self->priv->button), self->priv->done_image);
- gtk_widget_set_sensitive (self->priv->button, FALSE);
+ gtk_button_set_image (GTK_BUTTON (self->priv->button), self->priv->done_image);
+ gtk_widget_set_sensitive (self->priv->button, FALSE);
}
static void
info_cancelled (NautilusProgressInfoWidget *self)
{
- gtk_widget_set_sensitive (self->priv->button, FALSE);
+ gtk_widget_set_sensitive (self->priv->button, FALSE);
}
static void
update_data (NautilusProgressInfoWidget *self)
{
- char *status, *details;
- char *markup;
-
- status = nautilus_progress_info_get_status (self->priv->info);
- gtk_label_set_text (GTK_LABEL (self->priv->status), status);
- g_free (status);
-
- details = nautilus_progress_info_get_details (self->priv->info);
- markup = g_markup_printf_escaped ("<span size='small'>%s</span>", details);
- gtk_label_set_markup (GTK_LABEL (self->priv->details), markup);
- g_free (details);
- g_free (markup);
+ char *status, *details;
+ char *markup;
+
+ status = nautilus_progress_info_get_status (self->priv->info);
+ gtk_label_set_text (GTK_LABEL (self->priv->status), status);
+ g_free (status);
+
+ details = nautilus_progress_info_get_details (self->priv->info);
+ markup = g_markup_printf_escaped ("<span size='small'>%s</span>", details);
+ gtk_label_set_markup (GTK_LABEL (self->priv->details), markup);
+ g_free (details);
+ g_free (markup);
}
static void
update_progress (NautilusProgressInfoWidget *self)
{
- double progress;
-
- progress = nautilus_progress_info_get_progress (self->priv->info);
- if (progress < 0) {
- gtk_progress_bar_pulse (GTK_PROGRESS_BAR (self->priv->progress_bar));
- } else {
- gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (self->priv->progress_bar), progress);
- }
+ double progress;
+
+ progress = nautilus_progress_info_get_progress (self->priv->info);
+ if (progress < 0)
+ {
+ gtk_progress_bar_pulse (GTK_PROGRESS_BAR (self->priv->progress_bar));
+ }
+ else
+ {
+ gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (self->priv->progress_bar), progress);
+ }
}
static void
-button_clicked (GtkWidget *button,
- NautilusProgressInfoWidget *self)
+button_clicked (GtkWidget *button,
+ NautilusProgressInfoWidget *self)
{
- if (!nautilus_progress_info_get_is_finished (self->priv->info)) {
- nautilus_progress_info_cancel (self->priv->info);
- }
+ if (!nautilus_progress_info_get_is_finished (self->priv->info))
+ {
+ nautilus_progress_info_cancel (self->priv->info);
+ }
}
static void
nautilus_progress_info_widget_dispose (GObject *obj)
{
- NautilusProgressInfoWidget *self = NAUTILUS_PROGRESS_INFO_WIDGET (obj);
+ NautilusProgressInfoWidget *self = NAUTILUS_PROGRESS_INFO_WIDGET (obj);
- if (self->priv->info != NULL) {
- g_signal_handlers_disconnect_by_data (self->priv->info, self);
- }
- g_clear_object (&self->priv->info);
+ if (self->priv->info != NULL)
+ {
+ g_signal_handlers_disconnect_by_data (self->priv->info, self);
+ }
+ g_clear_object (&self->priv->info);
- G_OBJECT_CLASS (nautilus_progress_info_widget_parent_class)->dispose (obj);
+ G_OBJECT_CLASS (nautilus_progress_info_widget_parent_class)->dispose (obj);
}
static void
nautilus_progress_info_widget_constructed (GObject *obj)
{
- NautilusProgressInfoWidget *self = NAUTILUS_PROGRESS_INFO_WIDGET (obj);
-
- G_OBJECT_CLASS (nautilus_progress_info_widget_parent_class)->constructed (obj);
-
- g_signal_connect_swapped (self->priv->info,
- "changed",
- G_CALLBACK (update_data), self);
- g_signal_connect_swapped (self->priv->info,
- "progress-changed",
- G_CALLBACK (update_progress), self);
- g_signal_connect_swapped (self->priv->info,
- "finished",
- G_CALLBACK (info_finished), self);
- g_signal_connect_swapped (self->priv->info,
- "cancelled",
- G_CALLBACK (info_cancelled), self);
-
- update_data (self);
- update_progress (self);
+ NautilusProgressInfoWidget *self = NAUTILUS_PROGRESS_INFO_WIDGET (obj);
+
+ G_OBJECT_CLASS (nautilus_progress_info_widget_parent_class)->constructed (obj);
+
+ g_signal_connect_swapped (self->priv->info,
+ "changed",
+ G_CALLBACK (update_data), self);
+ g_signal_connect_swapped (self->priv->info,
+ "progress-changed",
+ G_CALLBACK (update_progress), self);
+ g_signal_connect_swapped (self->priv->info,
+ "finished",
+ G_CALLBACK (info_finished), self);
+ g_signal_connect_swapped (self->priv->info,
+ "cancelled",
+ G_CALLBACK (info_cancelled), self);
+
+ update_data (self);
+ update_progress (self);
}
static void
-nautilus_progress_info_widget_set_property (GObject *object,
- guint property_id,
- const GValue *value,
- GParamSpec *pspec)
+nautilus_progress_info_widget_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
- NautilusProgressInfoWidget *self = NAUTILUS_PROGRESS_INFO_WIDGET (object);
-
- switch (property_id) {
- case PROP_INFO:
- self->priv->info = g_value_dup_object (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
- break;
- }
+ NautilusProgressInfoWidget *self = NAUTILUS_PROGRESS_INFO_WIDGET (object);
+
+ switch (property_id)
+ {
+ case PROP_INFO:
+ {
+ self->priv->info = g_value_dup_object (value);
+ }
+ break;
+
+ default:
+ {
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ }
+ break;
+ }
}
static void
nautilus_progress_info_widget_init (NautilusProgressInfoWidget *self)
{
- self->priv = nautilus_progress_info_widget_get_instance_private (self);
+ self->priv = nautilus_progress_info_widget_get_instance_private (self);
- gtk_widget_init_template (GTK_WIDGET (self));
+ gtk_widget_init_template (GTK_WIDGET (self));
- g_signal_connect (self->priv->button, "clicked",
- G_CALLBACK (button_clicked), self);
+ g_signal_connect (self->priv->button, "clicked",
+ G_CALLBACK (button_clicked), self);
}
static void
nautilus_progress_info_widget_class_init (NautilusProgressInfoWidgetClass *klass)
{
- GObjectClass *oclass;
- GtkWidgetClass *widget_class;
-
- widget_class = GTK_WIDGET_CLASS (klass);
- oclass = G_OBJECT_CLASS (klass);
- oclass->set_property = nautilus_progress_info_widget_set_property;
- oclass->constructed = nautilus_progress_info_widget_constructed;
- oclass->dispose = nautilus_progress_info_widget_dispose;
-
- properties[PROP_INFO] =
- g_param_spec_object ("info",
- "NautilusProgressInfo",
- "The NautilusProgressInfo associated with this widget",
- NAUTILUS_TYPE_PROGRESS_INFO,
- G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS);
-
- g_object_class_install_properties (oclass, NUM_PROPERTIES, properties);
-
- gtk_widget_class_set_template_from_resource (widget_class,
- "/org/gnome/nautilus/ui/nautilus-progress-info-widget.ui");
-
- gtk_widget_class_bind_template_child_private (widget_class, NautilusProgressInfoWidget, status);
- gtk_widget_class_bind_template_child_private (widget_class, NautilusProgressInfoWidget, details);
- gtk_widget_class_bind_template_child_private (widget_class, NautilusProgressInfoWidget, progress_bar);
- gtk_widget_class_bind_template_child_private (widget_class, NautilusProgressInfoWidget, button);
- gtk_widget_class_bind_template_child_private (widget_class, NautilusProgressInfoWidget, done_image);
+ GObjectClass *oclass;
+ GtkWidgetClass *widget_class;
+
+ widget_class = GTK_WIDGET_CLASS (klass);
+ oclass = G_OBJECT_CLASS (klass);
+ oclass->set_property = nautilus_progress_info_widget_set_property;
+ oclass->constructed = nautilus_progress_info_widget_constructed;
+ oclass->dispose = nautilus_progress_info_widget_dispose;
+
+ properties[PROP_INFO] =
+ g_param_spec_object ("info",
+ "NautilusProgressInfo",
+ "The NautilusProgressInfo associated with this widget",
+ NAUTILUS_TYPE_PROGRESS_INFO,
+ G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (oclass, NUM_PROPERTIES, properties);
+
+ gtk_widget_class_set_template_from_resource (widget_class,
+ "/org/gnome/nautilus/ui/nautilus-progress-info-widget.ui");
+
+ gtk_widget_class_bind_template_child_private (widget_class, NautilusProgressInfoWidget, status);
+ gtk_widget_class_bind_template_child_private (widget_class, NautilusProgressInfoWidget, details);
+ gtk_widget_class_bind_template_child_private (widget_class, NautilusProgressInfoWidget, progress_bar);
+ gtk_widget_class_bind_template_child_private (widget_class, NautilusProgressInfoWidget, button);
+ gtk_widget_class_bind_template_child_private (widget_class, NautilusProgressInfoWidget, done_image);
}
GtkWidget *
nautilus_progress_info_widget_new (NautilusProgressInfo *info)
{
- NautilusProgressInfoWidget *self;
+ NautilusProgressInfoWidget *self;
- self = g_object_new (NAUTILUS_TYPE_PROGRESS_INFO_WIDGET,
- "info", info,
- NULL);
+ self = g_object_new (NAUTILUS_TYPE_PROGRESS_INFO_WIDGET,
+ "info", info,
+ NULL);
- if (nautilus_progress_info_get_is_finished (self->priv->info)) {
- gtk_button_set_image (GTK_BUTTON (self->priv->button), self->priv->done_image);
- }
+ if (nautilus_progress_info_get_is_finished (self->priv->info))
+ {
+ gtk_button_set_image (GTK_BUTTON (self->priv->button), self->priv->done_image);
+ }
- gtk_widget_set_sensitive (self->priv->button,
- !nautilus_progress_info_get_is_finished (self->priv->info) &&
- !nautilus_progress_info_get_is_cancelled (self->priv->info));
+ gtk_widget_set_sensitive (self->priv->button,
+ !nautilus_progress_info_get_is_finished (self->priv->info) &&
+ !nautilus_progress_info_get_is_cancelled (self->priv->info));
- return GTK_WIDGET (self);
+ return GTK_WIDGET (self);
}