switch: Deprecate style properties

CSS min-width and min-height on the slider node fit this
perfectly. We still fall back to the slider-width and
slider-height style properties if the CSS properties are
not set.
This commit is contained in:
Matthias Clasen 2015-12-16 13:48:08 -05:00
parent 4e05148bef
commit abbd6b11f6

View File

@ -66,6 +66,7 @@
#include "gtkstylecontextprivate.h" #include "gtkstylecontextprivate.h"
#include "gtkwidgetprivate.h" #include "gtkwidgetprivate.h"
#include "gtkcssshadowsvalueprivate.h" #include "gtkcssshadowsvalueprivate.h"
#include "gtkcssnumbervalueprivate.h"
#include "fallback-c89.c" #include "fallback-c89.c"
@ -360,24 +361,28 @@ gtk_switch_get_slider_size (GtkCssGadget *gadget,
gpointer unused) gpointer unused)
{ {
GtkWidget *widget = gtk_css_gadget_get_owner (gadget); GtkWidget *widget = gtk_css_gadget_get_owner (gadget);
gint slider_size; gdouble min_size;
if (orientation == GTK_ORIENTATION_VERTICAL) if (orientation == GTK_ORIENTATION_HORIZONTAL)
{ {
gtk_widget_style_get (widget, min_size = _gtk_css_number_value_get (gtk_css_style_get_value (gtk_css_gadget_get_style (gadget), GTK_CSS_PROPERTY_MIN_WIDTH), 100);
"slider-width", &slider_size,
NULL); if (min_size > 0.0)
slider_size *= 0.6; *minimum = 0;
else
gtk_widget_style_get (widget, "slider-width", minimum, NULL);
} }
else else
{ {
gtk_widget_style_get (widget, min_size = _gtk_css_number_value_get (gtk_css_style_get_value (gtk_css_gadget_get_style (gadget), GTK_CSS_PROPERTY_MIN_HEIGHT), 100);
"slider-height", &slider_size,
NULL); if (min_size > 0.0)
*minimum = 0;
else
gtk_widget_style_get (widget, "slider-height", minimum, NULL);
} }
*minimum = slider_size; *natural = *minimum;
*natural = slider_size;
} }
static void static void
@ -931,6 +936,8 @@ gtk_switch_class_init (GtkSwitchClass *klass)
* GtkSwitch:slider-width: * GtkSwitch:slider-width:
* *
* The minimum width of the #GtkSwitch handle, in pixels. * The minimum width of the #GtkSwitch handle, in pixels.
*
* Deprecated: 3.20: Use the CSS min-width property instead.
*/ */
gtk_widget_class_install_style_property (widget_class, gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("slider-width", g_param_spec_int ("slider-width",
@ -938,7 +945,7 @@ gtk_switch_class_init (GtkSwitchClass *klass)
P_("The minimum width of the handle"), P_("The minimum width of the handle"),
DEFAULT_SLIDER_WIDTH, G_MAXINT, DEFAULT_SLIDER_WIDTH, G_MAXINT,
DEFAULT_SLIDER_WIDTH, DEFAULT_SLIDER_WIDTH,
GTK_PARAM_READABLE)); GTK_PARAM_READABLE|G_PARAM_DEPRECATED));
/** /**
* GtkSwitch:slider-height: * GtkSwitch:slider-height:
@ -946,6 +953,8 @@ gtk_switch_class_init (GtkSwitchClass *klass)
* The minimum height of the #GtkSwitch handle, in pixels. * The minimum height of the #GtkSwitch handle, in pixels.
* *
* Since: 3.18 * Since: 3.18
*
* Deprecated: 3.20: Use the CSS min-height property instead.
*/ */
gtk_widget_class_install_style_property (widget_class, gtk_widget_class_install_style_property (widget_class,
g_param_spec_int ("slider-height", g_param_spec_int ("slider-height",
@ -953,7 +962,7 @@ gtk_switch_class_init (GtkSwitchClass *klass)
P_("The minimum height of the handle"), P_("The minimum height of the handle"),
DEFAULT_SLIDER_HEIGHT, G_MAXINT, DEFAULT_SLIDER_HEIGHT, G_MAXINT,
DEFAULT_SLIDER_HEIGHT, DEFAULT_SLIDER_HEIGHT,
GTK_PARAM_READABLE)); GTK_PARAM_READABLE|G_PARAM_DEPRECATED));
/** /**
* GtkSwitch::activate: * GtkSwitch::activate: