mirror of
https://github.com/projectM-visualizer/projectm.git
synced 2026-03-19 05:45:07 +00:00
qprojectM/src is now qprojectM
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@787 6778bc44-b910-0410-a7a0-be141de4315d
This commit is contained in:
94
src/qprojectM/QProjectMConfigDialog.cpp
Normal file
94
src/qprojectM/QProjectMConfigDialog.cpp
Normal file
@ -0,0 +1,94 @@
|
||||
#include "QProjectMConfigDialog.hpp"
|
||||
#include <QtDebug>
|
||||
|
||||
|
||||
QProjectMConfigDialog::QProjectMConfigDialog(const std::string & configFile, QProjectMWidget * qprojectMWidget, QWidget * parent, Qt::WindowFlags f) : QDialog(parent, f), _configFile(configFile), _qprojectMWidget(qprojectMWidget) {
|
||||
|
||||
_ui.setupUi(this);
|
||||
connect(_ui.buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(buttonBoxHandler(QAbstractButton*)));
|
||||
connect(this, SIGNAL(projectM_Reset()), _qprojectMWidget, SLOT(resetProjectM()));
|
||||
populateTextureSizeComboBox();
|
||||
|
||||
loadConfig();
|
||||
}
|
||||
|
||||
void QProjectMConfigDialog::buttonBoxHandler(QAbstractButton * button) {
|
||||
|
||||
switch (_ui.buttonBox->standardButton(button)) {
|
||||
case QDialogButtonBox::Close:
|
||||
this->hide();
|
||||
break;
|
||||
case QDialogButtonBox::Apply:
|
||||
saveConfig();
|
||||
qDebug() << "emitting!";
|
||||
emit(projectM_Reset());
|
||||
break;
|
||||
case QDialogButtonBox::Reset:
|
||||
loadConfig();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void QProjectMConfigDialog::saveConfig() {
|
||||
qDebug() << "SAVE config";
|
||||
|
||||
projectM::Settings settings = _qprojectMWidget->getQProjectM()->settings();
|
||||
|
||||
settings.meshX = _ui.meshSizeWidthSpinBox->value();
|
||||
settings.meshY = _ui.meshSizeHeightSpinBox->value();
|
||||
settings.windowHeight = _ui.windowHeightSpinBox->value();
|
||||
settings.windowWidth = _ui.windowWidthSpinBox->value();
|
||||
settings.titleFontURL = _ui.titleFontPathLineEdit->text().toStdString();
|
||||
settings.menuFontURL = _ui.menuFontPathLineEdit->text().toStdString();
|
||||
settings.presetURL = _ui.startupPlaylistLineEdit->text().toStdString();
|
||||
settings.textureSize = _ui.textureSizeComboBox->itemData(_ui.textureSizeComboBox->currentIndex()).toInt();
|
||||
settings.smoothPresetDuration = _ui.smoothPresetDurationSpinBox->value();
|
||||
settings.presetDuration = _ui.presetDurationSpinBox->value();
|
||||
settings.fps = _ui.maxFPSSpinBox->value();
|
||||
settings.aspectCorrection = _ui.useAspectCorrectionCheckBox->checkState() == Qt::Checked;
|
||||
settings.beatSensitivity = _ui.beatSensitivitySpinBox->value();
|
||||
|
||||
projectM::writeConfig(_configFile, settings);
|
||||
|
||||
qDebug() << "save end";
|
||||
}
|
||||
|
||||
|
||||
|
||||
void QProjectMConfigDialog::populateTextureSizeComboBox() {
|
||||
|
||||
|
||||
for (int textureSize = 1<<1; textureSize < 1<<12; textureSize<<=1) {
|
||||
_ui.textureSizeComboBox->addItem(QString("%1").arg(textureSize), textureSize);
|
||||
}
|
||||
}
|
||||
|
||||
void QProjectMConfigDialog::loadConfig() {
|
||||
|
||||
qDebug() << "load config";
|
||||
const projectM::Settings & settings =(* _qprojectMWidget->getQProjectM()).settings();
|
||||
|
||||
_ui.meshSizeWidthSpinBox->setValue(settings.meshX);
|
||||
_ui.meshSizeHeightSpinBox->setValue(settings.meshY);
|
||||
|
||||
_ui.titleFontPathLineEdit->setText(settings.titleFontURL.c_str());
|
||||
_ui.menuFontPathLineEdit->setText(settings.menuFontURL.c_str());
|
||||
|
||||
_ui.startupPlaylistLineEdit->setText(settings.presetURL.c_str());
|
||||
_ui.useAspectCorrectionCheckBox->setCheckState(settings.aspectCorrection ? Qt::Checked : Qt::Unchecked);
|
||||
_ui.maxFPSSpinBox->setValue(settings.fps);
|
||||
_ui.beatSensitivitySpinBox->setValue(settings.beatSensitivity);
|
||||
_ui.windowHeightSpinBox->setValue(settings.windowHeight);
|
||||
_ui.windowWidthSpinBox->setValue(settings.windowWidth);
|
||||
|
||||
_ui.textureSizeComboBox->insertItem(0, QString("%1").arg(settings.textureSize), settings.textureSize);
|
||||
_ui.textureSizeComboBox->setCurrentIndex(0);
|
||||
|
||||
_ui.smoothPresetDurationSpinBox->setValue(settings.smoothPresetDuration);
|
||||
_ui.presetDurationSpinBox->setValue(settings.presetDuration);
|
||||
|
||||
qDebug() << "load config END";
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user