summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2015-06-06 07:36:39 +0200
committerArno <arno@disconnect.de>2015-06-06 07:36:39 +0200
commitbfe87ae31af8398d3bc0bf26a7dac3dbdecec569 (patch)
treeead648607431acf59662a66765e8f0b804f2e0c1
parent6f8107c1cb22938ee4c91d0993dc82e624c7c8de (diff)
downloadSheMov-bfe87ae31af8398d3bc0bf26a7dac3dbdecec569.tar.gz
SheMov-bfe87ae31af8398d3bc0bf26a7dac3dbdecec569.tar.bz2
SheMov-bfe87ae31af8398d3bc0bf26a7dac3dbdecec569.zip
Resize PictureViewer2
Make it possible to resize the PictureViewer2 and get rid of fixed size. Also, make sure that the current picture is redrawn when we get a resize event.
-rw-r--r--configurationdialog.cpp2
-rw-r--r--pictureviewer2.cpp24
-rw-r--r--pictureviewer2.h3
-rw-r--r--shemov.cpp1
-rw-r--r--smglobals.h1
5 files changed, 12 insertions, 19 deletions
diff --git a/configurationdialog.cpp b/configurationdialog.cpp
index 2570434..8a10d4a 100644
--- a/configurationdialog.cpp
+++ b/configurationdialog.cpp
@@ -43,7 +43,7 @@
#include "smglobals.h"
#include "helper.h"
-ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : SmDialog(parent, f), mPVMinSize(SmGlobals::instance()->minPVSize()){
+ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : SmDialog(parent, f) {
//setup
mTab = new QTabWidget;
QDirModel *model = new QDirModel(this);
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp
index f49b23f..3f8c8ff 100644
--- a/pictureviewer2.cpp
+++ b/pictureviewer2.cpp
@@ -42,11 +42,9 @@
const QString PictureViewer2::mDefaultFile = ":/picgone.png";
PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0), mCurPos(0), mFnItem(0), mMappingItem(0), mShowInfoItem(true), mShowMappingItem(true), mShowMarkItem(false) {
- //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));
+ setWindowState(Qt::WindowMaximized);
//initial file list
PicData initialData;
@@ -69,8 +67,7 @@ PictureViewer2::PictureViewer2(QWidget *parent) : QGraphicsView(parent), mCur(0)
mScene = new QGraphicsScene(this);
setScene(mScene);
readSettings();
- setVisible(false);
- mScene->setSceneRect(QRectF(0, 0, width(), height()));
+ setMinimumSize(QSize(800, 600));
showFile(mFiles.at(mCurPos));
}
@@ -165,10 +162,6 @@ PicData PictureViewer2::picData(const QString &fullPath){
return retval;
}
-QSize PictureViewer2::sizeHint() const{
- return mSize;
-}
-
void PictureViewer2::next(){
if(mFiles.size() == 0 || mFiles.size() == 1){
return;
@@ -235,14 +228,8 @@ 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(), height()));
showFile(mCurPicData);
- Helper::centerWidget(this);
}
void PictureViewer2::writeSettings(){
@@ -406,6 +393,7 @@ void PictureViewer2::keyPressEvent(QKeyEvent *e){
void PictureViewer2::showEvent(QShowEvent *e){
mHideA->setChecked(true);
+ //mSize = size();
QGraphicsView::showEvent(e);
}
@@ -417,6 +405,11 @@ void PictureViewer2::hideEvent(QHideEvent *e){
QGraphicsView::hideEvent(e);
}
+void PictureViewer2::resizeEvent(QResizeEvent *event){
+ QGraphicsView::resizeEvent(event);
+ showFile(mCurPicData);
+}
+
void PictureViewer2::showFile(const PicData &file){
if(file.isEmpty()){
return;
@@ -439,6 +432,7 @@ void PictureViewer2::showFile(const PicData &file){
delete mCur;
mCur = 0;
}
+ mScene->setSceneRect(rect());
mCur = new QGraphicsPixmapItem(pixmap);
mScene->addItem(mCur);
QRectF picRect = mCur->boundingRect();
diff --git a/pictureviewer2.h b/pictureviewer2.h
index c9c7688..bfc1977 100644
--- a/pictureviewer2.h
+++ b/pictureviewer2.h
@@ -48,7 +48,6 @@ class PictureViewer2 : public QGraphicsView {
void setCurrentDir(const QString &curDir) { mCurrentDir = curDir; }
const PicDataList marked() { return mMarkedFiles; }
PicData picData(const QString &fullPath);
- virtual QSize sizeHint() const;
public slots:
void next();
@@ -73,6 +72,7 @@ class PictureViewer2 : public QGraphicsView {
virtual void keyPressEvent(QKeyEvent *e);
virtual void showEvent(QShowEvent *e);
virtual void hideEvent(QHideEvent *e);
+ virtual void resizeEvent(QResizeEvent *event);
private slots:
void showFile(const PicData &data);
@@ -90,7 +90,6 @@ class PictureViewer2 : public QGraphicsView {
PicDataList mFiles;
PicDataList mMarkedFiles;
QGraphicsScene *mScene;
- QSize mSize;
QGraphicsPixmapItem *mCur;
int mCurPos;
int mConfigInfoPos;
diff --git a/shemov.cpp b/shemov.cpp
index 15b7284..08094d6 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -627,6 +627,7 @@ void SheMov::createActions(){
// assign actions to PictureViewer2 members, so they can be toggled from within
picViewer->initActions();
+ picViewer->hide();
/* picView(er) END Actions! */
diff --git a/smglobals.h b/smglobals.h
index e28047d..a674203 100644
--- a/smglobals.h
+++ b/smglobals.h
@@ -39,7 +39,6 @@ class SmGlobals : public QObject {
ArchiveController *archiveController() { return mArchiveController; }
QSize cursorSize();
QIcon iconFor(const QString &type);
- const QSize minPVSize() const { return QSize(640, 480); }
const QHash<QString, QString> & icons() const { return mIcons; }
QHash<int, QString> filetypeMap() const { return mFiletypeMap; }
QHash<QString, QWidget*> registeredWidgets() { return mWidgets; }