Mobile: add more debugging output for screen width issue

Somehow we need to be able to figure out which width information is
correct.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2019-09-28 12:04:52 -07:00
parent fdfa540747
commit cd98cb8921
3 changed files with 10 additions and 1 deletions

View file

@ -702,6 +702,7 @@ if you have network connectivity and want to sync your data to cloud storage."),
rootItem.visible = true rootItem.visible = true
diveList.opacity = 1 diveList.opacity = 1
rootItem.opacity = 1 rootItem.opacity = 1
console.log("setting the defaultColumnWidth to " + Kirigami.Units.gridUnit * 21)
pageStack.defaultColumnWidth = Kirigami.Units.gridUnit * 21 pageStack.defaultColumnWidth = Kirigami.Units.gridUnit * 21
manager.appInitialized() manager.appInitialized()
} }

View file

@ -1717,6 +1717,7 @@ void QMLManager::setDevicePixelRatio(qreal dpr, QScreen *screen)
void QMLManager::screenChanged(QScreen *screen) void QMLManager::screenChanged(QScreen *screen)
{ {
qDebug("QMLManager received screen changed notification (%d,%d)", screen->size().width(), screen->size().height());
m_lastDevicePixelRatio = screen->devicePixelRatio(); m_lastDevicePixelRatio = screen->devicePixelRatio();
emit sendScreenChanged(screen); emit sendScreenChanged(screen);
} }

View file

@ -10,6 +10,7 @@
#include "core/ssrf.h" #include "core/ssrf.h"
#ifdef SUBSURFACE_MOBILE #ifdef SUBSURFACE_MOBILE
#include <QApplication>
#include <QQmlApplicationEngine> #include <QQmlApplicationEngine>
#include <QQmlContext> #include <QQmlContext>
#include "mobile-widgets/qmlmanager.h" #include "mobile-widgets/qmlmanager.h"
@ -75,6 +76,8 @@ void run_ui()
qDebug() << "Qt reports default font is set as" << defaultFont.family(); qDebug() << "Qt reports default font is set as" << defaultFont.family();
} }
#endif #endif
QScreen *appScreen = QApplication::screens().at(0);
int availableScreenWidth = appScreen->availableSize().width();
QQmlApplicationEngine engine; QQmlApplicationEngine engine;
register_qml_types(&engine); register_qml_types(&engine);
LOG_STP("run_ui qml engine started"); LOG_STP("run_ui qml engine started");
@ -102,7 +105,7 @@ void run_ui()
sortModel->sort(0, Qt::DescendingOrder); sortModel->sort(0, Qt::DescendingOrder);
LOG_STP("run_ui diveListModel sorted"); LOG_STP("run_ui diveListModel sorted");
GpsListModel gpsListModel; GpsListModel gpsListModel;
QSortFilterProxyModel *gpsSortModel = new QSortFilterProxyModel(0); QSortFilterProxyModel *gpsSortModel = new QSortFilterProxyModel(nullptr);
gpsSortModel->setSourceModel(&gpsListModel); gpsSortModel->setSourceModel(&gpsListModel);
gpsSortModel->setDynamicSortFilter(true); gpsSortModel->setDynamicSortFilter(true);
gpsSortModel->setSortRole(GpsListModel::GpsWhenRole); gpsSortModel->setSortRole(GpsListModel::GpsWhenRole);
@ -118,6 +121,7 @@ void run_ui()
ctxt->setContextProperty("logModel", MessageHandlerModel::self()); ctxt->setContextProperty("logModel", MessageHandlerModel::self());
engine.load(QUrl(QStringLiteral("qrc:///qml/main.qml"))); engine.load(QUrl(QStringLiteral("qrc:///qml/main.qml")));
qDebug() << "loaded main.qml";
LOG_STP("run_ui qml loaded"); LOG_STP("run_ui qml loaded");
qqWindowObject = engine.rootObjects().value(0); qqWindowObject = engine.rootObjects().value(0);
if (!qqWindowObject) { if (!qqWindowObject) {
@ -128,6 +132,9 @@ void run_ui()
qml_window->setIcon(QIcon(":subsurface-mobile-icon")); qml_window->setIcon(QIcon(":subsurface-mobile-icon"));
qDebug() << "qqwindow devicePixelRatio" << qml_window->devicePixelRatio() << qml_window->screen()->devicePixelRatio(); qDebug() << "qqwindow devicePixelRatio" << qml_window->devicePixelRatio() << qml_window->screen()->devicePixelRatio();
QScreen *screen = qml_window->screen(); QScreen *screen = qml_window->screen();
int qmlWW = qml_window->width();
int qmlSW = screen->size().width();
qDebug() << "qml_window reports width as" << qmlWW << "associated screen width" << qmlSW << "Qt screen reports width as" << availableScreenWidth;
QObject::connect(qml_window, &QQuickWindow::screenChanged, QMLManager::instance(), &QMLManager::screenChanged); QObject::connect(qml_window, &QQuickWindow::screenChanged, QMLManager::instance(), &QMLManager::screenChanged);
QMLManager *manager = QMLManager::instance(); QMLManager *manager = QMLManager::instance();
LOG_STP("run_ui qmlmanager instance started"); LOG_STP("run_ui qmlmanager instance started");