From 3f2df0541a862d8e6a799b9502e6b3f7a0c5f884 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 28 Apr 2012 15:29:35 +0200 Subject: Weed out PictureViewer in favor of PictureViewer2 Remove PictureViewer from everywhere and use PictureViewer2 instead. --- pictureviewer2.cpp | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'pictureviewer2.cpp') diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp index 8aef518..eee77af 100644 --- a/pictureviewer2.cpp +++ b/pictureviewer2.cpp @@ -20,6 +20,10 @@ #include #include #include +#include +#include +#include +#include #include "pictureviewer2.h" #include "pictureswidget.h" @@ -27,6 +31,7 @@ #include "mappingtreemodel.h" #include "smtreeitem.h" #include "configurationdialog.h" +#include "helper.h" PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0), mCurPos(0), mDefaultFile(":/picgone.png"), mFnItem(0), mMappingItem(0) { //behave like QDialog, but don't be one... @@ -78,11 +83,50 @@ void PictureViewer2::addFiles(const PicDataList &files, bool clear){ } } +void PictureViewer2::addFiles(const QString &dir, bool clear){ + QFileInfo fi(dir); + if(!fi.isDir()){ + return; + } + PicDataList pd; + QDir directory = QDir(dir); + QFileInfoList files = directory.entryInfoList(QDir::Files, QDir::Name); + + //foreach doesn't work here. Somehow it's casted to one single QFileInfo. + //took some time to figure it out! + for(int i = 0; i < files.size(); ++i){ + pd << picData(files.at(i).absoluteFilePath()); + } + addFiles(pd, clear); +} + void PictureViewer2::setFile(const PicData &file){ addFiles(PicDataList() << file, true); showFile(mFiles.at(mCurPos)); } +void PictureViewer2::setFile(const QString &fullPath){ + PicData pd = picData(fullPath); + setFile(pd); +} + +PicData PictureViewer2::picData(const QString &fullPath){ + QFileInfo fi(fullPath); + if(!fi.exists()){ + return PicData(); + } + PicData retval; + //fields defined by PicFilesModel::Fields. + retval << fi.fileName() << fi.size(); + retval << Helper::mimeType(fullPath); + retval << fi.absoluteFilePath(); + retval << -1 << QDateTime(); + retval << Helper::md5Sum(fullPath); + QLocale l; + retval << l.toString(fi.size()); + return retval; +} + QSize PictureViewer2::sizeHint() const{ return mMinimunSize; } -- cgit v1.2.3-70-g09d2