summaryrefslogtreecommitdiffstats
path: root/src/gui/LoadPatchWindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/LoadPatchWindow.cpp')
-rw-r--r--src/gui/LoadPatchWindow.cpp41
1 files changed, 30 insertions, 11 deletions
diff --git a/src/gui/LoadPatchWindow.cpp b/src/gui/LoadPatchWindow.cpp
index db65968b..bba7c75d 100644
--- a/src/gui/LoadPatchWindow.cpp
+++ b/src/gui/LoadPatchWindow.cpp
@@ -39,27 +39,30 @@ namespace GUI {
LoadPatchWindow::LoadPatchWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml)
: Gtk::FileChooserDialog(cobject)
- , _replace(true)
+ , _merge_ports(true)
{
- xml->get_widget("load_patch_poly_from_current_radio", _poly_from_current_radio);
+ xml->get_widget("load_patch_poly_voices_radio", _poly_voices_radio);
xml->get_widget("load_patch_poly_from_file_radio", _poly_from_file_radio);
- xml->get_widget("load_patch_poly_from_user_radio", _poly_from_user_radio);
xml->get_widget("load_patch_poly_spinbutton", _poly_spinbutton);
+ xml->get_widget("load_patch_merge_ports_radio", _merge_ports_radio);
+ xml->get_widget("load_patch_insert_ports_radio", _insert_ports_radio);
xml->get_widget("load_patch_ok_button", _ok_button);
xml->get_widget("load_patch_cancel_button", _cancel_button);
- _poly_from_current_radio->signal_toggled().connect(
- sigc::mem_fun(this, &LoadPatchWindow::poly_from_file_selected));
_poly_from_file_radio->signal_toggled().connect(
sigc::mem_fun(this, &LoadPatchWindow::poly_from_file_selected));
- _poly_from_user_radio->signal_toggled().connect(
- sigc::mem_fun(this, &LoadPatchWindow::poly_from_user_selected));
+ _poly_voices_radio->signal_toggled().connect(
+ sigc::mem_fun(this, &LoadPatchWindow::poly_voices_selected));
+ _merge_ports_radio->signal_toggled().connect(
+ sigc::mem_fun(this, &LoadPatchWindow::merge_ports_selected));
+ _insert_ports_radio->signal_toggled().connect(
+ sigc::mem_fun(this, &LoadPatchWindow::insert_ports_selected));
_ok_button->signal_clicked().connect(
sigc::mem_fun(this, &LoadPatchWindow::ok_clicked));
_cancel_button->signal_clicked().connect(
sigc::mem_fun(this, &LoadPatchWindow::cancel_clicked));
- _poly_from_current_radio->set_active(true);
+ _poly_voices_radio->set_active(true);
Gtk::FileFilter filt;
filt.add_pattern("*.om");
@@ -89,7 +92,7 @@ LoadPatchWindow::present(SharedPtr<PatchModel> patch, GraphObject::Properties da
}
-/** Sets the patch controller for this window and initializes everything.
+/** Sets the patch model for this window and initializes everything.
*
* This function MUST be called before using the window in any way!
*/
@@ -97,6 +100,7 @@ void
LoadPatchWindow::set_patch(SharedPtr<PatchModel> patch)
{
_patch = patch;
+ _poly_spinbutton->set_value(patch->poly());
}
@@ -120,11 +124,24 @@ LoadPatchWindow::poly_from_file_selected()
void
-LoadPatchWindow::poly_from_user_selected()
+LoadPatchWindow::poly_voices_selected()
{
_poly_spinbutton->property_sensitive() = true;
}
+void
+LoadPatchWindow::merge_ports_selected()
+{
+ _merge_ports = true;
+}
+
+
+void
+LoadPatchWindow::insert_ports_selected()
+{
+ _merge_ports = false;
+}
+
void
LoadPatchWindow::ok_clicked()
@@ -136,7 +153,7 @@ LoadPatchWindow::ok_clicked()
optional<Path> parent;
optional<Symbol> symbol;
- if (_poly_from_user_radio->get_active())
+ if (_poly_voices_radio->get_active())
_initial_data.insert(make_pair(
App::instance().uris().ingen_polyphony,
_poly_spinbutton->get_value_as_int()));
@@ -146,6 +163,8 @@ LoadPatchWindow::ok_clicked()
symbol = _patch->symbol();
}
+ cout << "MERGE PORTS: " << _merge_ports << endl;
+
_patch.reset();
hide();