diff options
Diffstat (limited to 'muse2/muse/widgets/projectcreateimpl.cpp')
-rw-r--r-- | muse2/muse/widgets/projectcreateimpl.cpp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/muse2/muse/widgets/projectcreateimpl.cpp b/muse2/muse/widgets/projectcreateimpl.cpp new file mode 100644 index 00000000..5e81cfe4 --- /dev/null +++ b/muse2/muse/widgets/projectcreateimpl.cpp @@ -0,0 +1,63 @@ +#include <stdio.h> +#include <qfiledialog.h> +#include <qdir.h> +#include "projectcreateimpl.h" +#include "gconfig.h" +#include "globals.h" +#include "app.h" + +ProjectCreateImpl::ProjectCreateImpl(QWidget *parent) : + QDialog(parent) +{ + setupUi(this); + + createFolderCheckbox->setChecked(config.projectStoreInFolder); + connect(browseDirButton,SIGNAL(clicked()), this, SLOT(selectDirectory())); + connect(projectNameEdit,SIGNAL(textChanged(QString)), this, SLOT(updateDirectoryPath())); + connect(createFolderCheckbox,SIGNAL(clicked()), this, SLOT(updateDirectoryPath())); + connect(buttonBox, SIGNAL(accepted()), this, SLOT(ok())); +#if QT_VERSION >= 0x040700 + projectNameEdit->setPlaceholderText("<Project Name>"); + commentEdit->setPlaceholderText("<Add information about project here>"); +#endif + directoryPath = config.projectBaseFolder; + updateDirectoryPath(); + show(); +} + +void ProjectCreateImpl::selectDirectory() +{ + QFileDialog qfd; + qfd.selectFile(directoryPath); + qfd.setFileMode(QFileDialog::DirectoryOnly); + if (qfd.exec() == QDialog::Rejected) { + return; + } + directoryPath=qfd.selectedFiles().first(); + updateDirectoryPath(); +} + +void ProjectCreateImpl::updateDirectoryPath() +{ + if (createFolderCheckbox->isChecked()) { + storageDirEdit->setText(directoryPath + projectNameEdit->text() + "/" + projectNameEdit->text() + ".med"); + } else { + storageDirEdit->setText(directoryPath + projectNameEdit->text() + ".med"); + } +} + +QString ProjectCreateImpl::getProjectPath() +{ + return storageDirEdit->text(); +} +QString ProjectCreateImpl::getSongInfo() +{ + return commentEdit->toPlainText(); +} +void ProjectCreateImpl::ok() +{ + config.projectStoreInFolder = createFolderCheckbox->isChecked(); + config.projectBaseFolder = directoryPath; + muse->changeConfig(true); + emit accept(); +} |