diff options
author | Theo Linkspfeifer <lastonestanding@tutanota.com> | 2019-05-27 22:45:40 +0200 |
---|---|---|
committer | Andre Miranda <andreldm@xfce.org> | 2019-05-27 21:53:56 -0300 |
commit | 1a3e8a298775a7311dcdb77692a9c93e6b095b29 (patch) | |
tree | 968ae58aa4b0f75b26fad664681368c2739c0778 /src/xfdesktop-icon-view.c | |
parent | 340ff1972f1dc2601c00552863427d24a799c00e (diff) | |
download | xfdesktop-1a3e8a298775a7311dcdb77692a9c93e6b095b29.tar.gz |
Open all selected icons on key press (Bug #15420)
Diffstat (limited to 'src/xfdesktop-icon-view.c')
-rw-r--r-- | src/xfdesktop-icon-view.c | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/src/xfdesktop-icon-view.c b/src/xfdesktop-icon-view.c index a4da6c66..10ac6f47 100644 --- a/src/xfdesktop-icon-view.c +++ b/src/xfdesktop-icon-view.c @@ -98,7 +98,7 @@ enum SIG_SELECT_CURSOR_ITEM, SIG_TOGGLE_CURSOR_ITEM, SIG_MOVE_CURSOR, - SIG_ACTIVATE_CURSOR_ITEM, + SIG_ACTIVATE_SELECTED_ITEMS, SIG_RESIZE_EVENT, SIG_N_SIGNALS, }; @@ -355,7 +355,7 @@ static void xfdesktop_icon_view_real_select_all(XfdesktopIconView *icon_view); static void xfdesktop_icon_view_real_unselect_all(XfdesktopIconView *icon_view); static void xfdesktop_icon_view_real_select_cursor_item(XfdesktopIconView *icon_view); static void xfdesktop_icon_view_real_toggle_cursor_item(XfdesktopIconView *icon_view); -static gboolean xfdesktop_icon_view_real_activate_cursor_item(XfdesktopIconView *icon_view); +static gboolean xfdesktop_icon_view_real_activate_selected_items(XfdesktopIconView *icon_view); static gboolean xfdesktop_icon_view_real_move_cursor(XfdesktopIconView *icon_view, GtkMovementStep step, gint count); @@ -422,7 +422,7 @@ xfdesktop_icon_view_class_init(XfdesktopIconViewClass *klass) klass->unselect_all = xfdesktop_icon_view_real_unselect_all; klass->select_cursor_item = xfdesktop_icon_view_real_select_cursor_item; klass->toggle_cursor_item = xfdesktop_icon_view_real_toggle_cursor_item; - klass->activate_cursor_item = xfdesktop_icon_view_real_activate_cursor_item; + klass->activate_selected_items = xfdesktop_icon_view_real_activate_selected_items; klass->move_cursor = xfdesktop_icon_view_real_move_cursor; __signals[SIG_ICON_SELECTION_CHANGED] = g_signal_new("icon-selection-changed", @@ -479,11 +479,11 @@ xfdesktop_icon_view_class_init(XfdesktopIconViewClass *klass) g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); - __signals[SIG_ACTIVATE_CURSOR_ITEM] = g_signal_new(I_("activate-cursor-item"), + __signals[SIG_ACTIVATE_SELECTED_ITEMS] = g_signal_new(I_("activate-selected-items"), XFDESKTOP_TYPE_ICON_VIEW, G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET(XfdesktopIconViewClass, - activate_cursor_item), + activate_selected_items), NULL, NULL, xfdesktop_marshal_BOOLEAN__VOID, G_TYPE_BOOLEAN, 0); @@ -598,15 +598,15 @@ xfdesktop_icon_view_class_init(XfdesktopIconViewClass *klass) "toggle-cursor-item", 0); gtk_binding_entry_add_signal(binding_set, GDK_KEY_space, 0, - "activate-cursor-item", 0); + "activate-selected-items", 0); gtk_binding_entry_add_signal(binding_set, GDK_KEY_KP_Space, 0, - "activate-cursor-item", 0); + "activate-selected-items", 0); gtk_binding_entry_add_signal(binding_set, GDK_KEY_Return, 0, - "activate-cursor-item", 0); + "activate-selected-items", 0); gtk_binding_entry_add_signal(binding_set, GDK_KEY_ISO_Enter, 0, - "activate-cursor-item", 0); + "activate-selected-items", 0); gtk_binding_entry_add_signal(binding_set, GDK_KEY_KP_Enter, 0, - "activate-cursor-item", 0); + "activate-selected-items", 0); xfdesktop_icon_view_add_move_binding(binding_set, GDK_KEY_Up, 0, GTK_MOVEMENT_DISPLAY_LINES, -1); @@ -2190,17 +2190,15 @@ xfdesktop_icon_view_real_toggle_cursor_item(XfdesktopIconView *icon_view) } static gboolean -xfdesktop_icon_view_real_activate_cursor_item(XfdesktopIconView *icon_view) +xfdesktop_icon_view_real_activate_selected_items(XfdesktopIconView *icon_view) { DBG("entering"); - if(!icon_view->priv->cursor) + if(!icon_view->priv->selected_icons) return FALSE; g_signal_emit(G_OBJECT(icon_view), __signals[SIG_ICON_ACTIVATED], 0, NULL); - xfdesktop_icon_activated(icon_view->priv->cursor); - xfdesktop_icon_view_unselect_item(icon_view, icon_view->priv->cursor); - icon_view->priv->cursor = NULL; + g_list_foreach(icon_view->priv->selected_icons, (GFunc)xfdesktop_icon_activated, NULL); return TRUE; } |