diff options
author | Juan R. García Blanco <juanrgar@gmail.com> | 2015-03-14 00:56:03 +0100 |
---|---|---|
committer | Juan R. García Blanco <juanrgar@gmail.com> | 2015-03-29 12:27:58 +0200 |
commit | cff8193a32b4b45130e8cdcf7b794a95e4e0019f (patch) | |
tree | bd25ad9fbabc7d48203035c3f39bfdfc69415866 | |
parent | b64bb1e1c37002ee51913de79714ca762a4a2112 (diff) | |
download | gnome-dictionary-cff8193a32b4b45130e8cdcf7b794a95e4e0019f.tar.gz |
app: Improve menu items sensitivity
* src/gdict-window.c: Add select-all, find, find-next, and
find-previous actions to sensitivity list. Connect to
GdictDefbox::selection-changed to modify copy action
enable status according to gdict_defbox_get_has_selection().
-rw-r--r-- | src/gdict-window.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/gdict-window.c b/src/gdict-window.c index e27db0e..b5dfed3 100644 --- a/src/gdict-window.c +++ b/src/gdict-window.c @@ -157,6 +157,10 @@ static const gchar *toggle_actions[] = { "next-def", "first-def", "last-def", + "select-all", + "find", + "find-next", + "find-previous", }; static gint n_toggle_state = G_N_ELEMENTS (toggle_actions); @@ -1514,6 +1518,21 @@ gdict_window_link_clicked (GdictDefbox *defbox, } static void +gdict_window_defbox_selection_changed (GdictDefbox *defbox, + GdictWindow *window) +{ + GAction *action; + gboolean has_selection; + + action = g_action_map_lookup_action (G_ACTION_MAP (window), "copy"); + if (action) + { + has_selection = gdict_defbox_get_has_selection (defbox); + g_simple_action_set_enabled (G_SIMPLE_ACTION (action), has_selection); + } +} + +static void gdict_window_drag_data_received_cb (GtkWidget *widget, GdkDragContext *context, gint x, @@ -1662,6 +1681,10 @@ gdict_window_constructor (GType type, g_signal_connect (window->defbox, "link-clicked", G_CALLBACK (gdict_window_link_clicked), window); + g_signal_connect (GDICT_DEFBOX (window->defbox), "selection-changed", + G_CALLBACK (gdict_window_defbox_selection_changed), + window); + gdict_window_defbox_selection_changed (window->defbox, window); gtk_drag_dest_set (window->defbox, GTK_DEST_DEFAULT_ALL, |