aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2003-12-02 11:41:35 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2003-12-02 11:41:35 +0800
commit492cdaf6f9db2f622ad4a4b292bddaf55631d0b6 (patch)
tree847eae4fea9d93692e162eec11673c2577691068 /shell
parentac0442e31c68ce073e4156bbe47d63da8f7d2523 (diff)
downloadgsoc2013-evolution-492cdaf6f9db2f622ad4a4b292bddaf55631d0b6.tar.gz
gsoc2013-evolution-492cdaf6f9db2f622ad4a4b292bddaf55631d0b6.tar.zst
gsoc2013-evolution-492cdaf6f9db2f622ad4a4b292bddaf55631d0b6.zip
New member activity_handler. (mail_component_init): Initialize.
* mail-component.c (struct _MailComponentPrivate): New member activity_handler. (mail_component_init): Initialize. (impl_dispose): Unref. (mail_component_peek_activity_handler): New. (impl_createControls): Create an ETaskBar, attach it to the ActivityHandler, and return it to the caller as the statusbar control. * e-activity-handler.c (e_activity_handler_operation_finished): Argh, renamed from e_activity_client_operation_finished(). (e_activity_handler_operation_started): Don't unref the pixbuf. * e-shell-window.c (setup_widgets): Hide the menu hint label. * e-activity-handler.c (init): Init to next_activity_id to 1 so callers can rely on it being nonzero. svn path=/trunk/; revision=23556
Diffstat (limited to 'shell')
-rw-r--r--shell/ChangeLog11
-rw-r--r--shell/e-activity-handler.c14
-rw-r--r--shell/e-activity-handler.h4
-rw-r--r--shell/e-shell-window.c5
4 files changed, 26 insertions, 8 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index eb3ed5cd68..0b4da8cd75 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,5 +1,16 @@
2003-12-01 Ettore Perazzoli <ettore@ximian.com>
+ * e-activity-handler.c (e_activity_handler_operation_finished):
+ Argh, renamed from e_activity_client_operation_finished().
+ (e_activity_handler_operation_started): Don't unref the pixbuf.
+
+ * e-shell-window.c (setup_widgets): Hide the menu hint label.
+
+ * e-activity-handler.c (init): Init to next_activity_id to 1 so
+ callers can rely on it being nonzero.
+
+2003-12-01 Ettore Perazzoli <ettore@ximian.com>
+
* e-shell.c (struct _EShellPrivate): Remove member
activity_handler.
(setup_activity_interface): Remove.
diff --git a/shell/e-activity-handler.c b/shell/e-activity-handler.c
index 695b7f6606..cdc41d8025 100644
--- a/shell/e-activity-handler.c
+++ b/shell/e-activity-handler.c
@@ -145,6 +145,8 @@ activity_info_new (const char *component_id,
static void
activity_info_free (ActivityInfo *info)
{
+ g_print ("activity_info_free %d ref count %d\n", info->id, G_OBJECT (info->icon_pixbuf)->ref_count);
+
g_free (info->component_id);
g_object_unref (info->icon_pixbuf);
@@ -267,7 +269,7 @@ init (EActivityHandler *activity_handler)
EActivityHandlerPrivate *priv;
priv = g_new (EActivityHandlerPrivate, 1);
- priv->next_activity_id = 0;
+ priv->next_activity_id = 1;
priv->activity_infos = NULL;
priv->task_bars = NULL;
@@ -327,8 +329,6 @@ e_activity_handler_operation_started (EActivityHandler *activity_handler,
task_widget_new_from_activity_info (activity_info));
}
- g_object_unref (icon_pixbuf);
-
priv->activity_infos = g_list_prepend (priv->activity_infos, activity_info);
return activity_id;
@@ -371,8 +371,8 @@ e_activity_handler_operation_progressing (EActivityHandler *activity_handler,
}
void
-e_activity_client_operation_finished (EActivityHandler *activity_handler,
- guint activity_id)
+e_activity_handler_operation_finished (EActivityHandler *activity_handler,
+ guint activity_id)
{
EActivityHandlerPrivate *priv = activity_handler->priv;
GList *p;
@@ -380,6 +380,10 @@ e_activity_client_operation_finished (EActivityHandler *activity_handler,
int order_number;
p = lookup_activity (priv->activity_infos, activity_id, &order_number);
+ if (p == NULL) {
+ g_warning ("e_activity_handler_operation_finished: Unknown activity %d\n", activity_id);
+ return;
+ }
activity_info_free ((ActivityInfo *) p->data);
priv->activity_infos = g_list_remove_link (priv->activity_infos, p);
diff --git a/shell/e-activity-handler.h b/shell/e-activity-handler.h
index 6a315fae21..46826c8eb3 100644
--- a/shell/e-activity-handler.h
+++ b/shell/e-activity-handler.h
@@ -74,8 +74,8 @@ void e_activity_handler_operation_progressing (EActivityHandler *activity_hand
const char *information,
double progress);
-void e_activity_client_operation_finished (EActivityHandler *activity_handler,
- guint activity_id);
+void e_activity_handler_operation_finished (EActivityHandler *activity_handler,
+ guint activity_id);
#ifdef __cplusplus
diff --git a/shell/e-shell-window.c b/shell/e-shell-window.c
index e11908902f..fb123561a7 100644
--- a/shell/e-shell-window.c
+++ b/shell/e-shell-window.c
@@ -534,7 +534,7 @@ setup_status_bar (EShellWindow *window)
setup_statusbar_notebook (window);
ui_engine = bonobo_window_get_ui_engine (BONOBO_WINDOW (window));
-
+
g_signal_connect (ui_engine, "add_hint", G_CALLBACK (ui_engine_add_hint_callback), window);
g_signal_connect (ui_engine, "remove_hint", G_CALLBACK (ui_engine_remove_hint_callback), window);
}
@@ -586,6 +586,9 @@ setup_widgets (EShellWindow *window)
gtk_box_pack_start (GTK_BOX (contents_vbox), priv->status_bar, FALSE, TRUE, 0);
gtk_widget_show_all (contents_vbox);
+ /* We only display this when a menu item is actually selected. */
+ gtk_widget_hide (priv->menu_hint_label);
+
bonobo_window_set_contents (BONOBO_WINDOW (window), contents_vbox);
}