diff options
Diffstat (limited to 'configurationdialog.cpp')
-rw-r--r-- | configurationdialog.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/configurationdialog.cpp b/configurationdialog.cpp index b858a06..d05bc91 100644 --- a/configurationdialog.cpp +++ b/configurationdialog.cpp @@ -172,6 +172,24 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : S movieWidget->setLayout(movieWidgetLayout); mTab->addTab(movieWidget, tr("Movies")); + //picture viewer + QGroupBox *picInfoBox = new QGroupBox(tr("Picture info item")); + mPositionBox = new QComboBox; + createPositionMap(); + fillPositions(mPositionBox); + mPositionBox->removeItem(mPositionBox->findData(SideBySide)); + QFormLayout *pvInfoL = new QFormLayout; + pvInfoL->addRow(tr("Picture info position"), mPositionBox); + mShowInfoItem = new QCheckBox(tr("Show info item")); + connect(mShowInfoItem, SIGNAL(toggled(bool)), mPositionBox, SLOT(setEnabled(bool))); + pvInfoL->addRow(tr("Show info item"), mShowInfoItem); + picInfoBox->setLayout(pvInfoL); + QWidget *picWidget = new QWidget; + QVBoxLayout *picLayout = new QVBoxLayout; + picLayout->addWidget(picInfoBox); + picWidget->setLayout(picLayout); + mTab->addTab(picWidget, tr("Pictures")); + //database tab QFormLayout *dbFormL = new QFormLayout; mDatabaseHost = new QLineEdit; @@ -364,6 +382,11 @@ void ConfigurationDialog::readSettings(){ mWindowsDrive->setText(s.value("paths/windowsdrive").toString()); mStripPath->setText(s.value("paths/strippath").toString()); + //read pictures + mShowInfoItem->setChecked(s.value("ui/showinfoitem", true).toBool()); + mPositionBox->setCurrentIndex(mPositionBox->findData(s.value("ui/infoposition", TopLeft).toInt())); + mPositionBox->setEnabled(mShowInfoItem->checkState()); + //read database mDatabaseHost->setText(s.value("database/hostname").toString()); mDatabaseName->setText(s.value("database/dbname").toString()); @@ -434,6 +457,11 @@ void ConfigurationDialog::writeSettings(){ s.setValue("ui/iconizecovers", (mIconizeCovers->checkState() == Qt::Checked)); s.setValue("ui/cursoroffset", mCursorOffset->value()); + //write pictures + s.setValue("ui/showinfoitem", (mShowInfoItem->checkState() == Qt::Checked)); + QString curPos = mPositionBox->currentText(); + s.setValue("ui/infoposition", mPositionMap.value(curPos)); + //write database s.setValue("database/hostname", mDatabaseHost->text()); s.setValue("database/dbname", mDatabaseName->text()); @@ -538,3 +566,18 @@ void ConfigurationDialog::setColor(QWidget *label){ pm.fill(curColor); curLabel->setPixmap(pm); } + +void ConfigurationDialog::createPositionMap(){ + mPositionMap.insert(tr("Top left"), TopLeft); + mPositionMap.insert(tr("Top right"), TopRight); + mPositionMap.insert(tr("Bottom left"), BottomLeft); + mPositionMap.insert(tr("Bottom right"), BottomRigth); + mPositionMap.insert(tr("Side by side"), SideBySide); + mPositionMap.insert(tr("Freely moveable"), Moveable);; +} + +void ConfigurationDialog::fillPositions(QComboBox *cb){ + for(QMap<QString, int>::const_iterator it = mPositionMap.constBegin(); it != mPositionMap.constEnd(); ++it){ + cb->addItem(it.key(), it.value()); + } +} |