diff --git a/src/Gui/KSMainWindow.h b/src/Gui/KSMainWindow.h --- a/src/Gui/KSMainWindow.h +++ b/src/Gui/KSMainWindow.h @@ -53,6 +53,7 @@ void save(); void saveAs(); void saveAndExit(); + int calcScreenWidth(); public slots: diff --git a/src/Gui/KSMainWindow.cpp b/src/Gui/KSMainWindow.cpp --- a/src/Gui/KSMainWindow.cpp +++ b/src/Gui/KSMainWindow.cpp @@ -176,12 +176,40 @@ if (!mOnClickAvailable) { mKSWidget->disableOnClick(); } - resize(QSize(840, 420).expandedTo(minimumSize())); + resize(QSize(calcScreenWidth(), 420).expandedTo(minimumSize())); // done with the init } +int KSMainWindow::calcScreenWidth() +{ + QSize screenSize = QGuiApplication::primaryScreen()->size(); + if (screenSize.isNull()) { + return 840; + } + + double aspectratio = (double)screenSize.width() / screenSize.height(); + + if (aspectratio == 16.0 / 9.0) { + return 960; + } + + if (aspectratio == 16.0 / 10.0) { + return 901; + } + + if (aspectratio == 4.0 / 3.0) { + return 811; + } + + if (aspectratio == 5.0 / 4.0) { + return 781; + } + + return 840; +} + void KSMainWindow::buildSaveMenu() { // first clear the menu diff --git a/src/Gui/KSWidget.cpp b/src/Gui/KSWidget.cpp --- a/src/Gui/KSWidget.cpp +++ b/src/Gui/KSWidget.cpp @@ -142,13 +142,13 @@ mRightLayout->addLayout(mContentOptionsForm); mRightLayout->addStretch(10); mRightLayout->addWidget(mTakeScreenshotButton, 1, Qt::AlignHCenter); - mRightLayout->setContentsMargins(20, 0, 0, 10); + mRightLayout->setContentsMargins(10, 0, 0, 10); mMainLayout = new QGridLayout(this); mMainLayout->addWidget(mImageWidget, 0, 0, 1, 1); mMainLayout->addLayout(mRightLayout, 0, 1, 1, 1); - mMainLayout->setColumnMinimumWidth(0, 400); - mMainLayout->setColumnMinimumWidth(1, 400); + mMainLayout->setColumnMinimumWidth(0, 320); + mMainLayout->setColumnMinimumWidth(1, 320); // and read in the saved checkbox states and capture mode indices