summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorJens Finke <jens@triq.net>2003-10-27 18:11:48 +0000
committerJens Finke <jens@src.gnome.org>2003-10-27 18:11:48 +0000
commitecfee64ab7c4b2d53bb6c7a21585898f0c9edb8e (patch)
tree50e720c225a4ad1e9b00d8284e9e70c1f84a63ff /shell
parent1c3bc955c2f986fe37dfa0b82f747c3cc4194b2e (diff)
downloadeog-ecfee64ab7c4b2d53bb6c7a21585898f0c9edb8e.tar.gz
Consider eog/window/open_new_window configuration key again. Fixes
2003-10-27 Jens Finke <jens@triq.net> Consider eog/window/open_new_window configuration key again. Fixes long-time bug #91189. * eog.schemas.in: Set default of the open_new_window key to false. * shell/eog-window.c (eog_window_open_list): Deactivate control. * shell/main.c (open_window): Query open_new_window key to determine if the current window should be reused or not.
Diffstat (limited to 'shell')
-rw-r--r--shell/eog-window.c4
-rw-r--r--shell/main.c8
2 files changed, 7 insertions, 5 deletions
diff --git a/shell/eog-window.c b/shell/eog-window.c
index 790cbc5c..fa1d1e31 100644
--- a/shell/eog-window.c
+++ b/shell/eog-window.c
@@ -988,14 +988,12 @@ eog_window_open_list (EogWindow *window, const char *iid, GList *text_uri_list,
/* remove previously loaded control */
if (priv->ctrl_frame != NULL) {
- gtk_container_remove (GTK_CONTAINER (priv->box),
- GTK_WIDGET (priv->ctrl_widget));
+ bonobo_control_frame_control_deactivate (priv->ctrl_frame);
bonobo_object_unref (priv->ctrl_frame);
gtk_widget_destroy (priv->ctrl_widget);
priv->ctrl_widget = NULL;
priv->ctrl_frame = NULL;
}
- g_assert (priv->ctrl_frame == NULL);
/* create control frame */
ui_container = bonobo_window_get_ui_container (BONOBO_WINDOW (window));
diff --git a/shell/main.c b/shell/main.c
index 83fba9f9..14475376 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -75,13 +75,17 @@ open_window (LoadContext *ctx)
GError *error = NULL;
gboolean new_window;
GList *it;
+ GConfClient *client;
g_return_val_if_fail (ctx->iid != NULL, FALSE);
- /* FIXME: load gconf key */
- new_window = TRUE; /* gconf_client_get_bool (priv->client, "/apps/eog/window/open_new_window", NULL); */
+ client = gconf_client_get_default ();
+
+ new_window = gconf_client_get_bool (client, "/apps/eog/window/open_new_window", NULL);
new_window = new_window && ((ctx->window == NULL) || eog_window_has_contents (ctx->window));
+ g_object_unref (client);
+
if (ctx->single_windows)
{
for (it = ctx->uri_list; it != NULL; it = it->next) {