diff --git a/src/qprojectM/src/QProjectMConfigDialog.cpp b/src/qprojectM/src/QProjectMConfigDialog.cpp index ff301cadd..e93624dc8 100644 --- a/src/qprojectM/src/QProjectMConfigDialog.cpp +++ b/src/qprojectM/src/QProjectMConfigDialog.cpp @@ -1,13 +1,17 @@ #include "QProjectMConfigDialog.hpp" +#include -QProjectMConfigDialog::QProjectMConfigDialog(const std::string & configFile, projectM & projectM, QWidget * parent = 0, Qt::WindowFlags f = 0 ) : QDialog(parent, f), _configFile(configFile), _projectM(projectM) { +QProjectMConfigDialog::QProjectMConfigDialog(const std::string & configFile, projectM * projectM, QWidget * parent, Qt::WindowFlags f) : QDialog(parent, f), _configFile(configFile), _projectM(*projectM) { + qDebug() << "!!!"; _ui.setupUi(this); - connect(_ui.buttonBox, SIGNAL(accept()), this, SLOT(saveConfig())); + connect(_ui.buttonBox, SIGNAL(accepted()), this, SLOT(saveConfig())); + loadConfig(); } void QProjectMConfigDialog::saveConfig() { + qDebug() << "SAVE config"; projectM::Settings settings = _projectM.settings(); @@ -25,10 +29,34 @@ void QProjectMConfigDialog::saveConfig() { settings.aspectCorrection = _ui.useAspectCorrectionCheckBox->checkState() == Qt::Checked; settings.beatSensitivity = _ui.beatSensitivitySpinBox->value(); - _projectM.writeConfig(_configFile, settings); + projectM::writeConfig(_configFile, settings); + + qDebug() << "save end"; } void QProjectMConfigDialog::loadConfig() { + qDebug() << "load config"; + const projectM::Settings & settings = _projectM.settings(); + + //settings.meshX = _ui.meshSizeXComboBox->itemData(_ui.meshSizeXComboBox->currentIndex()).toInt(); + //settings.meshY = _ui.meshSizeYComboBox->itemData(_ui.meshSizeYComboBox->currentIndex()).toInt(); + + _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); + + //settings.textureSize = _ui.textureSizeComboBox->itemData(_ui.textureSizeComboBox->currentIndex()).toInt(); + _ui.smoothPresetDurationSpinBox->setValue(settings.smoothPresetDuration); + _ui.presetDurationSpinBox->setValue(settings.presetDuration); + + qDebug() << "load config END"; + } diff --git a/src/qprojectM/src/QProjectMConfigDialog.hpp b/src/qprojectM/src/QProjectMConfigDialog.hpp index 18c381ff1..ae7bbedb5 100644 --- a/src/qprojectM/src/QProjectMConfigDialog.hpp +++ b/src/qprojectM/src/QProjectMConfigDialog.hpp @@ -7,7 +7,7 @@ class QProjectMConfigDialog : public QDialog { Q_OBJECT public: - QProjectMConfigDialog(const std::string & configFile, projectM & projectM, QWidget * parent, Qt::WindowFlags f ); + QProjectMConfigDialog(const std::string & configFile, projectM * projectM, QWidget * parent = 0, Qt::WindowFlags f = 0); private: void loadConfig(); diff --git a/src/qprojectM/src/QProjectMConfigDialog.ui b/src/qprojectM/src/QProjectMConfigDialog.ui index 2629b07d3..8326d809c 100644 --- a/src/qprojectM/src/QProjectMConfigDialog.ui +++ b/src/qprojectM/src/QProjectMConfigDialog.ui @@ -488,22 +488,6 @@ p, li { white-space: pre-wrap; } Use Aspect Correction - - - - 111 - 237 - 54 - 24 - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Sets how long a preset should be played in seconds before projectM automatically switches to another in the playlist</p></body></html> - - @@ -583,6 +567,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Changes the path projectM will use to search for opengl fonts</p></body></html> + + + + 110 + 240 + 62 + 24 + + + diff --git a/src/qprojectM/src/QProjectM_MainWindow.cpp b/src/qprojectM/src/QProjectM_MainWindow.cpp index 44e675def..fbc83059a 100644 --- a/src/qprojectM/src/QProjectM_MainWindow.cpp +++ b/src/qprojectM/src/QProjectM_MainWindow.cpp @@ -29,7 +29,7 @@ #include "QPlaylistModel.hpp" #include "ui_QProjectM_MainWindow.h" -#include "ui_QProjectMConfigDialog.h" +#include "QProjectMConfigDialog.hpp" #include "ConfigFile.h" #include "QXmlPlaylistHandler.hpp" @@ -77,10 +77,9 @@ QProjectM_MainWindow::QProjectM_MainWindow ( const std::string & config_file ) ui = new Ui::QProjectM_MainWindow(); ui->setupUi ( this ); - configUi = new Ui::QProjectMConfigDialog(); - configDialog = new QDialog(); - configUi->setupUi(configDialog); - + + + m_QProjectMWidget = new QProjectMWidget ( config_file, this ); m_timer = new QTimer ( this ); @@ -149,7 +148,6 @@ QProjectM_MainWindow::~QProjectM_MainWindow() } delete ( ui ); - delete( configUi); } @@ -210,7 +208,9 @@ void QProjectM_MainWindow::postProjectM_Initialize() ui->tableView->setModel ( playlistModel ); refreshPlaylist(); - + configDialog = new QProjectMConfigDialog(m_QProjectMWidget->configFile(), + m_QProjectMWidget->getQProjectM(), this); + connect ( m_QProjectMWidget->getQProjectM(), SIGNAL ( presetSwitchedSignal ( bool,unsigned int ) ), this, SLOT ( updatePlaylistSelection ( bool,unsigned int ) ) ); connect ( ui->presetSearchBarLineEdit, SIGNAL ( textChanged ( const QString& ) ), this, SLOT ( updateFilteredPlaylist ( const QString& ) ) ); diff --git a/src/qprojectM/src/QProjectM_MainWindow.hpp b/src/qprojectM/src/QProjectM_MainWindow.hpp index 6fe1246cc..8552b6027 100644 --- a/src/qprojectM/src/QProjectM_MainWindow.hpp +++ b/src/qprojectM/src/QProjectM_MainWindow.hpp @@ -40,11 +40,11 @@ class QPresetFileDialog; class QPlaylistFileDialog; class QPlaylistModel; class QModelIndex; +class QProjectMConfigDialog; namespace Ui { class QProjectM_MainWindow; -class QProjectMConfigDialog; } #include @@ -271,9 +271,8 @@ private slots: QString m_currentPlaylistFile; QPlaylistModel * playlistModel; - Ui::QProjectM_MainWindow * ui; - Ui::QProjectMConfigDialog * configUi; - QDialog * configDialog; + Ui::QProjectM_MainWindow * ui; + QProjectMConfigDialog * configDialog; QHash historyHash;