diff options
author | Arno <arno@disconnect.de> | 2016-03-29 08:38:12 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-03-29 08:38:12 +0200 |
commit | bc11672a2bc4140f67476b79fc6b427f4a5cc4ec (patch) | |
tree | 61d93dff324e7c31175e7ead5e6376399ad32add /pictureviewer2.cpp | |
parent | 2844e586208fed423cbb81f269add2370231b780 (diff) | |
download | SheMov-bc11672a2bc4140f67476b79fc6b427f4a5cc4ec.tar.gz SheMov-bc11672a2bc4140f67476b79fc6b427f4a5cc4ec.tar.bz2 SheMov-bc11672a2bc4140f67476b79fc6b427f4a5cc4ec.zip |
Design slide dialog
Does nothing yet, just the dialog...
Diffstat (limited to 'pictureviewer2.cpp')
-rw-r--r-- | pictureviewer2.cpp | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index 189cf80..ead82ea 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -32,12 +32,22 @@ #include <QFile> #include <QTemporaryFile> #include <QMessageBox> +#include <QCheckBox> +#include <QRadioButton> +#include <QGroupBox> +#include <QSpinBox> +#include <QPushButton> +#include <QVBoxLayout> +#include <QHBoxLayout> +#include <QLabel> +#include <QGridLayout> #include "pictureviewer2.h" #include "picfilesmodel.h" #include "pictureswidget.h" #include "smglobals.h" #include "mappingtreemodel.h" +#include "mappingtreewidget.h" #include "smtreeitem.h" #include "configurationdialog.h" #include "newpicsdialog.h" @@ -483,6 +493,11 @@ void PictureViewer2::doControl(QGraphicsItem *item){ } } +void PictureViewer2::doSlide(){ + PictureViewerSlideDlg dlg(this); + dlg.exec(); +} + void PictureViewer2::wheelEvent(QWheelEvent *event){ int steps = event->delta() / 8 / 15; if(steps < 0){ @@ -888,6 +903,93 @@ QString PictureViewer2::constructWindowTitle() const { return retval; } +PictureViewerSlideDlg::PictureViewerSlideDlg(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f){ + mResultCountTempl = QString(tr("Sliding over %1 pics")); + QGroupBox *slideGb = new QGroupBox(tr("Slide")); + mSlideAll = new QRadioButton(tr("Slide all")); + connect(mSlideAll, SIGNAL(toggled(bool)), this, SLOT(slideAllToggled(bool))); + mRecent = new QRadioButton(tr("Slide recent")); + connect(mRecent, SIGNAL(toggled(bool)), this, SLOT(recentToggled(bool))); + mSelection = new QRadioButton(tr("Slide selection")); + connect(mSelection, SIGNAL(toggled(bool)), this, SLOT(slideSelectionToggled(bool))); + mNoSlide = new QRadioButton(tr("Stop slide")); + connect(mNoSlide, SIGNAL(toggled(bool)), this, SLOT(noSlideToggled(bool))); + QVBoxLayout *slideL = new QVBoxLayout; + slideL->addWidget(mSlideAll); + slideL->addWidget(mRecent); + slideL->addWidget(mSelection); + slideL->addWidget(mNoSlide); + slideGb->setLayout(slideL); + QGroupBox *miscGb = new QGroupBox(tr("Misc.")); + mResultCount = new QLabel(mResultCountTempl.arg("0")); + mRecentDays = new QSpinBox; + mRecentDays->setMinimum(1); + mRecentDays->setPrefix(tr("Slide last ")); + mRecentDays->setSuffix(tr(" days")); + mShuffle = new QCheckBox(tr("Shuffle")); + QVBoxLayout *miscL = new QVBoxLayout; + miscL->addWidget(mResultCount); + miscL->addWidget(mRecentDays); + miscL->addWidget(mShuffle); + miscGb->setLayout(miscL); + mMappingEditWidget = new MappingEditWidget; + QGroupBox *selectionGb = new QGroupBox(tr("Selection")); + QVBoxLayout *selectionL = new QVBoxLayout; + selectionL->addWidget(mMappingEditWidget); + selectionGb->setLayout(selectionL); + mOk = new QPushButton(tr("Ok")); + connect(mOk, SIGNAL(clicked()), this, SLOT(accept())); + mCancel = new QPushButton(tr("Cancel")); + connect(mCancel, SIGNAL(clicked()), this, SLOT(reject())); + mCalcResultCount = new QPushButton(tr("Calc...")); + QHBoxLayout *buttonL = new QHBoxLayout; + buttonL->addWidget(mCalcResultCount); + buttonL->addStretch(); + buttonL->addWidget(mOk); + buttonL->addWidget(mCancel); + + QGridLayout *mainL = new QGridLayout; + mainL->addWidget(slideGb, 0, 0); + mainL->addWidget(miscGb, 0, 1); + mainL->addWidget(selectionGb, 1, 0, 1, 2); + mainL->addLayout(buttonL, 2, 0, 1, 2); + setLayout(mainL); + + mNoSlide->setChecked(true); +} + +void PictureViewerSlideDlg::slideAllToggled(bool checked){ + if(checked){ + mRecentDays->setEnabled(false); + mMappingEditWidget->setEnabled(false); + mSlideResult = SlideAll; + } +} + +void PictureViewerSlideDlg::slideSelectionToggled(bool checked){ + if(checked){ + mRecentDays->setEnabled(false); + mMappingEditWidget->setEnabled(true); + mSlideResult = SlideSelection; + } +} + +void PictureViewerSlideDlg::recentToggled(bool checked){ + if(checked){ + mRecentDays->setEnabled(true); + mMappingEditWidget->setEnabled(false); + mSlideResult = SlideRecent; + } +} + +void PictureViewerSlideDlg::noSlideToggled(bool checked){ + if(checked){ + mRecentDays->setEnabled(false); + mMappingEditWidget->setEnabled(false); + mSlideResult = NoSlide; + } +} + PictureViewer2Item::PictureViewer2Item(const PicData &data, const int numSelected, const QSize &picSize, QGraphicsItem *parent) : QGraphicsItem(parent), mDoc(0){ QStringList textList; //prevent QStaticText from wrapping filesnames with spaces |