[gtksourceview] Update gutter size when renderer visibility changes



commit 73c34f80c9caf03cda8be46f4ad4b592edae912a
Author: Jesse van den Kieboom <jesse vandenkieboom epfl ch>
Date:   Thu Jan 13 23:11:30 2011 +0100

    Update gutter size when renderer visibility changes

 gtksourceview/gtksourcegutter.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/gtksourceview/gtksourcegutter.c b/gtksourceview/gtksourcegutter.c
index e489194..873dd1f 100644
--- a/gtksourceview/gtksourcegutter.c
+++ b/gtksourceview/gtksourcegutter.c
@@ -72,6 +72,7 @@ typedef struct
 	guint size_changed_handler;
 	guint notify_xpad_handler;
 	guint notify_ypad_handler;
+	guint notify_visible_handler;
 } Renderer;
 
 enum
@@ -162,6 +163,14 @@ on_renderer_notify_padding (GtkSourceGutterRenderer *renderer,
 	update_gutter_size (gutter);
 }
 
+static void
+on_renderer_notify_visible (GtkSourceGutterRenderer *renderer,
+                            GParamSpec              *spec,
+                            GtkSourceGutter         *gutter)
+{
+	update_gutter_size (gutter);
+}
+
 static Renderer *
 renderer_new (GtkSourceGutter         *gutter,
               GtkSourceGutterRenderer *renderer,
@@ -201,6 +210,12 @@ renderer_new (GtkSourceGutter         *gutter,
 		                  G_CALLBACK (on_renderer_notify_padding),
 		                  gutter);
 
+	ret->notify_visible_handler =
+		g_signal_connect (ret->renderer,
+		                  "notify::visible",
+		                  G_CALLBACK (on_renderer_notify_visible),
+		                  gutter);
+
 	return ret;
 }
 
@@ -219,6 +234,9 @@ renderer_free (Renderer *renderer)
 	g_signal_handler_disconnect (renderer->renderer,
 	                             renderer->notify_ypad_handler);
 
+	g_signal_handler_disconnect (renderer->renderer,
+	                             renderer->notify_visible_handler);
+
 	_gtk_source_gutter_renderer_set_view (renderer->renderer,
 	                                      NULL,
 	                                      GTK_TEXT_WINDOW_PRIVATE);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]