aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-view.c
diff options
context:
space:
mode:
authorbertrand <bertrand@helixcode.com>2000-03-13 13:04:31 +0800
committerBertrand Guiheneuf <bertrand@src.gnome.org>2000-03-13 13:04:31 +0800
commitb3800945679e14f8bc6ca2b8f08915e0bd5dd7af (patch)
treef4ffa4ff7a9e7978503722127160647982058eb7 /shell/e-shell-view.c
parentb21cd06a462253b43a261e6d91d89edb7ce19cf2 (diff)
downloadgsoc2013-evolution-b3800945679e14f8bc6ca2b8f08915e0bd5dd7af.tar.gz
gsoc2013-evolution-b3800945679e14f8bc6ca2b8f08915e0bd5dd7af.tar.zst
gsoc2013-evolution-b3800945679e14f8bc6ca2b8f08915e0bd5dd7af.zip
once we have the bonobo control widget, disable the autoactivation and
2000-03-13 bertrand <bertrand@helixcode.com> * shell/e-shell-view.c (get_view): once we have the bonobo control widget, disable the autoactivation and activate the control frame. 2000-03-12 bertrand <bertrand@helixcode.com> * folder-browser-factory.c (folder_browser_factory_init): name change. (control_activate_cb): when the control is activated, it merges its own UI with the remote UIHandler. (control_add_menu): sample menu merging. (folder_browser_factory): connect the control "activate" signal. (Bonobo control / shell view) UIMenu merging. svn path=/trunk/; revision=2110
Diffstat (limited to 'shell/e-shell-view.c')
-rw-r--r--shell/e-shell-view.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c
index caea4bb6d6..5a75ad74c2 100644
--- a/shell/e-shell-view.c
+++ b/shell/e-shell-view.c
@@ -71,12 +71,11 @@ e_shell_view_setup_shortcut_display (EShellView *eshell_view)
}
static GtkWidget *
-get_view (EFolder *efolder)
+get_view (EFolder *efolder, Bonobo_UIHandler uih)
{
GtkWidget *w = NULL;
- BonoboControl control;
EFolderType e_folder_type;
-
+ BonoboControlFrame *control_frame;
@@ -95,7 +94,7 @@ get_view (EFolder *efolder)
case E_FOLDER_MAIL :
w = bonobo_widget_new_control ("control:evolution-mail",
- NULL);
+ uih );
break;
default :
@@ -103,6 +102,10 @@ get_view (EFolder *efolder)
e_folder_get_description (efolder));
}
+ control_frame = bonobo_widget_get_control_frame (w);
+ bonobo_control_frame_set_autoactivate (control_frame, FALSE);
+ bonobo_control_frame_control_activate (control_frame);
+
if (w) gtk_widget_show (w);
return w;
@@ -112,7 +115,12 @@ get_view (EFolder *efolder)
void
e_shell_view_set_view (EShellView *eshell_view, EFolder *efolder)
{
- GtkWidget *w = get_view (efolder);
+ GtkWidget *w;
+ Bonobo_UIHandler uih;
+
+ uih = bonobo_object_corba_objref (BONOBO_OBJECT (eshell_view->uih));
+
+ w = get_view (efolder, uih);
if (eshell_view->contents){
gtk_widget_destroy (eshell_view->contents);
@@ -120,6 +128,9 @@ e_shell_view_set_view (EShellView *eshell_view, EFolder *efolder)
eshell_view->contents = w;
+ if (!w)
+ return;
+
if (eshell_view->shortcut_displayed){
gtk_paned_pack2 (GTK_PANED (eshell_view->shortcut_hpaned),
eshell_view->contents, FALSE, TRUE);