[gimp] app: Update image window side docks visiblity from the image window
- From: Martin Nordholts <martinn src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: Update image window side docks visiblity from the image window
- Date: Wed, 24 Feb 2010 18:51:15 +0000 (UTC)
commit 82a0b95147e3d79c4d25944000a81465fc13fa51
Author: Martin Nordholts <martinn src gnome org>
Date: Mon Feb 22 19:24:23 2010 +0100
app: Update image window side docks visiblity from the image window
Update image window side docks visiblity from the image window itself
instead of from the ui configurer. The image window has a dependency
to the config object anyway, so no need to complicate things.
app/display/gimpimagewindow.c | 53 +++++++++++++++++------------------------
app/display/gimpimagewindow.h | 4 ---
app/gui/gimpuiconfigurer.c | 6 ----
3 files changed, 22 insertions(+), 41 deletions(-)
---
diff --git a/app/display/gimpimagewindow.c b/app/display/gimpimagewindow.c
index 98009a2..425fd8b 100644
--- a/app/display/gimpimagewindow.c
+++ b/app/display/gimpimagewindow.c
@@ -122,6 +122,9 @@ static gboolean gimp_image_window_window_state_event (GtkWidget *wid
static void gimp_image_window_style_set (GtkWidget *widget,
GtkStyle *prev_style);
+static void gimp_image_window_config_notify (GimpImageWindow *window,
+ GParamSpec *pspec,
+ GimpGuiConfig *config);
static void gimp_image_window_show_tooltip (GimpUIManager *manager,
const gchar *tooltip,
GimpImageWindow *window);
@@ -307,8 +310,7 @@ gimp_image_window_constructor (GType type,
private->menubar_manager);
gtk_paned_pack1 (GTK_PANED (private->left_hpane), private->left_docks,
FALSE, FALSE);
- if (config->single_window_mode)
- gtk_widget_show (private->left_docks);
+ gtk_widget_set_visible (private->left_docks, config->single_window_mode);
/* Create the right pane */
private->right_hpane = gtk_hpaned_new ();
@@ -337,9 +339,11 @@ gimp_image_window_constructor (GType type,
private->menubar_manager);
gtk_paned_pack2 (GTK_PANED (private->right_hpane), private->right_docks,
FALSE, FALSE);
- if (config->single_window_mode)
- gtk_widget_show (private->right_docks);
+ gtk_widget_set_visible (private->right_docks, config->single_window_mode);
+ g_signal_connect_object (config, "notify::single-window-mode",
+ G_CALLBACK (gimp_image_window_config_notify),
+ window, G_CONNECT_SWAPPED);
return object;
}
@@ -852,33 +856,6 @@ gimp_image_window_get_show_menubar (GimpImageWindow *window)
return gtk_widget_get_visible (private->menubar);
}
-void
-gimp_image_window_set_show_docks (GimpImageWindow *window,
- gboolean show)
-{
- GimpImageWindowPrivate *private;
-
- g_return_if_fail (GIMP_IS_IMAGE_WINDOW (window));
-
- private = GIMP_IMAGE_WINDOW_GET_PRIVATE (window);
-
- gtk_widget_set_visible (private->left_docks, show);
- gtk_widget_set_visible (private->right_docks, show);
-}
-
-gboolean
-gimp_image_window_get_show_docks (GimpImageWindow *window)
-{
- GimpImageWindowPrivate *private;
-
- g_return_val_if_fail (GIMP_IS_IMAGE_WINDOW (window), FALSE);
-
- private = GIMP_IMAGE_WINDOW_GET_PRIVATE (window);
-
- return (gtk_widget_get_visible (private->left_docks) &&
- gtk_widget_get_visible (private->right_docks));
-}
-
gboolean
gimp_image_window_is_iconified (GimpImageWindow *window)
{
@@ -1062,6 +1039,20 @@ gimp_image_window_show_tooltip (GimpUIManager *manager,
}
static void
+gimp_image_window_config_notify (GimpImageWindow *window,
+ GParamSpec *pspec,
+ GimpGuiConfig *config)
+{
+ GimpImageWindowPrivate *private = GIMP_IMAGE_WINDOW_GET_PRIVATE (window);
+
+ if (strcmp (pspec->name, "single-window-mode") == 0)
+ {
+ gtk_widget_set_visible (private->left_docks, config->single_window_mode);
+ gtk_widget_set_visible (private->right_docks, config->single_window_mode);
+ }
+}
+
+static void
gimp_image_window_hide_tooltip (GimpUIManager *manager,
GimpImageWindow *window)
{
diff --git a/app/display/gimpimagewindow.h b/app/display/gimpimagewindow.h
index 8a56c86..275e2ae 100644
--- a/app/display/gimpimagewindow.h
+++ b/app/display/gimpimagewindow.h
@@ -80,10 +80,6 @@ void gimp_image_window_set_show_statusbar (GimpImageWindow *windo
gboolean show);
gboolean gimp_image_window_get_show_statusbar (GimpImageWindow *window);
-void gimp_image_window_set_show_docks (GimpImageWindow *window,
- gboolean show);
-gboolean gimp_image_window_get_show_docks (GimpImageWindow *window);
-
gboolean gimp_image_window_is_iconified (GimpImageWindow *window);
void gimp_image_window_shrink_wrap (GimpImageWindow *window,
diff --git a/app/gui/gimpuiconfigurer.c b/app/gui/gimpuiconfigurer.c
index c91d70c..d4dfa7e 100644
--- a/app/gui/gimpuiconfigurer.c
+++ b/app/gui/gimpuiconfigurer.c
@@ -381,9 +381,6 @@ gimp_ui_configurer_configure_for_single_window (GimpUIConfigurer *ui_configurer)
right_docks,
FALSE /*only_toolbox*/);
- /* Show the docks in the window */
- gimp_image_window_set_show_docks (uber_image_window, TRUE);
-
/* Move stuff from other windows to the uber image window */
for (iter = windows; iter; iter = g_list_next (iter))
{
@@ -427,9 +424,6 @@ gimp_ui_configurer_configure_for_multi_window (GimpUIConfigurer *ui_configurer)
gimp_ui_configurer_separate_docks (ui_configurer, image_window);
gimp_ui_configurer_separate_shells (ui_configurer, image_window);
-
- /* Don't show docks in the new image winows */
- gimp_image_window_set_show_docks (image_window, FALSE);
}
g_list_free (windows);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]