changeset 2586:e2c53828af57

Fix #507: Slightly rearrange keywords context menu https://github.com/BestImageViewer/geeqie/issues/507
author Tomasz Golinski <tomaszg@math.uwb.edu.pl>
date Thu, 31 Aug 2017 11:38:26 +0100
parents 007dc5135fac
children c6f9494f6be1
files src/bar_keywords.c
diffstat 1 files changed, 20 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/bar_keywords.c	Tue Aug 29 10:13:17 2017 +0100
+++ b/src/bar_keywords.c	Thu Aug 31 11:38:26 2017 +0100
@@ -1255,11 +1255,7 @@
 
 	menu = popup_menu_short_lived();
 
-	menu_item_add_stock(menu, _("New keyword"), GTK_STOCK_EDIT, G_CALLBACK(bar_pane_keywords_add_dialog_cb), pkd);
-
-	menu_item_add_divider(menu);
-
-	menu_item_add(menu, _("Add keyword to all selected images"), G_CALLBACK(bar_pane_keywords_add_to_selected_cb), pkd);
+	menu_item_add_stock(menu, _("New keyword"), GTK_STOCK_NEW, G_CALLBACK(bar_pane_keywords_add_dialog_cb), pkd);
 
 	menu_item_add_divider(menu);
 
@@ -1269,6 +1265,7 @@
 		gchar *text;
 		gchar *mark;
 		gint i;
+		gboolean keyword;
 
 		GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(pkd->keyword_treeview));
 
@@ -1277,10 +1274,19 @@
 		gchar *name;
 
 		gtk_tree_model_get(model, &iter, FILTER_KEYWORD_COLUMN_NAME, &name,
-						 FILTER_KEYWORD_COLUMN_MARK, &mark, -1);
+						FILTER_KEYWORD_COLUMN_MARK, &mark,
+						FILTER_KEYWORD_COLUMN_IS_KEYWORD, &keyword, -1);
+
+		if (keyword)
+			{
+			text = g_strdup_printf(_("Add \"%s\" to all selected images"), name);
+			menu_item_add_stock(menu, text, GTK_STOCK_ADD, G_CALLBACK(bar_pane_keywords_add_to_selected_cb), pkd);
+			g_free(text);
+			}
+		menu_item_add_divider(menu);
 
 		text = g_strdup_printf(_("Hide \"%s\""), name);
-		menu_item_add_stock(menu, text, GTK_STOCK_EDIT, G_CALLBACK(bar_pane_keywords_hide_cb), pkd);
+		menu_item_add(menu, text, G_CALLBACK(bar_pane_keywords_hide_cb), pkd);
 		g_free(text);
 
 		submenu = gtk_menu_new();
@@ -1291,11 +1297,14 @@
 			g_object_set_data(G_OBJECT(item), "mark", GINT_TO_POINTER(i + 1));
 			g_free(text);
 			}
-		text = g_strdup_printf(_("Connect \"%s\" to mark"), name);
-		item = menu_item_add(menu, text, NULL, NULL);
-		gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
-		g_free(text);
 
+		if (keyword)
+			{
+			text = g_strdup_printf(_("Connect \"%s\" to mark"), name);
+			item = menu_item_add(menu, text, NULL, NULL);
+			gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
+			g_free(text);
+			}
 		menu_item_add_divider(menu);
 
 		text = g_strdup_printf(_("Edit \"%s\""), name);