diff options
Diffstat (limited to 'configurationdialog.cpp')
-rw-r--r-- | configurationdialog.cpp | 64 |
1 files changed, 51 insertions, 13 deletions
diff --git a/configurationdialog.cpp b/configurationdialog.cpp index 6d6899c..20e424b 100644 --- a/configurationdialog.cpp +++ b/configurationdialog.cpp @@ -19,6 +19,9 @@ #include <QSettings> #include <QRegExp> #include <QFileInfo> +#include <QGroupBox> +#include <QCheckBox> +#include <QSpinBox> #include "configurationdialog.h" #include "programconfigurator.h" @@ -33,31 +36,60 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : Q //misc tab QWidget *miscWidget = new QWidget; - QGridLayout *miscGrid = new QGridLayout; - miscGrid->setAlignment(Qt::AlignTop); - QLabel *miscl1 = new QLabel(tr("Select icon for &folders")); + QVBoxLayout *miscLayout = new QVBoxLayout; + miscLayout->setAlignment(Qt::AlignTop); + + //misc - icons + QGroupBox *iconBox = new QGroupBox(tr("Icon for folders")); + QHBoxLayout *iconLayout = new QHBoxLayout; mIconForFolder = new QComboBox; - miscl1->setBuddy(mIconForFolder); QStringList icons = QStringList() << tr("Dildo") << tr("Normal"); mIconForFolder->addItems(icons); - miscGrid->addWidget(miscl1, 0, 0); - miscGrid->addWidget(mIconForFolder, 0, 1); + iconLayout->addWidget(mIconForFolder); + iconBox->setLayout(iconLayout); + + //misc - directories + QGroupBox *pathBox = new QGroupBox(tr("Directories")); + QGridLayout *pathGrid = new QGridLayout; QLabel *miscl2 = new QLabel(tr("Archive directory")); mArchiveDir = new QLineEdit; mArchiveDir->setCompleter(fsCompleter); - miscGrid->addWidget(miscl2, 1, 0); - miscGrid->addWidget(mArchiveDir, 1, 1); - miscWidget->setLayout(miscGrid); + pathGrid->addWidget(miscl2, 0, 0); + pathGrid->addWidget(mArchiveDir, 0, 1); QLabel *miscl3 = new QLabel(tr("Burn Directory")); mBurnDir = new QLineEdit; mBurnDir->setCompleter(fsCompleter); - miscGrid->addWidget(miscl3, 2, 0); - miscGrid->addWidget(mBurnDir, 2, 1); + pathGrid->addWidget(miscl3, 1, 0); + pathGrid->addWidget(mBurnDir, 1, 1); QLabel *miscl4 = new QLabel(tr("Path to ffprobe")); mFfProbePath = new QLineEdit; mFfProbePath->setCompleter(fsCompleter); - miscGrid->addWidget(miscl4, 3, 0); - miscGrid->addWidget(mFfProbePath, 3, 1); + pathGrid->addWidget(miscl4, 2, 0); + pathGrid->addWidget(mFfProbePath, 2, 1); + pathBox->setLayout(pathGrid); + + //misc - hover + QGroupBox *hoverBox = new QGroupBox(tr("Hover options")); + QVBoxLayout *hoverLayout = new QVBoxLayout; + mHoverPics = new QCheckBox(tr("Show picture when hovering")); + hoverLayout->addWidget(mHoverPics); + mHoverArchive = new QCheckBox(tr("Show further information when hovering over archive")); + hoverLayout->addWidget(mHoverArchive); + mHoverOpacity = new QSpinBox; + mHoverOpacity->setMinimum(1); + mHoverOpacity->setMaximum(10); + QLabel *miscl5 = new QLabel(tr("Opacity of hover window")); + QHBoxLayout *opacityLayout = new QHBoxLayout; + opacityLayout->addWidget(miscl5); + opacityLayout->addWidget(mHoverOpacity); + hoverLayout->addLayout(opacityLayout); + hoverBox->setLayout(hoverLayout); + + //misc - assemble + miscLayout->addWidget(iconBox); + miscLayout->addWidget(pathBox); + miscLayout->addWidget(hoverBox); + miscWidget->setLayout(miscLayout); mTab->addTab(miscWidget, tr("Misc. settings")); // movie viewer @@ -131,6 +163,9 @@ void ConfigurationDialog::readSettings(){ mArchiveDir->setText(s.value("paths/archivedir").toString()); mBurnDir->setText(s.value("paths/burn").toString()); mFfProbePath->setText(s.value("paths/ffprobe").toString()); + mHoverPics->setChecked(s.value("ui/hoverpics", false).toBool()); + mHoverArchive->setChecked(s.value("ui/hoverarchive", false).toBool()); + mHoverOpacity->setValue(s.value("ui/hoveropacity", 10).toInt()); //read database mDatabaseHost->setText(s.value("database/hostname").toString()); @@ -152,6 +187,9 @@ void ConfigurationDialog::writeSettings(){ if(ffProbeInfo.exists() && ffProbeInfo.isExecutable()){ s.setValue("paths/ffprobe", ffprobe); } + s.setValue("ui/hoverpics", (mHoverPics->checkState() == Qt::Checked)); + s.setValue("ui/hoverarchive", (mHoverArchive->checkState() == Qt::Checked)); + s.setValue("ui/hoveropacity", mHoverOpacity->value()); //write database s.setValue("database/hostname", mDatabaseHost->text()); |