summaryrefslogtreecommitdiff
path: root/muse2/muse/widgets/genset.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/widgets/genset.cpp')
-rw-r--r--muse2/muse/widgets/genset.cpp32
1 files changed, 30 insertions, 2 deletions
diff --git a/muse2/muse/widgets/genset.cpp b/muse2/muse/widgets/genset.cpp
index 60127a0a..5d94a41d 100644
--- a/muse2/muse/widgets/genset.cpp
+++ b/muse2/muse/widgets/genset.cpp
@@ -37,6 +37,7 @@
#include "globals.h"
#include "icons.h"
#include "helper.h"
+#include "filedialog.h"
namespace MusEGui {
@@ -76,7 +77,11 @@ GlobalSettingsConfig::GlobalSettingsConfig(QWidget* parent)
projDirOpenToolButton->setIcon(*openIcon);
connect(projDirOpenToolButton, SIGNAL(clicked()), SLOT(browseProjDir()));
-
+ startSongFileOpenToolButton->setIcon(*openIcon);
+ connect(startSongFileOpenToolButton, SIGNAL(clicked()), SLOT(browseStartSongFile()));
+ startSongResetToolButton->setIcon(*undoIcon);
+ connect(startSongResetToolButton, SIGNAL(clicked()), SLOT(startSongReset()));
+
connect(applyButton, SIGNAL(clicked()), SLOT(apply()));
connect(okButton, SIGNAL(clicked()), SLOT(ok()));
connect(cancelButton, SIGNAL(clicked()), SLOT(cancel()));
@@ -165,7 +170,8 @@ void GlobalSettingsConfig::updateSettings()
startSongEntry->setText(MusEGlobal::config.startSong);
startSongGroup->button(MusEGlobal::config.startMode)->setChecked(true);
-
+ readMidiConfigFromSongCheckBox->setChecked(MusEGlobal::config.startSongLoadConfig);
+
recDrumGroup->button(MusEGlobal::config.newDrumRecordCondition)->setChecked(true);
showTransport->setChecked(MusEGlobal::config.transportVisible);
@@ -268,8 +274,11 @@ void GlobalSettingsConfig::apply()
MusEGlobal::config.startSong = startSongEntry->text();
MusEGlobal::config.startMode = startSongGroup->checkedId();
+ MusEGlobal::config.startSongLoadConfig = readMidiConfigFromSongCheckBox->isChecked();
+
MusEGlobal::config.newDrumRecordCondition = MusECore::newDrumRecordCondition_t(recDrumGroup->checkedId());
+
int das = dummyAudioSize->currentIndex();
MusEGlobal::config.dummyAudioBufSize = dummyAudioBufSizes[das];
MusEGlobal::config.dummyAudioSampleRate = dummyAudioRate->value();
@@ -508,5 +517,24 @@ void GlobalSettingsConfig::browseProjDir()
projDirEntry->setText(dir);
}
+void GlobalSettingsConfig::browseStartSongFile()
+{
+ bool doReadMidiPorts;
+ QString sstr = startSongGroup->button(1)->isChecked() ? QString("templates") : QString("");
+
+ QString fn = MusEGui::getOpenFileName(sstr, MusEGlobal::med_file_pattern, this,
+ tr("MusE: Choose start template or song"), &doReadMidiPorts, MusEGui::MFileDialog::GLOBAL_VIEW);
+ if (!fn.isEmpty()) {
+ startSongEntry->setText(fn);
+ readMidiConfigFromSongCheckBox->setChecked(doReadMidiPorts);
+ }
+}
+
+void GlobalSettingsConfig::startSongReset()
+{
+ startSongEntry->setText(MusEGlobal::museGlobalShare + QString("/templates/default.med"));
+ readMidiConfigFromSongCheckBox->setChecked(false);
+}
+
} // namespace MusEGui