diff --git a/ChangeLog b/ChangeLog index aac290f2d9..8b68178da2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-03-18 Michael Natterer + + * gtk/gtkscalebutton.c: add static function + gtk_scale_button_set_orientation_private() and use it instead of + the public but deprecated gtk_scale_button_set_orientation(). + 2009-03-17 Tor Lillqvist Bug 575700 - Crash when moving a GtkWindow diff --git a/gtk/gtkscalebutton.c b/gtk/gtkscalebutton.c index f57c7fb70b..628121e4c4 100644 --- a/gtk/gtkscalebutton.c +++ b/gtk/gtkscalebutton.c @@ -119,6 +119,8 @@ static void gtk_scale_button_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); +static void gtk_scale_button_set_orientation_private (GtkScaleButton *button, + GtkOrientation orientation); static gboolean gtk_scale_button_scroll (GtkWidget *widget, GdkEventScroll *event); static void gtk_scale_button_screen_changed (GtkWidget *widget, @@ -434,7 +436,7 @@ gtk_scale_button_set_property (GObject *object, switch (prop_id) { case PROP_ORIENTATION: - gtk_scale_button_set_orientation (button, g_value_get_enum (value)); + gtk_scale_button_set_orientation_private (button, g_value_get_enum (value)); break; case PROP_VALUE: gtk_scale_button_set_value (button, g_value_get_double (value)); @@ -739,54 +741,9 @@ void gtk_scale_button_set_orientation (GtkScaleButton *button, GtkOrientation orientation) { - GtkScaleButtonPrivate *priv; - g_return_if_fail (GTK_IS_SCALE_BUTTON (button)); - priv = button->priv; - - if (orientation != priv->orientation) - { - priv->orientation = orientation; - - gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->box), - orientation); - gtk_container_child_set (GTK_CONTAINER (priv->box), - button->plus_button, - "pack-type", - orientation == GTK_ORIENTATION_VERTICAL ? - GTK_PACK_START : GTK_PACK_END, - NULL); - gtk_container_child_set (GTK_CONTAINER (priv->box), - button->minus_button, - "pack-type", - orientation == GTK_ORIENTATION_VERTICAL ? - GTK_PACK_END : GTK_PACK_START, - NULL); - - gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->scale), - orientation); - - if (orientation == GTK_ORIENTATION_VERTICAL) - { - gtk_widget_set_size_request (GTK_WIDGET (priv->scale), - -1, SCALE_SIZE); - gtk_range_set_inverted (GTK_RANGE (priv->scale), TRUE); - } - else - { - gtk_widget_set_size_request (GTK_WIDGET (priv->scale), - SCALE_SIZE, -1); - gtk_range_set_inverted (GTK_RANGE (priv->scale), FALSE); - } - - /* FIXME: without this, the popup window appears as a square - * after changing the orientation - */ - gtk_window_resize (GTK_WINDOW (priv->dock), 1, 1); - - g_object_notify (G_OBJECT (button), "orientation"); - } + gtk_scale_button_set_orientation_private (button, orientation); } /** @@ -843,6 +800,56 @@ gtk_scale_button_get_popup (GtkScaleButton *button) return button->priv->dock; } +static void +gtk_scale_button_set_orientation_private (GtkScaleButton *button, + GtkOrientation orientation) +{ + GtkScaleButtonPrivate *priv = button->priv; + + if (orientation != priv->orientation) + { + priv->orientation = orientation; + + gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->box), + orientation); + gtk_container_child_set (GTK_CONTAINER (priv->box), + button->plus_button, + "pack-type", + orientation == GTK_ORIENTATION_VERTICAL ? + GTK_PACK_START : GTK_PACK_END, + NULL); + gtk_container_child_set (GTK_CONTAINER (priv->box), + button->minus_button, + "pack-type", + orientation == GTK_ORIENTATION_VERTICAL ? + GTK_PACK_END : GTK_PACK_START, + NULL); + + gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->scale), + orientation); + + if (orientation == GTK_ORIENTATION_VERTICAL) + { + gtk_widget_set_size_request (GTK_WIDGET (priv->scale), + -1, SCALE_SIZE); + gtk_range_set_inverted (GTK_RANGE (priv->scale), TRUE); + } + else + { + gtk_widget_set_size_request (GTK_WIDGET (priv->scale), + SCALE_SIZE, -1); + gtk_range_set_inverted (GTK_RANGE (priv->scale), FALSE); + } + + /* FIXME: without this, the popup window appears as a square + * after changing the orientation + */ + gtk_window_resize (GTK_WINDOW (priv->dock), 1, 1); + + g_object_notify (G_OBJECT (button), "orientation"); + } +} + /* * button callbacks. */