Revision: 1623
          http://geeqie.svn.sourceforge.net/geeqie/?rev=1623&view=rev
Author:   mow
Date:     2009-04-06 23:59:54 +0000 (Mon, 06 Apr 2009)

Log Message:
-----------
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.

Modified Paths:
--------------
    trunk/src/bar_keywords.c

Modified: trunk/src/bar_keywords.c
===================================================================
--- trunk/src/bar_keywords.c    2009-04-06 23:59:38 UTC (rev 1622)
+++ trunk/src/bar_keywords.c    2009-04-06 23:59:54 UTC (rev 1623)
@@ -794,26 +794,31 @@
        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;
                        }
                }


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Geeqie-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geeqie-svn

Reply via email to