69 lines
2.1 KiB
Diff
69 lines
2.1 KiB
Diff
|
From fd8e0fe0f9c630a56d415604c3c80dce5cd24648 Mon Sep 17 00:00:00 2001
|
||
|
From: Michael Natterer <mitch@gimp.org>
|
||
|
Date: Tue, 15 Jan 2013 14:56:29 +0100
|
||
|
Subject: [PATCH 31/68] Hackish fix for bug 8493 - Min size of
|
||
|
GtkScrolledWindow is too small
|
||
|
|
||
|
In gtk_scrollbar_size_allocate(), pretend the scrollbar
|
||
|
always has scroll arrows so the parent impl makes it a bit
|
||
|
larger.
|
||
|
---
|
||
|
gtk/gtkscrollbar.c | 28 ++++++++++++++++++++++++++++
|
||
|
1 file changed, 28 insertions(+)
|
||
|
|
||
|
diff --git a/gtk/gtkscrollbar.c b/gtk/gtkscrollbar.c
|
||
|
index 634b337..bab062d 100644
|
||
|
--- a/gtk/gtkscrollbar.c
|
||
|
+++ b/gtk/gtkscrollbar.c
|
||
|
@@ -32,6 +32,8 @@
|
||
|
#include "gtkprivate.h"
|
||
|
#include "gtkalias.h"
|
||
|
|
||
|
+static void gtk_scrollbar_size_request (GtkWidget *widget,
|
||
|
+ GtkRequisition *requisition);
|
||
|
static void gtk_scrollbar_style_set (GtkWidget *widget,
|
||
|
GtkStyle *previous);
|
||
|
|
||
|
@@ -42,6 +44,7 @@ gtk_scrollbar_class_init (GtkScrollbarClass *class)
|
||
|
{
|
||
|
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
|
||
|
|
||
|
+ widget_class->size_request = gtk_scrollbar_size_request;
|
||
|
widget_class->style_set = gtk_scrollbar_style_set;
|
||
|
|
||
|
GTK_RANGE_CLASS (class)->stepper_detail = "Xscrollbar";
|
||
|
@@ -97,6 +100,31 @@ gtk_scrollbar_init (GtkScrollbar *scrollbar)
|
||
|
}
|
||
|
|
||
|
static void
|
||
|
+gtk_scrollbar_size_request (GtkWidget *widget,
|
||
|
+ GtkRequisition *requisition)
|
||
|
+{
|
||
|
+ GtkRange *range = GTK_RANGE (widget);
|
||
|
+ gboolean saved_a, saved_b, saved_c, saved_d;
|
||
|
+
|
||
|
+ saved_a = range->has_stepper_a;
|
||
|
+ saved_b = range->has_stepper_b;
|
||
|
+ saved_c = range->has_stepper_c;
|
||
|
+ saved_d = range->has_stepper_d;
|
||
|
+
|
||
|
+ range->has_stepper_a = TRUE;
|
||
|
+ range->has_stepper_b = FALSE;
|
||
|
+ range->has_stepper_c = FALSE;
|
||
|
+ range->has_stepper_d = TRUE;
|
||
|
+
|
||
|
+ GTK_WIDGET_CLASS (gtk_scrollbar_parent_class)->size_request (widget, requisition);
|
||
|
+
|
||
|
+ range->has_stepper_a = saved_a;
|
||
|
+ range->has_stepper_b = saved_b;
|
||
|
+ range->has_stepper_c = saved_c;
|
||
|
+ range->has_stepper_d = saved_d;
|
||
|
+}
|
||
|
+
|
||
|
+static void
|
||
|
gtk_scrollbar_style_set (GtkWidget *widget,
|
||
|
GtkStyle *previous)
|
||
|
{
|
||
|
--
|
||
|
1.7.10.2 (Apple Git-33)
|