summaryrefslogtreecommitdiffstats
path: root/pictureviewer2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pictureviewer2.cpp')
-rw-r--r--pictureviewer2.cpp28
1 files changed, 18 insertions, 10 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp
index 609c796..2d6c1d9 100644
--- a/pictureviewer2.cpp
+++ b/pictureviewer2.cpp
@@ -40,6 +40,9 @@
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...
setWindowFlags(QFlags<Qt::WindowType>(0x1|0x2|0x1000|0x2000|0x10000|0x8000000));
+ setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
//initial file list
PicData initialData;
@@ -60,14 +63,8 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0)
//setup gui
mScene = new QGraphicsScene(this);
setScene(mScene);
- QDesktopWidget *dw = QApplication::desktop();
- QSize screenSize = dw->availableGeometry().size();
- //TODO: configure!
- mMinimunSize = QSize(screenSize.width() - 100, screenSize.height() - 100);
- setMinimumSize(mMinimunSize);
- move(50, 50);
- setVisible(false);
readSettings();
+ setVisible(false);
mScene->setSceneRect(QRectF(0, 0, width() - 10, height() - 10));
showFile(mFiles.at(mCurPos));
}
@@ -146,7 +143,7 @@ PicData PictureViewer2::picData(const QString &fullPath){
}
QSize PictureViewer2::sizeHint() const{
- return mMinimunSize;
+ return mSize;
}
void PictureViewer2::next(){
@@ -184,6 +181,14 @@ void PictureViewer2::readSettings(){
mInfoPos = s.value("ui/pvinfopos", QPointF(20, 20)).toPointF();
mConfigMapPos = s.value("ui/mappingposition").toInt();
mMappingPos = s.value("ui/pvmappingpos", QPointF(20, 20)).toPointF();
+ const QSize pvMinSize = SmGlobals::instance()->minPVSize();
+ int pvWidth = s.value("ui/pvwidth", pvMinSize.width()).toInt();
+ int pvHeight = s.value("ui/pvheight", pvMinSize.height()).toInt();
+ mSize = QSize(pvWidth, pvHeight);
+ resize(mSize);
+ mScene->setSceneRect(QRectF(0, 0, width() - 10, height() - 10));
+ showFile(mCurPicData);
+ Helper::centerWidget(this);
}
void PictureViewer2::writeSettings(){
@@ -265,6 +270,10 @@ void PictureViewer2::hideEvent(QHideEvent *){
}
void PictureViewer2::showFile(const PicData &file){
+ if(file.isEmpty()){
+ return;
+ }
+ mCurPicData = file;
QPixmap pixmap(file.at(PicFilesModel::FullPath).toString());
if(pixmap.isNull()){
return;
@@ -284,9 +293,8 @@ void PictureViewer2::showFile(const PicData &file){
}
mCur = new QGraphicsPixmapItem(pixmap);
float cX = (width() / 2) - (pixmap.width() / 2);
- float cY = height() / 2 - pixmap.height() / 2;
mScene->addItem(mCur);
- mCur->setPos(cX, cY);
+ mCur->setPos(cX, 0);
setWindowTitle(constructWindowTitle());
if(mConfigInfoPos != ConfigurationDialog::NoDisplay){
constructInfoItem(file, pixmap.size());