diff options
author | Doug McLain <doug@nostar.net> | 2006-03-08 23:19:24 +0000 |
---|---|---|
committer | Doug McLain <doug@nostar.net> | 2006-03-08 23:19:24 +0000 |
commit | b4c174433387944af95f816ced982091d699a1ae (patch) | |
tree | bc2e50def1d81cc27de0365e398c0d922f0f3352 /gtk2_ardour/io_selector.cc | |
parent | 123ec9cb3034dc760194e0e9e73f7d597e5d793f (diff) |
fixed goofy selection behavior with the notebook/treeview in IOSelector
git-svn-id: svn://localhost/trunk/ardour2@363 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/io_selector.cc')
-rw-r--r-- | gtk2_ardour/io_selector.cc | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/gtk2_ardour/io_selector.cc b/gtk2_ardour/io_selector.cc index 81f39f27c5..2d910519b9 100644 --- a/gtk2_ardour/io_selector.cc +++ b/gtk2_ardour/io_selector.cc @@ -341,9 +341,8 @@ IOSelector::rescan () row[port_display_columns.full_name] = s->second; } - display->get_selection()->signal_changed().connect - (bind (mem_fun(*this, &IOSelector::port_selection_changed), display)); - + //display->get_selection()->signal_changed().connect (bind (mem_fun(*this, &IOSelector::port_selection_changed), display)); + display->signal_button_release_event().connect (bind (mem_fun(*this, &IOSelector::port_selection_changed), display)); Label *tab_label = manage (new Label); tab_label->set_name ("IOSelectorNotebookTab"); @@ -358,7 +357,7 @@ IOSelector::rescan () } notebook.set_current_page (current_page); - notebook.signal_show().connect (bind (mem_fun (notebook, &Notebook::set_current_page), current_page)); + //notebook.signal_show().connect (bind (mem_fun (notebook, &Notebook::set_current_page), current_page)); selector_box.show_all (); } @@ -426,15 +425,7 @@ IOSelector::display_ports () tview->set_name ("IOSelectorPortList"); port_box.pack_start (*tview); - //scroller = manage (new ScrolledWindow); - - //scroller->add (*tview); - //scroller->set_policy (POLICY_NEVER, POLICY_NEVER); - port_displays.insert (port_displays.end(), tview); - //port_box.pack_start (*scroller); - - //scroller->set_size_request (-1, 75); /* now fill the clist with the current connections */ @@ -475,7 +466,7 @@ IOSelector::display_ports () TreeViewColumn* col = tview->get_column (0); col->set_clickable (true); - //set_treeview_header_as_default_label(col); + /* handle button events on the column header and within the treeview itself */ //col->signal_button_release_event().connect (bind (mem_fun(*this, &IOSelector::port_column_button_release), tview)); @@ -508,18 +499,18 @@ IOSelector::display_ports () } } -void -IOSelector::port_selection_changed (TreeView* treeview) +bool +IOSelector::port_selection_changed (GdkEventButton *ev, TreeView* treeview) { TreeModel::iterator i = treeview->get_selection()->get_selected(); int status; if (!i) { - return; + return 0; } if (selected_port == 0) { - return; + return 0; } ustring other_port_name = (*i)[port_display_columns.full_name]; @@ -536,6 +527,9 @@ IOSelector::port_selection_changed (TreeView* treeview) if (status == 0) { select_next_treeview (); } + + treeview->get_selection()->unselect_all(); + return 0; } void |