summaryrefslogtreecommitdiffstats
path: root/pictureviewer2.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2016-03-29 21:17:54 +0200
committerArno <arno@disconnect.de>2016-03-29 21:17:54 +0200
commitdf5fd3c5269964d4505d58b37597cadfd7de2ee4 (patch)
tree8914507650f3143912e8b1160b1b6e4265091366 /pictureviewer2.cpp
parentaba573026ec3ca79e30d0350a645d91169421443 (diff)
downloadSheMov-df5fd3c5269964d4505d58b37597cadfd7de2ee4.tar.gz
SheMov-df5fd3c5269964d4505d58b37597cadfd7de2ee4.tar.bz2
SheMov-df5fd3c5269964d4505d58b37597cadfd7de2ee4.zip
Get rid of a lot of unused code
Well, sanitize the sliding madness. Replace it by a dialog and just one timer. Seems to work so far...
Diffstat (limited to 'pictureviewer2.cpp')
-rw-r--r--pictureviewer2.cpp287
1 files changed, 6 insertions, 281 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp
index d95602a..df90ffb 100644
--- a/pictureviewer2.cpp
+++ b/pictureviewer2.cpp
@@ -56,7 +56,7 @@
const QString PictureViewer2::mDefaultFile = ":/picgone.png";
-PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0), mCurPos(0), mFnItem(0), mMappingItem(0), mShowInfoItem(true), mShowMappingItem(true), mShowMarkItem(false), mShuffle(false) {
+PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0), mCurPos(0), mFnItem(0), mMappingItem(0), mShowInfoItem(true), mShowMappingItem(true), mShowMarkItem(false) {
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setWindowState(Qt::WindowMaximized);
@@ -73,18 +73,9 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0)
//picture show
mTimer = new QTimer(this);
- mSlideTimer = new QTimer(this);
- mSlideTimerAll = new QTimer(this);
- mSlideTimerRecent = new QTimer(this);
- mCurTimer = mSlideTimer;
- mSlideTimerAllRestart = true;
connect(mTimer, SIGNAL(timeout()), this, SLOT(nextSlide()));
- connect(mSlideTimer, SIGNAL(timeout()), this, SLOT(next()));
- connect(mSlideTimerAll, SIGNAL(timeout()), this, SLOT(nextFromAll()));
- connect(mSlideTimerRecent, SIGNAL(timeout()), this, SLOT(nextFromRecent()));
//models + dialogs
- mMappingTreeModel = static_cast<MappingTreeModel*>(SmGlobals::instance()->model("MappingTree"));
mPicFilesModel = static_cast<PicFilesModel*>(SmGlobals::instance()->model("PicFiles"));
mNewPicsDlg = new NewPicsDialog(this);
@@ -94,9 +85,7 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0)
setScene(mScene);
readSettings();
setMinimumSize(QSize(800, 600));
- constructControlItem();
showFile(mFiles.at(mCurPos));
-
}
void PictureViewer2::addFiles(const PicDataList &files, bool clear){
@@ -141,11 +130,6 @@ void PictureViewer2::addFiles(const QStringList &files, bool clear){
addFiles(pd, clear);
}
-void PictureViewer2::addFile(const QString &fullPath, int fileId){
- mFiles << picData(fullPath, fileId);
-}
-
-
void PictureViewer2::addFiles(const QString &dir, bool clear){
QFileInfo fi(dir);
if(!fi.isDir()){
@@ -250,101 +234,11 @@ void PictureViewer2::selectPic(const QString &path){
}
void PictureViewer2::stopSlide(){
- mCurTimer->stop();
- mSlideStopC->setDefaultTextColor(Qt::darkGreen);
- mSlideAllC->setDefaultTextColor(mDefaultTextColor);
- mSlideRecentC->setDefaultTextColor(mDefaultTextColor);
- mSlideC->setDefaultTextColor(mDefaultTextColor);
- mShuffleC->setDefaultTextColor(mDefaultTextColor);
- mShuffle = false;
+ mTimer->stop();
}
void PictureViewer2::startSlide(){
- mCurTimer->stop();
- mCurTimer = mSlideTimer;
- mSlideStopC->setDefaultTextColor(mDefaultTextColor);
- mSlideAllC->setDefaultTextColor(mDefaultTextColor);
- mSlideC->setDefaultTextColor(Qt::darkGreen);
- PicDataList data = mPicFilesModel->allFiles();
- if(mShuffle){
- std::random_shuffle(data.begin(), data.end());
- }
- addFiles(data, true);
- mCurTimer->start(5000);
-}
-
-void PictureViewer2::startSlideAll(){
- mCurTimer->stop();
- mCurTimer = mSlideTimerAll;
- mSlideStopC->setDefaultTextColor(mDefaultTextColor);
- mSlideAllC->setDefaultTextColor(Qt::darkGreen);
- mSlideC->setDefaultTextColor(mDefaultTextColor);
- mSlideRecentC->setDefaultTextColor(mDefaultTextColor);
- mShuffleC->setDefaultTextColor(mDefaultTextColor);
- mShuffle = false;
- mSlideTimerAllRestart = true;
- mCurTimer->start(5000);
-}
-
-void PictureViewer2::startSlideRecent(){
- mCurTimer->stop();
- mCurTimer = mSlideTimerRecent;
- mSlideStopC->setDefaultTextColor(mDefaultTextColor);
- mSlideAllC->setDefaultTextColor(mDefaultTextColor);
- mSlideC->setDefaultTextColor(mDefaultTextColor);
- mShuffleC->setDefaultTextColor(mDefaultTextColor);
- mSlideRecentC->setDefaultTextColor(Qt::darkGreen);
- mShuffle = false;
- mSlideTimerRecentRestart = true;
- mCurTimer->start(5000);
-}
-
-
-void PictureViewer2::toggleSlide(bool slide){
- if(slide){
- mCurTimer->start(5000);
- }else{
- mCurTimer->stop();
- }
-}
-
-void PictureViewer2::slide(bool){
- mSlideTimerAll->stop();
- mSlideTimerRecent->stop();
- mCurTimer = mSlideTimer;
- if(mSlideTimer->isActive()){
- mSlideTimer->stop();
- }else{
- PicDataList data = mPicFilesModel->allFiles();
- addFiles(data, true);
- mSlideTimer->start(5000);
- }
-}
-
-void PictureViewer2::slideThrouhghAll(bool){
- mSlideTimer->stop();
- mSlideTimerRecent->stop();
- mCurTimer = mSlideTimerAll;
- mShowMappingItem = true;
- if(mSlideTimerAll->isActive()){
- mSlideTimerAll->stop();
- }else{
- mSlideTimerAllRestart = true;
- mSlideTimerAll->start(5000);
- }
-}
-
-void PictureViewer2::slideThrougRecent(bool){
- mSlideTimer->stop();
- mSlideTimerAll->stop();
- mCurTimer = mSlideTimerRecent;
- mShowMappingItem = true;
- if(mSlideTimerRecent->isActive()){
- mSlideTimerRecent->stop();
- }else{
- mSlideTimerRecentRestart = true;
- mSlideTimerRecent->start(5000);
- }
+ mTimer->start();
}
void PictureViewer2::readSettings(){
@@ -370,15 +264,6 @@ void PictureViewer2::writeSettings(){
}
}
-void PictureViewer2::shuffle(){
- mShuffle = !mShuffle;
- if(mShuffle){
- mShuffleC->setDefaultTextColor(Qt::darkGreen);
- }else{
- mShuffleC->setDefaultTextColor(mDefaultTextColor);
- }
-}
-
void PictureViewer2::initActions(){
foreach(QAction *a, actions()){
//never, ever forget this when casting to int
@@ -473,33 +358,7 @@ void PictureViewer2::clearMarks(){
constructInfoItem(mCurPicData, QSize());
}
-void PictureViewer2::doControl(QGraphicsItem *item){
- QGraphicsTextItem *curItem = static_cast<QGraphicsTextItem*>(item);
- if(curItem){
- if(curItem == mNextC){
- next();
- }else if(curItem == mPreviousC){
- previous();
- }else if(curItem == mSkipForwardC){
- skip(25);
- }else if(curItem == mSkipBackwardC){
- skip(-25);
- }else if(curItem == mShuffleC){
- shuffle();
- }else if(curItem == mSlideStopC){
- stopSlide();
- }else if(curItem == mSlideC){
- startSlide();
- }else if(curItem == mSlideAllC){
- startSlideAll();
- }else if(curItem == mSlideRecentC){
- startSlideRecent();
- }
- }
-}
-
void PictureViewer2::showSlide(){
- mSlideTimer->stop();
mSlideDlg->show();
}
@@ -563,15 +422,12 @@ void PictureViewer2::keyPressEvent(QKeyEvent *e){
skip(-25);
}
if(e->key() == Qt::Key_Space){
- if(mCurTimer->isActive()){
+ if(mTimer->isActive()){
stopSlide();
}else{
- startSlideAll();
+ startSlide();
}
}
- if(e->key() == Qt::Key_R){
- shuffle();
- }
return;
}
@@ -580,7 +436,7 @@ void PictureViewer2::keyPressEvent(QKeyEvent *e){
mHideA->toggle();
}
if(e->key() == Qt::Key_Space){
- if(mCurTimer->isActive()){
+ if(mTimer->isActive()){
stopSlide();
}else{
startSlide();
@@ -622,8 +478,6 @@ void PictureViewer2::hideEvent(QHideEvent *e){
void PictureViewer2::resizeEvent(QResizeEvent *event){
QGraphicsView::resizeEvent(event);
- qreal ypos = event->size().height() - mBoundingRectItem->boundingRect().size().height() - 10;
- mBoundingRectItem->setPos(width() - 15 - mBoundingRectItem->boundingRect().size().width(), ypos);
showFile(mCurPicData);
}
@@ -779,105 +633,6 @@ void PictureViewer2::docFromTree(SmTreeItem *start, QTextCursor *cur, int indent
}
}
-void PictureViewer2::nextFromAll(){
- if(mSlideTimerAllRestart){
- mSlideTimerAll->stop();
- mPicFilesModel->allPicIds();
- mSlideTimerAllRestart = false;
- setNextBatch();
- mSlideTimerAll->start(5000);
- }
- if(mCurPos == mFiles.size()){
- setNextBatch();
- }
- mMarkA->setChecked(mMarkedFiles.contains(mFiles.at(mCurPos)));
- showFile(mFiles.at(mCurPos));
- ++mCurPos;
-}
-
-void PictureViewer2::nextFromRecent(){
- if(mSlideTimerRecentRestart){
- mSlideTimerRecent->stop();
- mPicFilesModel->recentPicIds();
- mSlideTimerRecentRestart = false;
- setNextBatch();
- mSlideTimerRecent->start(5000);
- }
- if(mCurPos == mFiles.size()){
- setNextBatch();
- }
- mMarkA->setChecked(mMarkedFiles.contains(mFiles.at(mCurPos)));
- showFile(mFiles.at(mCurPos));
- ++mCurPos;
-}
-
-void PictureViewer2::constructControlItem(){
- QStringList controls = QStringList() << "Next (>)" << "Previous (<)" << "Skip forward (C->)" << "Skip back (C-<)" << "Shuffle (C-R)" << "Stop Slide <SP>" << "Slide <SP>" << "Slide all <C-SP>" << "Slide recent";
- QFont f = QFont();
- f.setPointSize(14);
- f.setBold(true);
- QFontMetrics fm(f);
- int width = 0;
- foreach(QString c, controls){
- int curWidth = fm.width(c);
- if(curWidth > width){
- width = curWidth;
- }
- }
- f.setBold(true);
- int lineLeftMargin = 10;
- int lineLength = width + 10;
- int textLeftMargin = 5;
- int textFactor = 16;
- mBoundingRectItem = new BoundingRectItem(QSize(width + 20, 16 * (controls.count() + 4) + 5));
- mBoundingRectItem->setZValue(5);
- mScene->addItem(mBoundingRectItem);
- mNextC = new QGraphicsTextItem(mBoundingRectItem);
- mNextC->setFont(f);
- mNextC->setPlainText(controls.at(0));
- mNextC->moveBy(textLeftMargin, 0 * textFactor);
- mDefaultTextColor = mNextC->defaultTextColor();
- mPreviousC = new QGraphicsTextItem(mBoundingRectItem);
- mPreviousC->setFont(f);
- mPreviousC->setPlainText(controls.at(1));
- mPreviousC->moveBy(textLeftMargin, 1 * textFactor);
- QGraphicsLineItem *l1 = new QGraphicsLineItem(mBoundingRectItem);
- l1->setLine(QLine(QPoint(lineLeftMargin, 3 * textFactor), QPoint(lineLength, 3 * textFactor)));
- mSkipForwardC = new QGraphicsTextItem(mBoundingRectItem);
- mSkipForwardC->setFont(f);
- mSkipForwardC->setPlainText(controls.at(2));
- mSkipForwardC->moveBy(textLeftMargin, 3 * textFactor);
- mSkipBackwardC = new QGraphicsTextItem(mBoundingRectItem);
- mSkipBackwardC->setFont(f);
- mSkipBackwardC->setPlainText(controls.at(3));
- mSkipBackwardC->moveBy(textLeftMargin, 4 * textFactor);
- QGraphicsLineItem *l2 = new QGraphicsLineItem(mBoundingRectItem);
- l2->setLine(QLine(QPoint(lineLeftMargin, 6 * textFactor), QPoint(lineLength, 6 * textFactor)));
- mShuffleC = new QGraphicsTextItem(mBoundingRectItem);
- mShuffleC->setFont(f);
- mShuffleC->setPlainText(controls.at(4));
- mShuffleC->moveBy(textLeftMargin, 6 * textFactor);
- QGraphicsLineItem *l3 = new QGraphicsLineItem(mBoundingRectItem);
- l3->setLine(QLine(QPoint(lineLeftMargin, 8 * textFactor), QPoint(lineLength, 8 * textFactor)));
- mSlideStopC = new QGraphicsTextItem(mBoundingRectItem);
- mSlideStopC->setFont(f);
- mSlideStopC->setPlainText(controls.at(5));
- mSlideStopC->setDefaultTextColor(Qt::darkGreen);
- mSlideStopC->moveBy(textLeftMargin, 8 * textFactor);
- mSlideC = new QGraphicsTextItem(mBoundingRectItem);
- mSlideC->setFont(f);
- mSlideC->setPlainText(controls.at(6));
- mSlideC->moveBy(textLeftMargin, 9 * textFactor);
- mSlideAllC = new QGraphicsTextItem(mBoundingRectItem);
- mSlideAllC->setFont(f);
- mSlideAllC->setPlainText(controls.at(7));
- mSlideAllC->moveBy(textLeftMargin, 10 * textFactor);
- mSlideRecentC = new QGraphicsTextItem(mBoundingRectItem);
- mSlideRecentC->setFont(f);
- mSlideRecentC->setPlainText(controls.at(8));
- mSlideRecentC->moveBy(textLeftMargin, 11 * textFactor);
-}
-
void PictureViewer2::setGradient(const QPixmap &pic){
QPoint val1 = QPoint(qrand() % pic.width(), qrand() % pic.height());
QPoint val2 = QPoint(qrand() % pic.width(), qrand() % pic.height());
@@ -890,17 +645,6 @@ void PictureViewer2::setGradient(const QPixmap &pic){
setBackgroundBrush(QBrush(g));
}
-void PictureViewer2::setNextBatch(){
- mCurTimer->stop();
- mFiles.clear();
- QList<QList<QVariant> > data = mPicFilesModel->getNextBatch();
- foreach(QList<QVariant> l, data){
- addFile(l.value(0).toString(), l.value(1).toInt());
- }
- mCurPos = 0;
- mCurTimer->start();
-}
-
QTextDocument *PictureViewer2::treeToString(const SmTreeItem *root) const{
QTextDocument *retval = new QTextDocument;
retval->setIndentWidth(2);
@@ -1112,25 +856,6 @@ void PictureViewer2Item::paint(QPainter *painter, const QStyleOptionGraphicsItem
painter->restore();
}
-QRectF BoundingRectItem::boundingRect() const {
- return QRectF(0, 0, mSize.width(), mSize.height());
-}
-
-void BoundingRectItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){
- Q_UNUSED(option);
- Q_UNUSED(widget);
- painter->save();
- painter->setRenderHint(QPainter::Antialiasing, true);
- painter->setRenderHint(QPainter::TextAntialiasing, true);
- QColor bgColor = QColor(Qt::white);
- bgColor.setAlpha(80);
- QBrush brush(bgColor);
- painter->setPen(QColor(Qt::yellow));
- painter->setBrush(brush);
- painter->drawRoundedRect(boundingRect(), 15.0, 15.0);
- painter->restore();
-}
-
void PictureViewerGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *e){
QGraphicsScene::mousePressEvent(e);
QPointF curPos = e->scenePos();