Ref T220, use improved version of screen geometry detection

* use cmd.line argument to skip restoring if needed
* close splash screen as last
* log metrics info
This commit is contained in:
Klaus Basan
2018-01-11 03:32:23 +01:00
parent 350a75d672
commit 7dd77b8ca3
2 changed files with 8 additions and 16 deletions

View File

@@ -253,8 +253,7 @@ namespace BlackGui
bool CGuiApplication::isUsingHighDpiScreenSupport() bool CGuiApplication::isUsingHighDpiScreenSupport()
{ {
const QByteArray v = qgetenv("QT_AUTO_SCREEN_SCALE_FACTOR"); return CGuiUtility::isUsingHighDpiScreenSupport();
return !v.isEmpty();
} }
bool CGuiApplication::saveWindowGeometryAndState(const QMainWindow *window) const bool CGuiApplication::saveWindowGeometryAndState(const QMainWindow *window) const
@@ -280,21 +279,15 @@ namespace BlackGui
void CGuiApplication::onStartUpCompleted() void CGuiApplication::onStartUpCompleted()
{ {
CApplication::onStartUpCompleted(); CApplication::onStartUpCompleted();
this->setCurrentFont(); this->setCurrentFontValues();
if (m_splashScreen)
{ const QString metricInfo = CGuiUtility::metricsInfo();
m_splashScreen->close(); CLogMessage(this).info(metricInfo);
m_splashScreen.reset();
}
// window size // window size
if (m_saveMainWidgetState) if (m_minWidthChars > 0 || m_minHeightChars > 0)
{ {
this->restoreWindowGeometryAndState(); const QSizeF s = CGuiUtility::fontMetricsEstimateSize(m_minWidthChars, m_minHeightChars);
}
else if (m_minWidthChars > 0 || m_minHeightChars > 0)
{
const QSize s = CGuiUtility::fontMetricsEstimateSize(m_minWidthChars, m_minHeightChars);
QWidget *mw = CGuiUtility::mainApplicationWidget(); QWidget *mw = CGuiUtility::mainApplicationWidget();
if (mw) if (mw)
{ {

View File

@@ -29,8 +29,7 @@ int main(int argc, char *argv[])
CSwiftGuiStdApplication a; // application with contexts CSwiftGuiStdApplication a; // application with contexts
a.setSignalStartupAutomatically(false); // application will signal startup on its own a.setSignalStartupAutomatically(false); // application will signal startup on its own
a.splashScreen(CIcons::swift256()); a.splashScreen(CIcons::swift256());
a.setSaveMainWidgetState(true); a.setMinimumSizeInCharacters(60, 42); // experimental
// a.setMinimumSizeInCharacters(80, 60); // experimental
if (!a.parseAndSynchronizeSetup()) { return EXIT_FAILURE; } if (!a.parseAndSynchronizeSetup()) { return EXIT_FAILURE; }
if (!a.hasSetupReader() || !a.start()) if (!a.hasSetupReader() || !a.start())
{ {