aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc/e-activity.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2009-11-06 22:50:55 +0800
committerMatthew Barnes <mbarnes@redhat.com>2009-11-08 03:01:45 +0800
commita1f990ef82d92f723c609ad6a5a7764ff55a641d (patch)
tree3fcc5829dd1e6496fef79bb3bb0f81874da8c060 /widgets/misc/e-activity.c
parentf81497d2b99d7c686906ad7f53afc1639250433e (diff)
downloadgsoc2013-evolution-a1f990ef82d92f723c609ad6a5a7764ff55a641d.tar
gsoc2013-evolution-a1f990ef82d92f723c609ad6a5a7764ff55a641d.tar.gz
gsoc2013-evolution-a1f990ef82d92f723c609ad6a5a7764ff55a641d.tar.bz2
gsoc2013-evolution-a1f990ef82d92f723c609ad6a5a7764ff55a641d.tar.lz
gsoc2013-evolution-a1f990ef82d92f723c609ad6a5a7764ff55a641d.tar.xz
gsoc2013-evolution-a1f990ef82d92f723c609ad6a5a7764ff55a641d.tar.zst
gsoc2013-evolution-a1f990ef82d92f723c609ad6a5a7764ff55a641d.zip
Move EActivity and subclasses to e-util.
Planning to write some asynchronous utility functions in e-util that return EActivity objects.
Diffstat (limited to 'widgets/misc/e-activity.c')
-rw-r--r--widgets/misc/e-activity.c605
1 files changed, 0 insertions, 605 deletions
diff --git a/widgets/misc/e-activity.c b/widgets/misc/e-activity.c
deleted file mode 100644
index 9f8faf75cb..0000000000
--- a/widgets/misc/e-activity.c
+++ /dev/null
@@ -1,605 +0,0 @@
-/*
- * e-activity.c
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) version 3.
- *
- * 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with the program; if not, see <http://www.gnu.org/licenses/>
- *
- *
- * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
- *
- */
-
-#include "e-activity.h"
-
-#include <stdarg.h>
-#include <glib/gi18n.h>
-
-#include "e-util/e-util.h"
-
-#define E_ACTIVITY_GET_PRIVATE(obj) \
- (G_TYPE_INSTANCE_GET_PRIVATE \
- ((obj), E_TYPE_ACTIVITY, EActivityPrivate))
-
-struct _EActivityPrivate {
- gchar *icon_name;
- gchar *primary_text;
- gchar *secondary_text;
- gdouble percent;
-
- guint allow_cancel : 1;
- guint cancelled : 1;
- guint clickable : 1;
- guint completed : 1;
-};
-
-enum {
- PROP_0,
- PROP_ALLOW_CANCEL,
- PROP_CLICKABLE,
- PROP_ICON_NAME,
- PROP_PERCENT,
- PROP_PRIMARY_TEXT,
- PROP_SECONDARY_TEXT
-};
-
-enum {
- CANCELLED,
- CLICKED,
- COMPLETED,
- DESCRIBE,
- LAST_SIGNAL
-};
-
-static gpointer parent_class;
-static gulong signals[LAST_SIGNAL];
-
-static gboolean
-activity_describe_accumulator (GSignalInvocationHint *ihint,
- GValue *return_accu,
- const GValue *handler_return,
- gpointer accu_data)
-{
- const gchar *string;
-
- string = g_value_get_string (handler_return);
- g_value_set_string (return_accu, string);
-
- return (string == NULL);
-}
-
-static void
-activity_set_property (GObject *object,
- guint property_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- switch (property_id) {
- case PROP_ALLOW_CANCEL:
- e_activity_set_allow_cancel (
- E_ACTIVITY (object),
- g_value_get_boolean (value));
- return;
-
- case PROP_CLICKABLE:
- e_activity_set_clickable (
- E_ACTIVITY (object),
- g_value_get_boolean (value));
- return;
-
- case PROP_ICON_NAME:
- e_activity_set_icon_name (
- E_ACTIVITY (object),
- g_value_get_string (value));
- return;
-
- case PROP_PERCENT:
- e_activity_set_percent (
- E_ACTIVITY (object),
- g_value_get_double (value));
- return;
-
- case PROP_PRIMARY_TEXT:
- e_activity_set_primary_text (
- E_ACTIVITY (object),
- g_value_get_string (value));
- return;
-
- case PROP_SECONDARY_TEXT:
- e_activity_set_secondary_text (
- E_ACTIVITY (object),
- g_value_get_string (value));
- return;
- }
-
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-}
-
-static void
-activity_get_property (GObject *object,
- guint property_id,
- GValue *value,
- GParamSpec *pspec)
-{
- switch (property_id) {
- case PROP_ALLOW_CANCEL:
- g_value_set_boolean (
- value, e_activity_get_allow_cancel (
- E_ACTIVITY (object)));
- return;
-
- case PROP_CLICKABLE:
- g_value_set_boolean (
- value, e_activity_get_clickable (
- E_ACTIVITY (object)));
- return;
-
- case PROP_ICON_NAME:
- g_value_set_string (
- value, e_activity_get_icon_name (
- E_ACTIVITY (object)));
- return;
-
- case PROP_PERCENT:
- g_value_set_double (
- value, e_activity_get_percent (
- E_ACTIVITY (object)));
- return;
-
- case PROP_PRIMARY_TEXT:
- g_value_set_string (
- value, e_activity_get_primary_text (
- E_ACTIVITY (object)));
- return;
-
- case PROP_SECONDARY_TEXT:
- g_value_set_string (
- value, e_activity_get_secondary_text (
- E_ACTIVITY (object)));
- return;
- }
-
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-}
-
-static void
-activity_finalize (GObject *object)
-{
- EActivityPrivate *priv;
-
- priv = E_ACTIVITY_GET_PRIVATE (object);
-
- g_free (priv->icon_name);
- g_free (priv->primary_text);
- g_free (priv->secondary_text);
-
- /* Chain up to parent's finalize() method. */
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static void
-activity_cancelled (EActivity *activity)
-{
- activity->priv->cancelled = TRUE;
-}
-
-static void
-activity_completed (EActivity *activity)
-{
- activity->priv->completed = TRUE;
-}
-
-static void
-activity_clicked (EActivity *activity)
-{
- /* Allow subclasses to safely chain up. */
-}
-
-static gchar *
-activity_describe (EActivity *activity)
-{
- GString *string;
- const gchar *text;
- gboolean cancelled;
- gboolean completed;
- gdouble percent;
-
- string = g_string_sized_new (256);
- text = e_activity_get_primary_text (activity);
- cancelled = e_activity_is_cancelled (activity);
- completed = e_activity_is_completed (activity);
- percent = e_activity_get_percent (activity);
-
- if (cancelled) {
- /* Translators: This is a cancelled activity. */
- g_string_printf (string, _("%s (cancelled)"), text);
- } else if (completed) {
- /* Translators: This is a completed activity. */
- g_string_printf (string, _("%s (completed)"), text);
- } else if (percent < 0.0) {
- /* Translators: This is an activity whose percent
- * complete is unknown. */
- g_string_printf (string, _("%s..."), text);
- } else {
- /* Translators: This is an activity whose percent
- * complete is known. */
- g_string_printf (
- string, _("%s (%d%% complete)"), text,
- (gint) (percent * 100.0 + 0.5));
- }
-
- return g_string_free (string, FALSE);
-}
-
-static void
-activity_class_init (EActivityClass *class)
-{
- GObjectClass *object_class;
-
- parent_class = g_type_class_peek_parent (class);
- g_type_class_add_private (class, sizeof (EActivityPrivate));
-
- object_class = G_OBJECT_CLASS (class);
- object_class->set_property = activity_set_property;
- object_class->get_property = activity_get_property;
- object_class->finalize = activity_finalize;
-
- class->cancelled = activity_cancelled;
- class->completed = activity_completed;
- class->clicked = activity_clicked;
- class->describe = activity_describe;
-
- g_object_class_install_property (
- object_class,
- PROP_ALLOW_CANCEL,
- g_param_spec_boolean (
- "allow-cancel",
- NULL,
- NULL,
- FALSE,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (
- object_class,
- PROP_CLICKABLE,
- g_param_spec_boolean (
- "clickable",
- NULL,
- NULL,
- FALSE,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (
- object_class,
- PROP_ICON_NAME,
- g_param_spec_string (
- "icon-name",
- NULL,
- NULL,
- NULL,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (
- object_class,
- PROP_PERCENT,
- g_param_spec_double (
- "percent",
- NULL,
- NULL,
- -G_MAXDOUBLE,
- G_MAXDOUBLE,
- -1.0,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (
- object_class,
- PROP_PRIMARY_TEXT,
- g_param_spec_string (
- "primary-text",
- NULL,
- NULL,
- NULL,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (
- object_class,
- PROP_SECONDARY_TEXT,
- g_param_spec_string (
- "secondary-text",
- NULL,
- NULL,
- NULL,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT));
-
- signals[CANCELLED] = g_signal_new (
- "cancelled",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET (EActivityClass, cancelled),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- signals[CLICKED] = g_signal_new (
- "clicked",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET (EActivityClass, clicked),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- signals[COMPLETED] = g_signal_new (
- "completed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET (EActivityClass, completed),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- signals[DESCRIBE] = g_signal_new (
- "describe",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET (EActivityClass, describe),
- activity_describe_accumulator, NULL,
- e_marshal_STRING__VOID,
- G_TYPE_STRING, 0);
-}
-
-static void
-activity_init (EActivity *activity)
-{
- activity->priv = E_ACTIVITY_GET_PRIVATE (activity);
-}
-
-GType
-e_activity_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0)) {
- static const GTypeInfo type_info = {
- sizeof (EActivityClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) activity_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (EActivity),
- 0, /* n_preallocs */
- (GInstanceInitFunc) activity_init,
- NULL /* value_table */
- };
-
- type = g_type_register_static (
- G_TYPE_OBJECT, "EActivity", &type_info, 0);
- }
-
- return type;
-}
-
-EActivity *
-e_activity_new (const gchar *primary_text)
-{
- return g_object_new (
- E_TYPE_ACTIVITY,
- "primary-text", primary_text, NULL);
-}
-
-EActivity *
-e_activity_newv (const gchar *format, ...)
-{
- EActivity *activity;
- gchar *primary_text;
- va_list args;
-
- va_start (args, format);
- primary_text = g_strdup_vprintf (format, args);
- activity = e_activity_new (primary_text);
- g_free (primary_text);
- va_end (args);
-
- return activity;
-}
-
-void
-e_activity_cancel (EActivity *activity)
-{
- g_return_if_fail (E_IS_ACTIVITY (activity));
-
- if (!activity->priv->allow_cancel)
- return;
-
- if (activity->priv->cancelled)
- return;
-
- if (activity->priv->completed)
- return;
-
- g_signal_emit (activity, signals[CANCELLED], 0);
-}
-
-void
-e_activity_complete (EActivity *activity)
-{
- g_return_if_fail (E_IS_ACTIVITY (activity));
-
- if (activity->priv->cancelled)
- return;
-
- if (activity->priv->completed)
- return;
-
- g_signal_emit (activity, signals[COMPLETED], 0);
-}
-
-void
-e_activity_clicked (EActivity *activity)
-{
- g_return_if_fail (E_IS_ACTIVITY (activity));
-
- g_signal_emit (activity, signals[CLICKED], 0);
-}
-
-gchar *
-e_activity_describe (EActivity *activity)
-{
- EActivityClass *class;
-
- g_return_val_if_fail (E_IS_ACTIVITY (activity), NULL);
-
- class = E_ACTIVITY_GET_CLASS (activity);
- g_return_val_if_fail (class->describe != NULL, NULL);
-
- return class->describe (activity);
-}
-
-gboolean
-e_activity_is_cancelled (EActivity *activity)
-{
- g_return_val_if_fail (E_IS_ACTIVITY (activity), FALSE);
-
- return activity->priv->cancelled;
-}
-
-gboolean
-e_activity_is_completed (EActivity *activity)
-{
- g_return_val_if_fail (E_IS_ACTIVITY (activity), FALSE);
-
- return activity->priv->completed;
-}
-
-gboolean
-e_activity_get_allow_cancel (EActivity *activity)
-{
- g_return_val_if_fail (E_IS_ACTIVITY (activity), FALSE);
-
- return activity->priv->allow_cancel;
-}
-
-void
-e_activity_set_allow_cancel (EActivity *activity,
- gboolean allow_cancel)
-{
- g_return_if_fail (E_IS_ACTIVITY (activity));
-
- activity->priv->allow_cancel = allow_cancel;
-
- g_object_notify (G_OBJECT (activity), "allow-cancel");
-}
-
-gboolean
-e_activity_get_clickable (EActivity *activity)
-{
- g_return_val_if_fail (E_IS_ACTIVITY (activity), FALSE);
-
- return activity->priv->clickable;
-}
-
-void
-e_activity_set_clickable (EActivity *activity,
- gboolean clickable)
-{
- g_return_if_fail (E_IS_ACTIVITY (activity));
-
- activity->priv->clickable = clickable;
-
- g_object_notify (G_OBJECT (activity), "clickable");
-}
-
-const gchar *
-e_activity_get_icon_name (EActivity *activity)
-{
- g_return_val_if_fail (E_IS_ACTIVITY (activity), NULL);
-
- return activity->priv->icon_name;
-}
-
-void
-e_activity_set_icon_name (EActivity *activity,
- const gchar *icon_name)
-{
- g_return_if_fail (E_IS_ACTIVITY (activity));
-
- g_free (activity->priv->icon_name);
- activity->priv->icon_name = g_strdup (icon_name);
-
- g_object_notify (G_OBJECT (activity), "icon-name");
-}
-
-gdouble
-e_activity_get_percent (EActivity *activity)
-{
- g_return_val_if_fail (E_IS_ACTIVITY (activity), -1.0);
-
- return activity->priv->percent;
-}
-
-void
-e_activity_set_percent (EActivity *activity,
- gdouble percent)
-{
- g_return_if_fail (E_IS_ACTIVITY (activity));
-
- activity->priv->percent = percent;
-
- g_object_notify (G_OBJECT (activity), "percent");
-}
-
-const gchar *
-e_activity_get_primary_text (EActivity *activity)
-{
- g_return_val_if_fail (E_IS_ACTIVITY (activity), NULL);
-
- return activity->priv->primary_text;
-}
-
-void
-e_activity_set_primary_text (EActivity *activity,
- const gchar *primary_text)
-{
- g_return_if_fail (E_IS_ACTIVITY (activity));
-
- g_free (activity->priv->primary_text);
- activity->priv->primary_text = g_strdup (primary_text);
-
- g_object_notify (G_OBJECT (activity), "primary-text");
-}
-
-const gchar *
-e_activity_get_secondary_text (EActivity *activity)
-{
- g_return_val_if_fail (E_IS_ACTIVITY (activity), NULL);
-
- return activity->priv->secondary_text;
-}
-
-void
-e_activity_set_secondary_text (EActivity *activity,
- const gchar *secondary_text)
-{
- g_return_if_fail (E_IS_ACTIVITY (activity));
-
- g_free (activity->priv->secondary_text);
- activity->priv->secondary_text = g_strdup (secondary_text);
-
- g_object_notify (G_OBJECT (activity), "secondary-text");
-}