summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2012-03-17 13:20:42 +0100
committerArno <am@disconnect.de>2012-03-17 13:20:42 +0100
commite595a9be49615c45f40c57e8385e9fd76bb394e8 (patch)
treed6bf745863f08a1cbe4fb2b5b10c759a1d4272d2
parent0cdf34c82044a27f1abfe8bd8dce213efa173da8 (diff)
downloadSheMov-e595a9be49615c45f40c57e8385e9fd76bb394e8.tar.gz
SheMov-e595a9be49615c45f40c57e8385e9fd76bb394e8.tar.bz2
SheMov-e595a9be49615c45f40c57e8385e9fd76bb394e8.zip
Make info item in PictureViewer2 moveable
This was easier than I thought. Make info item movable and save position on exit.
-rw-r--r--pictureviewer2.cpp12
-rw-r--r--pictureviewer2.h2
-rw-r--r--shemov.cpp1
3 files changed, 14 insertions, 1 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp
index 7a75be1..d5a6300 100644
--- a/pictureviewer2.cpp
+++ b/pictureviewer2.cpp
@@ -112,6 +112,14 @@ void PictureViewer2::readSettings(){
mUseGradient = s.value("ui/pvgradient").toBool();
QVariant t = s.value("ui/pvbgcolor");
mBgColor = t.value<QColor>();
+ mInfoPos = s.value("ui/pvinfopos", QPointF(20, 20)).toPointF();
+}
+
+void PictureViewer2::writeSettings(){
+ if(mFnItem){
+ QSettings s;
+ s.setValue("ui/pvinfopos", mFnItem->scenePos());
+ }
}
void PictureViewer2::shuffle(){
@@ -165,11 +173,12 @@ void PictureViewer2::showFile(const PicData &file){
void PictureViewer2::constructInfoItem(const PicData &data, QSize picSize){
if(mFnItem){
+ mInfoPos = mFnItem->scenePos();
mScene->removeItem(mFnItem);
delete mFnItem;
}
mFnItem = new PictureViewer2FileinfoItem(data, mFiles.size(), picSize);
- mFnItem->setPos(10, 10);
+ mFnItem->setPos(mInfoPos);
mScene->addItem(mFnItem);
}
@@ -202,6 +211,7 @@ PictureViewer2FileinfoItem::PictureViewer2FileinfoItem(const PicData &data, cons
textList << data.at(PicFilesModel::MimeType).toString();
textList << QString(QObject::tr("%1 files selected")).arg(QString::number(numSelected));
mText = QStaticText(textList.join("<br/>"));
+ setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemIsMovable);
}
QRectF PictureViewer2FileinfoItem::boundingRect() const {
diff --git a/pictureviewer2.h b/pictureviewer2.h
index 3aba527..6126930 100644
--- a/pictureviewer2.h
+++ b/pictureviewer2.h
@@ -37,6 +37,7 @@ class PictureViewer2 : public QGraphicsView {
void previous();
void slide();
void readSettings();
+ void writeSettings();
void shuffle();
protected:
@@ -61,6 +62,7 @@ class PictureViewer2 : public QGraphicsView {
PictureViewer2FileinfoItem *mFnItem;
bool mUseGradient;
QColor mBgColor;
+ QPointF mInfoPos;
};
class PictureViewer2FileinfoItem : public QGraphicsItem {
diff --git a/shemov.cpp b/shemov.cpp
index 18cacee..8fbceed 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -134,6 +134,7 @@ void SheMov::closeEvent(QCloseEvent *event){
mFSWidget->writeSettings();
mFSWidget->pictureViewer()->close();
mATree->seriesWidget()->writeSettings();
+ mPicWidget->picViewer2()->writeSettings();
FilesTreeModel *filesModel = static_cast<FilesTreeModel*>(SmGlobals::instance()->model("FilesModel"));
filesModel->writeCache();
writeSettings();