From d7db872a15418d20392990a65d9525c11e2a4fa4 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 16 Oct 2010 15:21:21 +0200 Subject: Made hovering configurable Revamped misc tab in configurationdialog to QGroupBoxes. Added options for enabling or disabling hovering over pictures or the archive tree. Also implemented an option to set the opacity for HoverWindow. --- configurationdialog.cpp | 64 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 51 insertions(+), 13 deletions(-) (limited to 'configurationdialog.cpp') diff --git a/configurationdialog.cpp b/configurationdialog.cpp index 6d6899c..20e424b 100644 --- a/configurationdialog.cpp +++ b/configurationdialog.cpp @@ -19,6 +19,9 @@ #include #include #include +#include +#include +#include #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()); -- cgit v1.2.3-70-g09d2