diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt index a0f0766..1aaa917 100644 --- a/src/app/CMakeLists.txt +++ b/src/app/CMakeLists.txt @@ -1,180 +1,181 @@ if (TARGET KF5::Notifications) SET(HAVE_NOTIFICATIONS TRUE) endif() configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-itinerary.h.in ${CMAKE_CURRENT_BINARY_DIR}/config-itinerary.h) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/itinerary_version_detailed.h.in ${CMAKE_CURRENT_BINARY_DIR}/itinerary_version_detailed.h) set(itinerary_srcs applicationcontroller.cpp countryinformation.cpp documentmanager.cpp favoritelocationmodel.cpp json.cpp livedatamanager.cpp navigationcontroller.cpp pkpassmanager.cpp pkpassimageprovider.cpp publictransport.cpp reservationmanager.cpp statisticsmodel.cpp statisticstimerangemodel.cpp timelinedelegatecontroller.cpp timelineelement.cpp timelinemodel.cpp tripgroup.cpp tripgroupinfoprovider.cpp tripgroupmanager.cpp tripgroupproxymodel.cpp transfer.cpp transfermanager.cpp util.cpp ) ecm_qt_declare_logging_category(itinerary_srcs HEADER logging.h IDENTIFIER Log CATEGORY_NAME org.kde.itinerary ) add_library(itinerary STATIC ${itinerary_srcs}) target_link_libraries(itinerary PUBLIC itinerary-weather KPublicTransport KPim::Itinerary KPim::PkPass KF5::I18n KF5::CoreAddons Qt5::Network Qt5::Quick ) if (TARGET KF5::Notifications) target_link_libraries(itinerary PUBLIC KF5::Notifications) endif() if (Qt5QuickCompiler_FOUND) qtquick_compiler_add_resources(qml_srcs qml.qrc) else () set(qml_srcs qml.qrc) endif() set(itinerary_app_srcs main.cpp countrymodel.cpp documentsmodel.cpp localizer.cpp settings.cpp tickettokenmodel.cpp weatherforecastmodel.cpp ${qml_srcs} brightnessmanager.cpp lockmanager.cpp ) if (ANDROID) list(APPEND itinerary_app_srcs androidbrightnessbackend.cpp androidlockbackend.cpp ) else() list(APPEND itinerary_app_srcs solidbrightnessbackend.cpp solidlockbackend.cpp ) qt5_add_dbus_interface(itinerary_app_srcs org.kde.Solid.PowerManagement.Actions.BrightnessControl.xml brightnesscontroldbusinterface) qt5_add_dbus_interface(itinerary_app_srcs org.freedesktop.ScreenSaver.xml screensaverdbusinterface) endif() add_executable(itinerary-app ${itinerary_app_srcs}) target_include_directories(itinerary-app PRIVATE ${CMAKE_BINARY_DIR}) target_link_libraries(itinerary-app PRIVATE itinerary KF5::Contacts Qt5::QuickControls2 ) if (ANDROID) target_include_directories(itinerary-app PRIVATE ${Qt5Core_PRIVATE_INCLUDE_DIRS}) # explicitly add runtime dependencies and transitive link dependencies, # so androiddeployqt picks them up target_link_libraries(itinerary PUBLIC Qt5::AndroidExtras KAndroidExtras) target_link_libraries(itinerary-app PRIVATE KF5::Archive KF5::Kirigami2 Qt5::Svg KF5::Prison OpenSSL::SSL ) kirigami_package_breeze_icons(ICONS application-pdf channel-insecure-symbolic channel-secure-symbolic checkmark clock crosshairs dialog-cancel dialog-close document-edit document-open document-save documentinfo edit-delete edit-download edit-paste edit-rename export-symbolic folder-documents-symbolic go-down-symbolic go-home-symbolic go-next-symbolic go-up-symbolic help-about-symbolic + help-contents list-add map-symbolic meeting-attending question settings-configure view-calendar-day view-list-symbolic view-refresh view-statistics weather-clear weather-clear-wind weather-clear-night weather-clear-wind-night weather-few-clouds weather-few-clouds-wind weather-few-clouds-night weather-few-clouds-wind-night weather-clouds weather-clouds-wind weather-clouds-night weather-clouds-wind-night weather-showers-day weather-showers-night weather-showers-scattered-day weather-showers-scattered-night weather-snow-scattered-day weather-snow-scattered-night weather-storm-day weather-storm-night weather-many-clouds weather-many-clouds-wind weather-fog weather-showers weather-showers-scattered weather-hail weather-snow weather-snow-scattered weather-storm ) else () target_link_libraries(itinerary PRIVATE Qt5::Positioning Qt5::DBus Qt5::Widgets) target_link_libraries(itinerary-app PRIVATE KF5::DBusAddons Qt5::Widgets ) set_target_properties(itinerary-app PROPERTIES OUTPUT_NAME "itinerary") endif() install(TARGETS itinerary-app ${INSTALL_TARGETS_DEFAULT_ARGS}) install(PROGRAMS org.kde.itinerary.desktop DESTINATION ${KDE_INSTALL_APPDIR}) install(FILES org.kde.itinerary.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) ecm_install_icons(ICONS 48-apps-itinerary.svg DESTINATION ${KDE_INSTALL_ICONDIR}) diff --git a/src/app/WelcomePage.qml b/src/app/WelcomePage.qml new file mode 100644 index 0000000..64a4207 --- /dev/null +++ b/src/app/WelcomePage.qml @@ -0,0 +1,72 @@ +/* + Copyright (C) 2020 Volker Krause + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public + License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +import QtQuick 2.5 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.1 as QQC2 +import QtPositioning 5.11 +import org.kde.kirigami 2.4 as Kirigami +import org.kde.itinerary 1.0 +import "." as App + +Kirigami.ScrollablePage { + id: root + title: _reservationManager.isEmpty() ? i18n("Welcome!") : i18n("Help") + + ColumnLayout { + Kirigami.Heading { + text: i18n("How to import data?") + } + QQC2.Label { + Layout.fillWidth: true + text: i18n("

There's a number of ways to import data into KDE Itinerary: