Mercurial > geeqie
comparison src/bar_keywords.c @ 1465:400ecfc3d8b1
do not add duplicate keywords from config file
author | nadvornik |
---|---|
date | Fri, 20 Mar 2009 11:52:29 +0000 |
parents | 1b3751ac4743 |
children | 607c60506863 |
comparison
equal
deleted
inserted
replaced
1464:1b3751ac4743 | 1465:400ecfc3d8b1 |
---|---|
533 { | 533 { |
534 return TRUE; /* reordering of top-level siblings is ok */ | 534 return TRUE; /* reordering of top-level siblings is ok */ |
535 } | 535 } |
536 | 536 |
537 src_name = keyword_get_name(keyword_tree, src_kw_iter); | 537 src_name = keyword_get_name(keyword_tree, src_kw_iter); |
538 if (keyword_exists(keyword_tree, NULL, dest_kw_iter, src_name, FALSE)) | 538 if (keyword_exists(keyword_tree, NULL, dest_kw_iter, src_name, FALSE, NULL)) |
539 { | 539 { |
540 g_free(src_name); | 540 g_free(src_name); |
541 return FALSE; | 541 return FALSE; |
542 } | 542 } |
543 g_free(src_name); | 543 g_free(src_name); |
549 /* we have to find at least one keyword that does not already exist as a sibling of dest_kw_iter */ | 549 /* we have to find at least one keyword that does not already exist as a sibling of dest_kw_iter */ |
550 GList *work = *keywords; | 550 GList *work = *keywords; |
551 while (work) | 551 while (work) |
552 { | 552 { |
553 gchar *keyword = work->data; | 553 gchar *keyword = work->data; |
554 if (keyword_exists(keyword_tree, NULL, dest_kw_iter, keyword, FALSE)) | 554 if (keyword_exists(keyword_tree, NULL, dest_kw_iter, keyword, FALSE, NULL)) |
555 { | 555 { |
556 GList *next = work->next; | 556 GList *next = work->next; |
557 g_free(keyword); | 557 g_free(keyword); |
558 *keywords = g_list_delete_link(*keywords, work); | 558 *keywords = g_list_delete_link(*keywords, work); |
559 work = next; | 559 work = next; |
779 keywords = keyword_list_pull(cdd->edit_widget); | 779 keywords = keyword_list_pull(cdd->edit_widget); |
780 | 780 |
781 if (cdd->edit_existing) | 781 if (cdd->edit_existing) |
782 { | 782 { |
783 if (keywords && keywords->data && /* there should be one keyword */ | 783 if (keywords && keywords->data && /* there should be one keyword */ |
784 !keyword_exists(keyword_tree, NULL, &kw_iter, keywords->data, TRUE)) | 784 !keyword_exists(keyword_tree, NULL, &kw_iter, keywords->data, TRUE, NULL)) |
785 { | 785 { |
786 keyword_set(GTK_TREE_STORE(keyword_tree), &kw_iter, keywords->data, cdd->is_keyword); | 786 keyword_set(GTK_TREE_STORE(keyword_tree), &kw_iter, keywords->data, cdd->is_keyword); |
787 } | 787 } |
788 } | 788 } |
789 else | 789 else |
791 GList *work = keywords; | 791 GList *work = keywords; |
792 | 792 |
793 while (work) | 793 while (work) |
794 { | 794 { |
795 GtkTreeIter add; | 795 GtkTreeIter add; |
796 if (keyword_exists(keyword_tree, NULL, have_dest ? &kw_iter : NULL, work->data, FALSE)) | 796 if (keyword_exists(keyword_tree, NULL, have_dest ? &kw_iter : NULL, work->data, FALSE, NULL)) |
797 { | 797 { |
798 work = work->next; | 798 work = work->next; |
799 continue; | 799 continue; |
800 } | 800 } |
801 if (have_dest) | 801 if (have_dest) |