From 68e943265edf04e63a8e8b8f62bab20f99d9c637 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 10 Sep 2008 15:03:30 +0000 Subject: merge from 2.0-ongoing @ 3581 git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/option_editor.cc | 76 ++++++++++++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 27 deletions(-) (limited to 'gtk2_ardour/option_editor.cc') diff --git a/gtk2_ardour/option_editor.cc b/gtk2_ardour/option_editor.cc index 2dfa63080d..9ddf9999b9 100644 --- a/gtk2_ardour/option_editor.cc +++ b/gtk2_ardour/option_editor.cc @@ -113,6 +113,7 @@ OptionEditor::OptionEditor (ARDOUR_UI& uip, PublicEditor& ed, Mixer_UI& mixui) { using namespace Notebook_Helpers; + first_click_setup = true; click_io_selector = 0; auditioner_io_selector = 0; session = 0; @@ -1036,8 +1037,8 @@ void OptionEditor::clear_click_editor () { if (click_io_selector) { - click_packer.remove (*click_io_selector); - click_packer.remove (*click_gpm); + click_hpacker.remove (*click_io_selector); + click_hpacker.remove (*click_gpm); delete click_io_selector; delete click_gpm; click_io_selector = 0; @@ -1049,31 +1050,59 @@ void OptionEditor::setup_click_editor () { Label* label; - HBox* hpacker = manage (new HBox); + + if (first_click_setup) { + + click_path_entry.set_name ("OptionsEntry"); + click_emphasis_path_entry.set_name ("OptionsEntry"); + + click_path_entry.signal_activate().connect (mem_fun(*this, &OptionEditor::click_sound_changed)); + click_emphasis_path_entry.signal_activate().connect (mem_fun(*this, &OptionEditor::click_emphasis_sound_changed)); + + click_path_entry.signal_focus_out_event().connect (bind (mem_fun(*this, &OptionEditor::focus_out_event_handler), &OptionEditor::click_sound_changed)); + click_emphasis_path_entry.signal_focus_out_event().connect (bind (mem_fun(*this, &OptionEditor::focus_out_event_handler), &OptionEditor::click_emphasis_sound_changed)); + + click_browse_button.set_name ("EditorGTKButton"); + click_emphasis_browse_button.set_name ("EditorGTKButton"); + + click_browse_button.signal_clicked().connect (mem_fun(*this, &OptionEditor::click_browse_clicked)); + click_emphasis_browse_button.signal_clicked().connect (mem_fun(*this, &OptionEditor::click_emphasis_browse_clicked)); + + click_packer.set_border_width (12); + click_packer.set_spacing (5); + + click_table.set_col_spacings (10); + + label = manage(new Label(_("Click audio file"))); + label->set_name ("OptionsLabel"); + click_table.attach (*label, 0, 1, 0, 1, FILL|EXPAND, FILL); + click_table.attach (click_path_entry, 1, 2, 0, 1, Gtk::FILL|Gtk::EXPAND, FILL); + click_table.attach (click_browse_button, 2, 3, 0, 1, FILL|EXPAND, FILL); + + label = manage(new Label(_("Click emphasis audiofile"))); + label->set_name ("OptionsLabel"); + click_table.attach (*label, 0, 1, 1, 2, FILL|EXPAND, FILL); + click_table.attach (click_emphasis_path_entry, 1, 2, 1, 2, Gtk::FILL|Gtk::EXPAND, FILL); + click_table.attach (click_emphasis_browse_button, 2, 3, 1, 2, FILL|EXPAND, FILL); + + click_packer.pack_start (click_table, false, false); + click_packer.pack_start (click_hpacker, false, false); + + + click_hpacker.set_spacing (10); + + first_click_setup = false; + } click_path_entry.set_sensitive (true); click_emphasis_path_entry.set_sensitive (true); - click_path_entry.set_name ("OptionsEntry"); - click_emphasis_path_entry.set_name ("OptionsEntry"); - - click_path_entry.signal_activate().connect (mem_fun(*this, &OptionEditor::click_sound_changed)); - click_emphasis_path_entry.signal_activate().connect (mem_fun(*this, &OptionEditor::click_emphasis_sound_changed)); - - click_path_entry.signal_focus_out_event().connect (bind (mem_fun(*this, &OptionEditor::focus_out_event_handler), &OptionEditor::click_sound_changed)); - click_emphasis_path_entry.signal_focus_out_event().connect (bind (mem_fun(*this, &OptionEditor::focus_out_event_handler), &OptionEditor::click_emphasis_sound_changed)); - - click_browse_button.set_name ("EditorGTKButton"); - click_emphasis_browse_button.set_name ("EditorGTKButton"); - click_browse_button.signal_clicked().connect (mem_fun(*this, &OptionEditor::click_browse_clicked)); - click_emphasis_browse_button.signal_clicked().connect (mem_fun(*this, &OptionEditor::click_emphasis_browse_clicked)); - - click_packer.set_border_width (12); - click_packer.set_spacing (5); - click_io_selector = new IOSelector (*session, session->click_io(), false); click_gpm = new GainMeter (session->click_io(), *session); + click_hpacker.pack_start (*click_io_selector, false, false); + click_hpacker.pack_start (*click_gpm, false, false); + click_table.set_col_spacings (10); label = manage(new Label(_("Click audio file"))); @@ -1088,13 +1117,6 @@ OptionEditor::setup_click_editor () click_table.attach (click_emphasis_path_entry, 1, 2, 1, 2, Gtk::FILL|Gtk::EXPAND, FILL); click_table.attach (click_emphasis_browse_button, 2, 3, 1, 2, FILL|EXPAND, FILL); - hpacker->set_spacing (10); - hpacker->pack_start (*click_io_selector, false, false); - hpacker->pack_start (*click_gpm, false, false); - - click_packer.pack_start (click_table, false, false); - click_packer.pack_start (*hpacker, false, false); - click_packer.show_all (); } -- cgit v1.2.3