* gscreen.c (panel_tree_button_release): New function, opens a
new window on middle click. (panel_create_tree_view): Bind panel_tree_button_release() to "button_release_event".
Этот коммит содержится в:
родитель
209488dc6e
Коммит
76c41d4726
@ -1,5 +1,10 @@
|
|||||||
2001-07-15 Pavel Roskin <proski@gnu.org>
|
2001-07-15 Pavel Roskin <proski@gnu.org>
|
||||||
|
|
||||||
|
* gscreen.c (panel_tree_button_release): New function, opens a
|
||||||
|
new window on middle click.
|
||||||
|
(panel_create_tree_view): Bind panel_tree_button_release() to
|
||||||
|
"button_release_event".
|
||||||
|
|
||||||
* gmain.c (xtoolkit_create_dialog): Don't use "layout" - abort
|
* gmain.c (xtoolkit_create_dialog): Don't use "layout" - abort
|
||||||
instead.
|
instead.
|
||||||
* layout: Remove.
|
* layout: Remove.
|
||||||
|
@ -2137,6 +2137,38 @@ panel_tree_button_press (GtkWidget *widget, GdkEventButton *event, WPanel *panel
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Middle click on the directory tree opens a new window.
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
panel_tree_button_release (GtkWidget *widget, GdkEventButton *event, WPanel *panel)
|
||||||
|
{
|
||||||
|
GtkDTree *dtree;
|
||||||
|
GtkCTreeNode *node;
|
||||||
|
int row;
|
||||||
|
char *path;
|
||||||
|
|
||||||
|
if (event->type != GDK_BUTTON_RELEASE)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (event->button != 2)
|
||||||
|
return;
|
||||||
|
|
||||||
|
dtree = GTK_DTREE (widget);
|
||||||
|
if (!gtk_clist_get_selection_info (GTK_CLIST (dtree), event->x, event->y, &row, NULL))
|
||||||
|
return;
|
||||||
|
|
||||||
|
node = gtk_ctree_node_nth (GTK_CTREE (dtree), row);
|
||||||
|
if (!node)
|
||||||
|
return;
|
||||||
|
|
||||||
|
path = gtk_dtree_get_row_path (dtree, node);
|
||||||
|
if (!path)
|
||||||
|
return;
|
||||||
|
|
||||||
|
new_panel_at (path);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* panel_create_tree_view:
|
* panel_create_tree_view:
|
||||||
*
|
*
|
||||||
@ -2198,6 +2230,9 @@ panel_create_tree_view (WPanel *panel)
|
|||||||
GTK_SIGNAL_FUNC (panel_tree_button_press), panel);
|
GTK_SIGNAL_FUNC (panel_tree_button_press), panel);
|
||||||
gtk_clist_set_button_actions (GTK_CLIST (tree), 2, GTK_BUTTON_SELECTS);
|
gtk_clist_set_button_actions (GTK_CLIST (tree), 2, GTK_BUTTON_SELECTS);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
gtk_signal_connect_after (GTK_OBJECT (tree), "button_release_event",
|
||||||
|
GTK_SIGNAL_FUNC (panel_tree_button_release), panel);
|
||||||
return tree;
|
return tree;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user