[vte] widget: Move some methods to VteTerminalPrivate



commit 87d7f1701b6df48a01fc9ec7be1c7260dd3834d6
Author: Christian Persch <chpe gnome org>
Date:   Thu Jan 14 17:05:35 2016 +0100

    widget: Move some methods to VteTerminalPrivate

 src/vteinternal.hh |    3 +++
 src/vteseq.cc      |   31 +++++++++++++++++++++++--------
 2 files changed, 26 insertions(+), 8 deletions(-)
---
diff --git a/src/vteinternal.hh b/src/vteinternal.hh
index d0ada92..e7a7397 100644
--- a/src/vteinternal.hh
+++ b/src/vteinternal.hh
@@ -1120,6 +1120,9 @@ public:
         inline void seq_set_mode_internal(long setting,
                                           bool value);
         inline void set_mouse_smooth_scroll_delta(double value);
+        inline void set_character_replacements(unsigned slot,
+                                               VteCharacterReplacement replacement);
+        inline void set_character_replacement(unsigned slot);
 };
 
 #define m_invalidated_all invalidated_all
diff --git a/src/vteseq.cc b/src/vteseq.cc
index eb2f65d..24a11e6 100644
--- a/src/vteseq.cc
+++ b/src/vteseq.cc
@@ -944,60 +944,75 @@ vte_sequence_handler_nop (VteTerminal *terminal, GValueArray *params)
 {
 }
 
+void
+VteTerminalPrivate::set_character_replacements(unsigned slot,
+                                               VteCharacterReplacement replacement)
+{
+        g_assert(slot < G_N_ELEMENTS(m_character_replacements));
+        m_character_replacements[slot] = replacement;
+}
+
 /* G0 character set is a pass-thru (no mapping). */
 static void
 vte_sequence_handler_designate_g0_plain (VteTerminal *terminal, GValueArray *params)
 {
-        terminal->pvt->character_replacements[0] = VTE_CHARACTER_REPLACEMENT_NONE;
+        terminal->pvt->set_character_replacements(0, VTE_CHARACTER_REPLACEMENT_NONE);
 }
 
 /* G0 character set is DEC Special Character and Line Drawing Set. */
 static void
 vte_sequence_handler_designate_g0_line_drawing (VteTerminal *terminal, GValueArray *params)
 {
-        terminal->pvt->character_replacements[0] = VTE_CHARACTER_REPLACEMENT_LINE_DRAWING;
+        terminal->pvt->set_character_replacements(0, VTE_CHARACTER_REPLACEMENT_LINE_DRAWING);
 }
 
 /* G0 character set is British (# is converted to £). */
 static void
 vte_sequence_handler_designate_g0_british (VteTerminal *terminal, GValueArray *params)
 {
-        terminal->pvt->character_replacements[0] = VTE_CHARACTER_REPLACEMENT_BRITISH;
+        terminal->pvt->set_character_replacements(0, VTE_CHARACTER_REPLACEMENT_BRITISH);
 }
 
 /* G1 character set is a pass-thru (no mapping). */
 static void
 vte_sequence_handler_designate_g1_plain (VteTerminal *terminal, GValueArray *params)
 {
-        terminal->pvt->character_replacements[1] = VTE_CHARACTER_REPLACEMENT_NONE;
+        terminal->pvt->set_character_replacements(1, VTE_CHARACTER_REPLACEMENT_NONE);
 }
 
 /* G1 character set is DEC Special Character and Line Drawing Set. */
 static void
 vte_sequence_handler_designate_g1_line_drawing (VteTerminal *terminal, GValueArray *params)
 {
-        terminal->pvt->character_replacements[1] = VTE_CHARACTER_REPLACEMENT_LINE_DRAWING;
+        terminal->pvt->set_character_replacements(1, VTE_CHARACTER_REPLACEMENT_LINE_DRAWING);
 }
 
 /* G1 character set is British (# is converted to £). */
 static void
 vte_sequence_handler_designate_g1_british (VteTerminal *terminal, GValueArray *params)
 {
-        terminal->pvt->character_replacements[1] = VTE_CHARACTER_REPLACEMENT_BRITISH;
+        terminal->pvt->set_character_replacements(1, VTE_CHARACTER_REPLACEMENT_BRITISH);
+}
+
+void
+VteTerminalPrivate::set_character_replacement(unsigned slot)
+{
+        g_assert(slot < G_N_ELEMENTS(m_character_replacements));
+        m_character_replacement = &m_character_replacements[slot];
 }
 
 /* SI (shift in): switch to G0 character set. */
 static void
 vte_sequence_handler_shift_in (VteTerminal *terminal, GValueArray *params)
 {
-        terminal->pvt->character_replacement = &terminal->pvt->character_replacements[0];
+        terminal->pvt->set_character_replacement(0);
 }
 
 /* SO (shift out): switch to G1 character set. */
 static void
 vte_sequence_handler_shift_out (VteTerminal *terminal, GValueArray *params)
 {
-        terminal->pvt->character_replacement = &terminal->pvt->character_replacements[1];
+        terminal->pvt->set_character_replacement(1);
 }
 
 /* Beep. */


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