Ref T264, minor screen size adjustments

This commit is contained in:
Klaus Basan
2018-05-09 23:44:00 +02:00
parent 7ad4c29d28
commit 2dc2d94b53
5 changed files with 11 additions and 8 deletions

View File

@@ -285,6 +285,7 @@ namespace BlackGui
const QSettings settings("swift-project.org", this->getApplicationName()); const QSettings settings("swift-project.org", this->getApplicationName());
const QByteArray g = settings.value("geometry").toByteArray(); const QByteArray g = settings.value("geometry").toByteArray();
const QByteArray s = settings.value("windowState").toByteArray(); const QByteArray s = settings.value("windowState").toByteArray();
if (g.isEmpty() || s.isEmpty()) { return false; }
window->restoreGeometry(g); window->restoreGeometry(g);
window->restoreState(s); window->restoreState(s);
return true; return true;
@@ -301,13 +302,14 @@ namespace BlackGui
// window size // window size
if (m_minWidthChars > 0 || m_minHeightChars > 0) if (m_minWidthChars > 0 || m_minHeightChars > 0)
{ {
const QSizeF s = CGuiUtility::fontMetricsEstimateSize(m_minWidthChars, m_minHeightChars); const QSizeF fontMetricEstSize = CGuiUtility::fontMetricsEstimateSize(m_minWidthChars, m_minHeightChars);
QWidget *mw = CGuiUtility::mainApplicationWidget(); QWidget *mw = CGuiUtility::mainApplicationWidget();
if (mw) if (mw)
{ {
// setMinimumSizeInCharacters sets m_minHeightChars/m_minWidthChars
QSize cs = mw->size(); QSize cs = mw->size();
if (m_minWidthChars > 0) { cs.setWidth(s.width()); } if (m_minWidthChars > 0) { cs.setWidth(fontMetricEstSize.width()); }
if (m_minHeightChars > 0) { cs.setHeight(s.height()); } if (m_minHeightChars > 0) { cs.setHeight(fontMetricEstSize.height()); }
mw->resize(cs); mw->resize(cs);
} }
} }

View File

@@ -103,7 +103,7 @@ namespace BlackGui
if (mw) { return QApplication::desktop()->screenGeometry(mw).size(); } if (mw) { return QApplication::desktop()->screenGeometry(mw).size(); }
// main screen // main screen
return QApplication::desktop()->screenGeometry().size(); return QApplication::desktop()->screenGeometry(QApplication::desktop()).size();
} }
bool CGuiUtility::isMainWindowFrameless() bool CGuiUtility::isMainWindowFrameless()
@@ -486,7 +486,8 @@ namespace BlackGui
const QWidget *mainWidget = CGuiUtility::mainApplicationWidget(); const QWidget *mainWidget = CGuiUtility::mainApplicationWidget();
if (mainWidget) if (mainWidget)
{ {
QSize sd = QApplication::desktop()->screenGeometry().size(); // const QSize sd = QApplication::desktop()->screenGeometry().size();
const QSize sd = QApplication::desktop()->screenGeometry(mainWidget).size();
desktop = QString("Desktop w%1 w%2").arg(sd.width()).arg(sd.height()); desktop = QString("Desktop w%1 w%2").arg(sd.width()).arg(sd.height());
ratio = QString("ratio: %1").arg(mainWidget->devicePixelRatioF()); ratio = QString("ratio: %1").arg(mainWidget->devicePixelRatioF());
} }

View File

@@ -56,7 +56,7 @@ namespace BlackGui
static qreal mainApplicationWidgetPixelRatio(); static qreal mainApplicationWidgetPixelRatio();
//! Desktop size //! Desktop size
//! might be scaled depending on mainApplicationWidgetPixelRatio //! \remark might be scaled depending on CGuiUtility::mainApplicationWidgetPixelRatio
static QSize desktopSize(); static QSize desktopSize();
//! Is main window frameless? //! Is main window frameless?
@@ -174,7 +174,7 @@ namespace BlackGui
static void superviseMainWindowMinSizes(qreal wRatio = 0.85, qreal hRatio = 0.85); static void superviseMainWindowMinSizes(qreal wRatio = 0.85, qreal hRatio = 0.85);
private: private:
//! Constructor, use static methods only //! No constructor, use static functions only
CGuiUtility() {} CGuiUtility() {}
static QWidget *s_mainApplicationWidget; static QWidget *s_mainApplicationWidget;

View File

@@ -34,6 +34,7 @@
#include <QAction> #include <QAction>
#include <QDateTime> #include <QDateTime>
#include <QIcon> #include <QIcon>
#include <QSize>
#include <QStackedWidget> #include <QStackedWidget>
#include <QStyle> #include <QStyle>
#include <QWidget> #include <QWidget>

View File

@@ -33,7 +33,6 @@
#include <QMainWindow> #include <QMainWindow>
#include <QObject> #include <QObject>
#include <QScopedPointer> #include <QScopedPointer>
#include <QSize>
#include <QString> #include <QString>
class QAction; class QAction;