summaryrefslogtreecommitdiffstats
path: root/src/widgets/button.cpp
diff options
context:
space:
mode:
authorMartin Owens <doctormo@gmail.com>2016-04-12 11:56:42 +0000
committerMartin Owens <doctormo@gmail.com>2016-04-12 11:56:42 +0000
commitfeafa28eb3e6c8e3370ed7a6e1f74a4c653ce272 (patch)
tree828920d3344b27039afe2f3571b241b68ee5b4bb /src/widgets/button.cpp
parentLatest gtk3 cleanup (diff)
downloadinkscape-feafa28eb3e6c8e3370ed7a6e1f74a4c653ce272.tar.gz
inkscape-feafa28eb3e6c8e3370ed7a6e1f74a4c653ce272.zip
Replace xthickness and ythickness with Gtk Context padding.
(bzr r14792)
Diffstat (limited to '')
-rw-r--r--src/widgets/button.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/widgets/button.cpp b/src/widgets/button.cpp
index 1776e28c4..54f073c01 100644
--- a/src/widgets/button.cpp
+++ b/src/widgets/button.cpp
@@ -96,7 +96,6 @@ static void sp_button_dispose(GObject *object)
static void sp_button_get_preferred_width(GtkWidget *widget, gint *minimal_width, gint *natural_width)
{
GtkWidget *child = gtk_bin_get_child(GTK_BIN(widget));
- GtkStyle *style = gtk_widget_get_style(widget);
if (child) {
gtk_widget_get_preferred_width(GTK_WIDGET(child), minimal_width, natural_width);
@@ -105,14 +104,18 @@ static void sp_button_get_preferred_width(GtkWidget *widget, gint *minimal_width
*natural_width = 0;
}
- *minimal_width += 2 + 2 * MAX(2, style->xthickness);
- *natural_width += 2 + 2 * MAX(2, style->xthickness);
+ GtkStyleContext *context = gtk_widget_get_style_context (widget);
+ GtkBorder padding;
+
+ gtk_style_context_get_border(context, static_cast<GtkStateFlags>(0), &padding);
+
+ *minimal_width += 2 + 2 * MAX(2, padding.left + padding.right);
+ *natural_width += 2 + 2 * MAX(2, padding.left + padding.right);
}
static void sp_button_get_preferred_height(GtkWidget *widget, gint *minimal_height, gint *natural_height)
{
GtkWidget *child = gtk_bin_get_child(GTK_BIN(widget));
- GtkStyle *style = gtk_widget_get_style(widget);
if (child) {
gtk_widget_get_preferred_height(GTK_WIDGET(child), minimal_height, natural_height);
@@ -121,8 +124,13 @@ static void sp_button_get_preferred_height(GtkWidget *widget, gint *minimal_heig
*natural_height = 0;
}
- *minimal_height += 2 + 2 * MAX(2, style->ythickness);
- *natural_height += 2 + 2 * MAX(2, style->ythickness);
+ GtkStyleContext *context = gtk_widget_get_style_context (widget);
+ GtkBorder padding;
+
+ gtk_style_context_get_border(context, static_cast<GtkStateFlags>(0), &padding);
+
+ *minimal_height += 2 + 2 * MAX(2, padding.top + padding.bottom);
+ *natural_height += 2 + 2 * MAX(2, padding.top + padding.bottom);
}
#else
static void sp_button_size_request(GtkWidget *widget, GtkRequisition *requisition)