Compare commits
18 Commits
daae7e8405
...
0.2.1
| Author | SHA1 | Date | |
|---|---|---|---|
| 6be4a36bf9 | |||
| 6c63e53848 | |||
| e5ac8913ed | |||
| c8dbe74fcc | |||
| 525a9883f0 | |||
| 678bdbab47 | |||
| b059379518 | |||
| c9441d7eca | |||
| bc5070a1a5 | |||
| d22c0e466c | |||
| 1c3bb6da30 | |||
| fb57727286 | |||
| 85836dfda0 | |||
| b2bc725eff | |||
| 9c4c77ef07 | |||
| 01f8ff01fc | |||
| eedd15b960 | |||
| 5a7e2637ff |
6
.gitmodules
vendored
6
.gitmodules
vendored
@ -4,3 +4,9 @@
|
|||||||
[submodule "UIs/GenericWidgets"]
|
[submodule "UIs/GenericWidgets"]
|
||||||
path = UIs/GenericWidgets
|
path = UIs/GenericWidgets
|
||||||
url = ssh://wococo1@git.working-copy.org:46100/bent/GenericQtClientWidgets.git
|
url = ssh://wococo1@git.working-copy.org:46100/bent/GenericQtClientWidgets.git
|
||||||
|
[submodule "libs/3rdParty/rapidcsv"]
|
||||||
|
path = libs/3rdParty/rapidcsv
|
||||||
|
url = https://github.com/d99kris/rapidcsv.git
|
||||||
|
[submodule "libs/3rdParty/Qt-QrCodeGenerator"]
|
||||||
|
path = libs/3rdParty/Qt-QrCodeGenerator
|
||||||
|
url = https://github.com/alex-spataru/Qt-QrCodeGenerator.git
|
||||||
|
|||||||
21
CHANGELOG.md
Normal file
21
CHANGELOG.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
## 0.2.1 - 2026-01-15
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Displaying QR code of current item in edit item dialog
|
||||||
|
|
||||||
|
## 0.2 - 2026-01-14
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Displaying editable table model (sortable by column)
|
||||||
|
- Modifying model data can be un-/redone
|
||||||
|
- Data is stored in JSON file and automatically loaded on application start
|
||||||
|
- Data can be imported/exported from/into CSV file
|
||||||
|
- Model rows containing specific data can be selected via "Find item(s)" dialog
|
||||||
|
|
||||||
|
## 0.1 - 2025-11-01
|
||||||
|
|
||||||
|
A simple Qt application separated into an UI frontend and backend core. With installer (for Linux for now) and option to trigger updater from within the application.
|
||||||
@ -1,7 +1,7 @@
|
|||||||
cmake_minimum_required(VERSION 3.16)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
set(TARGET_APP "GenericQtClient")
|
set(TARGET_APP "GenericQtClient")
|
||||||
project(${TARGET_APP} VERSION 0.1.0 LANGUAGES CXX)
|
project(${TARGET_APP} VERSION 0.2.1 LANGUAGES CXX)
|
||||||
|
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
||||||
@ -11,6 +11,10 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|||||||
add_subdirectory(libs/GenericCore)
|
add_subdirectory(libs/GenericCore)
|
||||||
set (CORE_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/GenericCore)
|
set (CORE_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/GenericCore)
|
||||||
|
|
||||||
|
### 3rd party libraries
|
||||||
|
add_subdirectory(libs/3rdParty/Qt-QrCodeGenerator)
|
||||||
|
set (QR_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/3rdParty/Qt-QrCodeGenerator)
|
||||||
|
|
||||||
configure_file(ApplicationConfig.h.in ApplicationConfig.h)
|
configure_file(ApplicationConfig.h.in ApplicationConfig.h)
|
||||||
|
|
||||||
#Frontend applications
|
#Frontend applications
|
||||||
|
|||||||
17
README.md
17
README.md
@ -1,2 +1,19 @@
|
|||||||
# GenericQtClient
|
# GenericQtClient
|
||||||
|
|
||||||
|
This is a Qt application which can be used as a starting point for new software projects.
|
||||||
|
|
||||||
|
Common features most Qt software clients need will be already implemented and can be easily configured for the specific needs.
|
||||||
|
|
||||||
|
## Implemented features:
|
||||||
|
- Separated UI frontend and backend core (in its own git submodules)
|
||||||
|
- Using Qt model/view framework with QT undo framework
|
||||||
|
- Saving/Loading JSON files
|
||||||
|
- CSV import/export
|
||||||
|
- installable and updateable via Qt updater framework
|
||||||
|
- only linux for now
|
||||||
|
- Qt 6 libraries must be installed on the machine to run
|
||||||
|
|
||||||
|
## Coming features:
|
||||||
|
- REST client
|
||||||
|
- Extensive use of sorting and filtering models to display data in different ways
|
||||||
|
- ...
|
||||||
|
|||||||
Submodule UIs/GenericWidgets updated: 8105fac8d3...a8bf5b4032
1
libs/3rdParty/Qt-QrCodeGenerator
vendored
Submodule
1
libs/3rdParty/Qt-QrCodeGenerator
vendored
Submodule
Submodule libs/3rdParty/Qt-QrCodeGenerator added at f9bdfea8ef
1
libs/3rdParty/rapidcsv
vendored
Submodule
1
libs/3rdParty/rapidcsv
vendored
Submodule
Submodule libs/3rdParty/rapidcsv added at 03133b59e1
Submodule libs/GenericCore updated: 301d143b37...caffa1c18a
@ -10,7 +10,7 @@ QT_END_NAMESPACE
|
|||||||
|
|
||||||
TEST(CoreTests, TestEqualString) {
|
TEST(CoreTests, TestEqualString) {
|
||||||
const QString coreName("GenericCore");
|
const QString coreName("GenericCore");
|
||||||
const QString coreVersion("0.0.1");
|
const QString coreVersion("0.2.0");
|
||||||
const auto expected = QString("%1 (Version %2)").arg(coreName).arg(coreVersion);
|
const auto expected = QString("%1 (Version %2)").arg(coreName).arg(coreVersion);
|
||||||
auto core = std::make_unique<GenericCore>();
|
auto core = std::make_unique<GenericCore>();
|
||||||
const auto actual = core->toString();
|
const auto actual = core->toString();
|
||||||
|
|||||||
@ -0,0 +1,8 @@
|
|||||||
|
Name,Description,Info,Factor
|
||||||
|
Item 0,This is item 0,Info of item 0,0
|
||||||
|
Item 1,This is item 1,Info of item 1,1
|
||||||
|
Item 2,This is item 2,Info of item 2,2
|
||||||
|
Item 3,This is item 3,Info of item 3,3
|
||||||
|
Item 4,This is item 4,Info of item 4,4
|
||||||
|
Item 5,This is item 5,Info of item 5,5
|
||||||
|
Item 6,This is item 6,Info of item 6,6
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
Name,Description,Info,Amount,Factor
|
||||||
|
Item 0,This is item 0,Info of item 0,0,0
|
||||||
|
Item 1,This is item 1,Info of item 1,1,1
|
||||||
|
Item 2,This is item 2,Info of item 2,2,2
|
||||||
|
Item 3,This is item 3,Info of item 3,3,3
|
||||||
|
Item 4,This is item 4,Info of item 4,4,4
|
||||||
|
Item 5,This is item 5,Info of item 5,5,5
|
||||||
|
Item 6,This is item 6,Info of item 6,6,6
|
||||||
|
Reference in New Issue
Block a user