[vte] widget: Move some methods to VteTerminalPrivate



commit a9f99163b37b3e6ab789e65c1fa6502a8cd182cf
Author: Christian Persch <chpe gnome org>
Date:   Sat Jan 30 18:19:26 2016 +0100

    widget: Move some methods to VteTerminalPrivate

 src/vte-private.h  |    1 -
 src/vte.cc         |   61 +++++++++++++++++++++------------------------------
 src/vteaccess.cc   |    8 +-----
 src/vteinternal.hh |    6 +++++
 4 files changed, 33 insertions(+), 43 deletions(-)
---
diff --git a/src/vte-private.h b/src/vte-private.h
index d94fcef..b22ba0c 100644
--- a/src/vte-private.h
+++ b/src/vte-private.h
@@ -54,7 +54,6 @@
 G_BEGIN_DECLS
 
 VteTerminalPrivate *_vte_terminal_get_impl(VteTerminal *terminal);
-void _vte_terminal_select_text(VteTerminal *terminal, long start_x, long start_y, long end_x, long end_y, 
int start_offset, int end_offset);
 
 VteRowData *_vte_terminal_ensure_row(VteTerminal *terminal);
 VteRowData * _vte_new_row_data(VteTerminal *terminal);
diff --git a/src/vte.cc b/src/vte.cc
index 0e10aab..3bf4e4e 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -10398,36 +10398,33 @@ VteTerminalPrivate::subscribe_accessible_events()
 }
 
 void
-_vte_terminal_select_text(VteTerminal *terminal,
-                         long start_col, long start_row,
-                         long end_col, long end_row,
-                         int start_offset, int end_offset)
+VteTerminalPrivate::select_text(vte::grid::column_t start_col,
+                                vte::grid::row_t start_row,
+                                vte::grid::column_t end_col,
+                                vte::grid::row_t end_row)
 {
-       g_return_if_fail(VTE_IS_TERMINAL(terminal));
-
-       terminal->pvt->deselect_all();
+       deselect_all();
 
-       terminal->pvt->selection_type = selection_type_char;
-       terminal->pvt->selecting_had_delta = TRUE;
-       terminal->pvt->selection_start.col = start_col;
-       terminal->pvt->selection_start.row = start_row;
-       terminal->pvt->selection_end.col = end_col;
-       terminal->pvt->selection_end.row = end_row;
-       vte_terminal_copy_primary(terminal);
-       terminal->pvt->emit_selection_changed();
+       m_selection_type = selection_type_char;
+       m_selecting_had_delta = true;
+       m_selection_start.col = start_col;
+       m_selection_start.row = start_row;
+       m_selection_end.col = end_col;
+       m_selection_end.row = end_row;
+        widget_copy(VTE_SELECTION_PRIMARY);
+       emit_selection_changed();
 
-       terminal->pvt->invalidate_region(
-                       MIN (start_col, end_col), MAX (start_col, end_col),
-                       MIN (start_row, end_row), MAX (start_row, end_row),
-                       false);
+       invalidate_region(MIN (start_col, end_col), MAX (start_col, end_col),
+                          MIN (start_row, end_row), MAX (start_row, end_row),
+                          false);
 
 }
 
-static void
-_vte_terminal_select_empty_at(VteTerminal *terminal,
-                             long col, long row)
+void
+VteTerminalPrivate::select_empty(vte::grid::column_t col,
+                                 vte::grid::row_t row)
 {
-       _vte_terminal_select_text(terminal, col, row, col - 1, row, 0, 0);
+        select_text(col, row, col - 1, row);
 }
 
 static void
@@ -11143,7 +11140,7 @@ VteTerminalPrivate::search_rows(
        g_free (word);
        g_free (row_text);
 
-       _vte_terminal_select_text(m_terminal, start_col, start_row, end_col, end_row, 0, 0);
+       select_text(start_col, start_row, end_col, end_row);
        /* Quite possibly the math here should not access adjustment directly... */
        value = gtk_adjustment_get_value(m_vadjustment);
        page_size = gtk_adjustment_get_page_size(m_vadjustment);
@@ -11267,13 +11264,9 @@ VteTerminalPrivate::search_find (bool backward)
                        goto found;
                if (m_has_selection) {
                        if (m_search_wrap_around)
-                           _vte_terminal_select_empty_at (m_terminal,
-                                                          m_selection_start.col,
-                                                          m_selection_start.row);
+                           select_empty(m_selection_start.col, m_selection_start.row);
                        else
-                           _vte_terminal_select_empty_at (m_terminal,
-                                                          -1,
-                                                          buffer_start_row - 1);
+                           select_empty(-1, buffer_start_row - 1);
                }
                 match_found = false;
        } else {
@@ -11292,13 +11285,9 @@ VteTerminalPrivate::search_find (bool backward)
                        goto found;
                if (m_has_selection) {
                        if (m_search_wrap_around)
-                           _vte_terminal_select_empty_at (m_terminal,
-                                                          m_selection_end.col + 1,
-                                                          m_selection_end.row);
+                                select_empty(m_selection_end.col + 1, m_selection_end.row);
                        else
-                           _vte_terminal_select_empty_at (m_terminal,
-                                                          -1,
-                                                          buffer_end_row);
+                                select_empty(-1, buffer_end_row);
                }
                 match_found = false;
        }
diff --git a/src/vteaccess.cc b/src/vteaccess.cc
index 70a823c..4561af6 100644
--- a/src/vteaccess.cc
+++ b/src/vteaccess.cc
@@ -1441,8 +1441,6 @@ vte_terminal_accessible_add_selection(AtkText *text,
         VteTerminalAccessible *accessible = VTE_TERMINAL_ACCESSIBLE(text);
        VteTerminalAccessiblePrivate *priv = (VteTerminalAccessiblePrivate 
*)_vte_terminal_accessible_get_instance_private(accessible);
        GtkWidget *widget;
-       VteTerminal *terminal;
-       gint start_x, start_y, end_x, end_y;
 
        vte_terminal_accessible_update_private_data_if_needed(accessible,
                                                              NULL, NULL);
@@ -1452,12 +1450,10 @@ vte_terminal_accessible_add_selection(AtkText *text,
                return FALSE;
        }
 
-       terminal = VTE_TERMINAL (widget);
-       g_assert(!vte_terminal_get_has_selection (terminal));
-
+       int start_x, start_y, end_x, end_y;
        xy_from_offset (priv, start_offset, &start_x, &start_y);
        xy_from_offset (priv, end_offset, &end_x, &end_y);
-       _vte_terminal_select_text (terminal, start_x, start_y, end_x, end_y, start_offset, end_offset);
+       IMPL_FROM_WIDGET(widget)->select_text(start_x, start_y, end_x, end_y);
        return TRUE;
 }
 
diff --git a/src/vteinternal.hh b/src/vteinternal.hh
index b3b3ea0..82e5906 100644
--- a/src/vteinternal.hh
+++ b/src/vteinternal.hh
@@ -1179,6 +1179,12 @@ public:
                                                       char const *terminator);
 
         void subscribe_accessible_events();
+        void select_text(vte::grid::column_t start_col,
+                         vte::grid::row_t start_row,
+                         vte::grid::column_t end_col,
+                         vte::grid::row_t end_row);
+        void select_empty(vte::grid::column_t col,
+                          vte::grid::row_t row);
 };
 
 #define m_invalidated_all invalidated_all


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