cf12defd28
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
62 lines
1.6 KiB
C++
62 lines
1.6 KiB
C++
/*
|
|
* SPDX-FileCopyrightText: 2017 Marco Martin <mart@kde.org>
|
|
*
|
|
* SPDX-License-Identifier: LGPL-2.0-or-later
|
|
*/
|
|
|
|
#ifdef Q_OS_ANDROID
|
|
#include <QGuiApplication>
|
|
#else
|
|
#include <QApplication>
|
|
#endif
|
|
|
|
#include <QColor>
|
|
#include <QQmlApplicationEngine>
|
|
#include <QUrl>
|
|
|
|
#ifdef Q_OS_ANDROID
|
|
#include <QtAndroid>
|
|
|
|
// WindowManager.LayoutParams
|
|
#define FLAG_TRANSLUCENT_STATUS 0x04000000
|
|
#define FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS 0x80000000
|
|
// View
|
|
#define SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 0x00002000
|
|
|
|
#endif
|
|
|
|
Q_IMPORT_PLUGIN(KirigamiPlugin)
|
|
|
|
Q_DECL_EXPORT int main(int argc, char *argv[])
|
|
{
|
|
// The desktop QQC2 style needs it to be a QApplication
|
|
#ifdef Q_OS_ANDROID
|
|
QGuiApplication app(argc, argv);
|
|
#else
|
|
QApplication app(argc, argv);
|
|
#endif
|
|
|
|
// qputenv("QML_IMPORT_TRACE", "1");
|
|
|
|
QQmlApplicationEngine engine;
|
|
|
|
engine.load(QUrl(QStringLiteral("qrc:///main.qml")));
|
|
|
|
if (engine.rootObjects().isEmpty()) {
|
|
return -1;
|
|
}
|
|
|
|
// HACK to color the system bar on Android, use qtandroidextras and call the appropriate Java methods
|
|
#ifdef Q_OS_ANDROID
|
|
QtAndroid::runOnAndroidThread([=]() {
|
|
QAndroidJniObject window = QtAndroid::androidActivity().callObjectMethod("getWindow", "()Landroid/view/Window;");
|
|
window.callMethod<void>("addFlags", "(I)V", FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
|
window.callMethod<void>("clearFlags", "(I)V", FLAG_TRANSLUCENT_STATUS);
|
|
window.callMethod<void>("setStatusBarColor", "(I)V", QColor("#2196f3").rgba());
|
|
window.callMethod<void>("setNavigationBarColor", "(I)V", QColor("#2196f3").rgba());
|
|
});
|
|
#endif
|
|
|
|
return app.exec();
|
|
}
|