aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-view.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2000-03-31 04:52:07 +0800
committerDan Winship <danw@src.gnome.org>2000-03-31 04:52:07 +0800
commit04b899a36eb4f2b7e8fca477f676186e94a192f4 (patch)
tree9573a5418af04caa347f87e13332664e7d65bea1 /shell/e-shell-view.c
parent0a26a651fccbd80c5c9213495d4c786ffa130a92 (diff)
downloadgsoc2013-evolution-04b899a36eb4f2b7e8fca477f676186e94a192f4.tar.gz
gsoc2013-evolution-04b899a36eb4f2b7e8fca477f676186e94a192f4.tar.zst
gsoc2013-evolution-04b899a36eb4f2b7e8fca477f676186e94a192f4.zip
Hold off on deactivating the "outgoing" control until after setting up the
* shell/e-shell-view.c (e_shell_view_set_view): Hold off on deactivating the "outgoing" control until after setting up the "incoming" control. That way if the new control takes a few seconds to load, there won't be an ugly empty spot where the toolbar used to be while the new control loads. svn path=/trunk/; revision=2262
Diffstat (limited to 'shell/e-shell-view.c')
-rw-r--r--shell/e-shell-view.c57
1 files changed, 32 insertions, 25 deletions
diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c
index 2061c9b329..bc6e1f6b24 100644
--- a/shell/e-shell-view.c
+++ b/shell/e-shell-view.c
@@ -131,11 +131,6 @@ get_view (EShellView *eshell_view, EFolder *efolder, Bonobo_UIHandler uih)
Evolution_ServiceRepository corba_sr;
BonoboObjectClient *server =
bonobo_widget_get_server (BONOBO_WIDGET (w));
- BonoboControlFrame *control_frame =
- bonobo_widget_get_control_frame (BONOBO_WIDGET (w));
-
- bonobo_control_frame_set_autoactivate (control_frame, FALSE);
- bonobo_control_frame_control_activate (control_frame);
/* Does this control have the "ServiceRepository" interface? */
corba_sr = (Evolution_ServiceRepository)
@@ -173,52 +168,64 @@ get_view (EShellView *eshell_view, EFolder *efolder, Bonobo_UIHandler uih)
void
e_shell_view_set_view (EShellView *eshell_view, EFolder *efolder)
{
- GtkNotebook *notebook = GTK_NOTEBOOK (eshell_view->priv->notebook);
- GtkWidget *folder_view = g_hash_table_lookup (
- eshell_view->priv->folder_views, efolder);
- int current_page = gtk_notebook_get_current_page (notebook);
+ GtkNotebook *notebook;
+ GtkWidget *folder_view;
+ int current_page;
+ BonoboControlFrame *control_frame;
g_assert (eshell_view);
g_assert (efolder);
+ notebook = GTK_NOTEBOOK (eshell_view->priv->notebook);
+ current_page = gtk_notebook_get_current_page (notebook);
+
if (current_page != -1) {
GtkWidget *current;
current = gtk_notebook_get_nth_page (notebook, current_page);
- bonobo_control_frame_control_deactivate (bonobo_widget_get_control_frame (BONOBO_WIDGET (current)));
- }
+ control_frame = bonobo_widget_get_control_frame (
+ BONOBO_WIDGET (current));
+ } else
+ control_frame = NULL;
- /* if we found a notebook page in our hash, that represents
- this efolder, switch to it */
+ /* If there's a notebook page in our hash that represents this
+ * efolder, switch to it.
+ */
+ folder_view = g_hash_table_lookup (eshell_view->priv->folder_views,
+ efolder);
if (folder_view) {
int notebook_page = gtk_notebook_page_num (notebook,
folder_view);
g_assert (notebook_page != -1);
gtk_notebook_set_page (notebook, notebook_page);
- bonobo_control_frame_control_activate (bonobo_widget_get_control_frame (BONOBO_WIDGET (folder_view)));
- }
- else {
- /* get a new control that represents this efolder,
- * append it to our notebook, and put it in our hash */
+ } else {
+ /* Get a new control that represents this efolder,
+ * append it to our notebook, and put it in our hash.
+ */
Bonobo_UIHandler uih =
bonobo_object_corba_objref (
BONOBO_OBJECT (eshell_view->uih));
-
- GtkWidget *w = get_view (eshell_view, efolder, uih);
int new_page_index;
- if (!w) return;
-
- gtk_notebook_append_page (notebook, w, NULL);
+ folder_view = get_view (eshell_view, efolder, uih);
+ if (!folder_view)
+ return;
+ gtk_notebook_append_page (notebook, folder_view, NULL);
new_page_index = gtk_notebook_page_num (notebook,
folder_view);
-
g_hash_table_insert (eshell_view->priv->folder_views,
- efolder, w);
+ efolder, folder_view);
gtk_notebook_set_page (notebook, new_page_index);
}
+
+ if (control_frame)
+ bonobo_control_frame_control_deactivate (control_frame);
+
+ control_frame =
+ bonobo_widget_get_control_frame (BONOBO_WIDGET (folder_view));
+ bonobo_control_frame_control_activate (control_frame);
}
GtkWidget *
href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes?id=5c27ba05c2a3c5e0d4a7a7760e6175b57c5d9959'>Chase distfile rename, content did not change.Jimmy Olgeni2001-06-172-2/+2 * Update to 200105060708.Maxim Sobolev2001-05-303-28/+31 * add missing files/links into PLISTYing-Chieh Liao2001-05-291-0/+2 * SWitch maintainership of core GNOME ports to a small group ofAde Lovett2001-05-122-2/+2 * Fix WWW site.Ade Lovett2001-05-082-8/+2 * Update to GNOME 1.4 -- massive changes all around, for the sake ofAde Lovett2001-05-052-2/+4 * Update to 1.0.4.Maxim Sobolev2001-04-122-4/+9 * Update WWW and MASTER_SITES.Maxim Sobolev2001-04-092-2/+2 * Add fvwm-themes 0.4.1, themes for the Fvwm2 window manager.Will Andrews2001-04-077-0/+1002 * remove deprecated fetch options from FETCH_BEFORE_ARGSMichael Haro2001-04-021-2/+0 * Add gtk-qn-x11-theme and gtk-engines.Maxim Sobolev2001-03-241-3/+3 * Sigh. Reclaim these, primarily for GNOME 1.4Ade Lovett2001-03-232-2/+2 * Someone don't like my style, so I drop maintainer now.Vanilla I. Shu2001-03-232-2/+2 * Upgrade to 0.12.Vanilla I. Shu2001-03-2012-114/+72 * DISTNAME changed on MASTER_SITE (but checksum is the same).Jimmy Olgeni2001-03-192-2/+2 * Add the QN-X11 GTK theme engine.Jimmy Olgeni2001-03-175-0/+35 * Update to 200103022011.Maxim Sobolev2001-03-152-2/+2 * Typo fix: nicier -> nicer.Jimmy Olgeni2001-03-021-1/+1 * Update to 200101251009.Maxim Sobolev2001-02-073-12/+15 * Batch of style fixes for x11-toolkits.Jimmy Olgeni2001-02-0618-18/+18 * Update to 200012301145.Maxim Sobolev2001-01-085-27/+53 * Update to 200012290259.Maxim Sobolev2000-12-302-3/+3 * Remove file committed by error.Maxim Sobolev2000-12-301-1/+0 * Remove PKGMESSAGE saying sapphire.inst must be run.Trevor Johnson2000-12-252-6/+0 * Add a do-patch target to change some paths from ~/.sapphire/ toTrevor Johnson2000-12-251-0/+7 * Update to 200011261817.Maxim Sobolev2000-12-042-2/+2 * Update to 200011270836.Maxim Sobolev2000-12-042-2/+2 * Fix patch-aa (I forgot to update it before committing this port).Maxim Sobolev2000-11-161-3/+3 * Add XenoStep.Maxim Sobolev2000-11-141-1/+2 * Add XenoStep - yet another nice GTK+ theme engine with NeXT'ish look and feel.Maxim Sobolev2000-11-146-0/+169 * - Update to 200011101109;Maxim Sobolev2000-11-142-3/+5 * Update to 200011041447.Maxim Sobolev2000-11-082-3/+3 * Update to 200011051535.Maxim Sobolev2000-11-083-7/+13 * Update WWW.Maxim Sobolev2000-11-081-1/+1 * - Update to 2.2;Maxim Sobolev2000-11-032-3/+3 * Whitespace-only:Maxim Sobolev2000-11-011-3/+3 * Add gtk-flat-theme.Maxim Sobolev2000-11-011-14/+16 * Add gtk-flat-theme - an yet another funny gtk+ theme engine.Maxim Sobolev2000-11-0110-0/+74 * Add whistlerk.Maxim Sobolev2000-10-271-2/+3 * Add WhistlerK - a GTK theme engine inspired by the Windows Whistler (don't ask,Maxim Sobolev2000-10-275-0/+36 * Implement WANT_IMLIB and USE_IMLIB.Jeremy Lea2000-10-052-10/+2 * Implement USE_GTK, part 2.Jeremy Lea2000-10-0513-74/+13 * Update to latest version.Trevor Johnson2000-10-044-4/+21 * Change MAINTAINER for my ports.Trevor Johnson2000-10-021-1/+1 * Welcome MASTER_SITE_THEMES (www.themes.org).Maxim Sobolev2000-09-215-5/+10 * Update to 0.4.Maxim Sobolev2000-09-212-2/+2 * Add sapphire-themes, a collection of themes that have been preparedAde Lovett2000-09-207-0/+110 * Add colorstep, engradient and icegradient.Maxim Sobolev2000-08-211-1/+4 * Add icegradient - a GTK+ gradient theme engine based on ThinIce.Maxim Sobolev2000-08-216-0/+44 * Add engradient - a GTK+ engine-gradient theme based off of the IceGradient th...Maxim Sobolev2000-08-215-0/+52 * Add colorstep a nice GTK+ theme engine based on GtkStep and Step-pastel.Maxim Sobolev2000-08-215-0/+49 * Update to 200007290343.Maxim Sobolev2000-08-212-7/+5 * Make these COMMENT files conform to Handbook standard.Will Andrews2000-08-111-1/+1 * Update to 200007091019, this should fix fennerism.Maxim Sobolev2000-07-222-2/+2 * - Use GTK_CONFIG/GLIB_CONFIG instead of hardcoded gtk12-config/glib12-configSteve Price2000-07-082-3/+6 * Add gtk-Mac2-theme.Maxim Sobolev2000-07-061-0/+1 * Add gtk-Mac2-theme - a GTK+ engine theme based on the look of MacOS.Maxim Sobolev2000-07-066-0/+51 * Fix typo.Maxim Sobolev2000-07-061-1/+1 * Add gtkbe.Maxim Sobolev2000-07-061-1/+2 * Correct WWW.Maxim Sobolev2000-07-061-1/+1 * Add gtkbe - a BeOS look-alike GTK+ theme engine.Maxim Sobolev2000-07-065-0/+39 * Teach MASTER_SITES about new MASTER_SITE_SOURCEFORGE.Maxim Sobolev2000-06-141-1/+2 * Update to 0.3 version.Maxim Sobolev2000-06-142-2/+2 * Remove commented USE_GMAKE line.Maxim Sobolev2000-06-141-1/+0 * Add buffy.Maxim Sobolev2000-06-131-2/+3 * Initial import of buffy - a yet yet another funny GTK+ theme engine.Maxim Sobolev2000-06-136-0/+71 * Initial import of gtk-engines-collection - a meta-port installing several GTK+Maxim Sobolev2000-06-134-0/+39 * Initial import of gnome-look - a yet another GTK+ theme engine.Maxim Sobolev2000-06-136-0/+53 * Initial import of gtkstep-pastel - a nice gtkstep-based GTK+ theme engine.Maxim Sobolev2000-06-135-0/+41 * Initial import of the clean-theme-gtk - a yet another nice GTK+ theme engineMaxim Sobolev2000-06-135-0/+38 * Initial import of the thinice - a yet another nice looking GTK+ theme engineMaxim Sobolev2000-06-135-0/+36 * Ensure that ${PREFIX}/lib/gtk/themes/engines directory exists beforeMaxim Sobolev2000-06-061-0/+3 * Move responsibility for the lib/gtk/engines directory into gtk12 port. ThisMaxim Sobolev2000-06-052-6/+0 * gtk12-config --> ${X11BASE}/bin/gtk12-configMaxim Sobolev2000-06-011-4/+4 * Initial import of Xenophilia - yet another nice looking GTK++ theme engine.Maxim Sobolev2000-06-016-0/+109 * Update with the new PORTNAME/PORTVERSION variablesChris Piazza2000-04-103-6/+6 * Update MASTER_SITES and WWW to their new domainChris D. Faulhaber2000-03-242-2/+2 * Update to 0.10Ade Lovett2000-02-074-6/+6 * Update to version 2.0.Steve Price1999-12-253-5/+5 * Update to version 0.9.Steve Price1999-12-244-6/+6 * New location on MASTER_SITE.Steve Price1999-12-052-2/+2 * Upgrade to 1.10.Thomas Gellekum1999-11-113-6/+6 * Don't remove directories that are owned by the gtk12 port.Steve Price1999-11-011-2/+0 * Upgrade to 0.8.Vanilla I. Shu1999-10-104-6/+6 * Remove patch-ab, it doesn't make sense to install the library inChris Piazza1999-10-091-3/+3 * Use updated imlib library.Yukihiro Nakai1999-10-082-2/+2 * Update to version 1.9Chris Piazza1999-10-083-7/+5 * Update to version 0.6Chris Piazza1999-09-188-22/+28 * Update to version 1.8Chris Piazza1999-09-072-3/+3 * FreeBSD.ORG -> FreeBSD.orgMichael Haro1999-08-312-4/+4 * $Id$ -> $FreeBSD$Peter Wemm1999-08-313-3/+3 * Update to gtkstep 1.6Chris Piazza1999-07-173-4/+7 * #4/4 enforcing Caps, no periodTim Vanderhoek1999-06-273-3/+3 * Remove current maintainer and replace with ports@FreeBSD.orgChris Piazza1999-06-191-2/+2 * Update to version 1.5.Steve Price1999-05-293-12/+9 * Fixup after imlib version bump.Steve Price1999-05-294-42/+24 * W * 10 + W + W * 100 = WWW * 10 + : = WWW:Michael Haro1999-05-033-3/+3 * Applications using imlib should also use gtk12 (as opposed to anyJacques Vidrine1999-04-221-2/+2 * DISTFILES moved on MASTER_SITE.Steve Price1999-04-092-4/+4 * Fix the MASTER_SITE_SUBDIR.Vanilla I. Shu1999-03-272-4/+4 * Bump imlib library version since it now depends upon GTK 1.2 instead of 1.1.Jacques Vidrine1999-03-163-6/+6 * Upgrade to GNOME 1.0. The following are the details:Jacques Vidrine1999-03-098-40/+24 * Upgrade to 1.4, it's GTK theme module now, you need gtk11-devel & imlib,Vanilla I. Shu1999-02-184-139/+21 * Sync with peter's suggestion.Vanilla I. Shu1999-02-034-8/+4 * Remove freebsd.csie.nctu.edu.tw from MASTER_SITES.Vanilla I. Shu1999-02-012-6/+4 * Submitter say:Vanilla I. Shu1999-01-314-18/+122 * Use ${MASTER_SITE_GNOME}Bill Fenner1999-01-272-6/+6 * Add one more MASTER_SITES.Foxfair Hu1999-01-262-4/+6 * imlib bump library version to 2.Vanilla I. Shu1999-01-152-4/+4 * Gtk themes engine.Vanilla I. Shu1998-12-2812-0/+304 * Correct MASTER_SITES.Vanilla I. Shu1998-12-101-2/+2