[gnome-builder] terminal: add scrollbar for terminal
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] terminal: add scrollbar for terminal
- Date: Tue, 10 May 2016 09:57:45 +0000 (UTC)
commit 6818137ee596a30141653409e83ca0ee068284ab
Author: Christian Hergert <chergert redhat com>
Date: Tue May 10 12:57:27 2016 +0300
terminal: add scrollbar for terminal
plugins/terminal/gb-terminal-view-private.h | 3 +++
plugins/terminal/gb-terminal-view.c | 15 ++++++++++++++-
plugins/terminal/gb-terminal-view.ui | 14 ++++++++++++++
3 files changed, 31 insertions(+), 1 deletions(-)
---
diff --git a/plugins/terminal/gb-terminal-view-private.h b/plugins/terminal/gb-terminal-view-private.h
index d3326ac..7d271e9 100644
--- a/plugins/terminal/gb-terminal-view-private.h
+++ b/plugins/terminal/gb-terminal-view-private.h
@@ -31,6 +31,9 @@ struct _GbTerminalView
VteTerminal *terminal_top;
VteTerminal *terminal_bottom;
+ GtkScrollbar *top_scrollbar;
+ GtkScrollbar *bottom_scrollbar;
+
GFile *save_as_file_top;
GFile *save_as_file_bottom;
diff --git a/plugins/terminal/gb-terminal-view.c b/plugins/terminal/gb-terminal-view.c
index 7e54009..968b5fa 100644
--- a/plugins/terminal/gb-terminal-view.c
+++ b/plugins/terminal/gb-terminal-view.c
@@ -413,7 +413,10 @@ gb_terminal_set_split_view (IdeLayoutView *view,
"expand", TRUE,
"visible", TRUE,
NULL);
- gtk_container_add (GTK_CONTAINER (self->bottom_container), GTK_WIDGET (self->terminal_bottom));
+ gtk_container_add_with_properties (GTK_CONTAINER (self->bottom_container),
+ GTK_WIDGET (self->terminal_bottom),
+ "position", 0,
+ NULL);
gtk_widget_show (self->bottom_container);
gb_terminal_view_connect_terminal (self, self->terminal_bottom);
@@ -459,9 +462,17 @@ static void
gb_terminal_view_connect_terminal (GbTerminalView *self,
VteTerminal *terminal)
{
+ GtkAdjustment *vadj;
GQuark quark;
guint signal_id;
+ vadj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (terminal));
+
+ if (terminal == self->terminal_top)
+ gtk_range_set_adjustment (GTK_RANGE (self->top_scrollbar), vadj);
+ else
+ gtk_range_set_adjustment (GTK_RANGE (self->bottom_scrollbar), vadj);
+
g_signal_connect_object (terminal,
"size-allocate",
G_CALLBACK (size_allocate_cb),
@@ -553,6 +564,8 @@ gb_terminal_view_class_init (GbTerminalViewClass *klass)
gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/builder/plugins/terminal/gb-terminal-view.ui");
gtk_widget_class_bind_template_child (widget_class, GbTerminalView, terminal_top);
gtk_widget_class_bind_template_child (widget_class, GbTerminalView, bottom_container);
+ gtk_widget_class_bind_template_child (widget_class, GbTerminalView, top_scrollbar);
+ gtk_widget_class_bind_template_child (widget_class, GbTerminalView, bottom_scrollbar);
g_type_ensure (VTE_TYPE_TERMINAL);
diff --git a/plugins/terminal/gb-terminal-view.ui b/plugins/terminal/gb-terminal-view.ui
index 8a66b06..30a3ebe 100644
--- a/plugins/terminal/gb-terminal-view.ui
+++ b/plugins/terminal/gb-terminal-view.ui
@@ -10,6 +10,7 @@
<property name="visible">true</property>
<child>
<object class="GtkBox" id="top_container">
+ <property name="orientation">horizontal</property>
<property name="expand">true</property>
<property name="visible">true</property>
<child>
@@ -20,6 +21,12 @@
<property name="scrollback-lines">0xffffffff</property>
</object>
</child>
+ <child>
+ <object class="GtkScrollbar" id="top_scrollbar">
+ <property name="orientation">vertical</property>
+ <property name="visible">true</property>
+ </object>
+ </child>
</object>
<packing>
<property name="resize">true</property>
@@ -28,8 +35,15 @@
</child>
<child>
<object class="GtkBox" id="bottom_container">
+ <property name="orientation">horizontal</property>
<property name="expand">true</property>
<property name="visible">false</property>
+ <child>
+ <object class="GtkScrollbar" id="bottom_scrollbar">
+ <property name="orientation">vertical</property>
+ <property name="visible">true</property>
+ </object>
+ </child>
</object>
<packing>
<property name="resize">true</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]