summaryrefslogtreecommitdiffstats
path: root/configurationdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'configurationdialog.cpp')
-rw-r--r--configurationdialog.cpp43
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());
+ }
+}