shortcuts: Try harder to disambiguate search items

I noticed that some of the gestures did not show up in the
search results in the builder example in gtk3-demo, because
they share the same title and don't have an accelerator to
disambiguate. Include the shortcut type to handle this case.
This commit is contained in:
Matthias Clasen 2016-06-19 23:24:44 -04:00
parent 815cc23c4c
commit 8a2812217b

View File

@ -197,6 +197,9 @@ gtk_shortcuts_window_add_search_item (GtkWidget *child, gpointer data)
if (GTK_IS_SHORTCUTS_SHORTCUT (child))
{
GEnumClass *class;
GEnumValue *value;
g_object_get (child,
"accelerator", &accelerator,
"title", &title,
@ -207,7 +210,13 @@ gtk_shortcuts_window_add_search_item (GtkWidget *child, gpointer data)
"action-name", &action_name,
NULL);
hash_key = g_strdup_printf ("%s-%s", title, accelerator);
class = G_ENUM_CLASS (g_type_class_ref (GTK_TYPE_SHORTCUT_TYPE));
value = g_enum_get_value (class, shortcut_type);
hash_key = g_strdup_printf ("%s-%s-%s", title, value->value_nick, accelerator);
g_type_class_unref (class);
if (g_hash_table_contains (priv->search_items_hash, hash_key))
{
g_free (hash_key);