[vte] widget: Move some methods to VteTerminalPrivate
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vte] widget: Move some methods to VteTerminalPrivate
- Date: Thu, 14 Jan 2016 16:13:42 +0000 (UTC)
commit 0b6e206173f160c13e827af6b41aa19e6910a978
Author: Christian Persch <chpe gnome org>
Date: Thu Jan 14 17:05:37 2016 +0100
widget: Move some methods to VteTerminalPrivate
src/vteinternal.hh | 5 +++++
src/vteseq.cc | 32 ++++++++++++++++++++------------
2 files changed, 25 insertions(+), 12 deletions(-)
---
diff --git a/src/vteinternal.hh b/src/vteinternal.hh
index fda45b5..656f31d 100644
--- a/src/vteinternal.hh
+++ b/src/vteinternal.hh
@@ -1164,6 +1164,11 @@ public:
inline void seq_window_manipulation(long param,
long arg1,
long arg2);
+ inline void seq_change_special_color_internal(char const* name,
+ int index,
+ int index_fallback,
+ int osc,
+ char const *terminator);
};
#define m_invalidated_all invalidated_all
diff --git a/src/vteseq.cc b/src/vteseq.cc
index 2da0d63..cded2c8 100644
--- a/src/vteseq.cc
+++ b/src/vteseq.cc
@@ -3240,13 +3240,10 @@ vte_sequence_handler_change_special_color_internal (VteTerminal *terminal, GValu
int index, int index_fallback, int osc,
const char *terminator)
{
- gchar *name = NULL;
- GValue *value;
- vte::color::rgb color;
-
if (params != NULL && params->n_values > 0) {
- value = g_value_array_get_nth (params, 0);
+ GValue* value = g_value_array_get_nth (params, 0);
+ char *name = nullptr;
if (G_VALUE_HOLDS_STRING (value))
name = g_value_dup_string (value);
else if (G_VALUE_HOLDS_POINTER (value))
@@ -3255,22 +3252,33 @@ vte_sequence_handler_change_special_color_internal (VteTerminal *terminal, GValu
if (! name)
return;
+ terminal->pvt->seq_change_special_color_internal(name, index, index_fallback, osc,
terminator);
+ g_free(name);
+ }
+}
+
+void
+VteTerminalPrivate::seq_change_special_color_internal(char const* name,
+ int index,
+ int index_fallback,
+ int osc,
+ char const *terminator)
+{
+ vte::color::rgb color;
+
if (color.parse(name))
- terminal->pvt->set_color(index, VTE_COLOR_SOURCE_ESCAPE, color);
+ set_color(index, VTE_COLOR_SOURCE_ESCAPE, color);
else if (strcmp (name, "?") == 0) {
gchar buf[128];
- vte::color::rgb const* c = terminal->pvt->get_color(index);
+ auto c = get_color(index);
if (c == NULL && index_fallback != -1)
- c = terminal->pvt->get_color(index_fallback);
+ c = get_color(index_fallback);
g_assert(c != NULL);
g_snprintf (buf, sizeof (buf),
_VTE_CAP_OSC "%d;rgb:%04x/%04x/%04x%s",
osc, c->red, c->green, c->blue, terminator);
- vte_terminal_feed_child (terminal, buf, -1);
+ feed_child(buf, -1);
}
-
- g_free (name);
- }
}
/* Change the default foreground cursor, BEL terminated */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]