From a3fd2c4f5373faee087586dd9f421b4190838893 Mon Sep 17 00:00:00 2001 From: Gary Wang Date: Mon, 7 Oct 2019 18:03:24 +0800 Subject: [PATCH] fix window size will not get adjusted in some case --- mainwindow.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index 3d5a821..ddcb831 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -116,11 +116,12 @@ void MainWindow::showUrls(const QList &urls) void MainWindow::adjustWindowSizeBySceneRect() { - if (m_graphicsView->scaleFactor() < 1) { + QSize sceneSize = m_graphicsView->sceneRect().toRect().size(); + QSize sceneSizeWithMargins = sceneSize + QSize(130, 125); + + if (m_graphicsView->scaleFactor() < 1 || size().expandedTo(sceneSizeWithMargins) != size()) { // if it scaled down by the resize policy: QSize screenSize = qApp->screenAt(QCursor::pos())->availableSize(); - QSize sceneSize = m_graphicsView->sceneRect().toRect().size(); - QSize sceneSizeWithMargins = sceneSize + QSize(130, 125); if (screenSize.expandedTo(sceneSize) == screenSize) { // we can show the picture by increase the window size. if (screenSize.expandedTo(sceneSizeWithMargins) == screenSize) {