summaryrefslogtreecommitdiff
path: root/gtk2_ardour/option_editor.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-09-10 15:03:30 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-09-10 15:03:30 +0000
commit68e943265edf04e63a8e8b8f62bab20f99d9c637 (patch)
treeff8941a59662fc0c4622944b65f7b2d5e3bdd0c3 /gtk2_ardour/option_editor.cc
parente4372df05b7d74a6b80dbbf4b6c00cc2b31c4723 (diff)
merge from 2.0-ongoing @ 3581
git-svn-id: svn://localhost/ardour2/branches/3.0@3711 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/option_editor.cc')
-rw-r--r--gtk2_ardour/option_editor.cc76
1 files changed, 49 insertions, 27 deletions
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 ();
}