summaryrefslogtreecommitdiff
path: root/rcm-client-advanced.c
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2015-08-20 00:23:27 +0200
committerDavid Härdeman <david@hardeman.nu>2015-08-20 00:23:27 +0200
commitbde923a8584b8104ed999091b81bcd6c84d533ba (patch)
tree028ac16441d21cd12598785551e3229110f88a0e /rcm-client-advanced.c
parent8d24f123abeb73cb2c1255d7b306e11ad7ba1c42 (diff)
Add raw event logging UI
Diffstat (limited to 'rcm-client-advanced.c')
-rw-r--r--rcm-client-advanced.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/rcm-client-advanced.c b/rcm-client-advanced.c
index ca10331..0141c37 100644
--- a/rcm-client-advanced.c
+++ b/rcm-client-advanced.c
@@ -48,6 +48,30 @@ encode_nec(uint32_t scancode_raw)
return r;
}
+void
+advanced_receive_event(const gchar *event)
+{
+ GtkTextView *textview = GTK_TEXT_VIEW(get_object("advanced_receive_textview"));
+ GtkTextBuffer *buffer = gtk_text_view_get_buffer(textview);
+ GtkTextIter iter;
+
+ gtk_text_buffer_get_end_iter(buffer, &iter);
+ gtk_text_buffer_insert(buffer, &iter, event, -1);
+}
+
+static void
+advanced_receive_clear_cb(GtkButton *button, gpointer user_data)
+{
+ GtkTextView *textview = GTK_TEXT_VIEW(get_object("advanced_receive_textview"));
+ GtkTextBuffer *buffer = gtk_text_view_get_buffer(textview);
+ GtkTextIter si, ei;
+
+ gtk_text_buffer_get_start_iter(buffer, &si);
+ gtk_text_buffer_get_end_iter(buffer, &ei);
+
+ gtk_text_buffer_delete(buffer, &si, &ei);
+}
+
static void
advanced_transmit_cb(GtkButton *button, gpointer user_data)
{
@@ -121,6 +145,18 @@ advanced_show_main_cb(GtkButton *button, gpointer user_data)
}
static void
+advanced_show_receive_cb(GtkButton *button, gpointer user_data)
+{
+ RCDevice *object = user_data;
+ GtkStack *stack;
+
+ stack = GTK_STACK(get_object("advanced_stack"));
+ gtk_stack_set_visible_child_name(stack, "advanced_receive_page");
+ g_signal_replace_id("advanced_receive_clear", "clicked", G_CALLBACK(advanced_receive_clear_cb), object);
+ local_create_header_button("Return to advanced menu", "go-previous-symbolic", false, G_CALLBACK(advanced_show_main_cb), NULL);
+}
+
+static void
advanced_show_transmit_cb(GtkButton *button, gpointer user_data)
{
RCDevice *object = user_data;
@@ -311,6 +347,7 @@ advanced_init_ui(RCDevice *object)
g_free(titlestr);
g_signal_replace_id("advanced_main_transmit", "clicked", G_CALLBACK(advanced_show_transmit_cb), object);
+ g_signal_replace_id("advanced_main_receive", "clicked", G_CALLBACK(advanced_show_receive_cb), object);
g_signal_replace_id("advanced_main_keymap", "clicked", G_CALLBACK(advanced_show_keymap_cb), object);
gtk_tree_view_column_set_cell_data_func(GTK_TREE_VIEW_COLUMN(get_object("advanced_keymap_treecol_scancode")),