chiark
/
gitweb
/
~mdw
/
disorder
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b0b15b7
)
Select hovered track if nothing is selected on right click over queue etc.
author
Richard Kettlewell
<rjk@greenend.org.uk>
Tue, 10 Jun 2008 21:46:31 +0000
(22:46 +0100)
committer
Richard Kettlewell
<rjk@greenend.org.uk>
Tue, 10 Jun 2008 21:46:31 +0000
(22:46 +0100)
disobedience/queue-menu.c
patch
|
blob
|
blame
|
history
diff --git
a/disobedience/queue-menu.c
b/disobedience/queue-menu.c
index 8734cf6b0e6ef67a847d162caa8a8ebf6d2af746..b76ed818e1cbfd23a8642363e212f4fadc65903b 100644
(file)
--- a/
disobedience/queue-menu.c
+++ b/
disobedience/queue-menu.c
@@
-135,14
+135,24
@@
static void ql_configure_menu(struct queuelike *ql) {
}
/** @brief Called when a button is released over a queuelike */
}
/** @brief Called when a button is released over a queuelike */
-gboolean ql_button_release(GtkWidget
attribute((unused))
*widget,
+gboolean ql_button_release(GtkWidget*widget,
GdkEventButton *event,
gpointer user_data) {
struct queuelike *ql = user_data;
if(event->type == GDK_BUTTON_PRESS
&& event->button == 3) {
GdkEventButton *event,
gpointer user_data) {
struct queuelike *ql = user_data;
if(event->type == GDK_BUTTON_PRESS
&& event->button == 3) {
- /* Right button click. */
+ /* Right button click. */
+ if(gtk_tree_selection_count_selected_rows(ql->selection) == 0) {
+ /* Nothing is selected, select whatever is under the pointer */
+ GtkTreePath *path;
+ if(gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(widget),
+ event->x, event->y,
+ &path,
+ NULL,
+ NULL, NULL))
+ gtk_tree_selection_select_path(ql->selection, path);
+ }
ql_create_menu(ql);
ql_configure_menu(ql);
gtk_widget_show_all(ql->menu);
ql_create_menu(ql);
ql_configure_menu(ql);
gtk_widget_show_all(ql->menu);