cleanup: create separate UI entry points for desktop and mobile

This doesn't really change anything, but makes the code easier to read.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2021-01-14 17:04:37 -08:00
parent 3469fa70eb
commit 1472117541
3 changed files with 14 additions and 7 deletions

View file

@ -5,12 +5,14 @@
void init_qt_late();
void init_ui();
void run_ui();
void exit_ui();
void set_non_bt_addresses();
#if defined(SUBSURFACE_MOBILE)
#include <QQuickWindow>
void run_mobile_ui();
#else
void run_ui();
#endif
#endif // QT_GUI_H

View file

@ -68,9 +68,9 @@ void exit_ui()
free((void *)existing_filename);
}
void run_ui()
{
#ifdef SUBSURFACE_MOBILE
void run_mobile_ui()
{
#if defined(Q_OS_ANDROID)
// work around an odd interaction between the OnePlus flavor of Android and Qt font handling
if (getAndroidHWInfo().contains("/OnePlus/")) {
@ -187,11 +187,16 @@ void run_ui()
qml_window->setWidth(width);
#endif // not Q_OS_ANDROID and not Q_OS_IOS
qml_window->show();
#else
MainWindow::instance()->show();
#endif // SUBSURFACE_MOBILE
qApp->exec();
}
#else // SUBSURFACE_MOBILE
// just run the desktop UI
void run_ui()
{
MainWindow::instance()->show();
qApp->exec();
}
#endif // SUBSURFACE_MOBILE
Q_DECLARE_METATYPE(duration_t)
static void register_meta_types()

View file

@ -76,7 +76,7 @@ int main(int argc, char **argv)
init_proxy();
if (!quit)
run_ui();
run_mobile_ui();
exit_ui();
taglist_free(g_tag_list);
parse_xml_exit();