summaryrefslogtreecommitdiffstats
path: root/configurationdialog.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2012-03-17 06:15:56 +0100
committerArno <am@disconnect.de>2012-03-17 06:15:56 +0100
commit81aafd665a74ff4de206667ba495109f34294dd5 (patch)
treeb487517a011a7f48f791755193aa706d181f4ff0 /configurationdialog.cpp
parentb71a382317cbb81cd876519f9102abee087305d7 (diff)
downloadSheMov-81aafd665a74ff4de206667ba495109f34294dd5.tar.gz
SheMov-81aafd665a74ff4de206667ba495109f34294dd5.tar.bz2
SheMov-81aafd665a74ff4de206667ba495109f34294dd5.zip
Make background color of PictureViewer2 configurable
Add options to ConfigurationDialog to either use a fixed color as background or a gradient picked with random colors picked from the picture.
Diffstat (limited to 'configurationdialog.cpp')
-rw-r--r--configurationdialog.cpp46
1 files changed, 40 insertions, 6 deletions
diff --git a/configurationdialog.cpp b/configurationdialog.cpp
index 25908db..717e510 100644
--- a/configurationdialog.cpp
+++ b/configurationdialog.cpp
@@ -313,15 +313,37 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : S
colorGrid->addWidget(mFavoriteColorButton, 7, 2);
colorMapper->setMapping(mFavoriteColorButton, mFavoriteColor);
connect(mFavoriteColorButton, SIGNAL(clicked()), colorMapper, SLOT(map()));
- connect(colorMapper, SIGNAL(mapped(QWidget*)), this, SLOT(chooseColor(QWidget*)));
- mAlternateColors = new QCheckBox(tr("Use alternating row colors"));
+ mAlternateColors = new QCheckBox(tr("Use alternating row colors"));
mAlternateColors->setTristate(false);
connect(mAlternateColors, SIGNAL(stateChanged(int)), this, SLOT(alternateColorsChanged(int)));
colorGrid->addWidget(mAlternateColors, 8, 1, 1, 2, Qt::AlignLeft);
- QVBoxLayout *colorStretchLayout = new QVBoxLayout;
- colorStretchLayout->addStretch();
- colorGrid->addLayout(colorStretchLayout, 9, 1, 3, Qt::AlignLeft);
- colorsWidget->setLayout(colorGrid);
+ colorsWidget->setLayout(colorGrid);
+
+ QLabel *color9 = new QLabel(tr("PicViewer Background"));
+ mPVBgColor = new QLabel;
+ mPVBgColor->setFrameStyle(QFrame::Sunken | QFrame::Panel);
+ mPVBgColor->setScaledContents(true);
+ mPVBgButton = new QPushButton(tr("Choose..."));
+ QGridLayout *pvGrid = new QGridLayout;
+ pvGrid->addWidget(color9, 0, 0);
+ pvGrid->addWidget(mPVBgColor, 0, 1);
+ pvGrid->addWidget(mPVBgButton, 0, 2);
+ colorMapper->setMapping(mPVBgButton, mPVBgColor);
+ connect(mPVBgButton, SIGNAL(clicked()), colorMapper, SLOT(map()));
+ mPVGradient = new QCheckBox(tr("Use random gradient as background"));
+ mPVGradient->setTristate(false);
+ connect(mPVGradient, SIGNAL(stateChanged(int)), this, SLOT(randomGradientChanged(int)));
+ pvGrid->addWidget(mPVGradient, 1, 1, 1, 2, Qt::AlignLeft);
+
+ connect(colorMapper, SIGNAL(mapped(QWidget*)), this, SLOT(chooseColor(QWidget*)));
+ QGroupBox *treeGB = new QGroupBox(tr("Treeview colors"));
+ treeGB->setLayout(colorGrid);
+ QGroupBox *pvGB = new QGroupBox(tr("PicViewer colors"));
+ pvGB->setLayout(pvGrid);
+ QVBoxLayout *colorLayout = new QVBoxLayout;
+ colorLayout->addWidget(treeGB);
+ colorLayout->addWidget(pvGB);
+ colorsWidget->setLayout(colorLayout);
mTab->addTab(colorsWidget, tr("Colors"));
//main layout
@@ -406,6 +428,8 @@ void ConfigurationDialog::readSettings(){
mColors.insert(mArchivedColor, archived.value<QColor>());
QVariant favorite = s.value("ui/favoritecolor", Qt::red);
mColors.insert(mFavoriteColor, favorite.value<QColor>());
+ QVariant pvbackground = s.value("ui/pvbgcolor", Qt::red);
+ mColors.insert(mPVBgColor, pvbackground.value<QColor>());
QHash<QWidget*, QColor>::const_iterator it;
for(it = mColors.constBegin(); it != mColors.constEnd(); ++it){
setColor(it.key());
@@ -413,6 +437,9 @@ void ConfigurationDialog::readSettings(){
bool allowAlternate = s.value("ui/allowalternate", true).toBool();
mAlternateColors->setChecked(allowAlternate);
alternateColorsChanged(mAlternateColors->checkState());
+ bool useGradient = s.value("ui/pvgradient", false).toBool();
+ mPVGradient->setChecked(useGradient);
+ randomGradientChanged(mPVGradient->checkState());
}
void ConfigurationDialog::writeSettings(){
@@ -470,7 +497,9 @@ void ConfigurationDialog::writeSettings(){
s.setValue("ui/localcolor", mColors.value(mLocalColor));
s.setValue("ui/archivedcolor", mColors.value(mArchivedColor));
s.setValue("ui/favoritecolor", mColors.value(mFavoriteColor));
+ s.setValue("ui/pvbgcolor", mColors.value(mPVBgColor));
s.setValue("ui/allowalternate", mAlternateColors->isChecked());
+ s.setValue("ui/pvgradient", mPVGradient->isChecked());
}
bool ConfigurationDialog::checkDvdPath(){
@@ -539,6 +568,11 @@ void ConfigurationDialog::alternateColorsChanged(int state){
mAlternateBaseColor->setEnabled(state == Qt::Checked);
}
+void ConfigurationDialog::randomGradientChanged(int state){
+ mPVBgButton->setEnabled(state == Qt::Unchecked);
+ mPVBgColor->setEnabled(state == Qt::Unchecked);
+}
+
void ConfigurationDialog::setColor(QWidget *label){
QLabel *curLabel = qobject_cast<QLabel*>(label);
if(!curLabel){