diff --git a/main.qml b/main.qml index 6701d7e2..eea51d25 100644 --- a/main.qml +++ b/main.qml @@ -73,7 +73,7 @@ ApplicationWindow { property int restoreHeight:0 property bool daemonSynced: false property bool walletSynced: false - property int maxWindowHeight: (isAndroid || isIOS)? screenHeight : (screenHeight < 900)? 720 : 800; + property int maxWindowHeight: (isAndroid || isIOS)? screenAvailableHeight : (screenAvailableHeight < 900)? 720 : 800; property bool daemonRunning: !persistentSettings.useRemoteNode && !disconnected property int daemonStartStopInProgress: 0 property alias toolTip: toolTip @@ -1118,15 +1118,14 @@ ApplicationWindow { }); } - objectName: "appWindow" visible: true - width: Screen.desktopAvailableWidth > 980 + width: screenAvailableWidth > 980 ? 980 - : Math.min(Screen.desktopAvailableWidth, 800) - height: Screen.desktopAvailableHeight > maxWindowHeight + : Math.min(screenAvailableWidth, 800) + height: screenAvailableHeight > maxWindowHeight ? maxWindowHeight - : Math.min(Screen.desktopAvailableHeight, 700) + : Math.min(screenAvailableHeight, 700) color: MoneroComponents.Style.appWindowBackgroundColor flags: persistentSettings.customDecorations ? Windows.flagsCustomDecorations : Windows.flags @@ -1285,8 +1284,12 @@ ApplicationWindow { } Component.onCompleted: { - x = (Screen.desktopAvailableWidth - width) / 2; - y = (Screen.desktopAvailableHeight - height) / 2; + if (screenAvailableWidth > width) { + x = (screenAvailableWidth - width) / 2; + } + if (screenAvailableHeight > height) { + y = (screenAvailableHeight - height) / 2; + } translationManager.setLanguage(persistentSettings.locale.split("_")[0]); diff --git a/src/main/main.cpp b/src/main/main.cpp index 10cf5a73..e3aca5e9 100644 --- a/src/main/main.cpp +++ b/src/main/main.cpp @@ -331,7 +331,7 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw // screen settings // Mobile is designed on 128dpi qreal ref_dpi = 128; - QRect geo = QGuiApplication::primaryScreen()->availableGeometry(); + QSize screenAvailableSize = QGuiApplication::primaryScreen()->availableVirtualSize(); QRect rect = QGuiApplication::primaryScreen()->geometry(); qreal dpi = QGuiApplication::primaryScreen()->logicalDotsPerInch(); qreal physicalDpi = QGuiApplication::primaryScreen()->physicalDotsPerInch(); @@ -354,6 +354,7 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw qWarning().nospace().noquote() << "Qt:" << QT_VERSION_STR << " GUI:" << GUI_VERSION << " | screen: " << rect.width() << "x" << rect.height() + << " - available: " << screenAvailableSize << " - dpi: " << dpi << " - ratio:" << calculated_ratio; // registering types for QML @@ -464,8 +465,8 @@ Verify update binary using 'shasum'-compatible (SHA256 algo) output signed by tw engine.rootContext()->setContextProperty("isOpenGL", isOpenGL); engine.rootContext()->setContextProperty("isTails", isTails); - engine.rootContext()->setContextProperty("screenWidth", geo.width()); - engine.rootContext()->setContextProperty("screenHeight", geo.height()); + engine.rootContext()->setContextProperty("screenAvailableWidth", screenAvailableSize.width()); + engine.rootContext()->setContextProperty("screenAvailableHeight", screenAvailableSize.height()); #ifndef Q_OS_IOS const QString desktopFolder = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation);