[vte] widget: Add accessor functions for properties



commit 70747d037b06296ff41cd7525ee31b18912e82cc
Author: Igor Zakharov <f2404 yandex ru>
Date:   Wed Sep 13 21:16:37 2017 +0200

    widget: Add accessor functions for properties
    
    To get 'scroll on output' and 'scroll on keystroke' states.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=785083

 doc/reference/vte-sections.txt |    2 ++
 src/vte/vteterminal.h          |    4 ++++
 src/vtegtk.cc                  |   37 +++++++++++++++++++++++++++++++++++--
 3 files changed, 41 insertions(+), 2 deletions(-)
---
diff --git a/doc/reference/vte-sections.txt b/doc/reference/vte-sections.txt
index 9b34536..873b64e 100644
--- a/doc/reference/vte-sections.txt
+++ b/doc/reference/vte-sections.txt
@@ -28,7 +28,9 @@ vte_terminal_get_allow_bold
 vte_terminal_set_allow_hyperlink
 vte_terminal_get_allow_hyperlink
 vte_terminal_set_scroll_on_output
+vte_terminal_get_scroll_on_output
 vte_terminal_set_scroll_on_keystroke
+vte_terminal_get_scroll_on_keystroke
 vte_terminal_set_rewrap_on_resize
 vte_terminal_get_rewrap_on_resize
 vte_terminal_set_color_bold
diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
index cfd5a91..d00c251 100644
--- a/src/vte/vteterminal.h
+++ b/src/vte/vteterminal.h
@@ -219,9 +219,13 @@ _VTE_PUBLIC
 void vte_terminal_set_scroll_on_output(VteTerminal *terminal,
                                        gboolean scroll) _VTE_GNUC_NONNULL(1);
 _VTE_PUBLIC
+gboolean vte_terminal_get_scroll_on_output(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+_VTE_PUBLIC
 void vte_terminal_set_scroll_on_keystroke(VteTerminal *terminal,
                                          gboolean scroll);
 _VTE_PUBLIC
+gboolean vte_terminal_get_scroll_on_keystroke(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+_VTE_PUBLIC
 void vte_terminal_set_rewrap_on_resize(VteTerminal *terminal,
                                        gboolean rewrap) _VTE_GNUC_NONNULL(1);
 _VTE_PUBLIC
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
index 68a1dce..d2188f6 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -475,10 +475,10 @@ vte_terminal_get_property (GObject *object,
                         g_value_set_uint (value, impl->m_scrollback_lines);
                         break;
                 case PROP_SCROLL_ON_KEYSTROKE:
-                        g_value_set_boolean (value, impl->m_scroll_on_keystroke);
+                        g_value_set_boolean (value, vte_terminal_get_scroll_on_keystroke(terminal));
                         break;
                 case PROP_SCROLL_ON_OUTPUT:
-                        g_value_set_boolean (value, impl->m_scroll_on_output);
+                        g_value_set_boolean (value, vte_terminal_get_scroll_on_output(terminal));
                         break;
                 case PROP_WINDOW_TITLE:
                         g_value_set_string (value, vte_terminal_get_window_title (terminal));
@@ -3827,6 +3827,23 @@ vte_terminal_set_scroll_on_keystroke(VteTerminal *terminal,
 }
 
 /**
+ * vte_terminal_get_scroll_on_keystroke:
+ * @terminal: a #VteTerminal
+ *
+ * Returns: whether or not the terminal will forcibly scroll to the bottom of
+ * the viewable history when the user presses a key.  Modifier keys do not
+ * trigger this behavior.
+ *
+ * Since: 0.52
+ */
+gboolean
+vte_terminal_get_scroll_on_keystroke(VteTerminal *terminal)
+{
+    g_return_val_if_fail(VTE_IS_TERMINAL(terminal), FALSE);
+    return IMPL(terminal)->m_scroll_on_keystroke;
+}
+
+/**
  * vte_terminal_set_scroll_on_output:
  * @terminal: a #VteTerminal
  * @scroll: whether the terminal should scroll on output
@@ -3845,6 +3862,22 @@ vte_terminal_set_scroll_on_output(VteTerminal *terminal,
 }
 
 /**
+ * vte_terminal_get_scroll_on_output:
+ * @terminal: a #VteTerminal
+ *
+ * Returns: whether or not the terminal will forcibly scroll to the bottom of
+ * the viewable history when the new data is received from the child.
+ *
+ * Since: 0.52
+ */
+gboolean
+vte_terminal_get_scroll_on_output(VteTerminal *terminal)
+{
+    g_return_val_if_fail(VTE_IS_TERMINAL(terminal), FALSE);
+    return IMPL(terminal)->m_scroll_on_output;
+}
+
+/**
  * vte_terminal_get_window_title:
  * @terminal: a #VteTerminal
  *


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