summaryrefslogtreecommitdiffstats
path: root/pictureviewer2.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2012-04-28 15:29:35 +0200
committerArno <am@disconnect.de>2012-04-28 15:29:35 +0200
commit3f2df0541a862d8e6a799b9502e6b3f7a0c5f884 (patch)
tree4451efc120da60b894a40c98391236fc5ae2096a /pictureviewer2.cpp
parent5bf304d22564666621c35919b2d9aea1aa5b4b5a (diff)
downloadSheMov-3f2df0541a862d8e6a799b9502e6b3f7a0c5f884.tar.gz
SheMov-3f2df0541a862d8e6a799b9502e6b3f7a0c5f884.tar.bz2
SheMov-3f2df0541a862d8e6a799b9502e6b3f7a0c5f884.zip
Weed out PictureViewer in favor of PictureViewer2
Remove PictureViewer from everywhere and use PictureViewer2 instead.
Diffstat (limited to 'pictureviewer2.cpp')
-rw-r--r--pictureviewer2.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp
index 8aef518..eee77af 100644
--- a/pictureviewer2.cpp
+++ b/pictureviewer2.cpp
@@ -20,6 +20,10 @@
#include <QSettings>
#include <QTextDocument>
#include <QTextCursor>
+#include <QFileInfo>
+#include <QDir>
+#include <QFileInfo>
+#include <QFileInfoList>
#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;
}