aboutsummaryrefslogtreecommitdiff
path: root/demo-infinite-outliner
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2022-07-05 23:10:11 +0000
committerrtk0c <[email protected]>2022-07-05 23:10:11 +0000
commitf8d9e845dc8617a799d6fe7e94d7f947787d1009 (patch)
tree34a44fdc014c3ae9b2ca2d68e1482938caae4567 /demo-infinite-outliner
parent7f4172d1696ebec6078188ec8dbd9e23ed075aa3 (diff)
Add demo-infinite-outliner
git-svn-id: file:///home/arch/svn/epistmool/trunk@12 71f44415-077c-4ad7-a976-72ddbf76608f
Diffstat (limited to 'demo-infinite-outliner')
l---------demo-infinite-outliner/.clang-format1
l---------demo-infinite-outliner/.clang-tidy1
-rw-r--r--demo-infinite-outliner/CMakeLists.txt41
-rw-r--r--demo-infinite-outliner/README.md2
-rw-r--r--demo-infinite-outliner/locale/hollet_en_US.ts3
-rw-r--r--demo-infinite-outliner/qml/MainWindow.qml8
-rw-r--r--demo-infinite-outliner/src/main.cpp35
7 files changed, 91 insertions, 0 deletions
diff --git a/demo-infinite-outliner/.clang-format b/demo-infinite-outliner/.clang-format
new file mode 120000
index 0000000..9afe8e5
--- /dev/null
+++ b/demo-infinite-outliner/.clang-format
@@ -0,0 +1 @@
+../common/c++/.clang-format \ No newline at end of file
diff --git a/demo-infinite-outliner/.clang-tidy b/demo-infinite-outliner/.clang-tidy
new file mode 120000
index 0000000..d2ba648
--- /dev/null
+++ b/demo-infinite-outliner/.clang-tidy
@@ -0,0 +1 @@
+../common/c++/.clang-tidy \ No newline at end of file
diff --git a/demo-infinite-outliner/CMakeLists.txt b/demo-infinite-outliner/CMakeLists.txt
new file mode 100644
index 0000000..c398cec
--- /dev/null
+++ b/demo-infinite-outliner/CMakeLists.txt
@@ -0,0 +1,41 @@
+cmake_minimum_required(VERSION 3.16)
+project(Hollet VERSION 0.1 LANGUAGES CXX)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_CXX_STANDARD 20)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+find_package(Qt6 6.2 COMPONENTS Quick Sql REQUIRED)
+
+file(GLOB_RECURSE appHollet_SRC_HPP_FILES src/*.hpp)
+file(GLOB_RECURSE appHollet_SRC_CPP_FILES src/*.cpp)
+qt_add_executable(appHollet
+ ${appHollet_SRC_HPP_FILES}
+ ${appHollet_SRC_CPP_FILES}
+)
+
+file(GLOB_RECURSE appHollet_QML_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} qml/*.qml)
+qt_add_qml_module(appHollet
+ URI QCplt
+ VERSION 1.0
+ QML_FILES ${appHollet_QML_FILES}
+)
+
+set_target_properties(appHollet PROPERTIES
+ MACOSX_BUNDLE_GUI_IDENTIFIER rtk0cium0001.github.io
+ MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
+ MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
+ MACOSX_BUNDLE TRUE
+ WIN32_EXECUTABLE TRUE
+)
+
+target_include_directories(appHollet PUBLIC src)
+target_compile_definitions(appHollet
+PRIVATE
+ $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>
+)
+target_link_libraries(appHollet
+PRIVATE
+ Qt6::Quick
+ Qt6::Sql
+)
diff --git a/demo-infinite-outliner/README.md b/demo-infinite-outliner/README.md
new file mode 100644
index 0000000..cfca136
--- /dev/null
+++ b/demo-infinite-outliner/README.md
@@ -0,0 +1,2 @@
+# Infinite Outliner Demo - "Hollet"
+This folder contains the demo application of an infinite outliner app, codenamed "hollet" (which stands for **h**n**O**smium0001's Bu**llet** System)
diff --git a/demo-infinite-outliner/locale/hollet_en_US.ts b/demo-infinite-outliner/locale/hollet_en_US.ts
new file mode 100644
index 0000000..edd0d34
--- /dev/null
+++ b/demo-infinite-outliner/locale/hollet_en_US.ts
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en_US"></TS>
diff --git a/demo-infinite-outliner/qml/MainWindow.qml b/demo-infinite-outliner/qml/MainWindow.qml
new file mode 100644
index 0000000..41424f8
--- /dev/null
+++ b/demo-infinite-outliner/qml/MainWindow.qml
@@ -0,0 +1,8 @@
+import QtQuick
+
+Window {
+ width: 640
+ height: 480
+ visible: true
+ title: qsTr("Hello World")
+}
diff --git a/demo-infinite-outliner/src/main.cpp b/demo-infinite-outliner/src/main.cpp
new file mode 100644
index 0000000..249faeb
--- /dev/null
+++ b/demo-infinite-outliner/src/main.cpp
@@ -0,0 +1,35 @@
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+#include <QLocale>
+#include <QTranslator>
+
+int main(int argc, char* argv[])
+{
+ QGuiApplication app(argc, argv);
+
+ QTranslator translator;
+ QStringList uiLanguages = QLocale::system().uiLanguages();
+ for (const QString& locale : uiLanguages) {
+ const QString baseName = "hollet_" + QLocale(locale).name();
+ if (translator.load(":/i18n/" + baseName)) {
+ app.installTranslator(&translator);
+ break;
+ }
+ }
+
+ QQmlApplicationEngine engine;
+ QUrl url(u"qrc:/Hollet/qml/MainWindow.qml"_qs);
+ QObject::connect(
+ &engine,
+ &QQmlApplicationEngine::objectCreated,
+ &app,
+ [url](QObject* obj, const QUrl& objUrl) {
+ if (!obj && url == objUrl) {
+ QCoreApplication::exit(-1);
+ }
+ },
+ Qt::QueuedConnection);
+ engine.load(url);
+
+ return app.exec();
+}