if ( !gtk_tree_selection_get_selected( sel, &model, &iter ) ) {
return;
}
+ if ( dialog.m_waiting_for_key ) {
+ // unhighlight highlit
+ dialog.m_waiting_for_key = false;
+ gtk_list_store_set( GTK_LIST_STORE( dialog.m_model ), &dialog.m_command_iter, 2, false, -1 );
+ }
dialog.m_command_iter = iter;
dialog.m_model = model;
dialog.m_waiting_for_key = true;
}
+gboolean accelerator_tree_butt_press( GtkWidget* widget, GdkEventButton* event, gpointer dialogptr ){
+ if ( event->type == GDK_2BUTTON_PRESS && event->button == 1 ) {
+ accelerator_edit_button_clicked( 0, dialogptr );
+ return TRUE;
+ }
+ return FALSE;
+}
+
gboolean accelerator_window_key_press( GtkWidget *widget, GdkEventKey *event, gpointer dialogptr ){
command_list_dialog_t &dialog = *(command_list_dialog_t *) dialogptr;
GtkWidget* view = gtk_tree_view_new_with_model( GTK_TREE_MODEL( store ) );
dialog.m_list = GTK_TREE_VIEW( view );
- gtk_tree_view_set_enable_search( GTK_TREE_VIEW( view ), false ); // annoying
+ //gtk_tree_view_set_enable_search( GTK_TREE_VIEW( view ), false ); // annoying
+
+ g_signal_connect( G_OBJECT( view ), "button_press_event", G_CALLBACK( accelerator_tree_butt_press ), &dialog );
{
GtkCellRenderer* renderer = gtk_cell_renderer_text_new();