[anjuta] fm: select file under cursor when displaying popup menu
- From: Sebastien Granjoux <sgranjoux src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [anjuta] fm: select file under cursor when displaying popup menu
- Date: Sun, 17 Jan 2010 15:55:16 +0000 (UTC)
commit 8545f320df8f6bf67122902ca3afaaf8ce92a89f
Author: Sébastien Granjoux <seb sfo free fr>
Date: Sun Jan 17 10:49:24 2010 +0100
fm: select file under cursor when displaying popup menu
plugins/file-manager/file-view.c | 30 +++++++++++++++++++++++++-----
1 files changed, 25 insertions(+), 5 deletions(-)
---
diff --git a/plugins/file-manager/file-view.c b/plugins/file-manager/file-view.c
index c615197..4b90d66 100644
--- a/plugins/file-manager/file-view.c
+++ b/plugins/file-manager/file-view.c
@@ -262,14 +262,34 @@ file_view_do_popup_menu (GtkWidget* widget, GdkEventButton* event)
static gboolean
file_view_button_press_event (GtkWidget *widget, GdkEventButton *event)
{
- /* Ignore double-clicks and triple-clicks */
- if (event->button == 3 && event->type == GDK_BUTTON_PRESS)
+ /* Ignore double-clicks and triple-clicks */
+ if (event->button == 3 && event->type == GDK_BUTTON_PRESS)
{
- file_view_do_popup_menu (widget, event);
- return TRUE;
+ GtkTreePath *path;
+
+ /* Select file under cursor if not selected */
+ if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(widget),
+ event->x,event->y, &path, NULL, NULL, NULL))
+ {
+ GtkTreeSelection *selection;
+
+ selection = gtk_tree_view_get_selection(GTK_TREE_VIEW (widget));
+ if (!gtk_tree_selection_path_is_selected(selection, path))
+ {
+ gtk_tree_selection_unselect_all(selection);
+ gtk_tree_selection_select_path(selection, path);
+ gtk_tree_view_set_cursor(GTK_TREE_VIEW(widget),
+ path, NULL, FALSE);
+ }
+ gtk_tree_path_free (path);
+
+ file_view_do_popup_menu (widget, event);
+
+ return TRUE;
+ }
}
- return
+ return
GTK_WIDGET_CLASS (file_view_parent_class)->button_press_event (widget,
event);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]