Hi, I tried the new keyword dialogue and found some disadvantages. For two I add patches to this mail.
- The "Add keyword" dialog has the focus on the OK button which needs one more klick. For many keywords to add this is a pain. (See patch 0001) - I like to add keywords inside another (nested) when adding them with focus on the parent or just appended if focus is not on another keyword. (See patch 0002) - In fact it is undocumented that it is possible to add several keywords at once by comma separate them. Maybe we can add a bubble or so? Ah yes, and the string should be changed from "Add keyword" to "Add keywords". - Is it really a good idea to compare keywords case insensitive? Sometimes I use keywords which just differ in case. I think that should be configurable. Then I have a other, performance issue. With gqview in a directory with many images I get the window just instantly. With geeqie it takes several seconds until the window appears. I do not know what do the performance issue but it should be solved or at least add a splash screen to inform the user that something happens. Regards Klaus -- Klaus Ethgen http://www.ethgen.de/ pub 2048R/D1A4EDE5 2000-02-26 Klaus Ethgen <kl...@ethgen.de> Fingerprint: D7 67 71 C4 99 A6 D4 FE EA 40 30 57 3C 88 26 2B
>From 4342e39defd0e1cfa500283c8ac77729328ba31c Mon Sep 17 00:00:00 2001 From: Klaus Ethgen <kl...@ethgen.de> Date: Sun, 5 Apr 2009 14:25:09 +0100 Subject: [PATCH 1/2] Set the focus for new keyword dialog --- src/bar_keywords.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/src/bar_keywords.c b/src/bar_keywords.c index 7f2b40b..270ace6 100644 --- a/src/bar_keywords.c +++ b/src/bar_keywords.c @@ -905,6 +905,8 @@ static void bar_pane_keywords_edit_dialog(PaneKeywordsData *pkd, gboolean edit_e G_CALLBACK(bar_pane_keywords_conf_set_helper), cdd); g_free(name); + gtk_widget_grab_focus(cdd->edit_widget); + gtk_widget_show(gd->dialog); } -- 1.6.2.1
>From f1f28705ab652ead2de4e3c59ded34d5721382de Mon Sep 17 00:00:00 2001 From: Klaus Ethgen <kl...@ethgen.de> Date: Sun, 5 Apr 2009 15:24:06 +0100 Subject: [PATCH 2/2] Nest new keywords inside existing It is boring to first add a bunch of keywords and then move them to the new location. It is more natural to add them as child to existing ons. --- src/bar_keywords.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/bar_keywords.c b/src/bar_keywords.c index 270ace6..da6832a 100644 --- a/src/bar_keywords.c +++ b/src/bar_keywords.c @@ -794,26 +794,31 @@ static void bar_pane_keywords_edit_ok_cb(GenericDialog *gd, gpointer data) else { GList *work = keywords; + gboolean append_to = FALSE; while (work) { GtkTreeIter add; - if (keyword_exists(keyword_tree, NULL, have_dest ? &kw_iter : NULL, work->data, FALSE, NULL)) + if (keyword_exists(keyword_tree, NULL, (have_dest || append_to) ? &kw_iter : NULL, work->data, FALSE, NULL)) { work = work->next; continue; } if (have_dest) { + gtk_tree_store_append(GTK_TREE_STORE(keyword_tree), &add, &kw_iter); + } + else if (append_to) + { gtk_tree_store_insert_after(GTK_TREE_STORE(keyword_tree), &add, NULL, &kw_iter); } else { gtk_tree_store_append(GTK_TREE_STORE(keyword_tree), &add, NULL); - have_dest = TRUE; + append_to = TRUE; + kw_iter = add; } - kw_iter = add; - keyword_set(GTK_TREE_STORE(keyword_tree), &kw_iter, work->data, cdd->is_keyword); + keyword_set(GTK_TREE_STORE(keyword_tree), &add, work->data, cdd->is_keyword); work = work->next; } } -- 1.6.2.1
signature.asc
Description: Digital signature
------------------------------------------------------------------------------
_______________________________________________ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel