From 49ecc712a0b9c04e2481b174ac71153ca1da950f Mon Sep 17 00:00:00 2001 From: Rafael Date: Fri, 2 Dec 2016 13:55:27 +0100 Subject: [PATCH] Resize bug fixed --- PictureDialog.cpp | 16 ++++++++++++++++ PictureDialog.h | 1 + PictureDialog.ui | 5 +++-- ProfileInterface.cpp | 2 ++ SnapmaticWidget.cpp | 1 + uimod/UiModLabel.cpp | 6 ++++++ uimod/UiModLabel.h | 3 +++ 7 files changed, 32 insertions(+), 2 deletions(-) diff --git a/PictureDialog.cpp b/PictureDialog.cpp index 2982430..c7442af 100755 --- a/PictureDialog.cpp +++ b/PictureDialog.cpp @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -85,6 +86,9 @@ PictureDialog::PictureDialog(ProfileDatabase *profileDB, CrewDatabase *crewDB, Q // Global map globalMap = GlobalString::getGlobalMap(); + // Event connects + connect(ui->labJSON, SIGNAL(resized(QSize)), this, SLOT(adaptNewDialogSize(QSize))); + installEventFilter(this); installEventFilter(ui->labPicture); ui->labPicture->setFocusPolicy(Qt::StrongFocus); @@ -114,6 +118,18 @@ void PictureDialog::addPreviousNextButtons() #endif } +void PictureDialog::adaptNewDialogSize(QSize newLabelSize) +{ + Q_UNUSED(newLabelSize) + int newDialogHeight = ui->labPicture->pixmap()->height(); + newDialogHeight = newDialogHeight + ui->jsonFrame->height(); + setMinimumSize(width(), newDialogHeight); + setMaximumSize(width(), newDialogHeight); + resize(width(), newDialogHeight); + ui->labPicture->updateGeometry(); + ui->jsonFrame->updateGeometry(); +} + void PictureDialog::stylizeDialog() { #ifdef GTA5SYNC_WIN diff --git a/PictureDialog.h b/PictureDialog.h index d1a38e4..a42883c 100755 --- a/PictureDialog.h +++ b/PictureDialog.h @@ -53,6 +53,7 @@ public slots: void playerNameUpdated(); void dialogNextPictureRequested(); void dialogPreviousPictureRequested(); + void adaptNewDialogSize(QSize newLabelSize); void exportCustomContextMenuRequested(const QPoint &pos); private slots: diff --git a/PictureDialog.ui b/PictureDialog.ui index 8aa2b3e..50c65bd 100755 --- a/PictureDialog.ui +++ b/PictureDialog.ui @@ -93,7 +93,7 @@ 4 - + 0 @@ -189,7 +189,8 @@ &Close - + + .. false diff --git a/ProfileInterface.cpp b/ProfileInterface.cpp index cbc7cff..7e9ed4f 100755 --- a/ProfileInterface.cpp +++ b/ProfileInterface.cpp @@ -228,6 +228,7 @@ void ProfileInterface::dialogNextPictureRequested(QWidget *dialog) QString newWidgetKey = pictureKeyList.at(picIndex); SnapmaticWidget *picWidget = (SnapmaticWidget*)widgets.key(newWidgetKey); picDialog->setSnapmaticPicture(picWidget->getPicture(), picIndex); + //picDialog->adaptNewDialogSize(); } } } @@ -261,6 +262,7 @@ void ProfileInterface::dialogPreviousPictureRequested(QWidget *dialog) QString newWidgetKey = pictureKeyList.at(picIndex ); SnapmaticWidget *picWidget = (SnapmaticWidget*)widgets.key(newWidgetKey); picDialog->setSnapmaticPicture(picWidget->getPicture(), picIndex); + //picDialog->adaptNewDialogSize(); } } } diff --git a/SnapmaticWidget.cpp b/SnapmaticWidget.cpp index 9a8ec61..42b178e 100755 --- a/SnapmaticWidget.cpp +++ b/SnapmaticWidget.cpp @@ -122,6 +122,7 @@ void SnapmaticWidget::on_cmdView_clicked() // show picture dialog picDialog->show(); if (navigationBar) picDialog->stylizeDialog(); + //picDialog->adaptNewDialogSize(); picDialog->setMinimumSize(picDialog->size()); picDialog->setMaximumSize(picDialog->size()); picDialog->exec(); diff --git a/uimod/UiModLabel.cpp b/uimod/UiModLabel.cpp index 15c9975..f069fa5 100755 --- a/uimod/UiModLabel.cpp +++ b/uimod/UiModLabel.cpp @@ -60,3 +60,9 @@ void UiModLabel::mouseDoubleClickEvent(QMouseEvent *ev) QLabel::mouseDoubleClickEvent(ev); emit mouseDoubleClicked(ev->button()); } + +void UiModLabel::resizeEvent(QResizeEvent *ev) +{ + QLabel::resizeEvent(ev); + emit resized(ev->size()); +} diff --git a/uimod/UiModLabel.h b/uimod/UiModLabel.h index dcbba4d..8d63f9d 100755 --- a/uimod/UiModLabel.h +++ b/uimod/UiModLabel.h @@ -22,6 +22,7 @@ #include #include #include +#include class UiModLabel : public QLabel { @@ -37,12 +38,14 @@ protected: void mousePressEvent(QMouseEvent *ev); void mouseReleaseEvent(QMouseEvent *ev); void mouseDoubleClickEvent(QMouseEvent *ev); + void resizeEvent(QResizeEvent *ev); signals: void mouseMoved(); void mousePressed(Qt::MouseButton button); void mouseReleased(Qt::MouseButton button); void mouseDoubleClicked(Qt::MouseButton button); + void resized(QSize newSize); }; #endif // UIMODLABEL_H