summaryrefslogtreecommitdiffstats
path: root/gtk
diff options
context:
space:
mode:
authorJohn Stebbins <[email protected]>2019-07-29 10:02:02 -0700
committerJohn Stebbins <[email protected]>2019-07-29 10:02:02 -0700
commit31e7ddd4f1517eee701d77d176e8113285598138 (patch)
tree48f3a2168eef557bfacd8062b206648b089e44aa /gtk
parenta848a396fd3beb1fe8f0610baff8f5dfe838fe4f (diff)
LinGui: disable gtk4 key-press handling for chapter list
gtk4 makes it very difficult to handle key-press in a GtkCellRenderer I will need to rewrite the capter list as a GtkListBox instead of a GtkTreeView to re-enable this. key-press handling is used here to automatically move to the next chapter when finished editing the current
Diffstat (limited to 'gtk')
-rw-r--r--gtk/src/callbacks.c4
-rw-r--r--gtk/src/main.c7
2 files changed, 9 insertions, 2 deletions
diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c
index 6138d280f..eee58d38b 100644
--- a/gtk/src/callbacks.c
+++ b/gtk/src/callbacks.c
@@ -4695,7 +4695,7 @@ static guint chapter_edit_key = 0;
G_MODULE_EXPORT gboolean
chapter_keypress_cb(
- GhbCellRendererText *cell,
+ GtkCellRendererText *cell,
GdkEvent *event,
signal_user_data_t *ud)
{
@@ -4705,7 +4705,7 @@ chapter_keypress_cb(
G_MODULE_EXPORT void
chapter_edited_cb(
- GhbCellRendererText *cell,
+ GtkCellRendererText *cell,
gchar *path,
gchar *text,
signal_user_data_t *ud)
diff --git a/gtk/src/main.c b/gtk/src/main.c
index ba51b6546..1acdc4da1 100644
--- a/gtk/src/main.c
+++ b/gtk/src/main.c
@@ -217,7 +217,11 @@ bind_chapter_tree_model(signal_user_data_t *ud)
treestore = gtk_list_store_new(5, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN);
gtk_tree_view_set_model(treeview, GTK_TREE_MODEL(treestore));
+#if GTK_CHECK_VERSION(3, 90, 0)
+ cell = gtk_cell_renderer_text_new();
+#else
cell = ghb_cell_renderer_text_new();
+#endif
column = gtk_tree_view_column_new_with_attributes(
_("Index"), cell, "text", 0, NULL);
gtk_tree_view_append_column(treeview, GTK_TREE_VIEW_COLUMN(column));
@@ -237,7 +241,10 @@ bind_chapter_tree_model(signal_user_data_t *ud)
_("Title"), cell, "text", 3, "editable", 4, NULL);
gtk_tree_view_append_column(treeview, GTK_TREE_VIEW_COLUMN(column));
+#if GTK_CHECK_VERSION(3, 90, 0)
+#else
g_signal_connect(cell, "key-press-event", chapter_keypress_cb, ud);
+#endif
g_signal_connect(cell, "edited", chapter_edited_cb, ud);
g_debug("Done\n");
}