Add kirigami template code. disable dbus due to some compilation issues.

This commit is contained in:
2019-11-04 14:23:31 -05:00
parent 41c605ae2a
commit 20e16778f4
5 changed files with 102 additions and 13 deletions

View File

@@ -1,3 +1,4 @@
set(BUILD_SHARED_LIBS 0) set(BUILD_SHARED_LIBS 0)
set(DISABLE_DBUS ON)
add_subdirectory(kirigami) add_subdirectory(kirigami)

View File

@@ -1,9 +1,57 @@
#include <QGuiApplication>
#include <QQmlApplicationEngine> #include <QQmlApplicationEngine>
int main(int argc, char *argv[]) #ifdef Q_OS_ANDROID
#include <QGuiApplication>
#else
#include <QApplication>
#endif
#include <QtQml>
#include <QUrl>
#include <QColor>
#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[])
{ {
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
//The desktop QQC2 style needs it to be a QApplication
#ifdef Q_OS_ANDROID
QGuiApplication app(argc, argv); QGuiApplication app(argc, argv);
QQmlApplicationEngine engine(QUrl(QStringLiteral("qrc:/qml/main.qml"))); #else
QApplication app(argc, argv);
#endif
//qputenv("QML_IMPORT_TRACE", "1");
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/qml/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(); return app.exec();
} }

View File

@@ -1,14 +1,38 @@
import QtQuick 2.0 import QtQuick 2.7
import QtQuick.Window 2.0 import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
Window import org.kde.kirigami 2.4 as Kirigami
{
Kirigami.ApplicationWindow {
visible: true visible: true
width: 300 title: qsTr("Hello World")
height: 240
Rectangle { //pageStack.initialPage: Page1 {}
anchors.fill: parent
color: "steelblue" globalDrawer: Kirigami.GlobalDrawer {
title: "Hello App"
titleIcon: "applications-graphics"
actions: [
Kirigami.Action {
text: "View"
iconName: "view-list-icons"
Kirigami.Action {
text: "action 1"
}
Kirigami.Action {
text: "action 2"
}
Kirigami.Action {
text: "action 3"
}
},
Kirigami.Action {
text: "action 3"
},
Kirigami.Action {
text: "action 4"
}
]
} }
} }

15
src/qtquickcontrols2.conf Normal file
View File

@@ -0,0 +1,15 @@
; This file can be edited to change the style of the application
; See Styling Qt Quick Controls 2 in the documentation for details:
; http://doc.qt.io/qt-5/qtquickcontrols2-styles.html
[Controls]
Style=Material
[Universal]
Theme=Light
;Accent=Steel
[Material]
Theme=Light
Accent=BlueGrey
Primary=BlueGray

View File

@@ -1,5 +1,6 @@
<!DOCTYPE RCC><RCC version="1.0"> <!DOCTYPE RCC><RCC version="1.0">
<qresource> <qresource>
<file>qml/main.qml</file> <file>qml/main.qml</file>
<file>qtquickcontrols2.conf</file>
</qresource> </qresource>
</RCC> </RCC>