diff --git a/CMakeLists.txt b/CMakeLists.txt index a5fbce6..eca91d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,35 +1,35 @@ cmake_minimum_required(VERSION 3.0) set(BUHO_VERSION 1.1.0) project(buho VERSION ${BUHO_VERSION}) find_package(ECM 1.7.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${ECM_MODULE_PATH}) -find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Qml Quick Sql Svg QuickControls2 Widgets WebView) +find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Qml Quick Sql Svg QuickControls2 WebView) find_package(KF5 REQUIRED COMPONENTS Config KIO Notifications I18n Attica SyntaxHighlighting) find_package(MauiKit REQUIRED) include(KDEInstallDirs) include(KDECompilerSettings NO_POLICY_SCOPE) include(KDECMakeSettings) include(ECMInstallIcons) include(ECMSetupVersion) include(ECMAddAppIcon) include(FeatureSummary) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) #add_definitions( -Wall -O2 -fexceptions -std=c99) ecm_setup_version(${BUHO_VERSION} VARIABLE_PREFIX BUHO VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/buho_version.h" ) if (ANDROID) find_package(Qt5 REQUIRED COMPONENTS AndroidExtras) endif() add_subdirectory(src) feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9b3edad..8ebad8d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,77 +1,77 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/utils ${CMAKE_CURRENT_BINARY_DIR}/utils ${CMAKE_CURRENT_SOURCE_DIR}/syncing ${CMAKE_CURRENT_BINARY_DIR}/syncing ${CMAKE_CURRENT_SOURCE_DIR}/providers ${CMAKE_CURRENT_BINARY_DIR}/providers ${CMAKE_CURRENT_SOURCE_DIR}/controllers ${CMAKE_CURRENT_BINARY_DIR}/controllers ${CMAKE_CURRENT_SOURCE_DIR}/models ${CMAKE_CURRENT_BINARY_DIR}/models ) set(buho_SRCS main.cpp db/db.cpp buho.cpp models/notes/notes.cpp models/links/links.cpp models/books/books.cpp models/books/booklet.cpp providers/nextnote.cpp syncing/syncer.cpp syncing/bookssyncer.cpp syncing/notessyncer.cpp controllers/notes/notescontroller.cpp controllers/books/bookscontroller.cpp controllers/links/linkscontroller.cpp ) set(buho_HDRS db/db.h buho.h utils/owl.h models/notes/notes.h models/links/links.h models/books/books.h models/books/booklet.h providers/nextnote.h providers/abstractnotesprovider.h syncing/syncer.h syncing/bookssyncer.h syncing/notessyncer.h controllers/notes/notescontroller.h controllers/books/bookscontroller.h controllers/links/linkscontroller.h ) set(buho_ASSETS qml.qrc - assets/assets.qrc + assets/imgs.qrc ) add_executable(buho ${buho_SRCS} ${buho_HDRS} ${buho_ASSETS} ) if(ANDROID) target_link_libraries(buho Qt5::AndroidExtras) kde_source_files_enable_exceptions(buho buho.cpp) endif() -target_link_libraries(buho MauiKit Qt5::Sql Qt5::Qml Qt5::Widgets Qt5::Svg Qt5::WebView) +target_link_libraries(buho MauiKit Qt5::Sql Qt5::Qml Qt5::Svg Qt5::WebView) target_link_libraries(buho KF5::ConfigCore KF5::Notifications KF5::KIOCore KF5::I18n KF5::Attica KF5::SyntaxHighlighting) install(TARGETS buho ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) install(FILES org.kde.buho.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) #TODO: port to ecm_install_icons() install(FILES assets/buho.svg DESTINATION ${KDE_INSTALL_ICONDIR}/hicolor/scalable/apps) #install(FILES org.kde.buho.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) diff --git a/src/main.cpp b/src/main.cpp index 48b5c7e..735d704 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,79 +1,83 @@ #include #include #ifdef STATIC_KIRIGAMI #include "3rdparty/kirigami/src/kirigamiplugin.h" #endif #ifdef STATIC_MAUIKIT #include "3rdparty/mauikit/src/mauikit.h" #include "mauiapp.h" #else #include #endif #ifdef Q_OS_ANDROID #include #include #else #include #endif #ifdef Q_OS_WIN #include #else #include #endif #include "buho.h" #include "models/books/booklet.h" #include "models/books/books.h" #include "models/links/links.h" #include "models/notes/notes.h" int Q_DECL_EXPORT main(int argc, char *argv[]) { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - QtWebEngine::initialize(); +#if defined Q_OS_LINUX && !defined Q_OS_ANDROID + QtWebView::initialize(); +#else + QtWebEngine::initialize(); +#endif #ifdef Q_OS_ANDROID QGuiApplication app(argc, argv); if (!MAUIAndroid::checkRunTimePermissions({"android.permission.WRITE_EXTERNAL_STORAGE"})) return -1; #else QApplication app(argc, argv); #endif app.setApplicationName(OWL::appName); app.setApplicationVersion(OWL::version); app.setApplicationDisplayName(OWL::displayName); app.setOrganizationName(OWL::orgName); app.setOrganizationDomain(OWL::orgDomain); app.setWindowIcon(QIcon(":/buho.png")); MauiApp::instance()->setCredits ({QVariantMap({{"name", "Camilo Higuita"}, {"email", "milo.h@aol.com"}, {"year", "2019-2020"}})}); MauiApp::instance()->setCredits ({QVariantMap({{"name", "Camilo Higuita"}, {"email", "milo.h@aol.com"}, {"year", "2019-2020"}})}); #ifdef STATIC_KIRIGAMI KirigamiPlugin::getInstance().registerTypes(); #endif #ifdef STATIC_MAUIKIT MauiKit::getInstance().registerTypes(); #endif Buho owl; QQmlApplicationEngine engine; qmlRegisterType(); qmlRegisterType("Notes", 1, 0, "Notes"); qmlRegisterType("Books", 1, 0, "Books"); qmlRegisterType("Links", 1, 0, "Links"); engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); if (engine.rootObjects().isEmpty()) return -1; return app.exec(); }