diff options
-rw-r--r-- | pictureviewer2.cpp | 26 | ||||
-rw-r--r-- | pictureviewer2.h | 4 |
2 files changed, 18 insertions, 12 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index 3234ffc..88522e0 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -58,13 +58,18 @@ void PictureViewer2::addFiles(const PicDataList &files, bool clear){ mFiles.clear(); mFiles = files; mCurPos = 0; - return; - } - foreach(const PicData &f, files){ - if(!mFiles.contains(f)){ - mFiles.append(f); + }else{ + foreach(const PicData &f, files){ + if(!mFiles.contains(f)){ + mFiles.append(f); + } } } + if(!mCurPos >= mFiles.size()){ + showFile(mFiles.at(mCurPos)); + }else{ + showFile(mFiles.at(0)); + } } void PictureViewer2::setFile(const PicData &file){ @@ -151,15 +156,15 @@ void PictureViewer2::showFile(const PicData &file){ mCur->setPos(cX, cY); setWindowTitle(constructWindowTitle()); //TODO: configure! - constructFilenameItem(file, pixmap.size()); + constructInfoItem(file, pixmap.size()); } -void PictureViewer2::constructFilenameItem(const PicData &data, QSize picSize){ +void PictureViewer2::constructInfoItem(const PicData &data, QSize picSize){ if(mFnItem){ mScene->removeItem(mFnItem); delete mFnItem; } - mFnItem = new PictureViewer2FileinfoItem(data, picSize); + mFnItem = new PictureViewer2FileinfoItem(data, mFiles.size(), picSize); mFnItem->setPos(10, 10); mScene->addItem(mFnItem); } @@ -181,16 +186,17 @@ QString PictureViewer2::constructWindowTitle() const { return retval; } -PictureViewer2FileinfoItem::PictureViewer2FileinfoItem(const PicData &data, const QSize &picSize, QGraphicsItem *parent) : QGraphicsItem(parent){ +PictureViewer2FileinfoItem::PictureViewer2FileinfoItem(const PicData &data, const int numSelected, const QSize &picSize, QGraphicsItem *parent) : QGraphicsItem(parent){ QStringList textList; //prevent QStaticText from wrapping filesnames with spaces //we shouldn't allow this in the first place textList << data.at(PicFilesModel::FileName).toString().replace(' ', '_'); textList << QString("%1x%2").arg(QString::number(picSize.width())).arg(QString::number(picSize.height())); QLocale l; - textList << QString("%1 bytes").arg(l.toString(data.at(PicFilesModel::Size).toInt())); + textList << QString(QObject::tr("%1 bytes")).arg(l.toString(data.at(PicFilesModel::Size).toInt())); textList << l.toString(data.at(PicFilesModel::Added).toDate()); textList << data.at(PicFilesModel::MimeType).toString(); + textList << QString(QObject::tr("%1 files selected")).arg(QString::number(numSelected)); mText = QStaticText(textList.join("<br/>")); } diff --git a/pictureviewer2.h b/pictureviewer2.h index e93dffc..77328e8 100644 --- a/pictureviewer2.h +++ b/pictureviewer2.h @@ -44,7 +44,7 @@ class PictureViewer2 : public QGraphicsView { private slots: void showFile(const PicData &data); - void constructFilenameItem(const PicData &file, QSize picSize); + void constructInfoItem(const PicData &file, QSize picSize); private: void setupDialog(); @@ -64,7 +64,7 @@ class PictureViewer2 : public QGraphicsView { class PictureViewer2FileinfoItem : public QGraphicsItem { public: - explicit PictureViewer2FileinfoItem(const PicData &data, const QSize &picSize = QSize(), QGraphicsItem *parent = 0); + explicit PictureViewer2FileinfoItem(const PicData &data, const int numSelected, const QSize &picSize = QSize(), QGraphicsItem *parent = 0); QRectF boundingRect() const; void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); |