6 Commits
v1.1 ... master

7 changed files with 133 additions and 37 deletions

View File

@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.5.0)
project(vehiclevoyage) project(vehiclevoyage)
cmake_minimum_required(VERSION 2.8.12)
set(KF5_MIN_VERSION "5.70.0") set(KF5_MIN_VERSION "5.70.0")
set(QT_MIN_VERSION "5.14.0") set(QT_MIN_VERSION "5.14.0")
@@ -28,7 +28,7 @@ include(KDECompilerSettings NO_POLICY_SCOPE)
################# Find dependencies ################# ################# Find dependencies #################
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui Sql Svg QuickControls2 Widgets) find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Core Concurrent Quick Test Gui Sql Svg QuickControls2 Widgets)
find_package(KF5Kirigami2 ${KF5_MIN_VERSION} REQUIRED) find_package(KF5Kirigami2 ${KF5_MIN_VERSION} REQUIRED)
find_package(KF5CoreAddons ${KF5_MIN_VERSION} REQUIRED) find_package(KF5CoreAddons ${KF5_MIN_VERSION} REQUIRED)
@@ -40,7 +40,7 @@ set(CMAKE_CXX_STANDARD 11)
add_subdirectory(src) add_subdirectory(src)
install(PROGRAMS packaging/org.eyecreate.vehiclevoyage.desktop DESTINATION ${KDE_INSTALL_APPDIR}) install(PROGRAMS packaging/org.eyecreate.vehiclevoyage.desktop DESTINATION ${KDE_INSTALL_APPDIR})
install(FILES packaging/org.eyecreate.vehiclevoyage.svg DESTINATION ${KDE_INSTALL_ICONDIR}) install(FILES packaging/org.eyecreate.vehiclevoyage.svg DESTINATION ${KDE_INSTALL_ICONDIR}/hicolor/scalable/apps)
install(FILES packaging/org.eyecreate.vehiclevoyage.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) install(FILES packaging/org.eyecreate.vehiclevoyage.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)

View File

@@ -1,6 +1,5 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<manifest package="org.eyecreate.vehiclevoyage" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.0" android:versionCode="1" android:installLocation="auto"> <manifest package="org.eyecreate.vehiclevoyage" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.1" android:versionCode="2" android:installLocation="auto">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29"/>
<!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application. <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
Remove the comment if you do not require these default permissions. --> Remove the comment if you do not require these default permissions. -->

View File

@@ -1,22 +1,28 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Copyright [2024] [Kevin Whitaker] -->
<component type="desktop-application"> <component type="desktop-application">
<id>org.eyecreate.vehiclevoyage</id> <id>org.eyecreate.vehiclevoyage</id>
<name>Vehicle Voyage</name> <name>Vehicle Voyage</name>
<summary>Track vehicle service history.</summary> <summary>Track vehicle service history</summary>
<metadata_license>FSFAP</metadata_license> <metadata_license>FSFAP</metadata_license>
<project_license>GPL-3.0-or-later</project_license> <project_license>GPL-3.0-or-later</project_license>
<content_rating type="oars-1.1" /> <content_rating type="oars-1.1" />
<url type="homepage">https://git.eyecreate.org/eyecreate/vehicle-voyage</url> <url type="homepage">https://git.eyecreate.org/eyecreate/vehicle-voyage</url>
<url type="contact">https://www.eyecreate.org</url> <url type="contact">https://www.eyecreate.org</url>
<url type="donation">https://liberapay.com/eyecreate/donate</url> <url type="donation">https://liberapay.com/eyecreate/donate</url>
<developer_name>eyecreate</developer_name> <launchable type="desktop-id">org.eyecreate.vehiclevoyage.desktop</launchable>
<developer id="org.eyecreate">
<name>eyecreate</name>
</developer>
<description> <description>
<p>Track vehicle service history.</p> <p>Track vehicle service history.</p>
</description> </description>
<screenshots> <screenshots>
<screenshot type="default"> <screenshot type="default">
<image type="source">https://git.eyecreate.org/eyecreate/vehicle-voyage/raw/v1.0/packaging/main_window.png</image> <image >https://git.eyecreate.org/eyecreate/vehicle-voyage/raw/v1.0/packaging/main_window.png</image>
<image type="source">https://git.eyecreate.org/eyecreate/vehicle-voyage/raw/v1.0/packaging/mobile_window.png</image> </screenshot>
<screenshot>
<image >https://git.eyecreate.org/eyecreate/vehicle-voyage/raw/v1.0/packaging/mobile_window.png</image>
</screenshot> </screenshot>
</screenshots> </screenshots>
<releases> <releases>

View File

@@ -8,3 +8,4 @@ Icon=org.eyecreate.vehiclevoyage
Type=Application Type=Application
Terminal=false Terminal=false
Categories=Utility;Qt;KDE; Categories=Utility;Qt;KDE;
X-Purism-FormFactor=Workstation;Mobile;

View File

@@ -0,0 +1,88 @@
name: vehicle-voyage # you probably want to 'snapcraft register <name>'
base: core20 # the base snap is the execution environment for this snap
version: '1.1' # just for humans, typically '1.2+git' or '1.3.2'
summary: Track vehicle service history. # 79 char long summary
description: |
Track vehicle service history.
grade: devel # must be 'stable' to release into candidate/stable channels
confinement: strict # use 'strict' once you have the right plugs and slots
adopt-info: vehicle-voyage
apps:
vehicle-voyage:
common-id: org.eyecreate.vehiclevoyage
command: usr/bin/vehiclevoyage
extensions:
- kde-neon
environment:
QML2_IMPORT_PATH: "$SNAP/usr/lib/x86_64-linux-gnu/qml"
QT_QPA_PLATFORMTHEME: flatpak
QT_QPA_FLATPAK_PLATFORMTHEME: kde
slots:
session-dbus-interface:
interface: dbus
name: org.eyecreate.vehiclevoyage
bus: session
parts:
ecm:
source: https://invent.kde.org/frameworks/extra-cmake-modules.git
source-tag: v5.81.0
source-depth: 0
plugin: cmake
cmake-parameters:
- -DCMAKE_INSTALL_PREFIX=/usr
- -DCMAKE_BUILD_TYPE=Release
- -DBUILD_TESTING=OFF
kirigami:
after:
- ecm
build-packages:
- libgl-dev
source: https://invent.kde.org/frameworks/kirigami.git
source-tag: v5.81.0
source-depth: 0
plugin: cmake
cmake-parameters:
- -DCMAKE_INSTALL_PREFIX=/usr
- -DCMAKE_BUILD_TYPE=Release
- -DBUILD_TESTING=OFF
prime:
- -*
kcoreaddons:
after:
- ecm
source: https://invent.kde.org/frameworks/kcoreaddons.git
source-tag: v5.81.0
source-depth: 0
plugin: cmake
cmake-parameters:
- -DCMAKE_INSTALL_PREFIX=/usr
- -DCMAKE_BUILD_TYPE=Release
- -DBUILD_TESTING=OFF
qqc2:
after:
- kirigami
source: https://invent.kde.org/frameworks/qqc2-desktop-style.git
source-tag: v5.81.0
source-depth: 0
plugin: cmake
cmake-parameters:
- -DCMAKE_INSTALL_PREFIX=/usr
- -DCMAKE_BUILD_TYPE=Release
- -DBUILD_TESTING=OFF
vehicle-voyage:
after:
- kirigami
- kcoreaddons
parse-info:
- usr/share/metainfo/org.eyecreate.vehiclevoyage.appdata.xml
plugin: cmake
source: https://git.eyecreate.org/eyecreate/vehicle-voyage.git
source-type: git
source-commit: 53c23bff890b97ddf010f778ebd53154b67d74e6
cmake-parameters:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr

View File

@@ -3,8 +3,6 @@ import org.kde.kirigami 2.12 as Kirigami
import QtQuick.Controls 2.14 as Controls import QtQuick.Controls 2.14 as Controls
import QtQuick.Layouts 1.14 as Layouts import QtQuick.Layouts 1.14 as Layouts
import QtQuick.Controls 1.4 as Old import QtQuick.Controls 1.4 as Old
import QtQuick.Dialogs 1.3 as Dialogs
import Qt.labs.platform 1.1 as Labs
Kirigami.PageRoute { Kirigami.PageRoute {
name: "main" name: "main"
@@ -19,13 +17,6 @@ Kirigami.PageRoute {
} }
} }
contextualActions: [ contextualActions: [
Kirigami.Action {
iconName: "application-javascript"
text: qsTr("Import From Carfax JSON")
onTriggered: {
importMessage.visible = true;
}
},
Kirigami.Action { Kirigami.Action {
iconName: "preferences-system" iconName: "preferences-system"
text: qsTr("Settings") text: qsTr("Settings")
@@ -42,25 +33,6 @@ Kirigami.PageRoute {
} }
] ]
title: "Vehicles" title: "Vehicles"
Dialogs.FileDialog {
id: importDialog
title: qsTr("Select Carfax Json file to import...")
nameFilters: ["Carfax Vehicle Json (*.json)"]
onAccepted: {
if(jsonConverter.importCarfaxJsonToDB(importDialog.fileUrl)) {
//
} else {
root.showPassiveNotification(qsTr("Failed to parse file."),"short");
}
}
}
Labs.MessageDialog {
id:importMessage
title: qsTr("Warning")
text: qsTr("This is an advanced feature that requires you pulling JSON file from Carfax website unofficially in advanced. Do you want to continue?")
buttons: Labs.MessageDialog.Yes | Labs.MessageDialog.No
onYesClicked: importDialog.visible = true
}
Kirigami.CardsListView { Kirigami.CardsListView {
anchors.fill: parent anchors.fill: parent
id: vehicleView id: vehicleView

View File

@@ -2,6 +2,8 @@ import QtQuick 2.14
import org.kde.kirigami 2.12 as Kirigami import org.kde.kirigami 2.12 as Kirigami
import QtQuick.Controls 2.14 as Controls import QtQuick.Controls 2.14 as Controls
import QtQuick.Layouts 1.14 as Layouts import QtQuick.Layouts 1.14 as Layouts
import QtQuick.Dialogs 1.3 as Dialogs
import Qt.labs.platform 1.1 as Labs
Kirigami.PageRoute { Kirigami.PageRoute {
name: "settings" name: "settings"
@@ -9,6 +11,34 @@ Kirigami.PageRoute {
Kirigami.Page { Kirigami.Page {
id: settingsPage id: settingsPage
title: qsTr("Settings") title: qsTr("Settings")
contextualActions: [
Kirigami.Action {
iconName: "application-javascript"
text: qsTr("Import From Carfax JSON")
onTriggered: {
importMessage.visible = true;
}
}
]
Dialogs.FileDialog {
id: importDialog
title: qsTr("Select Carfax Json file to import...")
nameFilters: ["Carfax Vehicle Json (*.json)"]
onAccepted: {
if(jsonConverter.importCarfaxJsonToDB(importDialog.fileUrl)) {
//
} else {
root.showPassiveNotification(qsTr("Failed to parse file."),"short");
}
}
}
Labs.MessageDialog {
id:importMessage
title: qsTr("Warning")
text: qsTr("This is an advanced feature that requires you pulling JSON file from Carfax website unofficially in advanced. Do you want to continue?")
buttons: Labs.MessageDialog.Yes | Labs.MessageDialog.No
onYesClicked: importDialog.visible = true
}
Layouts.ColumnLayout { Layouts.ColumnLayout {
anchors.fill: parent anchors.fill: parent
Kirigami.InlineMessage { Kirigami.InlineMessage {