Compare commits

5 Commits

8 changed files with 52 additions and 4 deletions

15
CHANGELOG.md Normal file
View File

@ -0,0 +1,15 @@
# Changelog
## 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.

View File

@ -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.0 LANGUAGES CXX)
enable_testing() enable_testing()

View File

@ -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
- ...

View File

@ -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.1.0"); 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();

View File

@ -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
1 Name Description Info Factor
2 Item 0 This is item 0 Info of item 0 0
3 Item 1 This is item 1 Info of item 1 1
4 Item 2 This is item 2 Info of item 2 2
5 Item 3 This is item 3 Info of item 3 3
6 Item 4 This is item 4 Info of item 4 4
7 Item 5 This is item 5 Info of item 5 5
8 Item 6 This is item 6 Info of item 6 6

View File

@ -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
1 Name Description Info Amount Factor
2 Item 0 This is item 0 Info of item 0 0 0
3 Item 1 This is item 1 Info of item 1 1 1
4 Item 2 This is item 2 Info of item 2 2 2
5 Item 3 This is item 3 Info of item 3 3 3
6 Item 4 This is item 4 Info of item 4 4 4
7 Item 5 This is item 5 Info of item 5 5 5
8 Item 6 This is item 6 Info of item 6 6 6