[import-main-matcher.cpp] After clicking/toggling A/U+C/C checkbox, reselect the row

because it'll be much faster to use keyboard navigation -- use
up/down/left/right to target desired checkbox, hit <down> <space>
repeatedly to repeat the same action over several consecutive rows.
This commit is contained in:
Christopher Lam committed 2023-07-28 17:06:38 +08:00
1 parent a2f88f6f97
commit 5ac8ffdd41
1 file changed
+11
@@ -673,6 +673,15 @@ run_match_dialog (GNCImportMainMatcher *info,
trans_info, info->pending_matches); trans_info, info->pending_matches);
} }
static void
set_treeview_selection_from_path (GtkTreeView* view, const char* path)
{
auto selection = gtk_tree_view_get_selection (view);
auto tree_path = gtk_tree_path_new_from_string (path);
gtk_tree_selection_select_path (selection, tree_path);
gtk_tree_path_free (tree_path);
}
static void static void
gen_trans_common_toggled_cb (GtkCellRendererToggle *cell_renderer, gchar *path, gen_trans_common_toggled_cb (GtkCellRendererToggle *cell_renderer, gchar *path,
GNCImportMainMatcher *gui, GNCImportAction action) GNCImportMainMatcher *gui, GNCImportAction action)
@@ -689,6 +698,8 @@ gen_trans_common_toggled_cb (GtkCellRendererToggle *cell_renderer, gchar *path,
else else
gnc_import_TransInfo_set_action (transaction_info, action); gnc_import_TransInfo_set_action (transaction_info, action);
refresh_model_row (gui, model, &tree_iter, transaction_info); refresh_model_row (gui, model, &tree_iter, transaction_info);
set_treeview_selection_from_path (GTK_TREE_VIEW(gui->view), path);
} }
static void static void