From 8aae1eea458695a19a7ff36bdffbe59c9e7d4cf2 Mon Sep 17 00:00:00 2001 From: Arno Date: Thu, 8 Mar 2012 10:19:16 +0100 Subject: Make PictureViewer useful -Implement add and replace files -use QList (typedef'd) for shoveling data around -more code shuffling -new artwork --- pictureviewer2.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'pictureviewer2.cpp') diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index c126c2c..3bcc404 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -13,13 +13,19 @@ #include #include "pictureviewer2.h" +#include "pictureswidget.h" PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0), mCurPos(0), mDefaultFile(":/picgone.png") { //behave like QDialog, but don't be one... setWindowFlags(QFlags(0x1|0x2|0x1000|0x2000|0x10000|0x8000000)); //initial file list - mFiles = QStringList() << mDefaultFile; + PicData initialData; + for(int i = 0; i < PicFilesModel::NumFields; ++i){ + initialData << QVariant(); + } + initialData[PicFilesModel::FullPath] = mDefaultFile; + mFiles << initialData; //setup gui mScene = new QGraphicsScene(this); @@ -33,22 +39,22 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0) showFile(mFiles.at(mCurPos)); } -void PictureViewer2::addFiles(const QStringList &files, bool clear){ +void PictureViewer2::addFiles(const PicDataList &files, bool clear){ if(clear){ mFiles.clear(); mFiles = files; mCurPos = 0; return; } - foreach(const QString &f, files){ + foreach(const PicData &f, files){ if(!mFiles.contains(f)){ mFiles.append(f); } } } -void PictureViewer2::setFile(const QString &file){ - addFiles(QStringList() << file, true); +void PictureViewer2::setFile(const PicData &file){ + addFiles(PicDataList() << file, true); showFile(mFiles.at(mCurPos)); } @@ -81,8 +87,8 @@ void PictureViewer2::wheelEvent(QWheelEvent *event){ } } -void PictureViewer2::showFile(const QString file){ - QPixmap pixmap(file); +void PictureViewer2::showFile(const PicData &file){ + QPixmap pixmap(file.at(PicFilesModel::FullPath).toString()); if(pixmap.isNull()){ return; } -- cgit v1.2.3-70-g09d2