From f8d9e845dc8617a799d6fe7e94d7f947787d1009 Mon Sep 17 00:00:00 2001 From: rtk0c Date: Tue, 5 Jul 2022 23:10:11 +0000 Subject: Add demo-infinite-outliner git-svn-id: file:///home/arch/svn/epistmool/trunk@12 71f44415-077c-4ad7-a976-72ddbf76608f --- demo-infinite-outliner/.clang-format | 1 + demo-infinite-outliner/.clang-tidy | 1 + demo-infinite-outliner/CMakeLists.txt | 41 +++++++++++++++++++++++++++ demo-infinite-outliner/README.md | 2 ++ demo-infinite-outliner/locale/hollet_en_US.ts | 3 ++ demo-infinite-outliner/qml/MainWindow.qml | 8 ++++++ demo-infinite-outliner/src/main.cpp | 35 +++++++++++++++++++++++ 7 files changed, 91 insertions(+) create mode 120000 demo-infinite-outliner/.clang-format create mode 120000 demo-infinite-outliner/.clang-tidy create mode 100644 demo-infinite-outliner/CMakeLists.txt create mode 100644 demo-infinite-outliner/README.md create mode 100644 demo-infinite-outliner/locale/hollet_en_US.ts create mode 100644 demo-infinite-outliner/qml/MainWindow.qml create mode 100644 demo-infinite-outliner/src/main.cpp (limited to 'demo-infinite-outliner') 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 + $<$,$>: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 @@ + + + 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 +#include +#include +#include + +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(); +} -- cgit v1.2.3-70-g09d2