aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-alert-activity.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-10-17 21:40:36 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-10-19 00:32:37 +0800
commit35e55a8d6e3455efa92abd669680d191e3e4cbac (patch)
tree303d479aaaf12538d73f611f52db1157da64549b /e-util/e-alert-activity.c
parentb674a37a381d0328a7273bafa62d80203c8cdf70 (diff)
downloadgsoc2013-evolution-35e55a8d6e3455efa92abd669680d191e3e4cbac.tar
gsoc2013-evolution-35e55a8d6e3455efa92abd669680d191e3e4cbac.tar.gz
gsoc2013-evolution-35e55a8d6e3455efa92abd669680d191e3e4cbac.tar.bz2
gsoc2013-evolution-35e55a8d6e3455efa92abd669680d191e3e4cbac.tar.lz
gsoc2013-evolution-35e55a8d6e3455efa92abd669680d191e3e4cbac.tar.xz
gsoc2013-evolution-35e55a8d6e3455efa92abd669680d191e3e4cbac.tar.zst
gsoc2013-evolution-35e55a8d6e3455efa92abd669680d191e3e4cbac.zip
Send errors to an EAlertSink instead of the task bar.
This marks the end of unintrusive error dialogs, which were too unintrusive. We now show errors directly in the main window using the EAlert / EAlertSink framework.
Diffstat (limited to 'e-util/e-alert-activity.c')
-rw-r--r--e-util/e-alert-activity.c239
1 files changed, 0 insertions, 239 deletions
diff --git a/e-util/e-alert-activity.c b/e-util/e-alert-activity.c
deleted file mode 100644
index 7d7e5a7999..0000000000
--- a/e-util/e-alert-activity.c
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * e-alert-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/>
- *
- * Authors:
- * Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
- *
- * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
- * Copyright (C) 2009 Intel Corporation
- *
- */
-
-#include "e-alert-activity.h"
-#include "e-alert-dialog.h"
-
-#define E_ALERT_ACTIVITY_GET_PRIVATE(obj) \
- (G_TYPE_INSTANCE_GET_PRIVATE \
- ((obj), E_TYPE_ALERT_ACTIVITY, EAlertActivityPrivate))
-
-struct _EAlertActivityPrivate {
- GtkWidget *message_dialog;
-};
-
-enum {
- PROP_0,
- PROP_MESSAGE_DIALOG
-};
-
-G_DEFINE_TYPE (
- EAlertActivity,
- e_alert_activity,
- E_TYPE_TIMEOUT_ACTIVITY)
-
-static void
-alert_activity_set_message_dialog (EAlertActivity *alert_activity,
- GtkWidget *message_dialog)
-{
- g_return_if_fail (alert_activity->priv->message_dialog == NULL);
-
- alert_activity->priv->message_dialog = g_object_ref (message_dialog);
-}
-
-static void
-alert_activity_set_property (GObject *object,
- guint property_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- switch (property_id) {
- case PROP_MESSAGE_DIALOG:
- alert_activity_set_message_dialog (
- E_ALERT_ACTIVITY (object),
- g_value_get_object (value));
- return;
- }
-
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-}
-
-static void
-alert_activity_get_property (GObject *object,
- guint property_id,
- GValue *value,
- GParamSpec *pspec)
-{
- switch (property_id) {
- case PROP_MESSAGE_DIALOG:
- g_value_set_object (
- value, e_alert_activity_get_message_dialog (
- E_ALERT_ACTIVITY (object)));
- return;
- }
-
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-}
-
-static void
-alert_activity_dispose (GObject *object)
-{
- EAlertActivityPrivate *priv;
-
- priv = E_ALERT_ACTIVITY_GET_PRIVATE (object);
-
- if (priv->message_dialog != NULL) {
- g_object_unref (priv->message_dialog);
- priv->message_dialog = NULL;
- }
-
- /* Chain up to parent's dispose() method. */
- G_OBJECT_CLASS (e_alert_activity_parent_class)->dispose (object);
-}
-
-static void
-alert_activity_constructed (GObject *object)
-{
- EActivity *activity;
- EAlertActivity *alert_activity;
- EAlert *alert;
- GtkWidget *message_dialog;
- const gchar *primary_text;
- const gchar *secondary_text;
-
- activity = E_ACTIVITY (object);
- alert_activity = E_ALERT_ACTIVITY (object);
-
- message_dialog = e_alert_activity_get_message_dialog (alert_activity);
- alert = e_alert_dialog_get_alert (E_ALERT_DIALOG (message_dialog));
-
- primary_text = e_alert_get_primary_text (alert);
- e_activity_set_primary_text (activity, primary_text);
-
- secondary_text = e_alert_get_secondary_text (alert);
- e_activity_set_secondary_text (activity, secondary_text);
-
- /* This is a constructor property, so can't do it in init().
- * XXX What we really want to do is override the property's
- * default value, but GObject does not support that. */
- e_activity_set_clickable (E_ACTIVITY (alert_activity), TRUE);
-}
-
-static void
-alert_activity_clicked (EActivity *activity)
-{
- EAlertActivity *alert_activity;
- GtkWidget *message_dialog;
-
- e_activity_complete (activity);
-
- alert_activity = E_ALERT_ACTIVITY (activity);
- message_dialog = e_alert_activity_get_message_dialog (alert_activity);
- gtk_dialog_run (GTK_DIALOG (message_dialog));
- gtk_widget_hide (message_dialog);
-
- /* Chain up to parent's clicked() method. */
- E_ACTIVITY_CLASS (e_alert_activity_parent_class)->clicked (activity);
-}
-
-static void
-alert_activity_timeout (ETimeoutActivity *activity)
-{
- e_activity_complete (E_ACTIVITY (activity));
-
- /* Chain up to parent's timeout() method. */
- E_TIMEOUT_ACTIVITY_CLASS (e_alert_activity_parent_class)->timeout (activity);
-}
-
-static void
-e_alert_activity_class_init (EAlertActivityClass *class)
-{
- GObjectClass *object_class;
- EActivityClass *activity_class;
- ETimeoutActivityClass *timeout_activity_class;
-
- g_type_class_add_private (class, sizeof (EAlertActivityPrivate));
-
- object_class = G_OBJECT_CLASS (class);
- object_class->set_property = alert_activity_set_property;
- object_class->get_property = alert_activity_get_property;
- object_class->dispose = alert_activity_dispose;
- object_class->constructed = alert_activity_constructed;
-
- activity_class = E_ACTIVITY_CLASS (class);
- activity_class->clicked = alert_activity_clicked;
-
- timeout_activity_class = E_TIMEOUT_ACTIVITY_CLASS (class);
- timeout_activity_class->timeout = alert_activity_timeout;
-
- g_object_class_install_property (
- object_class,
- PROP_MESSAGE_DIALOG,
- g_param_spec_object (
- "message-dialog",
- NULL,
- NULL,
- GTK_TYPE_DIALOG,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT_ONLY));
-}
-
-static void
-e_alert_activity_init (EAlertActivity *alert_activity)
-{
- alert_activity->priv = E_ALERT_ACTIVITY_GET_PRIVATE (alert_activity);
-
- e_timeout_activity_set_timeout (E_TIMEOUT_ACTIVITY (alert_activity), 60);
-}
-
-EActivity *
-e_alert_activity_new_info (GtkWidget *message_dialog)
-{
- g_return_val_if_fail (GTK_IS_DIALOG (message_dialog), NULL);
-
- return g_object_new (
- E_TYPE_ALERT_ACTIVITY,
- "icon-name", "dialog-information",
- "message-dialog", message_dialog, NULL);
-}
-
-EActivity *
-e_alert_activity_new_error (GtkWidget *message_dialog)
-{
- g_return_val_if_fail (GTK_IS_DIALOG (message_dialog), NULL);
-
- return g_object_new (
- E_TYPE_ALERT_ACTIVITY,
- "icon-name", "dialog-error",
- "message-dialog", message_dialog, NULL);
-}
-
-EActivity *
-e_alert_activity_new_warning (GtkWidget *message_dialog)
-{
- g_return_val_if_fail (GTK_IS_DIALOG (message_dialog), NULL);
-
- return g_object_new (
- E_TYPE_ALERT_ACTIVITY,
- "icon-name", "dialog-warning",
- "message-dialog", message_dialog, NULL);
-}
-
-GtkWidget *
-e_alert_activity_get_message_dialog (EAlertActivity *alert_activity)
-{
- g_return_val_if_fail (E_IS_ALERT_ACTIVITY (alert_activity), NULL);
-
- return alert_activity->priv->message_dialog;
-}