[vte] widget: Move some public API to its own file



commit bf43c5bd76ba25e93bd0e2dfee069a714a0dc49c
Author: Christian Persch <chpe gnome org>
Date:   Wed Nov 18 21:15:44 2015 +0100

    widget: Move some public API to its own file

 src/vte.cc         |   86 ++++++++-------------------------------------------
 src/vtegtk.cc      |   68 +++++++++++++++++++++++++++++++++++++++++
 src/vteinternal.hh |    2 +
 3 files changed, 84 insertions(+), 72 deletions(-)
---
diff --git a/src/vte.cc b/src/vte.cc
index f36c402..9cd0ec2 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -11159,86 +11159,28 @@ vte_terminal_update_cursor_blinks_internal(VteTerminal *terminal)
        pvt->check_cursor_blink();
 }
 
-/**
- * vte_terminal_set_cursor_blink_mode:
- * @terminal: a #VteTerminal
- * @mode: the #VteCursorBlinkMode to use
- *
- * Sets whether or not the cursor will blink. Using %VTE_CURSOR_BLINK_SYSTEM
- * will use the #GtkSettings::gtk-cursor-blink setting.
- */
-void
-vte_terminal_set_cursor_blink_mode(VteTerminal *terminal, VteCursorBlinkMode mode)
+bool
+VteTerminalPrivate::set_cursor_blink_mode(VteCursorBlinkMode mode)
 {
-        VteTerminalPrivate *pvt;
-
-       g_return_if_fail(VTE_IS_TERMINAL(terminal));
-        pvt = terminal->pvt;
-
-        if (pvt->cursor_blink_mode == mode)
-                return;
-
-        pvt->cursor_blink_mode = mode;
-
-        vte_terminal_update_cursor_blinks_internal(terminal);
-
-        g_object_notify(G_OBJECT(terminal), "cursor-blink-mode");
-}
+        if (mode == m_cursor_blink_mode)
+                return false;
 
-/**
- * vte_terminal_get_cursor_blink_mode:
- * @terminal: a #VteTerminal
- *
- * Returns the currently set cursor blink mode.
- *
- * Return value: cursor blink mode.
- */
-VteCursorBlinkMode
-vte_terminal_get_cursor_blink_mode(VteTerminal *terminal)
-{
-        g_return_val_if_fail(VTE_IS_TERMINAL(terminal), VTE_CURSOR_BLINK_SYSTEM);
+        m_cursor_blink_mode = mode;
+        vte_terminal_update_cursor_blinks_internal(m_terminal);
 
-        return terminal->pvt->cursor_blink_mode;
+        return true;
 }
 
-/**
- * vte_terminal_set_cursor_shape:
- * @terminal: a #VteTerminal
- * @shape: the #VteCursorShape to use
- *
- * Sets the shape of the cursor drawn.
- */
-void
-vte_terminal_set_cursor_shape(VteTerminal *terminal, VteCursorShape shape)
+bool
+VteTerminalPrivate::set_cursor_shape(VteCursorShape shape)
 {
-        VteTerminalPrivate *pvt;
-
-       g_return_if_fail(VTE_IS_TERMINAL(terminal));
-        pvt = terminal->pvt;
-
-        if (pvt->cursor_shape == shape)
-                return;
-
-        pvt->cursor_shape = shape;
-       _vte_invalidate_cursor_once(terminal, FALSE);
-
-        g_object_notify(G_OBJECT(terminal), "cursor-shape");
-}
+        if (shape == m_cursor_shape)
+                return false;
 
-/**
- * vte_terminal_get_cursor_shape:
- * @terminal: a #VteTerminal
- *
- * Returns the currently set cursor shape.
- *
- * Return value: cursor shape.
- */
-VteCursorShape
-vte_terminal_get_cursor_shape(VteTerminal *terminal)
-{
-        g_return_val_if_fail(VTE_IS_TERMINAL(terminal), VTE_CURSOR_SHAPE_BLOCK);
+        m_cursor_shape = shape;
+       invalidate_cursor_once();
 
-        return terminal->pvt->cursor_shape;
+        return true;
 }
 
 /* DECSCUSR set cursor style */
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
index e666292..351886d 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -1744,6 +1744,74 @@ vte_terminal_get_current_file_uri(VteTerminal *terminal)
 }
 
 /**
+ * vte_terminal_get_cursor_blink_mode:
+ * @terminal: a #VteTerminal
+ *
+ * Returns the currently set cursor blink mode.
+ *
+ * Return value: cursor blink mode.
+ */
+VteCursorBlinkMode
+vte_terminal_get_cursor_blink_mode(VteTerminal *terminal)
+{
+        g_return_val_if_fail(VTE_IS_TERMINAL(terminal), VTE_CURSOR_BLINK_SYSTEM);
+
+        return terminal->pvt->cursor_blink_mode;
+}
+
+/**
+ * vte_terminal_set_cursor_blink_mode:
+ * @terminal: a #VteTerminal
+ * @mode: the #VteCursorBlinkMode to use
+ *
+ * Sets whether or not the cursor will blink. Using %VTE_CURSOR_BLINK_SYSTEM
+ * will use the #GtkSettings::gtk-cursor-blink setting.
+ */
+void
+vte_terminal_set_cursor_blink_mode(VteTerminal *terminal,
+                                   VteCursorBlinkMode mode)
+{
+       g_return_if_fail(VTE_IS_TERMINAL(terminal));
+        g_return_if_fail(mode >= VTE_CURSOR_BLINK_SYSTEM && mode <= VTE_CURSOR_BLINK_OFF);
+
+        if (terminal->pvt->set_cursor_blink_mode(mode))
+                g_object_notify_by_pspec(G_OBJECT(terminal), pspecs[PROP_CURSOR_BLINK_MODE]);
+}
+
+/**
+ * vte_terminal_get_cursor_shape:
+ * @terminal: a #VteTerminal
+ *
+ * Returns the currently set cursor shape.
+ *
+ * Return value: cursor shape.
+ */
+VteCursorShape
+vte_terminal_get_cursor_shape(VteTerminal *terminal)
+{
+        g_return_val_if_fail(VTE_IS_TERMINAL(terminal), VTE_CURSOR_SHAPE_BLOCK);
+
+        return terminal->pvt->cursor_shape;
+}
+
+/**
+ * vte_terminal_set_cursor_shape:
+ * @terminal: a #VteTerminal
+ * @shape: the #VteCursorShape to use
+ *
+ * Sets the shape of the cursor drawn.
+ */
+void
+vte_terminal_set_cursor_shape(VteTerminal *terminal, VteCursorShape shape)
+{
+       g_return_if_fail(VTE_IS_TERMINAL(terminal));
+        g_return_if_fail(shape >= VTE_CURSOR_SHAPE_BLOCK && shape <= VTE_CURSOR_SHAPE_UNDERLINE);
+
+        if (terminal->pvt->set_cursor_shape(shape))
+                g_object_notify_by_pspec(G_OBJECT(terminal), pspecs[PROP_CURSOR_SHAPE]);
+}
+
+/**
  * vte_terminal_set_delete_binding:
  * @terminal: a #VteTerminal
  * @binding: a #VteEraseBinding for the delete key
diff --git a/src/vteinternal.hh b/src/vteinternal.hh
index b9f8204..c2e98b3 100644
--- a/src/vteinternal.hh
+++ b/src/vteinternal.hh
@@ -609,6 +609,8 @@ public:
         long get_char_width()  { ensure_font(); return char_width;  }
 
         bool set_backspace_binding(VteEraseBinding binding);
+        bool set_cursor_blink_mode(VteCursorBlinkMode mode);
+        bool set_cursor_shape(VteCursorShape shape);
         bool set_delete_binding(VteEraseBinding binding);
         bool set_input_enabled(bool enabled);
         bool set_mouse_autohide(bool autohide);


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