Compare commits
18 Commits
30e6180c82
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| e3a5e44c33 | |||
| 12dd6ddba0 | |||
| de2bab90de | |||
| 285fc8e80f | |||
| 93eb98c10a | |||
| e958c86eb7 | |||
| 8b132c6c51 | |||
| 46b2098ffc | |||
| 7082648122 | |||
| e02595ba0e | |||
| 2597f79d2d | |||
| 5b77337b3f | |||
| 5b5f31f64d | |||
| b17b8cb259 | |||
| 529f7f6e7d | |||
| ecf0815d9f | |||
| 53b6b66cc8 | |||
| d699ce79f7 |
@@ -0,0 +1,2 @@
|
|||||||
|
cmake*
|
||||||
|
build
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
[submodule "3rdparty/qdecimal"]
|
||||||
|
path = 3rdparty/qdecimal
|
||||||
|
url = https://github.com/semihc/qdecimal.git
|
||||||
|
[submodule "3rdparty/QxOrm"]
|
||||||
|
path = 3rdparty/QxOrm
|
||||||
|
url = https://github.com/PepaRokos/QxOrm.git
|
||||||
|
[submodule "3rdparty/LimeReport"]
|
||||||
|
path = 3rdparty/LimeReport
|
||||||
|
url = https://github.com/PepaRokos/LimeReport.git
|
||||||
Vendored
+3
@@ -0,0 +1,3 @@
|
|||||||
|
add_subdirectory(qdecimal)
|
||||||
|
add_subdirectory(QxOrm)
|
||||||
|
add_subdirectory(LimeReport)
|
||||||
+1
Submodule 3rdparty/LimeReport added at b1bfd131ad
+1
Submodule 3rdparty/QxOrm added at 975c3b5ad3
+1
Submodule 3rdparty/qdecimal added at 31d650e0e6
@@ -0,0 +1,17 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.24)
|
||||||
|
project(prodejna-root)
|
||||||
|
|
||||||
|
add_subdirectory(3rdparty/qdecimal)
|
||||||
|
add_subdirectory(3rdparty/QxOrm)
|
||||||
|
add_subdirectory(3rdparty/LimeReport)
|
||||||
|
|
||||||
|
add_subdirectory(core)
|
||||||
|
add_subdirectory(application)
|
||||||
|
add_subdirectory(countryregister)
|
||||||
|
add_subdirectory(addressbook)
|
||||||
|
add_subdirectory(postregister)
|
||||||
|
add_subdirectory(services)
|
||||||
|
add_subdirectory(shop)
|
||||||
|
add_subdirectory(commodity)
|
||||||
|
add_subdirectory(camp)
|
||||||
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#include "accform.h"
|
|
||||||
#include "ui_accform.h"
|
|
||||||
|
|
||||||
AccForm::AccForm(QWidget *parent) :
|
|
||||||
QWidget(parent),
|
|
||||||
ui(new Ui::AccForm)
|
|
||||||
{
|
|
||||||
ui->setupUi(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
AccForm::~AccForm()
|
|
||||||
{
|
|
||||||
delete ui;
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
#include "accgrid.h"
|
|
||||||
|
|
||||||
#include "tablemodel.h"
|
|
||||||
|
|
||||||
AccGrid::AccGrid(QWidget *parent) :
|
|
||||||
GridForm<Person>(parent)
|
|
||||||
{
|
|
||||||
setTableModel(new TableModel());
|
|
||||||
}
|
|
||||||
|
|
||||||
AccGrid::~AccGrid()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
#ifndef ACCGRID_H
|
|
||||||
#define ACCGRID_H
|
|
||||||
|
|
||||||
#include <core.h>
|
|
||||||
#include "data/person.h"
|
|
||||||
|
|
||||||
#include "accommodation-odb.hxx"
|
|
||||||
|
|
||||||
class AccGrid : public GridForm<Person>
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
explicit AccGrid(QWidget *parent = NULL);
|
|
||||||
~AccGrid();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // ACCGRID_H
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
#include <context.h>
|
|
||||||
|
|
||||||
#include "accommodation.h"
|
|
||||||
#include <QDebug>
|
|
||||||
|
|
||||||
#include "data/person.h"
|
|
||||||
#include "accommodationservice.h"
|
|
||||||
|
|
||||||
#include "accgrid.h"
|
|
||||||
#include "acform.h"
|
|
||||||
|
|
||||||
Accommodation::Accommodation()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void Accommodation::initServiceUi()
|
|
||||||
{
|
|
||||||
AccGrid *grid = new AccGrid();
|
|
||||||
AcForm *form = new AcForm();
|
|
||||||
|
|
||||||
grid->setForm(form);
|
|
||||||
AccommodationService *service = new AccommodationService();
|
|
||||||
m_service = service;
|
|
||||||
m_ui = grid;
|
|
||||||
}
|
|
||||||
|
|
||||||
QIcon Accommodation::pluginIcon()
|
|
||||||
{
|
|
||||||
return QIcon(":/icons/accPlugin.svg");
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
QWidget *Accommodation::ui()
|
|
||||||
{
|
|
||||||
QWidget *ui = IPlugin::ui();
|
|
||||||
AccGrid *form = qobject_cast<AccGrid*>(ui);
|
|
||||||
|
|
||||||
form->fillData();
|
|
||||||
|
|
||||||
return ui;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
#ifndef ACCOMMODATION_H
|
|
||||||
#define ACCOMMODATION_H
|
|
||||||
|
|
||||||
#include "accommodation_global.h"
|
|
||||||
#include <core.h>
|
|
||||||
#include <QObject>
|
|
||||||
#include <QtPlugin>
|
|
||||||
|
|
||||||
class ACCOMMODATIONSHARED_EXPORT Accommodation : public QObject, IMetaDataPlugin
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
Q_PLUGIN_METADATA(IID PluginInterface_iid FILE "accommodation.json")
|
|
||||||
Q_INTERFACES(IPlugin)
|
|
||||||
|
|
||||||
public:
|
|
||||||
Accommodation();
|
|
||||||
|
|
||||||
// QString pluginName() Q_DECL_OVERRIDE;
|
|
||||||
// void init(const QJsonObject &metaData) Q_DECL_OVERRIDE;
|
|
||||||
// QString pluginId() Q_DECL_OVERRIDE;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
void initServiceUi() Q_DECL_OVERRIDE;
|
|
||||||
|
|
||||||
|
|
||||||
// IPlugin interface
|
|
||||||
public:
|
|
||||||
//QWidget *ui();
|
|
||||||
|
|
||||||
// IPlugin interface
|
|
||||||
public:
|
|
||||||
virtual QIcon pluginIcon();
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // ACCOMMODATION_H
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"id" : "ACCOMMODATION",
|
|
||||||
"name" : {
|
|
||||||
"default" : "Accommodation",
|
|
||||||
"CZ" : "Kemp"
|
|
||||||
},
|
|
||||||
"descriptoin" : {
|
|
||||||
"default" : "",
|
|
||||||
"CZ" : ""
|
|
||||||
},
|
|
||||||
"schemaVersion" : 1,
|
|
||||||
"sql" : [
|
|
||||||
"CREATE TABLE \"Person\" (
|
|
||||||
\"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
||||||
\"firstName\" TEXT NULL,
|
|
||||||
\"lastName\" TEXT NULL);"
|
|
||||||
|
|
||||||
],
|
|
||||||
"dependencies" : []
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
#-------------------------------------------------
|
|
||||||
#
|
|
||||||
# Project created by QtCreator 2015-10-28T15:27:14
|
|
||||||
#
|
|
||||||
#-------------------------------------------------
|
|
||||||
|
|
||||||
QT += widgets sql
|
|
||||||
|
|
||||||
TARGET = accommodation
|
|
||||||
TEMPLATE = lib
|
|
||||||
|
|
||||||
DEFINES += ACCOMMODATION_LIBRARY
|
|
||||||
|
|
||||||
SOURCES += accommodation.cpp \
|
|
||||||
data/person.cpp \
|
|
||||||
accommodationservice.cpp \
|
|
||||||
tablemodel.cpp \
|
|
||||||
acform.cpp \
|
|
||||||
accgrid.cpp \
|
|
||||||
data/address.cpp
|
|
||||||
|
|
||||||
HEADERS += accommodation.h\
|
|
||||||
accommodation_global.h \
|
|
||||||
data/person.h \
|
|
||||||
accommodationservice.h \
|
|
||||||
tablemodel.h \
|
|
||||||
acform.h \
|
|
||||||
accgrid.h \
|
|
||||||
data/address.h \
|
|
||||||
data/accommodation-data.h
|
|
||||||
|
|
||||||
include(../config_plugin.pri)
|
|
||||||
|
|
||||||
OTHER_FILES += \
|
|
||||||
accommodation.json
|
|
||||||
|
|
||||||
FORMS += \
|
|
||||||
acform.ui
|
|
||||||
|
|
||||||
ODB_FILES = accommodation/data/accommodation-data.h
|
|
||||||
H_DIR = $$PWD/data/*.h
|
|
||||||
include(../odb.pri)
|
|
||||||
|
|
||||||
RESOURCES += \
|
|
||||||
accrc.qrc
|
|
||||||
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
#ifndef ACCOMMODATION_GLOBAL_H
|
|
||||||
#define ACCOMMODATION_GLOBAL_H
|
|
||||||
|
|
||||||
#include <QtCore/qglobal.h>
|
|
||||||
|
|
||||||
#if defined(ACCOMMODATION_LIBRARY)
|
|
||||||
# define ACCOMMODATIONSHARED_EXPORT Q_DECL_EXPORT
|
|
||||||
#else
|
|
||||||
# define ACCOMMODATIONSHARED_EXPORT Q_DECL_IMPORT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // ACCOMMODATION_GLOBAL_H
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
#include "accommodationservice.h"
|
|
||||||
|
|
||||||
#include <odb/database.hxx>
|
|
||||||
#include <odb/transaction.hxx>
|
|
||||||
|
|
||||||
#include "accommodation-odb.hxx"
|
|
||||||
|
|
||||||
AccommodationService::AccommodationService()
|
|
||||||
:Service<Person>("ACCOMMODATION")
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
AccommodationService::~AccommodationService()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void AccommodationService::pokus(QSharedPointer<Person> entity)
|
|
||||||
{
|
|
||||||
odb::database *db = Context::instance().db();
|
|
||||||
//odb::transaction tr(db->begin());
|
|
||||||
|
|
||||||
Transaction tr;
|
|
||||||
this->all();
|
|
||||||
db->persist(entity);
|
|
||||||
tr.commit();
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
#ifndef ACCOMMODATIONSERVICE_H
|
|
||||||
#define ACCOMMODATIONSERVICE_H
|
|
||||||
|
|
||||||
#include "data/person.h"
|
|
||||||
#include <core.h>
|
|
||||||
|
|
||||||
#include "accommodation_global.h"
|
|
||||||
#include "accommodation-odb.hxx"
|
|
||||||
|
|
||||||
class ACCOMMODATIONSHARED_EXPORT AccommodationService : public Service<Person>
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
AccommodationService();
|
|
||||||
~AccommodationService();
|
|
||||||
|
|
||||||
void pokus(QSharedPointer<Person> entity);
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // ACCOMMODATIONSERVICE_H
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
<RCC>
|
|
||||||
<qresource prefix="/">
|
|
||||||
<file>icons/accPlugin.svg</file>
|
|
||||||
</qresource>
|
|
||||||
</RCC>
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
#include "acform.h"
|
|
||||||
#include "ui_acform.h"
|
|
||||||
#include <QList>
|
|
||||||
|
|
||||||
#include <settingsservice.h>
|
|
||||||
#include <settings/globalsettings.h>
|
|
||||||
|
|
||||||
#include "accommodation-odb.hxx"
|
|
||||||
|
|
||||||
AcForm::AcForm(QWidget *parent) :
|
|
||||||
AutoForm<Person>(parent),
|
|
||||||
ui(new Ui::AcForm)
|
|
||||||
{
|
|
||||||
ui->setupUi(this);
|
|
||||||
|
|
||||||
registerBinding(ui->firstName);
|
|
||||||
registerBinding(ui->lastName);
|
|
||||||
}
|
|
||||||
|
|
||||||
AcForm::~AcForm()
|
|
||||||
{
|
|
||||||
delete ui;
|
|
||||||
}
|
|
||||||
|
|
||||||
void AcForm::registerCombos()
|
|
||||||
{
|
|
||||||
QList<ComboData> cbData;
|
|
||||||
Service<Address> srv;
|
|
||||||
foreach (QSharedPointer<Address> adr, srv.all()) {
|
|
||||||
cbData.append(ComboData(adr));
|
|
||||||
}
|
|
||||||
|
|
||||||
registerBinding(ui->address, cbData);
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
#ifndef ACFORM_H
|
|
||||||
#define ACFORM_H
|
|
||||||
|
|
||||||
#include <QWidget>
|
|
||||||
#include <autoform.h>
|
|
||||||
|
|
||||||
#include "data/person.h"
|
|
||||||
#include "accommodation-odb.hxx"
|
|
||||||
|
|
||||||
namespace Ui {
|
|
||||||
class AcForm;
|
|
||||||
}
|
|
||||||
|
|
||||||
class AcForm : public AutoForm<Person>
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
explicit AcForm(QWidget *parent = 0);
|
|
||||||
~AcForm();
|
|
||||||
|
|
||||||
private:
|
|
||||||
Ui::AcForm *ui;
|
|
||||||
|
|
||||||
// AutoForm interface
|
|
||||||
protected:
|
|
||||||
virtual void registerCombos();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // ACFORM_H
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>AcForm</class>
|
|
||||||
<widget class="QWidget" name="AcForm">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>833</width>
|
|
||||||
<height>536</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Form</string>
|
|
||||||
</property>
|
|
||||||
<widget class="QLineEdit" name="firstName">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>90</x>
|
|
||||||
<y>60</y>
|
|
||||||
<width>191</width>
|
|
||||||
<height>20</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QLineEdit" name="lastName">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>90</x>
|
|
||||||
<y>110</y>
|
|
||||||
<width>191</width>
|
|
||||||
<height>20</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QPushButton" name="pushButton">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>610</x>
|
|
||||||
<y>410</y>
|
|
||||||
<width>81</width>
|
|
||||||
<height>22</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>PushButton</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QComboBox" name="address">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>110</x>
|
|
||||||
<y>170</y>
|
|
||||||
<width>191</width>
|
|
||||||
<height>22</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#ifndef ACCOMMODATIONDATA_H
|
|
||||||
#define ACCOMMODATIONDATA_H
|
|
||||||
|
|
||||||
#include "address.h"
|
|
||||||
#include "person.h"
|
|
||||||
|
|
||||||
#endif // ACCOMMODATIONDATA_H
|
|
||||||
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
#include "address.h"
|
|
||||||
|
|
||||||
Address::Address(QObject *parent) : ComboItem(parent)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Address::~Address()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
QString Address::city() const
|
|
||||||
{
|
|
||||||
return m_city;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Address::setCity(const QString &city)
|
|
||||||
{
|
|
||||||
m_city = city;
|
|
||||||
}
|
|
||||||
QString Address::street() const
|
|
||||||
{
|
|
||||||
return m_street;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Address::setStreet(const QString &street)
|
|
||||||
{
|
|
||||||
m_street = street;
|
|
||||||
}
|
|
||||||
QString Address::houseNumber() const
|
|
||||||
{
|
|
||||||
return m_houseNumber;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Address::setHouseNumber(const QString &houseNumber)
|
|
||||||
{
|
|
||||||
m_houseNumber = houseNumber;
|
|
||||||
}
|
|
||||||
int Address::id() const
|
|
||||||
{
|
|
||||||
return m_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Address::setId(int id)
|
|
||||||
{
|
|
||||||
m_id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Address::eq(ComboItem *other)
|
|
||||||
{
|
|
||||||
Address *addr = qobject_cast<Address*>(other);
|
|
||||||
return addr != NULL && m_id == addr->id();
|
|
||||||
}
|
|
||||||
|
|
||||||
QString Address::toString()
|
|
||||||
{
|
|
||||||
return m_street + ", " + m_houseNumber + ", " + m_city;
|
|
||||||
}
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
#ifndef ADDRESS_H
|
|
||||||
#define ADDRESS_H
|
|
||||||
|
|
||||||
#include <QObject>
|
|
||||||
#include <QString>
|
|
||||||
|
|
||||||
#include <data/comboitem.h>
|
|
||||||
|
|
||||||
#include <odb/core.hxx>
|
|
||||||
|
|
||||||
#pragma db object
|
|
||||||
class Address : public ComboItem
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
Q_PROPERTY(QString city READ city WRITE setCity)
|
|
||||||
Q_PROPERTY(QString street READ street WRITE setStreet)
|
|
||||||
Q_PROPERTY(QString houseNumber READ houseNumber WRITE setHouseNumber)
|
|
||||||
|
|
||||||
public:
|
|
||||||
explicit Address(QObject *parent = 0);
|
|
||||||
~Address();
|
|
||||||
|
|
||||||
QString city() const;
|
|
||||||
void setCity(const QString &city);
|
|
||||||
|
|
||||||
QString street() const;
|
|
||||||
void setStreet(const QString &street);
|
|
||||||
|
|
||||||
QString houseNumber() const;
|
|
||||||
void setHouseNumber(const QString &houseNumber);
|
|
||||||
|
|
||||||
int id() const;
|
|
||||||
void setId(int id);
|
|
||||||
|
|
||||||
private:
|
|
||||||
friend class odb::access;
|
|
||||||
|
|
||||||
#pragma db id auto
|
|
||||||
int m_id;
|
|
||||||
QString m_city;
|
|
||||||
QString m_street;
|
|
||||||
QString m_houseNumber;
|
|
||||||
|
|
||||||
signals:
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
|
|
||||||
// ComboItem interface
|
|
||||||
public:
|
|
||||||
virtual bool eq(ComboItem *other);
|
|
||||||
virtual QString toString();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // ADDRESS_H
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
#include <data/comboitem.h>
|
|
||||||
#include "person.h"
|
|
||||||
|
|
||||||
Person::Person()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
int Person::id() const
|
|
||||||
{
|
|
||||||
return m_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Person::setId(int value)
|
|
||||||
{
|
|
||||||
m_id = value;
|
|
||||||
}
|
|
||||||
QString Person::getFirstName() const
|
|
||||||
{
|
|
||||||
return firstName;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Person::setFirstName(const QString &value)
|
|
||||||
{
|
|
||||||
firstName = value;
|
|
||||||
}
|
|
||||||
QString Person::getLastName() const
|
|
||||||
{
|
|
||||||
return lastName;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Person::setLastName(const QString &value)
|
|
||||||
{
|
|
||||||
lastName = value;
|
|
||||||
}
|
|
||||||
QSharedPointer<QObject> Person::address() const
|
|
||||||
{
|
|
||||||
return m_address;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Person::setAddress(const QSharedPointer<QObject> &address)
|
|
||||||
{
|
|
||||||
if (qobject_cast<Address*>(address.data()) != NULL)
|
|
||||||
{
|
|
||||||
m_address = qSharedPointerDynamicCast<Address, QObject>(address);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
#ifndef PERSON_H
|
|
||||||
#define PERSON_H
|
|
||||||
|
|
||||||
#include <QObject>
|
|
||||||
#include <QString>
|
|
||||||
|
|
||||||
#include "address.h"
|
|
||||||
|
|
||||||
#include <odb/core.hxx>
|
|
||||||
|
|
||||||
#pragma db object
|
|
||||||
class Person : public QObject
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
Q_PROPERTY(QString firstName READ getFirstName WRITE setFirstName)
|
|
||||||
Q_PROPERTY(QString lastName READ getLastName WRITE setLastName)
|
|
||||||
Q_PROPERTY(QSharedPointer<QObject> address READ address WRITE setAddress)
|
|
||||||
public:
|
|
||||||
Person();
|
|
||||||
|
|
||||||
int id() const;
|
|
||||||
void setId(int value);
|
|
||||||
|
|
||||||
QString getFirstName() const;
|
|
||||||
void setFirstName(const QString &value);
|
|
||||||
|
|
||||||
QString getLastName() const;
|
|
||||||
void setLastName(const QString &value);
|
|
||||||
|
|
||||||
QSharedPointer<QObject> address() const;
|
|
||||||
void setAddress(const QSharedPointer<QObject> &address);
|
|
||||||
|
|
||||||
private:
|
|
||||||
friend class odb::access;
|
|
||||||
#pragma db id auto
|
|
||||||
int m_id;
|
|
||||||
QString firstName;
|
|
||||||
QString lastName;
|
|
||||||
QSharedPointer<Address> m_address;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // PERSON_H
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
<?xml version="1.0" ?><svg clip-rule="evenodd" fill-rule="evenodd" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 5000 5000" xmlns="http://www.w3.org/2000/svg"><defs><style type="text/css"><![CDATA[
|
|
||||||
.str1 {stroke:#434242;stroke-width:100}
|
|
||||||
.str0 {stroke:#434242;stroke-width:300;stroke-linecap:round}
|
|
||||||
.fil0 {fill:none}
|
|
||||||
.fil1 {fill:#434242}
|
|
||||||
.fil2 {fill:url(#id0)}
|
|
||||||
]]></style><linearGradient gradientUnits="userSpaceOnUse" id="id0" x1="2500.01" x2="2500.01" y1="4260.19" y2="1474.81"><stop offset="0" stop-color="#008BFF"/><stop offset="1" stop-color="#0af"/></linearGradient></defs><g id="Layer_x0020_1"><path class="fil0 str0" d="M300 2000l2050-1600c100-50 200-50 300 0l2050 1500"/><path class="fil1" d="M3500 1022l600 439v-861c0-55-45-100-100-100h-400c-55 0-100 45-100 100v422z"/><path class="fil2 str1" d="M899 4700h901v-1500c0-110 90-200 200-200h900c110 0 200 90 200 200v1500h1001c165 0 300-135 300-300l-1-2000-1776-1328c-33-26-79-37-124-36s-92 14-127 40l-1773 1324-1 2000c0 165 135 300 300 300z"/></g></svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,8 +0,0 @@
|
|||||||
#include "tablemodel.h"
|
|
||||||
|
|
||||||
TableModel::TableModel(QObject *parent)
|
|
||||||
:AutoTableModel<Person>(parent)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
#ifndef TABLEMODEL_H
|
|
||||||
#define TABLEMODEL_H
|
|
||||||
|
|
||||||
#include <core.h>
|
|
||||||
#include <autotablemodel.h>
|
|
||||||
|
|
||||||
#include "data/person.h"
|
|
||||||
|
|
||||||
class TableModel : public AutoTableModel<Person>
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
explicit TableModel(QObject *parent = NULL);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // TABLEMODEL_H
|
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.24)
|
||||||
|
project(addressbook)
|
||||||
|
|
||||||
|
include(../3rdparty/QxOrm/QxOrm.cmake)
|
||||||
|
|
||||||
|
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ../plugins)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
set(CMAKE_AUTORCC ON)
|
||||||
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
|
||||||
|
find_package(Qt6 COMPONENTS
|
||||||
|
Core
|
||||||
|
Gui
|
||||||
|
Widgets
|
||||||
|
Qml
|
||||||
|
REQUIRED)
|
||||||
|
|
||||||
|
add_library(addressbook SHARED
|
||||||
|
addressbook.cpp
|
||||||
|
addressbook.h
|
||||||
|
addressbookrc.qrc
|
||||||
|
addressbook_global.h
|
||||||
|
addressbookform.cpp
|
||||||
|
addressbookform.h
|
||||||
|
addressbookform.ui
|
||||||
|
addressbookgrid.cpp
|
||||||
|
addressbookgrid.h
|
||||||
|
addressbookservice.cpp
|
||||||
|
addressbookservice.h
|
||||||
|
addressbooktablemodel.cpp
|
||||||
|
addressbooktablemodel.h
|
||||||
|
data/addressbookdata.cpp
|
||||||
|
data/addressbookdata.h)
|
||||||
|
|
||||||
|
target_compile_definitions(addressbook PRIVATE -DADDRESSBOOK_LIBRARY)
|
||||||
|
|
||||||
|
include_directories(../core)
|
||||||
|
include_directories(../countryregister)
|
||||||
|
|
||||||
|
target_link_libraries(addressbook
|
||||||
|
Qt::Core
|
||||||
|
Qt::Gui
|
||||||
|
Qt::Widgets
|
||||||
|
Qt::Qml
|
||||||
|
qdecimal
|
||||||
|
decnumber
|
||||||
|
QxOrm
|
||||||
|
core
|
||||||
|
countryregister
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS addressbook
|
||||||
|
LIBRARY DESTINATION ../plugins)
|
||||||
@@ -26,8 +26,8 @@ protected:
|
|||||||
|
|
||||||
// IPlugin interface
|
// IPlugin interface
|
||||||
public:
|
public:
|
||||||
virtual QIcon pluginIcon();
|
QIcon pluginIcon() override;
|
||||||
QTranslator *translator();
|
QTranslator *translator() override;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
#-------------------------------------------------
|
|
||||||
#
|
|
||||||
# Project created by QtCreator 2016-02-09T21:27:28
|
|
||||||
#
|
|
||||||
#-------------------------------------------------
|
|
||||||
|
|
||||||
QT += widgets sql
|
|
||||||
|
|
||||||
QT -= gui
|
|
||||||
|
|
||||||
TARGET = addressbook
|
|
||||||
TEMPLATE = lib
|
|
||||||
|
|
||||||
DEFINES += ADDRESSBOOK_LIBRARY
|
|
||||||
|
|
||||||
SOURCES += addressbook.cpp \
|
|
||||||
data/addressbookdata.cpp \
|
|
||||||
addressbookform.cpp \
|
|
||||||
addressbookgrid.cpp \
|
|
||||||
addressbooktablemodel.cpp \
|
|
||||||
addressbookservice.cpp
|
|
||||||
|
|
||||||
HEADERS += addressbook.h\
|
|
||||||
addressbook_global.h \
|
|
||||||
data/addressbookdata.h \
|
|
||||||
addressbookform.h \
|
|
||||||
addressbookgrid.h \
|
|
||||||
addressbooktablemodel.h \
|
|
||||||
addressbookservice.h
|
|
||||||
|
|
||||||
include(../config_plugin.pri)
|
|
||||||
|
|
||||||
ODB_FILES = addressbook/data/addressbookdata.h
|
|
||||||
H_DIR = $$PWD/data/*.h
|
|
||||||
ODB_OTHER_INCLUDES = -I $$PWD/../countryregister/data
|
|
||||||
include(../odb.pri)
|
|
||||||
|
|
||||||
OTHER_FILES += \
|
|
||||||
addressbook.json
|
|
||||||
|
|
||||||
FORMS += \
|
|
||||||
addressbookform.ui
|
|
||||||
|
|
||||||
RESOURCES += \
|
|
||||||
addressbookrc.qrc
|
|
||||||
TRANSLATIONS = translations/addressbook_cs_CZ.ts
|
|
||||||
|
|
||||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../plugins/ -lcountryregister
|
|
||||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../plugins/ -lcountryregister
|
|
||||||
else:unix: LIBS += -L$$OUT_PWD/../plugins/ -lcountryregister
|
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../countryregister/data
|
|
||||||
INCLUDEPATH += $$PWD/../countryregister
|
|
||||||
|
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
#define ADDRESSBOOK_GLOBAL_H
|
#define ADDRESSBOOK_GLOBAL_H
|
||||||
|
|
||||||
#include <QtCore/qglobal.h>
|
#include <QtCore/qglobal.h>
|
||||||
|
#include <QxOrm.h>
|
||||||
|
|
||||||
#if defined(ADDRESSBOOK_LIBRARY)
|
#if defined(ADDRESSBOOK_LIBRARY)
|
||||||
# define ADDRESSBOOKSHARED_EXPORT Q_DECL_EXPORT
|
# define ADDRESSBOOKSHARED_EXPORT Q_DECL_EXPORT
|
||||||
@@ -9,4 +10,12 @@
|
|||||||
# define ADDRESSBOOKSHARED_EXPORT Q_DECL_IMPORT
|
# define ADDRESSBOOKSHARED_EXPORT Q_DECL_IMPORT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef ADDRESSBOOK_LIBRARY
|
||||||
|
#define QX_REGISTER_HPP_ADDR QX_REGISTER_HPP_EXPORT_DLL
|
||||||
|
#define QX_REGISTER_CPP_ADDR QX_REGISTER_CPP_EXPORT_DLL
|
||||||
|
#else // ADDRESSBOOK_LIBRARY
|
||||||
|
#define QX_REGISTER_HPP_ADDR QX_REGISTER_HPP_IMPORT_DLL
|
||||||
|
#define QX_REGISTER_CPP_ADDR QX_REGISTER_CPP_IMPORT_DLL
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // ADDRESSBOOK_GLOBAL_H
|
#endif // ADDRESSBOOK_GLOBAL_H
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
|
#include <data/countrydata.h>
|
||||||
#include "addressbookform.h"
|
#include "addressbookform.h"
|
||||||
#include "ui_addressbookform.h"
|
#include "ui_addressbookform.h"
|
||||||
#include <countrydata.h>
|
#include <data/countrydata.h>
|
||||||
|
|
||||||
AddressbookForm::AddressbookForm(QWidget *parent) :
|
AddressbookForm::AddressbookForm(QWidget *parent) :
|
||||||
AutoForm<AddressbookData>(parent),
|
AutoForm<AddressbookData>(parent),
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <autoform.h>
|
#include <autoform.h>
|
||||||
#include "data/addressbookdata.h"
|
#include "data/addressbookdata.h"
|
||||||
#include "addressbook-odb.hxx"
|
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class AddressbookForm;
|
class AddressbookForm;
|
||||||
@@ -16,14 +15,14 @@ class AddressbookForm : public AutoForm<AddressbookData>
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
explicit AddressbookForm(QWidget *parent = 0);
|
explicit AddressbookForm(QWidget *parent = 0);
|
||||||
~AddressbookForm();
|
~AddressbookForm() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::AddressbookForm *ui;
|
Ui::AddressbookForm *ui;
|
||||||
|
|
||||||
// FormBinder interface
|
// FormBinder interface
|
||||||
protected:
|
protected:
|
||||||
void registerCombos();
|
void registerCombos() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,14 +6,17 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>610</width>
|
<width>624</width>
|
||||||
<height>407</height>
|
<height>363</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Form</string>
|
<string>Form</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QFormLayout" name="formLayout">
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<property name="fieldGrowthPolicy">
|
||||||
|
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
||||||
|
</property>
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="label">
|
<widget class="QLabel" name="label">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
#include <core.h>
|
#include <core.h>
|
||||||
#include "data/addressbookdata.h"
|
#include "data/addressbookdata.h"
|
||||||
#include "addressbook-odb.hxx"
|
|
||||||
|
|
||||||
class AddressbookGrid : public GridForm<AddressbookData>
|
class AddressbookGrid : public GridForm<AddressbookData>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
#include <service.h>
|
#include <service.h>
|
||||||
#include "addressbookservice.h"
|
#include "addressbookservice.h"
|
||||||
#include "addressbook-odb.hxx"
|
|
||||||
|
|
||||||
AddressBookService::AddressBookService()
|
AddressBookService::AddressBookService()
|
||||||
{
|
{
|
||||||
@@ -24,7 +23,7 @@ AddressbookDataPtr AddressBookService::copyAddress(AddressbookDataPtr address)
|
|||||||
newAddress->setAddressHouseNumber(address->addressHouseNumber());
|
newAddress->setAddressHouseNumber(address->addressHouseNumber());
|
||||||
newAddress->setAddressZipCode(address->addressZipCode());
|
newAddress->setAddressZipCode(address->addressZipCode());
|
||||||
newAddress->setAddressCity(address->addressCity());
|
newAddress->setAddressCity(address->addressCity());
|
||||||
newAddress->setCountry(address->country());
|
//newAddress->setCountry(address->country());
|
||||||
|
|
||||||
return newAddress;
|
return newAddress;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,26 @@
|
|||||||
|
#include <data/countrydata.h>
|
||||||
#include "addressbookdata.h"
|
#include "addressbookdata.h"
|
||||||
|
|
||||||
|
QX_REGISTER_CPP_ADDR(AddressbookData)
|
||||||
|
|
||||||
|
namespace qx {
|
||||||
|
template<> void register_class(QxClass<AddressbookData>& t) {
|
||||||
|
t.setName("AddressbookData");
|
||||||
|
t.id(&AddressbookData::m_id, "id");
|
||||||
|
t.data(&AddressbookData::m_title, "title");
|
||||||
|
t.data(&AddressbookData::m_firstName, "firstName");
|
||||||
|
t.data(&AddressbookData::m_lastName, "lastName");
|
||||||
|
t.data(&AddressbookData::m_birthDate, "birthDate");
|
||||||
|
t.data(&AddressbookData::m_idCardNumber, "idCardNumber");
|
||||||
|
t.data(&AddressbookData::m_ztp, "ztp");
|
||||||
|
t.data(&AddressbookData::m_addressCity, "addressCity");
|
||||||
|
t.data(&AddressbookData::m_addressHouseNumber, "addressHouseNumber");
|
||||||
|
t.data(&AddressbookData::m_addressZipCode, "addressZipCode");
|
||||||
|
|
||||||
|
t.relationManyToOne(&AddressbookData::m_country, "country");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
AddressbookData::AddressbookData(QObject * parent)
|
AddressbookData::AddressbookData(QObject * parent)
|
||||||
:ComboItem(parent)
|
:ComboItem(parent)
|
||||||
{
|
{
|
||||||
@@ -96,12 +117,12 @@ void AddressbookData::setAddressZipCode(const QString &addressZipCode)
|
|||||||
{
|
{
|
||||||
m_addressZipCode = addressZipCode;
|
m_addressZipCode = addressZipCode;
|
||||||
}
|
}
|
||||||
int AddressbookData::id() const
|
long AddressbookData::id() const
|
||||||
{
|
{
|
||||||
return m_id;
|
return m_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddressbookData::setId(int id)
|
void AddressbookData::setId(long id)
|
||||||
{
|
{
|
||||||
m_id = id;
|
m_id = id;
|
||||||
}
|
}
|
||||||
@@ -122,7 +143,7 @@ void AddressbookData::setCountry(const QSharedPointer<QObject> &country)
|
|||||||
bool AddressbookData::eq(ComboItem *other)
|
bool AddressbookData::eq(ComboItem *other)
|
||||||
{
|
{
|
||||||
AddressbookData *adb = qobject_cast<AddressbookData*>(other);
|
AddressbookData *adb = qobject_cast<AddressbookData*>(other);
|
||||||
return adb != NULL && adb->id() == this->id();
|
return adb != nullptr && adb->id() == this->id();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString AddressbookData::toString()
|
QString AddressbookData::toString()
|
||||||
@@ -130,4 +151,8 @@ QString AddressbookData::toString()
|
|||||||
return m_lastName + " " + m_firstName + ", " + m_addressStreet + " " + m_addressHouseNumber + ", " + m_addressCity;
|
return m_lastName + " " + m_firstName + ", " + m_addressStreet + " " + m_addressHouseNumber + ", " + m_addressCity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList AddressbookData::eagerLoad() {
|
||||||
|
return { "country" };
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,26 +1,22 @@
|
|||||||
#ifndef ADDRESSBOOKDATA_H
|
#ifndef ADDRESSBOOKDATA_H
|
||||||
#define ADDRESSBOOKDATA_H
|
#define ADDRESSBOOKDATA_H
|
||||||
|
|
||||||
|
#include "../addressbook_global.h"
|
||||||
|
#include <data/comboitem.h>
|
||||||
|
#include <data/countrydata.h>
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QDate>
|
#include <QDate>
|
||||||
#include <odb/core.hxx>
|
|
||||||
#include <QtCore/qglobal.h>
|
#include <QtCore/qglobal.h>
|
||||||
#include <QSharedPointer>
|
#include <QSharedPointer>
|
||||||
|
|
||||||
#include <data/comboitem.h>
|
#include <QxOrm.h>
|
||||||
#include <countrydata.h>
|
|
||||||
|
|
||||||
#if defined(ADDRESSBOOK_LIBRARY)
|
|
||||||
# define ADDRESSBOOKSHARED_EXPORT Q_DECL_EXPORT
|
|
||||||
#else
|
|
||||||
# define ADDRESSBOOKSHARED_EXPORT Q_DECL_IMPORT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#pragma db object
|
|
||||||
class ADDRESSBOOKSHARED_EXPORT AddressbookData : public ComboItem
|
class ADDRESSBOOKSHARED_EXPORT AddressbookData : public ComboItem
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
QX_REGISTER_FRIEND_CLASS(AddressbookData)
|
||||||
Q_PROPERTY(QString title READ title WRITE setTitle)
|
Q_PROPERTY(QString title READ title WRITE setTitle)
|
||||||
Q_PROPERTY(QString firstName READ firstName WRITE setFirstName)
|
Q_PROPERTY(QString firstName READ firstName WRITE setFirstName)
|
||||||
Q_PROPERTY(QString lastName READ lastName WRITE setLastName)
|
Q_PROPERTY(QString lastName READ lastName WRITE setLastName)
|
||||||
@@ -35,6 +31,7 @@ class ADDRESSBOOKSHARED_EXPORT AddressbookData : public ComboItem
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
AddressbookData(QObject *parent = 0);
|
AddressbookData(QObject *parent = 0);
|
||||||
|
|
||||||
QString title() const;
|
QString title() const;
|
||||||
void setTitle(const QString &title);
|
void setTitle(const QString &title);
|
||||||
|
|
||||||
@@ -65,16 +62,16 @@ public:
|
|||||||
QString addressZipCode() const;
|
QString addressZipCode() const;
|
||||||
void setAddressZipCode(const QString &addressZipCode);
|
void setAddressZipCode(const QString &addressZipCode);
|
||||||
|
|
||||||
int id() const;
|
long id() const;
|
||||||
void setId(int id);
|
void setId(long id);
|
||||||
|
|
||||||
QSharedPointer<QObject> country() const;
|
QSharedPointer<QObject> country() const;
|
||||||
void setCountry(const QSharedPointer<QObject> &country);
|
void setCountry(const QSharedPointer<QObject> &country);
|
||||||
|
|
||||||
|
Q_INVOKABLE QStringList eagerLoad();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class odb::access;
|
long m_id{0};
|
||||||
#pragma db id auto
|
|
||||||
int m_id;
|
|
||||||
QString m_title;
|
QString m_title;
|
||||||
QString m_firstName;
|
QString m_firstName;
|
||||||
QString m_lastName;
|
QString m_lastName;
|
||||||
@@ -89,10 +86,12 @@ private:
|
|||||||
|
|
||||||
// ComboItem interface
|
// ComboItem interface
|
||||||
public:
|
public:
|
||||||
virtual bool eq(ComboItem *other);
|
bool eq(ComboItem *other) override;
|
||||||
virtual QString toString();
|
QString toString() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef QSharedPointer<AddressbookData> AddressbookDataPtr;
|
typedef QSharedPointer<AddressbookData> AddressbookDataPtr;
|
||||||
|
|
||||||
|
QX_REGISTER_HPP_ADDR(AddressbookData, ComboItem, 0)
|
||||||
|
|
||||||
#endif // ADDRESSBOOKDATA_H
|
#endif // ADDRESSBOOKDATA_H
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.24)
|
||||||
|
project(prodejna)
|
||||||
|
|
||||||
|
include(../3rdparty/QxOrm/QxOrm.cmake)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
set(CMAKE_AUTORCC ON)
|
||||||
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
|
||||||
|
find_package(Qt6 COMPONENTS
|
||||||
|
Core
|
||||||
|
Gui
|
||||||
|
Widgets
|
||||||
|
Sql
|
||||||
|
Qml
|
||||||
|
REQUIRED)
|
||||||
|
|
||||||
|
include_directories(../core)
|
||||||
|
|
||||||
|
add_executable(prodejna
|
||||||
|
main.cpp
|
||||||
|
appRc.qrc
|
||||||
|
application.cpp
|
||||||
|
application.h
|
||||||
|
logindialog.cpp
|
||||||
|
logindialog.h
|
||||||
|
logindialog.ui
|
||||||
|
mainwindow.cpp
|
||||||
|
mainwindow.h
|
||||||
|
mainwindow.ui
|
||||||
|
shop.rc
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(prodejna
|
||||||
|
Qt::Core
|
||||||
|
Qt::Gui
|
||||||
|
Qt::Widgets
|
||||||
|
Qt::Sql
|
||||||
|
Qt::Qml
|
||||||
|
core
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||||
|
set_property(TARGET prodejna PROPERTY WIN32_EXECUTABLE true)
|
||||||
|
endif()
|
||||||
@@ -1,92 +0,0 @@
|
|||||||
#-------------------------------------------------
|
|
||||||
#
|
|
||||||
# Project created by QtCreator 2015-10-28T15:23:55
|
|
||||||
#
|
|
||||||
#-------------------------------------------------
|
|
||||||
|
|
||||||
QT += core gui sql
|
|
||||||
|
|
||||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
|
||||||
|
|
||||||
TARGET = prodejna
|
|
||||||
TEMPLATE = app
|
|
||||||
|
|
||||||
DEFINES += _GLIBCXX_USE_CXX11_ABI=1
|
|
||||||
|
|
||||||
CONFIG += c++11
|
|
||||||
|
|
||||||
include(../config_odb.pri)
|
|
||||||
|
|
||||||
win32 {
|
|
||||||
INCLUDEPATH += $$ODB_INCLUDE_PREFIX/libodb-2.4.0
|
|
||||||
INCLUDEPATH += $$ODB_INCLUDE_PREFIX/libodb-qt-2.4.0
|
|
||||||
INCLUDEPATH += $$ODB_INCLUDE_PREFIX/libodb-sqlite-2.4.0
|
|
||||||
INCLUDEPATH += $$ODB_INCLUDE_PREFIX/sqlite
|
|
||||||
|
|
||||||
RC_FILE = shop.rc
|
|
||||||
}
|
|
||||||
|
|
||||||
SOURCES += main.cpp\
|
|
||||||
mainwindow.cpp \
|
|
||||||
logindialog.cpp \
|
|
||||||
application.cpp
|
|
||||||
|
|
||||||
HEADERS += mainwindow.h \
|
|
||||||
logindialog.h \
|
|
||||||
application.h
|
|
||||||
|
|
||||||
FORMS += mainwindow.ui \
|
|
||||||
logindialog.ui
|
|
||||||
|
|
||||||
|
|
||||||
unix{
|
|
||||||
ARCH_TYPE = unix
|
|
||||||
macx{
|
|
||||||
ARCH_TYPE = macx
|
|
||||||
}
|
|
||||||
linux{
|
|
||||||
!contains(QT_ARCH, x86_64){
|
|
||||||
ARCH_TYPE = linux32
|
|
||||||
}else{
|
|
||||||
ARCH_TYPE = linux64
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
unix {
|
|
||||||
QMAKE_CXXFLAGS += -Wno-unknown-pragmas
|
|
||||||
|
|
||||||
CONFIG(debug, debug|release) {
|
|
||||||
LIBS += -L$$PWD/../../LimeReport/build/$${QT_VERSION}/$${ARCH_TYPE}/debug/lib/ -llimereport -lQtZint
|
|
||||||
#QMAKE_CXXFLAGS += -Wl,-rpath-link,$$PWD/../../LimeReport/build/$${QT_VERSION}/$${ARCH_TYPE}/debug/lib/
|
|
||||||
} else {
|
|
||||||
LIBS += -L$$PWD/../../LimeReport/build/$${QT_VERSION}/$${ARCH_TYPE}/release/lib/ -llimereport -lQtZint
|
|
||||||
#QMAKE_CXXFLAGS += -Wl,-rpath-link,$$PWD/../../LimeReport/build/$${QT_VERSION}/$${ARCH_TYPE}/release/lib/
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
win32 {
|
|
||||||
QMAKE_CXXFLAGS += -wd4995 -wd4068
|
|
||||||
}
|
|
||||||
|
|
||||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../core/release/ -lcore
|
|
||||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../core/debug/ -lcore
|
|
||||||
else:unix: LIBS += -L$$OUT_PWD/../core/ -lcore
|
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../core
|
|
||||||
DEPENDPATH += $$PWD/../core
|
|
||||||
|
|
||||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../qdecimal/lib/ -lqdecimal -ldecnumber
|
|
||||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../qdecimal/lib/ -lqdecimal -ldecnumber
|
|
||||||
else:unix: LIBS += -L$$OUT_PWD/../qdecimal/lib/ -lqdecimal -ldecnumber
|
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../qdecimal/src
|
|
||||||
INCLUDEPATH += $$PWD/../qdecimal/decnumber
|
|
||||||
|
|
||||||
RESOURCES += \
|
|
||||||
appRc.qrc
|
|
||||||
|
|
||||||
TRANSLATIONS = translations/prodejna_cs_CZ.ts
|
|
||||||
|
|
||||||
DISTFILES += \
|
|
||||||
shop.rc
|
|
||||||
@@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>408</width>
|
<width>427</width>
|
||||||
<height>220</height>
|
<height>260</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@@ -64,6 +64,9 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QWidget" name="widget_2" native="true">
|
<widget class="QWidget" name="widget_2" native="true">
|
||||||
<layout class="QFormLayout" name="formLayout">
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<property name="fieldGrowthPolicy">
|
||||||
|
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
||||||
|
</property>
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="label_2">
|
<widget class="QLabel" name="label_2">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
|||||||
+10
-6
@@ -1,6 +1,7 @@
|
|||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QDesktopWidget>
|
//#include <QDesktopWidget>
|
||||||
|
#include <QSharedPointer>
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
#include <QLibraryInfo>
|
#include <QLibraryInfo>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
@@ -17,7 +18,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
if (!a.lock())
|
if (!a.lock())
|
||||||
{
|
{
|
||||||
QMessageBox::warning(NULL, "Prodejna is running", "Prodejna is allready running. Only one instance can be started.");
|
QMessageBox::warning(nullptr, "Prodejna is running", "Prodejna is allready running. Only one instance can be started.");
|
||||||
return -42;
|
return -42;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,16 +35,19 @@ int main(int argc, char *argv[])
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
QTranslator qtTranslator;
|
QTranslator qtTranslator;
|
||||||
qtTranslator.load("qt_" + QLocale::system().name(),
|
if (qtTranslator.load("qt_" + QLocale::system().name(),
|
||||||
QLibraryInfo::location(QLibraryInfo::TranslationsPath));
|
QLibraryInfo::path(QLibraryInfo::TranslationsPath))) {
|
||||||
|
qDebug() << "Cannot load translation";
|
||||||
|
}
|
||||||
a.installTranslator(&qtTranslator);
|
a.installTranslator(&qtTranslator);
|
||||||
|
|
||||||
QTranslator myappTranslator;
|
QTranslator myappTranslator;
|
||||||
myappTranslator.load(":/translations/prodejna_" + QLocale::system().name());
|
if (myappTranslator.load(":/translations/prodejna_" + QLocale::system().name())) {
|
||||||
|
qDebug() << "Cannot load translation";
|
||||||
|
}
|
||||||
a.installTranslator(&myappTranslator);
|
a.installTranslator(&myappTranslator);
|
||||||
|
|
||||||
MainWindow w;
|
MainWindow w;
|
||||||
w.move(QApplication::desktop()->screen()->rect().center() - w.rect().center());
|
|
||||||
w.showMaximized();
|
w.showMaximized();
|
||||||
|
|
||||||
return a.exec();
|
return a.exec();
|
||||||
|
|||||||
+13
-13
@@ -8,6 +8,7 @@
|
|||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent) :
|
MainWindow::MainWindow(QWidget *parent) :
|
||||||
QMainWindow(parent),
|
QMainWindow(parent),
|
||||||
@@ -61,11 +62,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
((QVBoxLayout*)ui->navigation->layout())->addStretch(1);
|
((QVBoxLayout*)ui->navigation->layout())->addStretch(1);
|
||||||
|
ui->navigation->setEnabled(true);
|
||||||
if (Context::instance().db() != NULL)
|
|
||||||
{
|
|
||||||
ui->navigation->setEnabled(true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWindow::~MainWindow()
|
MainWindow::~MainWindow()
|
||||||
@@ -89,7 +86,7 @@ void MainWindow::openPlugin()
|
|||||||
|
|
||||||
void MainWindow::on_actionOpen_database_triggered()
|
void MainWindow::on_actionOpen_database_triggered()
|
||||||
{
|
{
|
||||||
closaAllTabs();
|
closeAllTabs();
|
||||||
closeDashboard();
|
closeDashboard();
|
||||||
|
|
||||||
QString dbFile = QFileDialog::getOpenFileName(this, "Open Database", "", "Database Files (*.db)");
|
QString dbFile = QFileDialog::getOpenFileName(this, "Open Database", "", "Database Files (*.db)");
|
||||||
@@ -116,7 +113,7 @@ void MainWindow::on_tabWidget_tabCloseRequested(int index)
|
|||||||
|
|
||||||
void MainWindow::on_actionLogin_triggered()
|
void MainWindow::on_actionLogin_triggered()
|
||||||
{
|
{
|
||||||
closaAllTabs();
|
closeAllTabs();
|
||||||
closeDashboard();
|
closeDashboard();
|
||||||
|
|
||||||
QSharedPointer<User> u;
|
QSharedPointer<User> u;
|
||||||
@@ -128,7 +125,7 @@ void MainWindow::on_actionLogin_triggered()
|
|||||||
void MainWindow::showEvent(QShowEvent *evt)
|
void MainWindow::showEvent(QShowEvent *evt)
|
||||||
{
|
{
|
||||||
QWidget::showEvent(evt);
|
QWidget::showEvent(evt);
|
||||||
if (Context::instance().db() != NULL && Context::instance().currentUser().data() == NULL)
|
if (Context::instance().dbOpened() && Context::instance().currentUser().data() == nullptr)
|
||||||
{
|
{
|
||||||
m_loginDialog->show();
|
m_loginDialog->show();
|
||||||
}
|
}
|
||||||
@@ -150,7 +147,7 @@ void MainWindow::on_actionPost_register_triggered()
|
|||||||
{
|
{
|
||||||
IPlugin *plugZipCodes = Context::instance().plugin("POSTREGISTER");
|
IPlugin *plugZipCodes = Context::instance().plugin("POSTREGISTER");
|
||||||
|
|
||||||
if (plugZipCodes != NULL)
|
if (plugZipCodes != nullptr)
|
||||||
{
|
{
|
||||||
openPlugin(plugZipCodes);
|
openPlugin(plugZipCodes);
|
||||||
}
|
}
|
||||||
@@ -160,6 +157,9 @@ void MainWindow::openPlugin(IPlugin *plugin)
|
|||||||
{
|
{
|
||||||
ui->tabWidget->setVisible(true);
|
ui->tabWidget->setVisible(true);
|
||||||
ui->dashboard->setVisible(false);
|
ui->dashboard->setVisible(false);
|
||||||
|
#ifdef Q_OS_MAC
|
||||||
|
ui->tabWidget->setStyleSheet("QTabBar::tab { width: 150px; }");
|
||||||
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < ui->tabWidget->count(); i++) {
|
for (int i = 0; i < ui->tabWidget->count(); i++) {
|
||||||
if (ui->tabWidget->widget(i)->objectName() == plugin->pluginId()) {
|
if (ui->tabWidget->widget(i)->objectName() == plugin->pluginId()) {
|
||||||
@@ -168,7 +168,7 @@ void MainWindow::openPlugin(IPlugin *plugin)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (plugin->ui() != NULL)
|
if (plugin->ui() != nullptr)
|
||||||
{
|
{
|
||||||
ui->tabWidget->addTab(plugin->ui(), plugin->pluginIcon(), plugin->pluginName());
|
ui->tabWidget->addTab(plugin->ui(), plugin->pluginIcon(), plugin->pluginName());
|
||||||
ui->tabWidget->widget(ui->tabWidget->count() - 1)->setObjectName(plugin->pluginId());
|
ui->tabWidget->widget(ui->tabWidget->count() - 1)->setObjectName(plugin->pluginId());
|
||||||
@@ -180,7 +180,7 @@ void MainWindow::on_actionCountry_register_triggered()
|
|||||||
{
|
{
|
||||||
IPlugin *plugCountryReg = Context::instance().plugin("COUNTRYREGISTER");
|
IPlugin *plugCountryReg = Context::instance().plugin("COUNTRYREGISTER");
|
||||||
|
|
||||||
if (plugCountryReg != NULL)
|
if (plugCountryReg != nullptr)
|
||||||
{
|
{
|
||||||
openPlugin(plugCountryReg);
|
openPlugin(plugCountryReg);
|
||||||
}
|
}
|
||||||
@@ -236,7 +236,7 @@ void MainWindow::refreshDashboard()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::closaAllTabs()
|
void MainWindow::closeAllTabs()
|
||||||
{
|
{
|
||||||
ui->tabWidget->setVisible(false);
|
ui->tabWidget->setVisible(false);
|
||||||
ui->dashboard->setVisible(true);
|
ui->dashboard->setVisible(true);
|
||||||
@@ -256,5 +256,5 @@ void MainWindow::on_actionAbout_Qt_triggered()
|
|||||||
|
|
||||||
void MainWindow::on_actionAbout_triggered()
|
void MainWindow::on_actionAbout_triggered()
|
||||||
{
|
{
|
||||||
QMessageBox::about(this, tr("About prodejna"), tr("Modular cash register software under GPL license.\n(C) 2015 - 2017 Josef Rokos, Zdenek Jonák"));
|
QMessageBox::about(this, tr("About prodejna"), tr("Modular cash register software under GPL license.\n(C) 2015 - 2023 Josef Rokos, Zdenek Jonák"));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,11 +53,11 @@ private:
|
|||||||
void closeDashboard();
|
void closeDashboard();
|
||||||
void openDashboard();
|
void openDashboard();
|
||||||
void refreshDashboard();
|
void refreshDashboard();
|
||||||
void closaAllTabs();
|
void closeAllTabs();
|
||||||
|
|
||||||
// QWidget interface
|
// QWidget interface
|
||||||
protected:
|
protected:
|
||||||
void showEvent(QShowEvent *evt);
|
void showEvent(QShowEvent *evt) override;
|
||||||
void closeEvent(QCloseEvent *evt) override;
|
void closeEvent(QCloseEvent *evt) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -117,9 +117,9 @@
|
|||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="2" column="0">
|
||||||
<widget class="QLabel" name="label_2">
|
<widget class="QLabel" name="labelVersion">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Prodejna 2.0</string>
|
<string>Prodejna 3.0</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignCenter</set>
|
<set>Qt::AlignCenter</set>
|
||||||
@@ -137,7 +137,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1000</width>
|
<width>1000</width>
|
||||||
<height>20</height>
|
<height>21</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QMenu" name="menuFile">
|
<widget class="QMenu" name="menuFile">
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#navigation QToolButton {
|
#navigation QToolButton {
|
||||||
|
background-color: dimgray;
|
||||||
color: white;
|
color: white;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
min-width: 90px;
|
min-width: 90px;
|
||||||
@@ -23,5 +24,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#dashboard {
|
#dashboard {
|
||||||
background-color: qlineargradient(spread:pad, x1:0.507, y1:1, x2:0.518, y2:0.291, stop:0 rgba(83, 145, 169, 255), stop:1 rgba(255, 255, 255, 255));
|
background-color: qlineargradient(spread:pad, x1:0.507, y1:1, x2:0.518, y2:0.291, stop:0 rgba(83, 145, 169, 255), stop:1 rgba(255, 255, 255, 255));;
|
||||||
|
}
|
||||||
|
|
||||||
|
#dashboard QLabel {
|
||||||
|
color: black;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,85 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.24)
|
||||||
|
project(camp)
|
||||||
|
|
||||||
|
include(../3rdparty/QxOrm/QxOrm.cmake)
|
||||||
|
|
||||||
|
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ../plugins)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
set(CMAKE_AUTORCC ON)
|
||||||
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
|
||||||
|
find_package(Qt6 COMPONENTS
|
||||||
|
Core
|
||||||
|
Gui
|
||||||
|
Widgets
|
||||||
|
Qml
|
||||||
|
REQUIRED)
|
||||||
|
|
||||||
|
add_library(camp SHARED
|
||||||
|
addservicedialog.cpp
|
||||||
|
addservicedialog.h
|
||||||
|
addservicedialog.ui
|
||||||
|
camp.cpp
|
||||||
|
camp.h
|
||||||
|
camp_global.h
|
||||||
|
campform.cpp
|
||||||
|
campform.h
|
||||||
|
campform.ui
|
||||||
|
campgrid.cpp
|
||||||
|
campgrid.h
|
||||||
|
camprc.qrc
|
||||||
|
campseller.cpp
|
||||||
|
campseller.h
|
||||||
|
campservice.cpp
|
||||||
|
campservice.h
|
||||||
|
campshopitem.cpp
|
||||||
|
campshopitem.h
|
||||||
|
campwizard.cpp
|
||||||
|
campwizard.h
|
||||||
|
campwizard.ui
|
||||||
|
detailwidget.cpp
|
||||||
|
detailwidget.h
|
||||||
|
detailwidget.ui
|
||||||
|
data/addressitem.cpp
|
||||||
|
data/addressitem.h
|
||||||
|
data/camp-data.h
|
||||||
|
data/campdata.cpp
|
||||||
|
data/campdata.h
|
||||||
|
data/personprice.cpp
|
||||||
|
data/personprice.h
|
||||||
|
data/sale.cpp
|
||||||
|
data/sale.h
|
||||||
|
data/serviceitem.cpp
|
||||||
|
data/serviceitem.h
|
||||||
|
settings/campsettings.cpp
|
||||||
|
settings/campsettings.h
|
||||||
|
settings/campsettingsform.cpp
|
||||||
|
settings/campsettingsform.h
|
||||||
|
settings/campsettingsform.ui)
|
||||||
|
|
||||||
|
target_compile_definitions(camp PRIVATE -DCAMP_LIBRARY)
|
||||||
|
|
||||||
|
include_directories(../core)
|
||||||
|
include_directories(../countryregister
|
||||||
|
../addressbook
|
||||||
|
../services
|
||||||
|
../shop)
|
||||||
|
|
||||||
|
target_link_libraries(camp
|
||||||
|
Qt::Core
|
||||||
|
Qt::Gui
|
||||||
|
Qt::Widgets
|
||||||
|
Qt::Qml
|
||||||
|
qdecimal
|
||||||
|
decnumber
|
||||||
|
QxOrm
|
||||||
|
core
|
||||||
|
addressbook
|
||||||
|
services
|
||||||
|
shop
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS addressbook
|
||||||
|
LIBRARY DESTINATION ../plugins)
|
||||||
@@ -14,8 +14,8 @@ class AddServiceDialog : public QDialog
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit AddServiceDialog(AccServicePtr service, QWidget *parent = 0);
|
explicit AddServiceDialog(AccServicePtr service, QWidget *parent = nullptr);
|
||||||
~AddServiceDialog();
|
~AddServiceDialog() override;
|
||||||
|
|
||||||
QString description();
|
QString description();
|
||||||
QDecDouble price();
|
QDecDouble price();
|
||||||
|
|||||||
@@ -5,10 +5,6 @@
|
|||||||
#include "campservice.h"
|
#include "campservice.h"
|
||||||
#include "settings/campsettingsform.h"
|
#include "settings/campsettingsform.h"
|
||||||
|
|
||||||
Camp::Camp()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void Camp::initServiceUi()
|
void Camp::initServiceUi()
|
||||||
{
|
{
|
||||||
m_service = new CampService();
|
m_service = new CampService();
|
||||||
|
|||||||
+4
-4
@@ -14,16 +14,16 @@ class CAMPSHARED_EXPORT Camp : public QObject, IMetaDataPlugin
|
|||||||
Q_INTERFACES(IPlugin)
|
Q_INTERFACES(IPlugin)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Camp();
|
Camp() = default;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void initServiceUi() Q_DECL_OVERRIDE;
|
void initServiceUi() Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
// IPlugin interface
|
// IPlugin interface
|
||||||
public:
|
public:
|
||||||
virtual QIcon pluginIcon();
|
QIcon pluginIcon() override;
|
||||||
QTranslator *translator();
|
QTranslator *translator() override;
|
||||||
bool hasNumberSeries();
|
bool hasNumberSeries() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CAMP_H
|
#endif // CAMP_H
|
||||||
|
|||||||
-110
@@ -1,110 +0,0 @@
|
|||||||
#-------------------------------------------------
|
|
||||||
#
|
|
||||||
# Project created by QtCreator 2017-04-19T09:20:32
|
|
||||||
#
|
|
||||||
#-------------------------------------------------
|
|
||||||
|
|
||||||
QT += widgets sql
|
|
||||||
|
|
||||||
TARGET = camp
|
|
||||||
TEMPLATE = lib
|
|
||||||
|
|
||||||
DEFINES += CAMP_LIBRARY
|
|
||||||
|
|
||||||
# The following define makes your compiler emit warnings if you use
|
|
||||||
# any feature of Qt which as been marked as deprecated (the exact warnings
|
|
||||||
# depend on your compiler). Please consult the documentation of the
|
|
||||||
# deprecated API in order to know how to port your code away from it.
|
|
||||||
DEFINES += QT_DEPRECATED_WARNINGS
|
|
||||||
|
|
||||||
# You can also make your code fail to compile if you use deprecated APIs.
|
|
||||||
# In order to do so, uncomment the following line.
|
|
||||||
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
|
||||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
|
||||||
|
|
||||||
SOURCES += camp.cpp \
|
|
||||||
data/campdata.cpp \
|
|
||||||
data/addressitem.cpp \
|
|
||||||
data/serviceitem.cpp \
|
|
||||||
campgrid.cpp \
|
|
||||||
campform.cpp \
|
|
||||||
data/sale.cpp \
|
|
||||||
settings/campsettingsform.cpp \
|
|
||||||
data/personprice.cpp \
|
|
||||||
settings/campsettings.cpp \
|
|
||||||
campwizard.cpp \
|
|
||||||
campservice.cpp \
|
|
||||||
addservicedialog.cpp \
|
|
||||||
campshopitem.cpp \
|
|
||||||
campseller.cpp \
|
|
||||||
detailwidget.cpp
|
|
||||||
|
|
||||||
HEADERS += camp.h\
|
|
||||||
camp_global.h \
|
|
||||||
data/campdata.h \
|
|
||||||
data/addressitem.h \
|
|
||||||
data/serviceitem.h \
|
|
||||||
data/camp-data.h \
|
|
||||||
campgrid.h \
|
|
||||||
campform.h \
|
|
||||||
data/sale.h \
|
|
||||||
settings/campsettingsform.h \
|
|
||||||
data/personprice.h \
|
|
||||||
settings/campsettings.h \
|
|
||||||
campwizard.h \
|
|
||||||
campservice.h \
|
|
||||||
addservicedialog.h \
|
|
||||||
campshopitem.h \
|
|
||||||
campseller.h \
|
|
||||||
detailwidget.h
|
|
||||||
|
|
||||||
include(../config_plugin.pri)
|
|
||||||
|
|
||||||
ODB_FILES = camp/data/camp-data.h
|
|
||||||
H_DIR = $$PWD/data/*.h
|
|
||||||
ODB_OTHER_INCLUDES = -I $$PWD/../shop -I $$PWD/../addressbook/data -I $$PWD/../countryregister/data -I $$PWD/../services/data
|
|
||||||
include(../odb.pri)
|
|
||||||
|
|
||||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../plugins/ -lshop
|
|
||||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../plugins/ -lshop
|
|
||||||
else:unix: LIBS += -L$$OUT_PWD/../plugins/ -lshop
|
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../shop
|
|
||||||
DEPENDPATH += $$PWD/../shop
|
|
||||||
|
|
||||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../plugins/ -laddressbook
|
|
||||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../plugins/ -laddressbook
|
|
||||||
else:unix: LIBS += -L$$OUT_PWD/../plugins/ -laddressbook
|
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../addressbook
|
|
||||||
INCLUDEPATH += $$PWD/../addressbook/data
|
|
||||||
DEPENDPATH += $$PWD/../addressbook
|
|
||||||
|
|
||||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../plugins/ -lcountryregister
|
|
||||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../plugins/ -lcountryregister
|
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../countryregister/data
|
|
||||||
INCLUDEPATH += $$PWD/../countryregister
|
|
||||||
|
|
||||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../plugins/ -lservices
|
|
||||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../plugins/ -lservices
|
|
||||||
else:unix: LIBS += -L$$OUT_PWD/../plugins/ -lservices
|
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../services
|
|
||||||
INCLUDEPATH += $$PWD/../services/data
|
|
||||||
DEPENDPATH += $$PWD/../services
|
|
||||||
|
|
||||||
TRANSLATIONS = translations/camp_cs_CZ.ts
|
|
||||||
|
|
||||||
DISTFILES += \
|
|
||||||
camp.json
|
|
||||||
|
|
||||||
RESOURCES += \
|
|
||||||
camprc.qrc
|
|
||||||
|
|
||||||
FORMS += \
|
|
||||||
campform.ui \
|
|
||||||
settings/campsettingsform.ui \
|
|
||||||
campwizard.ui \
|
|
||||||
addservicedialog.ui \
|
|
||||||
detailwidget.ui
|
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
#define CAMP_GLOBAL_H
|
#define CAMP_GLOBAL_H
|
||||||
|
|
||||||
#include <QtCore/qglobal.h>
|
#include <QtCore/qglobal.h>
|
||||||
|
#include <QxOrm.h>
|
||||||
|
|
||||||
#if defined(CAMP_LIBRARY)
|
#if defined(CAMP_LIBRARY)
|
||||||
# define CAMPSHARED_EXPORT Q_DECL_EXPORT
|
# define CAMPSHARED_EXPORT Q_DECL_EXPORT
|
||||||
@@ -9,4 +10,12 @@
|
|||||||
# define CAMPSHARED_EXPORT Q_DECL_IMPORT
|
# define CAMPSHARED_EXPORT Q_DECL_IMPORT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CAMP_LIBRARY
|
||||||
|
#define QX_REGISTER_HPP_CAMP QX_REGISTER_HPP_EXPORT_DLL
|
||||||
|
#define QX_REGISTER_CPP_CAMP QX_REGISTER_CPP_EXPORT_DLL
|
||||||
|
#else // CAMP_LIBRARY
|
||||||
|
#define QX_REGISTER_HPP_CAMP QX_REGISTER_HPP_IMPORT_DLL
|
||||||
|
#define QX_REGISTER_CPP_CAMP QX_REGISTER_CPP_IMPORT_DLL
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // CAMP_GLOBAL_H
|
#endif // CAMP_GLOBAL_H
|
||||||
|
|||||||
+2
-3
@@ -4,7 +4,6 @@
|
|||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <core.h>
|
#include <core.h>
|
||||||
#include "data/camp-data.h"
|
#include "data/camp-data.h"
|
||||||
#include "camp-odb.hxx"
|
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class CampForm;
|
class CampForm;
|
||||||
@@ -15,8 +14,8 @@ class CampForm : public AutoForm<CampData>
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CampForm(QWidget *parent = 0);
|
explicit CampForm(QWidget *parent = nullptr);
|
||||||
~CampForm();
|
~CampForm() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::CampForm *ui;
|
Ui::CampForm *ui;
|
||||||
|
|||||||
+11
-8
@@ -13,7 +13,7 @@ CampGrid::CampGrid(QWidget *parent) : GridForm<CampData>(parent)
|
|||||||
|
|
||||||
QHBoxLayout *tbLayout = qobject_cast<QHBoxLayout*>(this->toolbar()->layout());
|
QHBoxLayout *tbLayout = qobject_cast<QHBoxLayout*>(this->toolbar()->layout());
|
||||||
|
|
||||||
if (tbLayout != NULL)
|
if (tbLayout != nullptr)
|
||||||
{
|
{
|
||||||
QToolButton *btnImport = new QToolButton(this->toolbar());
|
QToolButton *btnImport = new QToolButton(this->toolbar());
|
||||||
btnImport->setIcon(QIcon(":/icons/pay.svg"));
|
btnImport->setIcon(QIcon(":/icons/pay.svg"));
|
||||||
@@ -76,8 +76,10 @@ void CampGrid::handleEditRecord()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
CampService srv;
|
if (data->people().isEmpty() || data->services().isEmpty()) {
|
||||||
srv.loadItems(data);
|
CampService srv;
|
||||||
|
srv.load(data);
|
||||||
|
}
|
||||||
|
|
||||||
CampWizard *wizard = new CampWizard();
|
CampWizard *wizard = new CampWizard();
|
||||||
wizard->setAttribute(Qt::WA_DeleteOnClose);
|
wizard->setAttribute(Qt::WA_DeleteOnClose);
|
||||||
@@ -99,10 +101,10 @@ void CampGrid::doDelete(CampDataPtr entity)
|
|||||||
}
|
}
|
||||||
|
|
||||||
CampService srv;
|
CampService srv;
|
||||||
srv.eraseCamp(entity);
|
srv.erase(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampGrid::addToVoucher(CampDataPtr data)
|
void CampGrid::addToVoucher(const CampDataPtr& data)
|
||||||
{
|
{
|
||||||
if (data->onVoucher())
|
if (data->onVoucher())
|
||||||
{
|
{
|
||||||
@@ -123,7 +125,7 @@ void CampGrid::addToVoucher(CampDataPtr data)
|
|||||||
|
|
||||||
shopSrv.addShopItem(voucher, campItem, 1);
|
shopSrv.addShopItem(voucher, campItem, 1);
|
||||||
shopSrv.calculate(voucher);
|
shopSrv.calculate(voucher);
|
||||||
shopSrv.saveVoucher(voucher);
|
shopSrv.save(voucher);
|
||||||
|
|
||||||
data->setOnVoucher(true);
|
data->setOnVoucher(true);
|
||||||
|
|
||||||
@@ -143,7 +145,7 @@ void CampGrid::addToVoucher(CampDataPtr data)
|
|||||||
data->setOnVoucher(false);
|
data->setOnVoucher(false);
|
||||||
srvCamp.update(data);
|
srvCamp.update(data);
|
||||||
voucher->clearItems();
|
voucher->clearItems();
|
||||||
shopSrv.eraseVoucher(voucher);
|
shopSrv.erase(voucher);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,7 +153,8 @@ void CampGrid::currentIndexChanged(const QModelIndex ¤t)
|
|||||||
{
|
{
|
||||||
if (current.isValid())
|
if (current.isValid())
|
||||||
{
|
{
|
||||||
m_detail->setData(currentEntity());
|
auto current = currentEntity();
|
||||||
|
m_detail->setData(current);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+7
-8
@@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
#include <core.h>
|
#include <core.h>
|
||||||
#include "data/camp-data.h"
|
#include "data/camp-data.h"
|
||||||
#include "camp-odb.hxx"
|
|
||||||
|
|
||||||
#include "detailwidget.h"
|
#include "detailwidget.h"
|
||||||
|
|
||||||
@@ -11,29 +10,29 @@ class CampGrid : public GridForm<CampData>
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
CampGrid(QWidget *parent = NULL);
|
explicit CampGrid(QWidget *parent = nullptr);
|
||||||
|
|
||||||
// IGridForm interface
|
// IGridForm interface
|
||||||
protected:
|
protected:
|
||||||
void handleNewRecord();
|
void handleNewRecord() override;
|
||||||
void handleEditRecord();
|
void handleEditRecord() override;
|
||||||
|
|
||||||
// GridForm interface
|
// GridForm interface
|
||||||
protected:
|
protected:
|
||||||
void doDelete(CampDataPtr entity);
|
void doDelete(CampDataPtr entity) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void addToVoucher(CampDataPtr data);
|
void addToVoucher(const CampDataPtr& data);
|
||||||
DetailWidget *m_detail;
|
DetailWidget *m_detail;
|
||||||
|
|
||||||
|
|
||||||
// IGridForm interface
|
// IGridForm interface
|
||||||
protected:
|
protected:
|
||||||
void currentIndexChanged(const QModelIndex ¤t);
|
void currentIndexChanged(const QModelIndex ¤t) override;
|
||||||
|
|
||||||
// GridForm interface
|
// GridForm interface
|
||||||
protected:
|
protected:
|
||||||
virtual QList<CampDataPtr> listForGrid() override;
|
QList<CampDataPtr> listForGrid() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CAMPGRID_H
|
#endif // CAMPGRID_H
|
||||||
|
|||||||
+2
-2
@@ -7,11 +7,11 @@ class CampSeller : public ISeller
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit CampSeller(QObject *parent = 0);
|
explicit CampSeller(QObject *parent = nullptr);
|
||||||
|
|
||||||
// ISeller interface
|
// ISeller interface
|
||||||
public:
|
public:
|
||||||
void prepareItem();
|
void prepareItem() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CAMPSELLER_H
|
#endif // CAMPSELLER_H
|
||||||
|
|||||||
+29
-54
@@ -4,11 +4,7 @@
|
|||||||
#include <numberseriesservice.h>
|
#include <numberseriesservice.h>
|
||||||
#include "campshopitem.h"
|
#include "campshopitem.h"
|
||||||
#include "campseller.h"
|
#include "campseller.h"
|
||||||
#include <math.h>
|
#include <cmath>
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
double round(double value) { return value < 0 ? -std::floor(0.5 - value) : std::floor(0.5 + value); }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CampService::CampService()
|
CampService::CampService()
|
||||||
{
|
{
|
||||||
@@ -16,7 +12,7 @@ CampService::CampService()
|
|||||||
m_seller = new CampSeller(this);
|
m_seller = new CampSeller(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampService::addPerson(CampDataPtr data, AddressbookDataPtr address)
|
void CampService::addPerson(const CampDataPtr& data, const AddressbookDataPtr& address)
|
||||||
{
|
{
|
||||||
AddressItemPtr addrItem(new AddressItem);
|
AddressItemPtr addrItem(new AddressItem);
|
||||||
|
|
||||||
@@ -34,7 +30,7 @@ void CampService::addPerson(CampDataPtr data, AddressbookDataPtr address)
|
|||||||
data->addPerson(addrItem);
|
data->addPerson(addrItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampService::addService(CampDataPtr data, AccServicePtr service)
|
void CampService::addService(const CampDataPtr& data, const AccServicePtr& service)
|
||||||
{
|
{
|
||||||
ServiceItemPtr serviceItem(new ServiceItem);
|
ServiceItemPtr serviceItem(new ServiceItem);
|
||||||
|
|
||||||
@@ -47,14 +43,14 @@ void CampService::addService(CampDataPtr data, AccServicePtr service)
|
|||||||
data->addServiceItem(serviceItem);
|
data->addServiceItem(serviceItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampService::addService(CampDataPtr data, AccServicePtr service, QDecDouble price, QString description)
|
void CampService::addService(CampDataPtr data, AccServicePtr service, QDecDouble price, const QString& description)
|
||||||
{
|
{
|
||||||
ServiceItemPtr item = addServiceInt(data, service);
|
ServiceItemPtr item = addServiceInt(data, service);
|
||||||
item->setPrice(price);
|
item->setPrice(price);
|
||||||
item->setDescription(description);
|
item->setDescription(description);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampService::setOwner(CampDataPtr data, AddressItemPtr person)
|
void CampService::setOwner(const CampDataPtr& data, const AddressItemPtr& person)
|
||||||
{
|
{
|
||||||
foreach (AddressItemPtr p, data->people()) {
|
foreach (AddressItemPtr p, data->people()) {
|
||||||
p->setOwner(false);
|
p->setOwner(false);
|
||||||
@@ -76,7 +72,7 @@ CampDataPtr CampService::create()
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampService::calculate(CampDataPtr data)
|
void CampService::calculate(const CampDataPtr& data)
|
||||||
{
|
{
|
||||||
SettingsService srv("CAMP");
|
SettingsService srv("CAMP");
|
||||||
m_settings = srv.loadSettings<CampSettings>();
|
m_settings = srv.loadSettings<CampSettings>();
|
||||||
@@ -86,7 +82,7 @@ void CampService::calculate(CampDataPtr data)
|
|||||||
calcPrice(data);
|
calcPrice(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampService::saveCamp(CampDataPtr data)
|
void CampService::saveCamp(const CampDataPtr& data)
|
||||||
{
|
{
|
||||||
if (!checkPermission(PERM_ADD))
|
if (!checkPermission(PERM_ADD))
|
||||||
{
|
{
|
||||||
@@ -97,39 +93,16 @@ void CampService::saveCamp(CampDataPtr data)
|
|||||||
SeasonPtr season = seasonSrv.active();
|
SeasonPtr season = seasonSrv.active();
|
||||||
data->setSeason(season);
|
data->setSeason(season);
|
||||||
|
|
||||||
Transaction tr;
|
qx::QxSession session;
|
||||||
try
|
|
||||||
{
|
|
||||||
odb::database *db = Context::instance().db();
|
|
||||||
|
|
||||||
NumberSeriesService numSrv;
|
NumberSeriesService numSrv;
|
||||||
data->setNumSer(numSrv.nextStrForPlugin("CAMP"));
|
data->setNumSer(numSrv.nextStrForPlugin("CAMP", &session));
|
||||||
|
|
||||||
addDateAndUser(data, true);
|
addDateAndUser(data, true);
|
||||||
|
save(data, &session);
|
||||||
db->persist(data);
|
|
||||||
|
|
||||||
foreach (ServiceItemPtr item, data->services()) {
|
|
||||||
item->setCampData(data.toWeakRef());
|
|
||||||
db->persist(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (AddressItemPtr item, data->people()) {
|
|
||||||
item->setCampData(data.toWeakRef());
|
|
||||||
db->persist(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
tr.commit();
|
|
||||||
}
|
|
||||||
catch (const odb::exception &ex)
|
|
||||||
{
|
|
||||||
emit dbError(ex.what());
|
|
||||||
emit dbErrorInsert(ex.what());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampService::updateCamp(CampDataPtr data)
|
/*void CampService::updateCamp(CampDataPtr data)
|
||||||
{
|
{
|
||||||
if (!checkPermission(PERM_EDIT))
|
if (!checkPermission(PERM_EDIT))
|
||||||
{
|
{
|
||||||
@@ -166,9 +139,9 @@ void CampService::updateCamp(CampDataPtr data)
|
|||||||
emit dbErrorUpdate(ex.what());
|
emit dbErrorUpdate(ex.what());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
void CampService::eraseCamp(CampDataPtr data)
|
/*void CampService::eraseCamp(CampDataPtr data)
|
||||||
{
|
{
|
||||||
if (!checkPermission(PERM_DELETE))
|
if (!checkPermission(PERM_DELETE))
|
||||||
{
|
{
|
||||||
@@ -193,16 +166,16 @@ void CampService::eraseCamp(CampDataPtr data)
|
|||||||
emit dbErrorDelete(ex.what());
|
emit dbErrorDelete(ex.what());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
void CampService::loadItems(CampDataPtr data)
|
/*void CampService::loadItems(CampDataPtr data)
|
||||||
{
|
{
|
||||||
Service<AddressItem> srv;
|
Service<AddressItem> srv;
|
||||||
data->setPeople(srv.all(QString("campData = %1").arg(data->id())));
|
data->setPeople(srv.all(QString("campData = %1").arg(data->id())));
|
||||||
|
|
||||||
Service<ServiceItem> srvService;
|
Service<ServiceItem> srvService;
|
||||||
data->setServices(srvService.all(QString("campData = %1").arg(data->id())));
|
data->setServices(srvService.all(QString("campData = %1").arg(data->id())));
|
||||||
}
|
}*/
|
||||||
|
|
||||||
QList<CampDataPtr> CampService::allForSeason()
|
QList<CampDataPtr> CampService::allForSeason()
|
||||||
{
|
{
|
||||||
@@ -278,7 +251,7 @@ void CampService::calcPeople(CampDataPtr data)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampService::calcServices(CampDataPtr data)
|
void CampService::calcServices(const CampDataPtr& data)
|
||||||
{
|
{
|
||||||
QDecDouble sale = data->sale();
|
QDecDouble sale = data->sale();
|
||||||
bool fixedSale = data->fixedSale();
|
bool fixedSale = data->fixedSale();
|
||||||
@@ -301,7 +274,7 @@ void CampService::calcServices(CampDataPtr data)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampService::calcPrice(CampDataPtr data)
|
void CampService::calcPrice(const CampDataPtr& data)
|
||||||
{
|
{
|
||||||
QDecDouble totalPrice(0);
|
QDecDouble totalPrice(0);
|
||||||
QDecDouble sale(0);
|
QDecDouble sale(0);
|
||||||
@@ -340,7 +313,7 @@ void CampService::calcPrice(CampDataPtr data)
|
|||||||
data->setTotalSale(sale);
|
data->setTotalSale(sale);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampService::addAccFee(CampDataPtr data, AddressItemPtr item, int startAge, int endAge, int days)
|
void CampService::addAccFee(const CampDataPtr& data, const AddressItemPtr& item, int startAge, int endAge, int days)
|
||||||
{
|
{
|
||||||
if (item->adbItem()->ztp())
|
if (item->adbItem()->ztp())
|
||||||
{
|
{
|
||||||
@@ -380,24 +353,27 @@ void CampService::addAccFee(CampDataPtr data, AddressItemPtr item, int startAge,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<ShopItemPtr> CampService::shopItems()
|
QList<IShopItemPtr> CampService::shopItems(const QString& category)
|
||||||
{
|
{
|
||||||
|
if (!category.isEmpty()) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
CampShopItemPtr item(new CampShopItem);
|
CampShopItemPtr item(new CampShopItem);
|
||||||
|
|
||||||
QList<ShopItemPtr> items;
|
QList<IShopItemPtr> items;
|
||||||
items.append(item);
|
items.append(item);
|
||||||
|
|
||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
ShopItemPtr CampService::shopItem(int )
|
IShopItemPtr CampService::shopItem(int )
|
||||||
{
|
{
|
||||||
return CampShopItemPtr(new CampShopItem);
|
return CampShopItemPtr(new CampShopItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampService::addedToVoucher(int itemId, int countAdded)
|
void CampService::addedToVoucher(int itemId, int countAdded)
|
||||||
{
|
{
|
||||||
Transaction tx;
|
|
||||||
CampDataPtr data = loadById(itemId);
|
CampDataPtr data = loadById(itemId);
|
||||||
|
|
||||||
if (countAdded > 0)
|
if (countAdded > 0)
|
||||||
@@ -410,7 +386,6 @@ void CampService::addedToVoucher(int itemId, int countAdded)
|
|||||||
}
|
}
|
||||||
|
|
||||||
this->update(data);
|
this->update(data);
|
||||||
tx.commit();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ISeller *CampService::seller()
|
ISeller *CampService::seller()
|
||||||
@@ -418,7 +393,7 @@ ISeller *CampService::seller()
|
|||||||
return m_seller;
|
return m_seller;
|
||||||
}
|
}
|
||||||
|
|
||||||
ServiceItemPtr CampService::addServiceInt(CampDataPtr data, AccServicePtr service)
|
ServiceItemPtr CampService::addServiceInt(const CampDataPtr& data, const AccServicePtr& service)
|
||||||
{
|
{
|
||||||
ServiceItemPtr serviceItem(new ServiceItem);
|
ServiceItemPtr serviceItem(new ServiceItem);
|
||||||
|
|
||||||
|
|||||||
+19
-20
@@ -2,45 +2,44 @@
|
|||||||
#define CAMPSERVICE_H
|
#define CAMPSERVICE_H
|
||||||
|
|
||||||
#include <core.h>
|
#include <core.h>
|
||||||
#include <addressbookdata.h>
|
#include <data/addressbookdata.h>
|
||||||
#include <accservice.h>
|
#include <data/accservice.h>
|
||||||
#include <isellableservice.h>
|
#include <isellableservice.h>
|
||||||
#include "data/camp-data.h"
|
#include "data/camp-data.h"
|
||||||
#include "settings/campsettings.h"
|
#include "settings/campsettings.h"
|
||||||
#include "camp-odb.hxx"
|
|
||||||
|
|
||||||
class CampService : public Service<CampData>, public ISellableService
|
class CampService : public Service<CampData>, public ISellableService
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CampService();
|
CampService();
|
||||||
|
|
||||||
void addPerson(CampDataPtr data, AddressbookDataPtr address);
|
void addPerson(const CampDataPtr& data, const AddressbookDataPtr& address);
|
||||||
void addService(CampDataPtr data, AccServicePtr service);
|
void addService(const CampDataPtr& data, const AccServicePtr& service);
|
||||||
void addService(CampDataPtr data, AccServicePtr service, QDecDouble price, QString description);
|
void addService(CampDataPtr data, AccServicePtr service, QDecDouble price, const QString& description);
|
||||||
void setOwner(CampDataPtr data, AddressItemPtr person);
|
void setOwner(const CampDataPtr& data, const AddressItemPtr& person);
|
||||||
CampDataPtr create();
|
CampDataPtr create();
|
||||||
void calculate(CampDataPtr data);
|
void calculate(const CampDataPtr& data);
|
||||||
void saveCamp(CampDataPtr data);
|
void saveCamp(const CampDataPtr& data);
|
||||||
void updateCamp(CampDataPtr data);
|
//void updateCamp(CampDataPtr data);
|
||||||
void eraseCamp(CampDataPtr data);
|
//void eraseCamp(CampDataPtr data);
|
||||||
void loadItems(CampDataPtr data);
|
//void loadItems(CampDataPtr data);
|
||||||
QList<CampDataPtr> allForSeason();
|
QList<CampDataPtr> allForSeason();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ServiceItemPtr addServiceInt(CampDataPtr data, AccServicePtr service);
|
ServiceItemPtr addServiceInt(const CampDataPtr& data, const AccServicePtr& service);
|
||||||
void calcPeople(CampDataPtr data);
|
void calcPeople(CampDataPtr data);
|
||||||
void calcServices(CampDataPtr data);
|
void calcServices(const CampDataPtr& data);
|
||||||
void calcPrice(CampDataPtr data);
|
void calcPrice(const CampDataPtr& data);
|
||||||
void addAccFee(CampDataPtr data, AddressItemPtr item, int startAge, int endAge, int days);
|
void addAccFee(const CampDataPtr& data, const AddressItemPtr& item, int startAge, int endAge, int days);
|
||||||
CampSettingsPtr m_settings;
|
CampSettingsPtr m_settings;
|
||||||
ISeller *m_seller;
|
ISeller *m_seller;
|
||||||
|
|
||||||
// ISellableService interface
|
// ISellableService interface
|
||||||
public:
|
public:
|
||||||
QList<ShopItemPtr> shopItems();
|
QList<IShopItemPtr> shopItems(const QString& category = "") override;
|
||||||
ShopItemPtr shopItem(int itemId);
|
IShopItemPtr shopItem(int itemId) override;
|
||||||
void addedToVoucher(int itemId, int countAdded);
|
void addedToVoucher(int itemId, int countAdded) override;
|
||||||
ISeller *seller();
|
ISeller *seller() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CAMPSERVICE_H
|
#endif // CAMPSERVICE_H
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
#include "campshopitem.h"
|
#include "campshopitem.h"
|
||||||
|
|
||||||
CampShopItem::CampShopItem(QObject *parent)
|
CampShopItem::CampShopItem(QObject *parent)
|
||||||
:ShopItem(parent)
|
:IShopItem(parent)
|
||||||
{
|
{
|
||||||
|
m_id = 0;
|
||||||
m_unitPrice = QDecDouble(0);
|
m_unitPrice = QDecDouble(0);
|
||||||
m_vatType = Enums::NONE;
|
m_vatType = Enums::NONE;
|
||||||
}
|
}
|
||||||
@@ -27,7 +28,7 @@ Enums::VatType CampShopItem::vatType()
|
|||||||
return m_vatType;
|
return m_vatType;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CampShopItem::pluginId()
|
QString CampShopItem::pluginId() const
|
||||||
{
|
{
|
||||||
return "CAMP";
|
return "CAMP";
|
||||||
}
|
}
|
||||||
@@ -47,12 +48,12 @@ void CampShopItem::setVatType(const Enums::VatType &vatType)
|
|||||||
m_vatType = vatType;
|
m_vatType = vatType;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CampShopItem::id()
|
long CampShopItem::id() const
|
||||||
{
|
{
|
||||||
return m_id;
|
return m_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampShopItem::setId(int id)
|
void CampShopItem::setId(long id)
|
||||||
{
|
{
|
||||||
m_id = id;
|
m_id = id;
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-11
@@ -3,30 +3,30 @@
|
|||||||
|
|
||||||
#include <shopitem.h>
|
#include <shopitem.h>
|
||||||
|
|
||||||
class CampShopItem : public ShopItem
|
class CampShopItem : public IShopItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CampShopItem(QObject *parent = 0);
|
explicit CampShopItem(QObject *parent = nullptr);
|
||||||
|
|
||||||
// IShopItem interface
|
// IShopItem interface
|
||||||
public:
|
public:
|
||||||
int id();
|
long id() const override;
|
||||||
QString name();
|
QString name() override;
|
||||||
QString shortName();
|
QString shortName() override;
|
||||||
QDecDouble unitPrice();
|
QDecDouble unitPrice() override;
|
||||||
Enums::VatType vatType();
|
Enums::VatType vatType() override;
|
||||||
QString pluginId();
|
QString pluginId() const override;
|
||||||
|
|
||||||
// ShopItem interface
|
// ShopItem interface
|
||||||
public:
|
public:
|
||||||
QString code();
|
QString code() override;
|
||||||
|
|
||||||
void setUnitPrice(const QDecDouble &unitPrice);
|
void setUnitPrice(const QDecDouble &unitPrice);
|
||||||
void setVatType(const Enums::VatType &vatType);
|
void setVatType(const Enums::VatType &vatType);
|
||||||
void setId(int id);
|
void setId(long id);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int m_id;
|
long m_id;
|
||||||
QDecDouble m_unitPrice;
|
QDecDouble m_unitPrice;
|
||||||
Enums::VatType m_vatType;
|
Enums::VatType m_vatType;
|
||||||
};
|
};
|
||||||
|
|||||||
+4
-4
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#include <core.h>
|
#include <core.h>
|
||||||
#include <addressbookservice.h>
|
#include <addressbookservice.h>
|
||||||
#include <accservice.h>
|
#include <data/accservice.h>
|
||||||
#include <reporting/reportviewer.h>
|
#include <reporting/reportviewer.h>
|
||||||
|
|
||||||
#include <QScroller>
|
#include <QScroller>
|
||||||
@@ -129,7 +129,7 @@ CampWizard::CampWizard(QWidget *parent) :
|
|||||||
|
|
||||||
Service<AddressbookData> addrSrv;
|
Service<AddressbookData> addrSrv;
|
||||||
m_addrHelperBinder = new ObjectBinder(this);
|
m_addrHelperBinder = new ObjectBinder(this);
|
||||||
m_addrHelperBinder->registerBinding(ui->address, ComboData::createComboData(addrSrv.all("", "lastName, firstName")));
|
m_addrHelperBinder->registerBinding(ui->address, ComboData::createComboData(addrSrv.all("")));
|
||||||
m_addrHelperBinder->setData(m_addrHelper);
|
m_addrHelperBinder->setData(m_addrHelper);
|
||||||
|
|
||||||
m_addressBinder = new ObjectBinder(this);
|
m_addressBinder = new ObjectBinder(this);
|
||||||
@@ -437,7 +437,7 @@ void CampWizard::accept()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
srv.updateCamp(m_data);
|
srv.update(m_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (success)
|
if (success)
|
||||||
@@ -472,7 +472,7 @@ void CampWizard::on_btnPrint_clicked()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
srv.updateCamp(m_data);
|
srv.update(m_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!success)
|
if(!success)
|
||||||
|
|||||||
+6
-6
@@ -14,7 +14,7 @@ class AddressHelper : public QObject
|
|||||||
Q_PROPERTY(QSharedPointer<QObject> address READ address WRITE setAddress)
|
Q_PROPERTY(QSharedPointer<QObject> address READ address WRITE setAddress)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
AddressHelper(QObject *parent = NULL);
|
explicit AddressHelper(QObject *parent = nullptr);
|
||||||
|
|
||||||
QSharedPointer<QObject> address() const;
|
QSharedPointer<QObject> address() const;
|
||||||
void setAddress(const QSharedPointer<QObject> &address);
|
void setAddress(const QSharedPointer<QObject> &address);
|
||||||
@@ -36,7 +36,7 @@ class SaleHelper : public QObject
|
|||||||
Q_PROPERTY(QSharedPointer<QObject> sale READ sale WRITE setSale NOTIFY saleChanged)
|
Q_PROPERTY(QSharedPointer<QObject> sale READ sale WRITE setSale NOTIFY saleChanged)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SaleHelper(QObject *parent = NULL);
|
explicit SaleHelper(QObject *parent = nullptr);
|
||||||
|
|
||||||
SalePtr salePtr() const;
|
SalePtr salePtr() const;
|
||||||
void setSalePtr(const SalePtr &sale);
|
void setSalePtr(const SalePtr &sale);
|
||||||
@@ -60,8 +60,8 @@ class CampWizard : public QWizard
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CampWizard(QWidget *parent = 0);
|
explicit CampWizard(QWidget *parent = nullptr);
|
||||||
~CampWizard();
|
~CampWizard() override;
|
||||||
|
|
||||||
void setData(const CampDataPtr &data);
|
void setData(const CampDataPtr &data);
|
||||||
void setNewRecord(bool newRecord);
|
void setNewRecord(bool newRecord);
|
||||||
@@ -109,10 +109,10 @@ private:
|
|||||||
|
|
||||||
// QWizard interface
|
// QWizard interface
|
||||||
public:
|
public:
|
||||||
bool validateCurrentPage();
|
bool validateCurrentPage() override;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void accept();
|
void accept() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CAMPWIZARD_H
|
#endif // CAMPWIZARD_H
|
||||||
|
|||||||
@@ -1,6 +1,26 @@
|
|||||||
#include "addressitem.h"
|
#include "addressitem.h"
|
||||||
#include <define.h>
|
#include <define.h>
|
||||||
|
|
||||||
|
QX_REGISTER_CPP_CAMP(AddressItem)
|
||||||
|
|
||||||
|
namespace qx {
|
||||||
|
template<> void register_class(QxClass<AddressItem>& t) {
|
||||||
|
t.setName("AddressItem");
|
||||||
|
t.id(&AddressItem::m_id, "id");
|
||||||
|
t.data(&AddressItem::m_firstName, "firstName");
|
||||||
|
t.data(&AddressItem::m_lastName, "lastName");
|
||||||
|
t.data(&AddressItem::m_address, "address");
|
||||||
|
t.data(&AddressItem::m_price, "price");
|
||||||
|
t.data(&AddressItem::m_owner, "owner");
|
||||||
|
t.data(&AddressItem::m_sale, "sale");
|
||||||
|
t.data(&AddressItem::m_totalPrice, "totalPrice");
|
||||||
|
|
||||||
|
t.relationManyToOne(&AddressItem::m_adbItem, "adbItem");
|
||||||
|
t.relationManyToOne(&AddressItem::m_campData, "campData");
|
||||||
|
t.relationManyToOne(&AddressItem::m_personPrice, "personPrice");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
AddressItem::AddressItem(QObject *parent) : QObject(parent)
|
AddressItem::AddressItem(QObject *parent) : QObject(parent)
|
||||||
{
|
{
|
||||||
m_id = 0;
|
m_id = 0;
|
||||||
@@ -10,12 +30,12 @@ AddressItem::AddressItem(QObject *parent) : QObject(parent)
|
|||||||
m_totalPrice = 0;
|
m_totalPrice = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int AddressItem::id() const
|
long AddressItem::id() const
|
||||||
{
|
{
|
||||||
return m_id;
|
return m_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddressItem::setId(int id)
|
void AddressItem::setId(long id)
|
||||||
{
|
{
|
||||||
m_id = id;
|
m_id = id;
|
||||||
}
|
}
|
||||||
@@ -60,12 +80,12 @@ void AddressItem::setPrice(QDecDouble price)
|
|||||||
m_price = FROM_DEC(price);
|
m_price = FROM_DEC(price);
|
||||||
}
|
}
|
||||||
|
|
||||||
QWeakPointer<CampData> AddressItem::campData() const
|
QSharedPointer<CampData> AddressItem::campData() const
|
||||||
{
|
{
|
||||||
return m_campData;
|
return m_campData;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddressItem::setCampData(const QWeakPointer<CampData> &campData)
|
void AddressItem::setCampData(const QSharedPointer<CampData> &campData)
|
||||||
{
|
{
|
||||||
m_campData = campData;
|
m_campData = campData;
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-12
@@ -6,16 +6,17 @@
|
|||||||
#include <QSharedPointer>
|
#include <QSharedPointer>
|
||||||
#include <QWeakPointer>
|
#include <QWeakPointer>
|
||||||
#include <QDecDouble.hh>
|
#include <QDecDouble.hh>
|
||||||
#include <odb/core.hxx>
|
#include <data/addressbookdata.h>
|
||||||
|
|
||||||
#include <addressbookdata.h>
|
#include "../camp_global.h"
|
||||||
|
|
||||||
class CampData;
|
class CampData;
|
||||||
|
|
||||||
#pragma db object
|
|
||||||
class AddressItem : public QObject
|
class AddressItem : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
QX_REGISTER_FRIEND_CLASS(AddressItem)
|
||||||
Q_PROPERTY(QString firstName READ firstName WRITE setFirstName)
|
Q_PROPERTY(QString firstName READ firstName WRITE setFirstName)
|
||||||
Q_PROPERTY(QString lastName READ lastName WRITE setLastName)
|
Q_PROPERTY(QString lastName READ lastName WRITE setLastName)
|
||||||
Q_PROPERTY(QString address READ address WRITE setAddress)
|
Q_PROPERTY(QString address READ address WRITE setAddress)
|
||||||
@@ -27,8 +28,8 @@ class AddressItem : public QObject
|
|||||||
public:
|
public:
|
||||||
explicit AddressItem(QObject *parent = 0);
|
explicit AddressItem(QObject *parent = 0);
|
||||||
|
|
||||||
int id() const;
|
long id() const;
|
||||||
void setId(int id);
|
void setId(long id);
|
||||||
|
|
||||||
QString firstName() const;
|
QString firstName() const;
|
||||||
void setFirstName(const QString &firstName);
|
void setFirstName(const QString &firstName);
|
||||||
@@ -42,8 +43,8 @@ public:
|
|||||||
QDecDouble price() const;
|
QDecDouble price() const;
|
||||||
void setPrice(QDecDouble price);
|
void setPrice(QDecDouble price);
|
||||||
|
|
||||||
QWeakPointer<CampData> campData() const;
|
QSharedPointer<CampData> campData() const;
|
||||||
void setCampData(const QWeakPointer<CampData> &campData);
|
void setCampData(const QSharedPointer<CampData> &campData);
|
||||||
|
|
||||||
PersonPricePtr personPrice() const;
|
PersonPricePtr personPrice() const;
|
||||||
void setPersonPrice(const PersonPricePtr &personPrice);
|
void setPersonPrice(const PersonPricePtr &personPrice);
|
||||||
@@ -61,9 +62,7 @@ public:
|
|||||||
void setSale(QDecDouble sale);
|
void setSale(QDecDouble sale);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class odb::access;
|
long m_id;
|
||||||
#pragma db id auto
|
|
||||||
int m_id;
|
|
||||||
QString m_firstName;
|
QString m_firstName;
|
||||||
QString m_lastName;
|
QString m_lastName;
|
||||||
QString m_address;
|
QString m_address;
|
||||||
@@ -71,10 +70,11 @@ private:
|
|||||||
int m_price;
|
int m_price;
|
||||||
int m_totalPrice;
|
int m_totalPrice;
|
||||||
int m_sale;
|
int m_sale;
|
||||||
#pragma db not_null
|
CampDataPtr m_campData;
|
||||||
QWeakPointer<CampData> m_campData;
|
|
||||||
PersonPricePtr m_personPrice;
|
PersonPricePtr m_personPrice;
|
||||||
bool m_owner;
|
bool m_owner;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
QX_REGISTER_HPP_CAMP(AddressItem, QObject, 0)
|
||||||
|
|
||||||
#endif // ADDRESSITEM_H
|
#endif // ADDRESSITEM_H
|
||||||
|
|||||||
+39
-10
@@ -1,6 +1,35 @@
|
|||||||
#include "campdata.h"
|
#include "campdata.h"
|
||||||
#include <define.h>
|
#include <define.h>
|
||||||
|
|
||||||
|
QX_REGISTER_CPP_CAMP(CampData)
|
||||||
|
|
||||||
|
namespace qx {
|
||||||
|
template<> void register_class(QxClass<CampData>& t) {
|
||||||
|
t.setName("CampData");
|
||||||
|
t.id(&CampData::m_id, "id");
|
||||||
|
t.data(&CampData::m_numSer, "numSer");
|
||||||
|
t.data(&CampData::m_start, "start");
|
||||||
|
t.data(&CampData::m_end, "end");
|
||||||
|
t.data(&CampData::m_ownerFirstame, "ownerFirstame");
|
||||||
|
t.data(&CampData::m_ownerLastname, "ownerLastname");
|
||||||
|
t.data(&CampData::m_ownerAddress, "ownerAddress");
|
||||||
|
t.data(&CampData::m_totalPrice, "totalPrice");
|
||||||
|
t.data(&CampData::m_sale, "sale");
|
||||||
|
t.data(&CampData::m_fixedSale, "fixedSale");
|
||||||
|
t.data(&CampData::m_fullPrice, "fullPrice");
|
||||||
|
t.data(&CampData::m_totalSale, "totalSale");
|
||||||
|
t.data(&CampData::m_onVoucher, "onVoucher");
|
||||||
|
t.data(&CampData::m_createdBy, "createdBy");
|
||||||
|
t.data(&CampData::m_created, "created");
|
||||||
|
t.data(&CampData::m_updatedBy, "updatedBy");
|
||||||
|
t.data(&CampData::m_updated, "updated");
|
||||||
|
|
||||||
|
t.relationManyToOne(&CampData::m_season, "season");
|
||||||
|
t.relationOneToMany(&CampData::m_people, "people", "campData");
|
||||||
|
t.relationOneToMany(&CampData::m_services, "services", "campData");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
CampData::CampData(QObject *parent) : QObject(parent)
|
CampData::CampData(QObject *parent) : QObject(parent)
|
||||||
{
|
{
|
||||||
m_id = 0;
|
m_id = 0;
|
||||||
@@ -12,12 +41,12 @@ CampData::CampData(QObject *parent) : QObject(parent)
|
|||||||
m_onVoucher = false;
|
m_onVoucher = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CampData::id() const
|
long CampData::id() const
|
||||||
{
|
{
|
||||||
return m_id;
|
return m_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampData::setId(int id)
|
void CampData::setId(long id)
|
||||||
{
|
{
|
||||||
m_id = id;
|
m_id = id;
|
||||||
}
|
}
|
||||||
@@ -72,42 +101,42 @@ void CampData::setOwnerAddress(const QString &ownerAddress)
|
|||||||
m_ownerAddress = ownerAddress;
|
m_ownerAddress = ownerAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
QOdbList<ServiceItemPtr> CampData::services() const
|
QList<ServiceItemPtr> CampData::services() const
|
||||||
{
|
{
|
||||||
return m_services;
|
return m_services;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampData::setServices(const QOdbList<QSharedPointer<ServiceItem> > &services)
|
void CampData::setServices(const QList<QSharedPointer<ServiceItem> > &services)
|
||||||
{
|
{
|
||||||
m_services = services;
|
m_services = services;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampData::addServiceItem(ServiceItemPtr serviceItem)
|
void CampData::addServiceItem(const ServiceItemPtr& serviceItem)
|
||||||
{
|
{
|
||||||
m_services.append(serviceItem);
|
m_services.append(serviceItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampData::removeServiceItem(ServiceItemPtr serviceItem)
|
void CampData::removeServiceItem(const ServiceItemPtr& serviceItem)
|
||||||
{
|
{
|
||||||
m_services.removeOne(serviceItem);
|
m_services.removeOne(serviceItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
QOdbList<AddressItemPtr> CampData::people() const
|
QList<AddressItemPtr> CampData::people() const
|
||||||
{
|
{
|
||||||
return m_people;
|
return m_people;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampData::setPeople(const QOdbList<AddressItemPtr> &people)
|
void CampData::setPeople(const QList<AddressItemPtr> &people)
|
||||||
{
|
{
|
||||||
m_people = people;
|
m_people = people;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampData::addPerson(AddressItemPtr person)
|
void CampData::addPerson(const AddressItemPtr& person)
|
||||||
{
|
{
|
||||||
m_people.append(person);
|
m_people.append(person);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampData::removePerson(AddressItemPtr person)
|
void CampData::removePerson(const AddressItemPtr& person)
|
||||||
{
|
{
|
||||||
m_people.removeOne(person);
|
m_people.removeOne(person);
|
||||||
}
|
}
|
||||||
|
|||||||
+20
-22
@@ -5,15 +5,15 @@
|
|||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QDate>
|
#include <QDate>
|
||||||
#include <QDecDouble.hh>
|
#include <QDecDouble.hh>
|
||||||
#include <odb/core.hxx>
|
|
||||||
#include <odb/qt/list.hxx>
|
|
||||||
|
|
||||||
#include <data/season.h>
|
#include <data/season.h>
|
||||||
|
|
||||||
#pragma db object
|
#include "../camp_global.h"
|
||||||
|
|
||||||
class CampData : public QObject
|
class CampData : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
QX_REGISTER_FRIEND_CLASS(CampData)
|
||||||
Q_PROPERTY(QString numSer READ numSer WRITE setNumSer)
|
Q_PROPERTY(QString numSer READ numSer WRITE setNumSer)
|
||||||
Q_PROPERTY(QDate start READ start WRITE setStart)
|
Q_PROPERTY(QDate start READ start WRITE setStart)
|
||||||
Q_PROPERTY(QDate end READ end WRITE setEnd)
|
Q_PROPERTY(QDate end READ end WRITE setEnd)
|
||||||
@@ -31,10 +31,10 @@ class CampData : public QObject
|
|||||||
Q_PROPERTY(QDateTime updated READ updated WRITE setUpdated)
|
Q_PROPERTY(QDateTime updated READ updated WRITE setUpdated)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CampData(QObject *parent = 0);
|
explicit CampData(QObject *parent = nullptr);
|
||||||
|
|
||||||
int id() const;
|
long id() const;
|
||||||
void setId(int id);
|
void setId(long id);
|
||||||
|
|
||||||
QDate start() const;
|
QDate start() const;
|
||||||
void setStart(const QDate &start);
|
void setStart(const QDate &start);
|
||||||
@@ -51,15 +51,15 @@ public:
|
|||||||
QString ownerAddress() const;
|
QString ownerAddress() const;
|
||||||
void setOwnerAddress(const QString &ownerAddress);
|
void setOwnerAddress(const QString &ownerAddress);
|
||||||
|
|
||||||
QOdbList<QSharedPointer<ServiceItem> > services() const;
|
QList<ServiceItemPtr> services() const;
|
||||||
void setServices(const QOdbList<QSharedPointer<ServiceItem> > &services);
|
void setServices(const QList<ServiceItemPtr> &services);
|
||||||
void addServiceItem(ServiceItemPtr serviceItem);
|
void addServiceItem(const ServiceItemPtr& serviceItem);
|
||||||
void removeServiceItem(ServiceItemPtr serviceItem);
|
void removeServiceItem(const ServiceItemPtr& serviceItem);
|
||||||
|
|
||||||
QOdbList<AddressItemPtr> people() const;
|
QList<AddressItemPtr> people() const;
|
||||||
void setPeople(const QOdbList<AddressItemPtr> &people);
|
void setPeople(const QList<AddressItemPtr> &people);
|
||||||
void addPerson(AddressItemPtr person);
|
void addPerson(const AddressItemPtr& person);
|
||||||
void removePerson(AddressItemPtr person);
|
void removePerson(const AddressItemPtr& person);
|
||||||
|
|
||||||
QDecDouble totalPrice() const;
|
QDecDouble totalPrice() const;
|
||||||
void setTotalPrice(QDecDouble totalPrice);
|
void setTotalPrice(QDecDouble totalPrice);
|
||||||
@@ -98,19 +98,15 @@ public:
|
|||||||
void setUpdated(const QDateTime &updated);
|
void setUpdated(const QDateTime &updated);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class odb::access;
|
long m_id;
|
||||||
#pragma db id auto
|
|
||||||
int m_id;
|
|
||||||
QString m_numSer;
|
QString m_numSer;
|
||||||
QDate m_start;
|
QDate m_start;
|
||||||
QDate m_end;
|
QDate m_end;
|
||||||
QString m_ownerFirstame;
|
QString m_ownerFirstame;
|
||||||
QString m_ownerLastname;
|
QString m_ownerLastname;
|
||||||
QString m_ownerAddress;
|
QString m_ownerAddress;
|
||||||
#pragma db value_not_null inverse(m_campData)
|
QList<ServiceItemPtr> m_services;
|
||||||
QOdbList<ServiceItemPtr> m_services;
|
QList<AddressItemPtr> m_people;
|
||||||
#pragma db value_not_null inverse(m_campData)
|
|
||||||
QOdbList<AddressItemPtr> m_people;
|
|
||||||
int m_fullPrice;
|
int m_fullPrice;
|
||||||
int m_totalPrice;
|
int m_totalPrice;
|
||||||
int m_sale;
|
int m_sale;
|
||||||
@@ -124,4 +120,6 @@ private:
|
|||||||
QDateTime m_updated;
|
QDateTime m_updated;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
QX_REGISTER_HPP_CAMP(CampData, QObject, 0)
|
||||||
|
|
||||||
#endif // CAMPDATA_H
|
#endif // CAMPDATA_H
|
||||||
|
|||||||
@@ -1,6 +1,20 @@
|
|||||||
#include "personprice.h"
|
#include "personprice.h"
|
||||||
#include <define.h>
|
#include <define.h>
|
||||||
|
|
||||||
|
QX_REGISTER_CPP_CAMP(PersonPrice)
|
||||||
|
|
||||||
|
namespace qx {
|
||||||
|
template<> void register_class(QxClass<PersonPrice>& t) {
|
||||||
|
t.setName("PersonPrice");
|
||||||
|
t.id(&PersonPrice::m_id, "id");
|
||||||
|
t.data(&PersonPrice::m_description, "description");
|
||||||
|
t.data(&PersonPrice::m_fromAge, "fromAge");
|
||||||
|
t.data(&PersonPrice::m_toAge, "toAge");
|
||||||
|
t.data(&PersonPrice::m_price, "price");
|
||||||
|
t.data(&PersonPrice::m_active, "active");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
PersonPrice::PersonPrice(QObject *parent) : QObject(parent)
|
PersonPrice::PersonPrice(QObject *parent) : QObject(parent)
|
||||||
{
|
{
|
||||||
m_id = 0;
|
m_id = 0;
|
||||||
@@ -10,12 +24,12 @@ PersonPrice::PersonPrice(QObject *parent) : QObject(parent)
|
|||||||
m_active = true;
|
m_active = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int PersonPrice::id() const
|
long PersonPrice::id() const
|
||||||
{
|
{
|
||||||
return m_id;
|
return m_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PersonPrice::setId(int id)
|
void PersonPrice::setId(long id)
|
||||||
{
|
{
|
||||||
m_id = id;
|
m_id = id;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,14 @@
|
|||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QDecDouble.hh>
|
#include <QDecDouble.hh>
|
||||||
#include <odb/core.hxx>
|
|
||||||
|
|
||||||
#pragma db object
|
#include "../camp_global.h"
|
||||||
|
|
||||||
class PersonPrice : public QObject
|
class PersonPrice : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
QX_REGISTER_FRIEND_CLASS(PersonPrice)
|
||||||
Q_PROPERTY(QString description READ description WRITE setDescription)
|
Q_PROPERTY(QString description READ description WRITE setDescription)
|
||||||
Q_PROPERTY(int fromAge READ fromAge WRITE setFromAge)
|
Q_PROPERTY(int fromAge READ fromAge WRITE setFromAge)
|
||||||
Q_PROPERTY(int toAge READ toAge WRITE setToAge)
|
Q_PROPERTY(int toAge READ toAge WRITE setToAge)
|
||||||
@@ -18,8 +20,8 @@ class PersonPrice : public QObject
|
|||||||
public:
|
public:
|
||||||
explicit PersonPrice(QObject *parent = 0);
|
explicit PersonPrice(QObject *parent = 0);
|
||||||
|
|
||||||
int id() const;
|
long id() const;
|
||||||
void setId(int id);
|
void setId(long id);
|
||||||
|
|
||||||
QString description() const;
|
QString description() const;
|
||||||
void setDescription(const QString &description);
|
void setDescription(const QString &description);
|
||||||
@@ -37,9 +39,7 @@ public:
|
|||||||
void setActive(bool active);
|
void setActive(bool active);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class odb::access;
|
long m_id;
|
||||||
#pragma db id auto
|
|
||||||
int m_id;
|
|
||||||
QString m_description;
|
QString m_description;
|
||||||
int m_fromAge;
|
int m_fromAge;
|
||||||
int m_toAge;
|
int m_toAge;
|
||||||
@@ -47,4 +47,6 @@ private:
|
|||||||
bool m_active;
|
bool m_active;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
QX_REGISTER_HPP_CAMP(PersonPrice, QObject, 0)
|
||||||
|
|
||||||
#endif // PERSONPRICE_H
|
#endif // PERSONPRICE_H
|
||||||
|
|||||||
+14
-2
@@ -1,6 +1,18 @@
|
|||||||
#include "sale.h"
|
#include "sale.h"
|
||||||
#include <define.h>
|
#include <define.h>
|
||||||
|
|
||||||
|
QX_REGISTER_CPP_CAMP(Sale)
|
||||||
|
|
||||||
|
namespace qx {
|
||||||
|
template<> void register_class(QxClass<Sale>& t) {
|
||||||
|
t.setName("Sale");
|
||||||
|
t.id(&Sale::m_id, "id");
|
||||||
|
t.data(&Sale::m_sale, "sale");
|
||||||
|
t.data(&Sale::m_fixed, "fixed");
|
||||||
|
t.data(&Sale::m_description, "description");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Sale::Sale(QObject *parent) : ComboItem(parent)
|
Sale::Sale(QObject *parent) : ComboItem(parent)
|
||||||
{
|
{
|
||||||
m_id = 0;
|
m_id = 0;
|
||||||
@@ -8,12 +20,12 @@ Sale::Sale(QObject *parent) : ComboItem(parent)
|
|||||||
m_fixed = false;
|
m_fixed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Sale::id() const
|
long Sale::id() const
|
||||||
{
|
{
|
||||||
return m_id;
|
return m_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sale::setId(int id)
|
void Sale::setId(long id)
|
||||||
{
|
{
|
||||||
m_id = id;
|
m_id = id;
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-10
@@ -2,23 +2,25 @@
|
|||||||
#define SALE_H
|
#define SALE_H
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <odb/core.hxx>
|
|
||||||
#include <QDecDouble.hh>
|
#include <QDecDouble.hh>
|
||||||
#include <combodata.h>
|
#include <combodata.h>
|
||||||
|
|
||||||
#pragma db object
|
#include "../camp_global.h"
|
||||||
|
|
||||||
class Sale : public ComboItem
|
class Sale : public ComboItem
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
QX_REGISTER_FRIEND_CLASS(Sale)
|
||||||
Q_PROPERTY(QString description READ description WRITE setDescription)
|
Q_PROPERTY(QString description READ description WRITE setDescription)
|
||||||
Q_PROPERTY(QDecDouble sale READ sale WRITE setSale)
|
Q_PROPERTY(QDecDouble sale READ sale WRITE setSale)
|
||||||
Q_PROPERTY(bool fixed READ fixed WRITE setFixed)
|
Q_PROPERTY(bool fixed READ fixed WRITE setFixed)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit Sale(QObject *parent = 0);
|
explicit Sale(QObject *parent = nullptr);
|
||||||
|
|
||||||
int id() const;
|
long id() const;
|
||||||
void setId(int id);
|
void setId(long id);
|
||||||
|
|
||||||
QDecDouble sale() const;
|
QDecDouble sale() const;
|
||||||
void setSale(QDecDouble sale);
|
void setSale(QDecDouble sale);
|
||||||
@@ -30,17 +32,17 @@ public:
|
|||||||
void setDescription(const QString &description);
|
void setDescription(const QString &description);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class odb::access;
|
long m_id;
|
||||||
#pragma db id auto
|
|
||||||
int m_id;
|
|
||||||
QString m_description;
|
QString m_description;
|
||||||
int m_sale;
|
int m_sale;
|
||||||
bool m_fixed;
|
bool m_fixed;
|
||||||
|
|
||||||
// ComboItem interface
|
// ComboItem interface
|
||||||
public:
|
public:
|
||||||
bool eq(ComboItem *other);
|
bool eq(ComboItem *other) override;
|
||||||
QString toString();
|
QString toString() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
QX_REGISTER_HPP_CAMP(Sale, ComboItem, 0)
|
||||||
|
|
||||||
#endif // SALE_H
|
#endif // SALE_H
|
||||||
|
|||||||
@@ -1,6 +1,26 @@
|
|||||||
#include "serviceitem.h"
|
#include "serviceitem.h"
|
||||||
#include <define.h>
|
#include <define.h>
|
||||||
|
|
||||||
|
QX_REGISTER_CPP_CAMP(ServiceItem)
|
||||||
|
|
||||||
|
namespace qx {
|
||||||
|
template<> void register_class(QxClass<ServiceItem>& t) {
|
||||||
|
t.setName("ServiceItem");
|
||||||
|
t.id(&ServiceItem::m_id, "id");
|
||||||
|
t.data(&ServiceItem::m_name, "name");
|
||||||
|
t.data(&ServiceItem::m_code, "code");
|
||||||
|
t.data(&ServiceItem::m_price, "price");
|
||||||
|
t.data(&ServiceItem::m_salePossible, "salePossible");
|
||||||
|
t.data(&ServiceItem::m_type, "type");
|
||||||
|
t.data(&ServiceItem::m_sale, "sale");
|
||||||
|
t.data(&ServiceItem::m_description, "description");
|
||||||
|
t.data(&ServiceItem::m_totalPrice, "totalPrice");
|
||||||
|
t.data(&ServiceItem::m_fullPrice, "fullPrice");
|
||||||
|
|
||||||
|
t.relationManyToOne(&ServiceItem::m_campData, "campData");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ServiceItem::ServiceItem(QObject *parent) : QObject(parent)
|
ServiceItem::ServiceItem(QObject *parent) : QObject(parent)
|
||||||
{
|
{
|
||||||
m_id = 0;
|
m_id = 0;
|
||||||
@@ -8,15 +28,16 @@ ServiceItem::ServiceItem(QObject *parent) : QObject(parent)
|
|||||||
m_sale = 0;
|
m_sale = 0;
|
||||||
m_price = 0;
|
m_price = 0;
|
||||||
m_totalPrice = 0;
|
m_totalPrice = 0;
|
||||||
|
m_fullPrice = 0;
|
||||||
m_type = AccService::OTHER;
|
m_type = AccService::OTHER;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ServiceItem::id() const
|
long ServiceItem::id() const
|
||||||
{
|
{
|
||||||
return m_id;
|
return m_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServiceItem::setId(int id)
|
void ServiceItem::setId(long id)
|
||||||
{
|
{
|
||||||
m_id = id;
|
m_id = id;
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-11
@@ -6,16 +6,17 @@
|
|||||||
#include <QSharedPointer>
|
#include <QSharedPointer>
|
||||||
#include <QWeakPointer>
|
#include <QWeakPointer>
|
||||||
#include <QDecDouble.hh>
|
#include <QDecDouble.hh>
|
||||||
|
#include <data/accservice.h>
|
||||||
|
|
||||||
#include <odb/core.hxx>
|
#include "../camp_global.h"
|
||||||
#include <accservice.h>
|
|
||||||
|
|
||||||
class CampData;
|
class CampData;
|
||||||
|
|
||||||
#pragma db object
|
|
||||||
class ServiceItem : public QObject
|
class ServiceItem : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
QX_REGISTER_FRIEND_CLASS(ServiceItem)
|
||||||
Q_PROPERTY(QString name READ name WRITE setName)
|
Q_PROPERTY(QString name READ name WRITE setName)
|
||||||
Q_PROPERTY(QString code READ code WRITE setCode)
|
Q_PROPERTY(QString code READ code WRITE setCode)
|
||||||
Q_PROPERTY(QString description READ description WRITE setDescription)
|
Q_PROPERTY(QString description READ description WRITE setDescription)
|
||||||
@@ -27,10 +28,10 @@ class ServiceItem : public QObject
|
|||||||
Q_ENUMS(AccService::ServiceType)
|
Q_ENUMS(AccService::ServiceType)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit ServiceItem(QObject *parent = 0);
|
explicit ServiceItem(QObject *parent = nullptr);
|
||||||
|
|
||||||
int id() const;
|
long id() const;
|
||||||
void setId(int id);
|
void setId(long id);
|
||||||
|
|
||||||
QString name() const;
|
QString name() const;
|
||||||
void setName(const QString &name);
|
void setName(const QString &name);
|
||||||
@@ -63,9 +64,7 @@ public:
|
|||||||
void setFullPrice(QDecDouble fullPrice);
|
void setFullPrice(QDecDouble fullPrice);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class odb::access;
|
long m_id;
|
||||||
#pragma db id auto
|
|
||||||
int m_id;
|
|
||||||
QString m_name;
|
QString m_name;
|
||||||
QString m_code;
|
QString m_code;
|
||||||
QString m_description;
|
QString m_description;
|
||||||
@@ -75,8 +74,9 @@ private:
|
|||||||
int m_sale;
|
int m_sale;
|
||||||
bool m_salePossible;
|
bool m_salePossible;
|
||||||
AccService::ServiceType m_type;
|
AccService::ServiceType m_type;
|
||||||
#pragma db not_null
|
CampDataPtr m_campData;
|
||||||
QWeakPointer<CampData> m_campData;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
QX_REGISTER_HPP_CAMP(ServiceItem, QObject, 0)
|
||||||
|
|
||||||
#endif // SREVICEITEM_H
|
#endif // SREVICEITEM_H
|
||||||
|
|||||||
@@ -40,10 +40,12 @@ DetailWidget::~DetailWidget()
|
|||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetailWidget::setData(const CampDataPtr &data)
|
void DetailWidget::setData(CampDataPtr &data)
|
||||||
{
|
{
|
||||||
CampService srv;
|
if (data->people().isEmpty() || data->services().isEmpty()) {
|
||||||
srv.loadItems(data);
|
CampService srv;
|
||||||
|
srv.load(data);
|
||||||
|
}
|
||||||
|
|
||||||
m_peopleModel->setData(data->people());
|
m_peopleModel->setData(data->people());
|
||||||
m_servicesModel->setData(data->services());
|
m_servicesModel->setData(data->services());
|
||||||
|
|||||||
+3
-3
@@ -14,10 +14,10 @@ class DetailWidget : public QWidget
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit DetailWidget(QWidget *parent = 0);
|
explicit DetailWidget(QWidget *parent = nullptr);
|
||||||
~DetailWidget();
|
~DetailWidget() override;
|
||||||
|
|
||||||
void setData(const CampDataPtr &data);
|
void setData(CampDataPtr &data);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::DetailWidget *ui;
|
Ui::DetailWidget *ui;
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ CampSettings::CampSettings(QObject *parent) : QObject(parent)
|
|||||||
m_rounding = Enums::R_MATH;
|
m_rounding = Enums::R_MATH;
|
||||||
m_decimalPlaces = 0;
|
m_decimalPlaces = 0;
|
||||||
m_vatType = Enums::NONE;
|
m_vatType = Enums::NONE;
|
||||||
|
m_accFeeStartAge = 0;
|
||||||
|
m_accFeeEndAge = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
QDecDouble CampSettings::accFee() const
|
QDecDouble CampSettings::accFee() const
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class CampSettings : public QObject
|
|||||||
Q_PROPERTY(QString accFeeText READ accFeeText WRITE setAccFeeText)
|
Q_PROPERTY(QString accFeeText READ accFeeText WRITE setAccFeeText)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CampSettings(QObject *parent = 0);
|
explicit CampSettings(QObject *parent = nullptr);
|
||||||
|
|
||||||
QDecDouble accFee() const;
|
QDecDouble accFee() const;
|
||||||
void setAccFee(QDecDouble accFee);
|
void setAccFee(QDecDouble accFee);
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
#include "camp-odb.hxx"
|
|
||||||
#include "campsettingsform.h"
|
#include "campsettingsform.h"
|
||||||
#include "ui_campsettingsform.h"
|
#include "ui_campsettingsform.h"
|
||||||
|
|
||||||
#include <settingsservice.h>
|
#include <settingsservice.h>
|
||||||
#include <QScroller>
|
#include <QScroller>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <QHeaderView>
|
||||||
|
|
||||||
CampSettingsForm::CampSettingsForm(QWidget *parent) :
|
CampSettingsForm::CampSettingsForm(QWidget *parent) :
|
||||||
FormBinder<CampSettings>(parent),
|
FormBinder<CampSettings>(parent),
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#include <QList>
|
#include <QList>
|
||||||
|
|
||||||
#include "campsettings.h"
|
#include "campsettings.h"
|
||||||
#include "data/camp-data.h"
|
#include "../data/camp-data.h"
|
||||||
#include <formbinder.h>
|
#include <formbinder.h>
|
||||||
#include <autotablemodel.h>
|
#include <autotablemodel.h>
|
||||||
|
|
||||||
@@ -18,16 +18,16 @@ class CampSettingsForm : public FormBinder<CampSettings>
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CampSettingsForm(QWidget *parent = 0);
|
explicit CampSettingsForm(QWidget *parent = nullptr);
|
||||||
~CampSettingsForm();
|
~CampSettingsForm() override;
|
||||||
|
|
||||||
// IForm interface
|
// IForm interface
|
||||||
public slots:
|
public slots:
|
||||||
bool saveRecord();
|
bool saveRecord() override;
|
||||||
|
|
||||||
// IForm interface
|
// IForm interface
|
||||||
public:
|
public:
|
||||||
void loadEntity();
|
void loadEntity() override;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_btnPriceAdd_clicked();
|
void on_btnPriceAdd_clicked();
|
||||||
|
|||||||
@@ -0,0 +1,64 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.24)
|
||||||
|
project(commodity)
|
||||||
|
|
||||||
|
include(../3rdparty/QxOrm/QxOrm.cmake)
|
||||||
|
|
||||||
|
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ../plugins)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
set(CMAKE_AUTORCC ON)
|
||||||
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
|
||||||
|
find_package(Qt6 COMPONENTS
|
||||||
|
Core
|
||||||
|
Gui
|
||||||
|
Widgets
|
||||||
|
Qml
|
||||||
|
REQUIRED)
|
||||||
|
|
||||||
|
add_library(commodity SHARED
|
||||||
|
commodity.cpp
|
||||||
|
commodity.h
|
||||||
|
commodity_global.h
|
||||||
|
commodityform.cpp
|
||||||
|
commodityform.h
|
||||||
|
commodityform.ui
|
||||||
|
commoditygrid.cpp
|
||||||
|
commoditygrid.h
|
||||||
|
commodityrc.qrc
|
||||||
|
commodityservice.cpp
|
||||||
|
commodityservice.h
|
||||||
|
commoditysettingsform.cpp
|
||||||
|
commoditysettingsform.h
|
||||||
|
commoditysettingsform.ui
|
||||||
|
commoditytablemodel.cpp
|
||||||
|
commoditytablemodel.h
|
||||||
|
data/commodity-data.h
|
||||||
|
data/commoditydata.cpp
|
||||||
|
data/commoditydata.h
|
||||||
|
data/commoditytypedata.cpp
|
||||||
|
data/commoditytypedata.h
|
||||||
|
settings/commoditysettings.cpp
|
||||||
|
settings/commoditysettings.h
|
||||||
|
coloritemdelegate.cpp coloritemdelegate.h)
|
||||||
|
|
||||||
|
target_compile_definitions(commodity PRIVATE -DCOMMODITY_LIBRARY)
|
||||||
|
|
||||||
|
include_directories(../core)
|
||||||
|
include_directories(../shop)
|
||||||
|
|
||||||
|
target_link_libraries(commodity
|
||||||
|
Qt::Core
|
||||||
|
Qt::Gui
|
||||||
|
Qt::Widgets
|
||||||
|
Qt::Qml
|
||||||
|
qdecimal
|
||||||
|
decnumber
|
||||||
|
QxOrm
|
||||||
|
core
|
||||||
|
shop
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS commodity
|
||||||
|
LIBRARY DESTINATION ../plugins)
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
//
|
||||||
|
// Created by Josef Rokos on 03.05.2023.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "coloritemdelegate.h"
|
||||||
|
#include <QPainter>
|
||||||
|
#include <QApplication>
|
||||||
|
#include <QPaintEvent>
|
||||||
|
#include <QHBoxLayout>
|
||||||
|
#include <QColorDialog>
|
||||||
|
|
||||||
|
ColorLabel::ColorLabel(QWidget* parent) : QWidget(parent), m_color(Qt::white) {
|
||||||
|
setAttribute(Qt::WA_StaticContents);
|
||||||
|
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||||
|
setFocusPolicy(Qt::NoFocus);
|
||||||
|
}
|
||||||
|
|
||||||
|
QColor ColorLabel::color() const {
|
||||||
|
return m_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ColorLabel::setColor(const QColor& color) {
|
||||||
|
m_color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
QSize ColorLabel::sizeHint() const {
|
||||||
|
return {20,20};
|
||||||
|
}
|
||||||
|
|
||||||
|
void ColorLabel::paintEvent(QPaintEvent* event) {
|
||||||
|
QPainter painter(this);
|
||||||
|
|
||||||
|
QStyle* style = QApplication::style();
|
||||||
|
painter.save();
|
||||||
|
painter.setBrush(m_color);
|
||||||
|
|
||||||
|
bool dark = false;
|
||||||
|
qreal darkness = 1-(0.299*m_color.red() + 0.587*m_color.green() + 0.114*m_color.blue())/255;
|
||||||
|
if(darkness >= 0.5){
|
||||||
|
dark = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
QColor penColor = dark ? Qt::transparent : Qt::darkGray;
|
||||||
|
|
||||||
|
painter.setPen(penColor);
|
||||||
|
int border = (event->rect().height() - style->pixelMetric(QStyle::PM_IndicatorWidth))/2;
|
||||||
|
|
||||||
|
QRect rect(event->rect().x()+border, event->rect().y()+border,
|
||||||
|
style->pixelMetric(QStyle::PM_IndicatorWidth),
|
||||||
|
style->pixelMetric(QStyle::PM_IndicatorWidth));// = option.rect.adjusted(4,4,-4,-6);
|
||||||
|
|
||||||
|
painter.drawRect(rect);
|
||||||
|
painter.restore();
|
||||||
|
}
|
||||||
|
|
||||||
|
ColorItemEditor::ColorItemEditor(QWidget* parent) : QWidget(parent), m_buttonPressed(false)
|
||||||
|
{
|
||||||
|
m_colorIndicator = new ColorLabel(this);
|
||||||
|
m_colorIndicator->setColor(m_color);
|
||||||
|
m_button = new QToolButton(this);
|
||||||
|
m_button->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
|
||||||
|
m_button->setText("...");
|
||||||
|
m_button->installEventFilter(this);
|
||||||
|
QHBoxLayout* layout = new QHBoxLayout(this);
|
||||||
|
layout->addWidget(m_colorIndicator);
|
||||||
|
layout->addWidget(m_button);
|
||||||
|
layout->setSpacing(0);
|
||||||
|
layout->setContentsMargins(1,1,1,1);
|
||||||
|
setFocusProxy(m_button);
|
||||||
|
setAutoFillBackground(true);
|
||||||
|
setLayout(layout);
|
||||||
|
setAutoFillBackground(true);
|
||||||
|
connect(m_button,SIGNAL(clicked()),this,SLOT(slotClicked()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void ColorItemEditor::setColor(const QColor& value) {
|
||||||
|
m_color = value;
|
||||||
|
m_colorIndicator->setColor(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ColorItemEditor::eventFilter(QObject* obj, QEvent* event) {
|
||||||
|
if (obj == m_button){
|
||||||
|
if (event->type() == QEvent::FocusOut && !m_buttonPressed){
|
||||||
|
auto focusEvent = dynamic_cast<QFocusEvent*>(event);
|
||||||
|
if (focusEvent && focusEvent->reason()!=Qt::MouseFocusReason){
|
||||||
|
setFocusToParent();
|
||||||
|
emit(editingFinished());
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ColorItemEditor::setFocusToParent() {
|
||||||
|
if (parentWidget()) {
|
||||||
|
parentWidget()->setFocus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ColorItemEditor::slotClicked() {
|
||||||
|
m_buttonPressed = true;
|
||||||
|
auto dialog = new QColorDialog(this);
|
||||||
|
dialog->setCurrentColor(m_color);
|
||||||
|
|
||||||
|
if (dialog->exec()) {
|
||||||
|
setColor(dialog->currentColor());
|
||||||
|
}
|
||||||
|
|
||||||
|
delete dialog;
|
||||||
|
setFocusToParent();
|
||||||
|
emit(editingFinished());
|
||||||
|
}
|
||||||
|
|
||||||
|
ColorItemDelegate::ColorItemDelegate(QObject* parent) : QStyledItemDelegate(parent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void ColorItemDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const {
|
||||||
|
QColor color(index.data().toString());
|
||||||
|
|
||||||
|
if (color.isValid()) {
|
||||||
|
painter->save();
|
||||||
|
painter->setBrush(color);
|
||||||
|
|
||||||
|
QRect rect(option.rect.x(), option.rect.y(), option.rect.width(), option.rect.height());
|
||||||
|
painter->drawRect(rect);
|
||||||
|
painter->restore();
|
||||||
|
} else {
|
||||||
|
QStyledItemDelegate::paint(painter, option, index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QSize ColorItemDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const {
|
||||||
|
return QStyledItemDelegate::sizeHint(option, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
QWidget* ColorItemDelegate::createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const {
|
||||||
|
QColor color(index.data().toString());
|
||||||
|
if (!color.isValid()) {
|
||||||
|
color = QColorConstants::Gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto editor = new ColorItemEditor(parent);
|
||||||
|
editor->setColor(color);
|
||||||
|
connect(editor, &ColorItemEditor::editingFinished, this, &ColorItemDelegate::commitAndCloseEditor);
|
||||||
|
return editor;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ColorItemDelegate::commitAndCloseEditor() {
|
||||||
|
auto editor = qobject_cast<ColorItemEditor*>(sender());
|
||||||
|
emit commitData(editor);
|
||||||
|
emit closeEditor(editor);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ColorItemDelegate::setEditorData(QWidget* editor, const QModelIndex& index) const {
|
||||||
|
auto edit = qobject_cast<ColorItemEditor*>(editor);
|
||||||
|
QColor color(index.data().toString());
|
||||||
|
|
||||||
|
if (edit && color.isValid()) {
|
||||||
|
edit->setColor(color);
|
||||||
|
} else {
|
||||||
|
QStyledItemDelegate::setEditorData(editor, index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ColorItemDelegate::setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const {
|
||||||
|
auto edit = qobject_cast<ColorItemEditor*>(editor);
|
||||||
|
|
||||||
|
if (edit) {
|
||||||
|
model->setData(index, edit->color().name());
|
||||||
|
} else {
|
||||||
|
QStyledItemDelegate::setModelData(editor, model, index);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
//
|
||||||
|
// Created by Josef Rokos on 03.05.2023.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef COLORITEMDELEGATE_H
|
||||||
|
#define COLORITEMDELEGATE_H
|
||||||
|
|
||||||
|
#include <QStyledItemDelegate>
|
||||||
|
#include <QToolButton>
|
||||||
|
|
||||||
|
class ColorItemDelegate : public QStyledItemDelegate {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit ColorItemDelegate(QObject* parent = nullptr);
|
||||||
|
~ColorItemDelegate() override = default;
|
||||||
|
|
||||||
|
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
|
||||||
|
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override;
|
||||||
|
QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
|
||||||
|
void setEditorData(QWidget *editor, const QModelIndex &index) const override;
|
||||||
|
void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void commitAndCloseEditor();
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class ColorLabel : public QWidget{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit ColorLabel(QWidget* parent = nullptr);
|
||||||
|
QColor color() const;
|
||||||
|
void setColor(const QColor &color);
|
||||||
|
QSize sizeHint() const override;
|
||||||
|
protected:
|
||||||
|
void paintEvent(QPaintEvent *event) override;
|
||||||
|
private:
|
||||||
|
QColor m_color;
|
||||||
|
};
|
||||||
|
|
||||||
|
class ColorItemEditor : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit ColorItemEditor(QWidget *parent = nullptr);
|
||||||
|
QColor color(){return m_color;}
|
||||||
|
void setColor(const QColor& value);
|
||||||
|
protected:
|
||||||
|
bool eventFilter(QObject *obj, QEvent *event) override;
|
||||||
|
private:
|
||||||
|
void setFocusToParent();
|
||||||
|
signals:
|
||||||
|
void editingFinished();
|
||||||
|
private slots:
|
||||||
|
void slotClicked();
|
||||||
|
private:
|
||||||
|
QColor m_color;
|
||||||
|
QToolButton* m_button;
|
||||||
|
ColorLabel* m_colorIndicator;
|
||||||
|
bool m_buttonPressed;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif //COLORITEMDELEGATE_H
|
||||||
@@ -5,18 +5,11 @@
|
|||||||
#include "commoditysettingsform.h"
|
#include "commoditysettingsform.h"
|
||||||
#include "commodityservice.h"
|
#include "commodityservice.h"
|
||||||
|
|
||||||
Commodity::Commodity()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void Commodity::initServiceUi()
|
void Commodity::initServiceUi()
|
||||||
{
|
{
|
||||||
CommodityGrid *grid = new CommodityGrid();
|
|
||||||
CommodityForm *form = new CommodityForm();
|
|
||||||
|
|
||||||
m_service = new CommodityService();
|
m_service = new CommodityService();
|
||||||
m_ui = grid;
|
m_ui = new CommodityGrid();
|
||||||
((CommodityGrid *) m_ui)->setForm(form);
|
((CommodityGrid *) m_ui)->setForm(new CommodityForm());
|
||||||
m_settingsUi = new CommoditySettingsForm();
|
m_settingsUi = new CommoditySettingsForm();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,15 +14,15 @@ class COMMODITYSHARED_EXPORT Commodity : public QObject, IMetaDataPlugin
|
|||||||
Q_INTERFACES(IPlugin)
|
Q_INTERFACES(IPlugin)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Commodity();
|
Commodity() = default;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void initServiceUi() Q_DECL_OVERRIDE;
|
void initServiceUi() Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
// IPlugin interface
|
// IPlugin interface
|
||||||
public:
|
public:
|
||||||
virtual QIcon pluginIcon();
|
QIcon pluginIcon() override;
|
||||||
QTranslator *translator();
|
QTranslator *translator() override;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
"default" : "",
|
"default" : "",
|
||||||
"CZ" : ""
|
"CZ" : ""
|
||||||
},
|
},
|
||||||
"schemaVersion" : 1,
|
"schemaVersion" : 2,
|
||||||
"sql" : [
|
"sql" : [
|
||||||
"CREATE TABLE \"CommodityTypeData\" (
|
"CREATE TABLE \"CommodityTypeData\" (
|
||||||
\"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
\"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
@@ -26,10 +26,15 @@ CREATE TABLE \"CommodityData\" (
|
|||||||
CONSTRAINT \"type_fk\"
|
CONSTRAINT \"type_fk\"
|
||||||
FOREIGN KEY (\"type\")
|
FOREIGN KEY (\"type\")
|
||||||
REFERENCES \"CommodityTypeData\" (\"id\")
|
REFERENCES \"CommodityTypeData\" (\"id\")
|
||||||
DEFERRABLE INITIALLY DEFERRED);"
|
DEFERRABLE INITIALLY DEFERRED);
|
||||||
|
",
|
||||||
|
"
|
||||||
|
ALTER TABLE \"CommodityTypeData\" ADD \"color\" TEXT NULL;
|
||||||
|
ALTER TABLE \"CommodityData\" ADD \"favorite\" INTEGER NULL;
|
||||||
|
UPDATE \"CommodityData\" SET \"favorite\"=0;
|
||||||
|
"
|
||||||
],
|
],
|
||||||
"dependencies" : [],
|
"dependencies" : [ "SHOP" ],
|
||||||
"translations" : {
|
"translations" : {
|
||||||
"CZ" : {
|
"CZ" : {
|
||||||
"name" : "Název",
|
"name" : "Název",
|
||||||
|
|||||||
@@ -1,61 +0,0 @@
|
|||||||
#-------------------------------------------------
|
|
||||||
#
|
|
||||||
# Project created by QtCreator 2016-02-09T21:26:14
|
|
||||||
#
|
|
||||||
#-------------------------------------------------
|
|
||||||
|
|
||||||
QT += widgets sql
|
|
||||||
|
|
||||||
QT -= gui
|
|
||||||
|
|
||||||
TARGET = commodity
|
|
||||||
TEMPLATE = lib
|
|
||||||
|
|
||||||
DEFINES += COMMODITY_LIBRARY
|
|
||||||
|
|
||||||
SOURCES += commodity.cpp \
|
|
||||||
data/commoditydata.cpp \
|
|
||||||
data/commoditytypedata.cpp \
|
|
||||||
commoditytablemodel.cpp \
|
|
||||||
commodityform.cpp \
|
|
||||||
commoditygrid.cpp \
|
|
||||||
commoditysettingsform.cpp \
|
|
||||||
commodityservice.cpp \
|
|
||||||
settings/commoditysettings.cpp
|
|
||||||
|
|
||||||
HEADERS += commodity.h\
|
|
||||||
commodity_global.h \
|
|
||||||
data/commoditydata.h \
|
|
||||||
data/commoditytypedata.h \
|
|
||||||
data/commodity-data.h \
|
|
||||||
commoditytablemodel.h \
|
|
||||||
commodityform.h \
|
|
||||||
commoditygrid.h \
|
|
||||||
commoditysettingsform.h \
|
|
||||||
commodityservice.h \
|
|
||||||
settings/commoditysettings.h
|
|
||||||
|
|
||||||
include(../config_plugin.pri)
|
|
||||||
|
|
||||||
ODB_FILES = commodity/data/commodity-data.h
|
|
||||||
H_DIR = $$PWD/data/*.h
|
|
||||||
ODB_OTHER_INCLUDES = -I $$PWD/../shop
|
|
||||||
include(../odb.pri)
|
|
||||||
|
|
||||||
OTHER_FILES += \
|
|
||||||
commodity.json
|
|
||||||
|
|
||||||
FORMS += \
|
|
||||||
commodityform.ui \
|
|
||||||
commoditysettingsform.ui
|
|
||||||
|
|
||||||
RESOURCES += \
|
|
||||||
commodityrc.qrc
|
|
||||||
TRANSLATIONS = translations/commodity_cs_CZ.ts
|
|
||||||
|
|
||||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../plugins/ -lshop
|
|
||||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../plugins/ -lshop
|
|
||||||
else:unix: LIBS += -L$$OUT_PWD/../plugins/ -lshop
|
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/../shop
|
|
||||||
DEPENDPATH += $$PWD/../shop
|
|
||||||
@@ -10,3 +10,11 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // COMMODITY_GLOBAL_H
|
#endif // COMMODITY_GLOBAL_H
|
||||||
|
|
||||||
|
#ifdef COMMODITY_LIBRARY
|
||||||
|
#define QX_REGISTER_HPP_COMM QX_REGISTER_HPP_EXPORT_DLL
|
||||||
|
#define QX_REGISTER_CPP_COMM QX_REGISTER_CPP_EXPORT_DLL
|
||||||
|
#else // COMMODITY_LIBRARY
|
||||||
|
#define QX_REGISTER_HPP_COMM QX_REGISTER_HPP_IMPORT_DLL
|
||||||
|
#define QX_REGISTER_CPP_COMM QX_REGISTER_CPP_IMPORT_DLL
|
||||||
|
#endif
|
||||||
@@ -2,12 +2,12 @@
|
|||||||
#include "ui_commodityform.h"
|
#include "ui_commodityform.h"
|
||||||
#include <combodata.h>
|
#include <combodata.h>
|
||||||
#include <settingsservice.h>
|
#include <settingsservice.h>
|
||||||
#include <settings/commoditysettings.h>
|
|
||||||
#include <helper.h>
|
#include <helper.h>
|
||||||
|
|
||||||
#include <QSharedPointer>
|
#include <QSharedPointer>
|
||||||
#include <QList>
|
#include <QList>
|
||||||
#include "data/commoditytypedata.h"
|
#include "data/commoditytypedata.h"
|
||||||
|
#include "settings/commoditysettings.h"
|
||||||
|
|
||||||
CommodityForm::CommodityForm(QWidget *parent) :
|
CommodityForm::CommodityForm(QWidget *parent) :
|
||||||
AutoForm<CommodityData>(parent),
|
AutoForm<CommodityData>(parent),
|
||||||
@@ -25,6 +25,7 @@ CommodityForm::CommodityForm(QWidget *parent) :
|
|||||||
<< ComboData(Enums::SECOND_LOWER,tr("Second Lower"));
|
<< ComboData(Enums::SECOND_LOWER,tr("Second Lower"));
|
||||||
registerBinding(ui->vat, vt);
|
registerBinding(ui->vat, vt);
|
||||||
registerBinding(ui->count);
|
registerBinding(ui->count);
|
||||||
|
registerBinding(ui->favorite);
|
||||||
|
|
||||||
m_codeAsNumber = false;
|
m_codeAsNumber = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <autoform.h>
|
#include <autoform.h>
|
||||||
#include "data/commoditydata.h"
|
#include "data/commoditydata.h"
|
||||||
#include "commodity-odb.hxx"
|
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class CommodityForm;
|
class CommodityForm;
|
||||||
@@ -15,8 +14,8 @@ class CommodityForm : public AutoForm<CommodityData>
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CommodityForm(QWidget *parent = 0);
|
explicit CommodityForm(QWidget *parent = nullptr);
|
||||||
~CommodityForm();
|
~CommodityForm() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::CommodityForm *ui;
|
Ui::CommodityForm *ui;
|
||||||
@@ -25,8 +24,8 @@ private:
|
|||||||
|
|
||||||
// FormBinder interface
|
// FormBinder interface
|
||||||
protected:
|
protected:
|
||||||
void registerCombos();
|
void registerCombos() override;
|
||||||
void onShow();
|
void onShow() override;
|
||||||
private slots:
|
private slots:
|
||||||
void on_code_textChanged(const QString &text);
|
void on_code_textChanged(const QString &text);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -14,6 +14,9 @@
|
|||||||
<string>Form</string>
|
<string>Form</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QFormLayout" name="formLayout">
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<property name="fieldGrowthPolicy">
|
||||||
|
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
||||||
|
</property>
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="label">
|
<widget class="QLabel" name="label">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@@ -91,6 +94,13 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="7" column="1">
|
||||||
|
<widget class="QCheckBox" name="favorite">
|
||||||
|
<property name="text">
|
||||||
|
<string>Favorite</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
|
|||||||
@@ -3,13 +3,13 @@
|
|||||||
|
|
||||||
#include <core.h>
|
#include <core.h>
|
||||||
#include "data/commoditydata.h"
|
#include "data/commoditydata.h"
|
||||||
#include "commodity-odb.hxx"
|
|
||||||
|
|
||||||
class CommodityGrid : public GridForm<CommodityData>
|
class CommodityGrid : public GridForm<CommodityData>
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
CommodityGrid(QWidget *parent = NULL);
|
explicit CommodityGrid(QWidget *parent = nullptr);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // COMMODITYGRID_H
|
#endif // COMMODITYGRID_H
|
||||||
|
|||||||
@@ -1,18 +1,13 @@
|
|||||||
#include "commodityservice.h"
|
#include "commodityservice.h"
|
||||||
|
|
||||||
#include "commodity-odb.hxx"
|
QList<QSharedPointer<IShopItem> > CommodityService::shopItems(const QString& category/* = ""*/)
|
||||||
|
|
||||||
CommodityService::CommodityService()
|
|
||||||
{
|
{
|
||||||
|
QList<QSharedPointer<IShopItem> > ret;
|
||||||
}
|
|
||||||
|
|
||||||
QList<QSharedPointer<ShopItem> > CommodityService::shopItems()
|
|
||||||
{
|
|
||||||
QList<QSharedPointer<ShopItem> > ret;
|
|
||||||
|
|
||||||
foreach (QSharedPointer<CommodityData> data, all()) {
|
foreach (QSharedPointer<CommodityData> data, all()) {
|
||||||
ret.append(qSharedPointerDynamicCast<ShopItem, CommodityData>(data));
|
if (category.isEmpty() || (data->favorite() && data->category() == category)) {
|
||||||
|
ret.append(qSharedPointerDynamicCast<IShopItem, CommodityData>(data));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -30,15 +25,15 @@ void CommodityService::addedToVoucher(int itemId, int countAdded)
|
|||||||
update(commodity);
|
update(commodity);
|
||||||
}
|
}
|
||||||
|
|
||||||
ShopItemPtr CommodityService::shopItem(int itemId)
|
IShopItemPtr CommodityService::shopItem(int itemId)
|
||||||
{
|
{
|
||||||
CommodityDataPtr item = this->loadById(itemId);
|
CommodityDataPtr item = this->loadById(itemId);
|
||||||
return qSharedPointerDynamicCast<ShopItem, CommodityData>(item);
|
return qSharedPointerDynamicCast<IShopItem, CommodityData>(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
ISeller *CommodityService::seller()
|
ISeller *CommodityService::seller()
|
||||||
{
|
{
|
||||||
return NULL;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CommodityService::defaultSort()
|
QString CommodityService::defaultSort()
|
||||||
|
|||||||
@@ -8,13 +8,13 @@
|
|||||||
class CommodityService : public Service<CommodityData>, public ISellableService
|
class CommodityService : public Service<CommodityData>, public ISellableService
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CommodityService();
|
CommodityService() = default;
|
||||||
|
|
||||||
// ISellableService interface
|
// ISellableService interface
|
||||||
public:
|
public:
|
||||||
QList<ShopItemPtr> shopItems() override;
|
QList<IShopItemPtr> shopItems(const QString& category = "") override;
|
||||||
void addedToVoucher(int itemId, int countAdded) override;
|
void addedToVoucher(int itemId, int countAdded) override;
|
||||||
virtual ShopItemPtr shopItem(int itemId) override;
|
IShopItemPtr shopItem(int itemId) override;
|
||||||
ISeller *seller() override;
|
ISeller *seller() override;
|
||||||
QString defaultSort() override;
|
QString defaultSort() override;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
#include "commoditysettingsform.h"
|
#include "commoditysettingsform.h"
|
||||||
#include "ui_commoditysettingsform.h"
|
#include "ui_commoditysettingsform.h"
|
||||||
|
#include <QHeaderView>
|
||||||
#include <service.h>
|
#include <service.h>
|
||||||
#include <settingsservice.h>
|
#include <settingsservice.h>
|
||||||
#include "commodity-odb.hxx"
|
|
||||||
|
#include "coloritemdelegate.h"
|
||||||
|
|
||||||
CommoditySettingsForm::CommoditySettingsForm(QWidget *parent) :
|
CommoditySettingsForm::CommoditySettingsForm(QWidget *parent) :
|
||||||
FormBinder<CommoditySettings>(parent),
|
FormBinder<CommoditySettings>(parent),
|
||||||
@@ -13,9 +15,10 @@ CommoditySettingsForm::CommoditySettingsForm(QWidget *parent) :
|
|||||||
registerBinding(ui->codeAsNumber);
|
registerBinding(ui->codeAsNumber);
|
||||||
|
|
||||||
m_table = new AutoTableModel<CommodityTypeData>();
|
m_table = new AutoTableModel<CommodityTypeData>();
|
||||||
m_table->setEditableCols(QList<int>() << 0);
|
m_table->setEditableCols(QList<int>() << 0 << 1);
|
||||||
ui->commodityTypesTable->setModel(m_table);
|
ui->commodityTypesTable->setModel(m_table);
|
||||||
ui->commodityTypesTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
|
ui->commodityTypesTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
|
||||||
|
ui->commodityTypesTable->setItemDelegateForColumn(1, new ColorItemDelegate(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
CommoditySettingsForm::~CommoditySettingsForm()
|
CommoditySettingsForm::~CommoditySettingsForm()
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ class CommoditySettingsForm : public FormBinder<CommoditySettings>
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CommoditySettingsForm(QWidget *parent = 0);
|
explicit CommoditySettingsForm(QWidget *parent = nullptr);
|
||||||
~CommoditySettingsForm();
|
~CommoditySettingsForm() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::CommoditySettingsForm *ui;
|
Ui::CommoditySettingsForm *ui;
|
||||||
@@ -26,10 +26,10 @@ private:
|
|||||||
|
|
||||||
// IForm interface
|
// IForm interface
|
||||||
public:
|
public:
|
||||||
void loadEntity();
|
void loadEntity() override;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
bool saveRecord();
|
bool saveRecord() override;
|
||||||
private slots:
|
private slots:
|
||||||
void on_addCommodityType_clicked();
|
void on_addCommodityType_clicked();
|
||||||
void on_delCommodityType_clicked();
|
void on_delCommodityType_clicked();
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ class CommodityTableModel : public AutoTableModel<CommodityData>
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
CommodityTableModel(QObject *parent= NULL);
|
explicit CommodityTableModel(QObject *parent= nullptr);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // COMMODITYTABLEMODEL_H
|
#endif // COMMODITYTABLEMODEL_H
|
||||||
|
|||||||
@@ -1,22 +1,41 @@
|
|||||||
#include "commoditydata.h"
|
#include "commoditydata.h"
|
||||||
#include <define.h>
|
#include <define.h>
|
||||||
|
|
||||||
|
QX_REGISTER_CPP_COMM(CommodityData)
|
||||||
|
|
||||||
|
namespace qx {
|
||||||
|
template<> void register_class(QxClass<CommodityData>& t) {
|
||||||
|
t.setName("CommodityData");
|
||||||
|
t.id(&CommodityData::m_id, "id");
|
||||||
|
t.data(&CommodityData::m_name, "name");
|
||||||
|
t.data(&CommodityData::m_shortName, "shortName");
|
||||||
|
t.data(&CommodityData::m_code, "code");
|
||||||
|
t.data(&CommodityData::m_price, "price");
|
||||||
|
t.data(&CommodityData::m_vat, "vat");
|
||||||
|
t.data(&CommodityData::m_count, "count");
|
||||||
|
t.data(&CommodityData::m_favorite, "favorite");
|
||||||
|
|
||||||
|
t.relationManyToOne(&CommodityData::m_type, "type");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
CommodityData::CommodityData(QObject *parent)
|
CommodityData::CommodityData(QObject *parent)
|
||||||
:ShopItem(parent)
|
:IShopItem(parent)
|
||||||
{
|
{
|
||||||
m_count = 0;
|
m_count = 0;
|
||||||
m_price = 0;
|
m_price = 0;
|
||||||
m_vat = Enums::NONE;
|
m_vat = Enums::NONE;
|
||||||
}
|
}
|
||||||
int CommodityData::id()
|
long CommodityData::id() const
|
||||||
{
|
{
|
||||||
return m_id;
|
return m_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CommodityData::setId(int id)
|
void CommodityData::setId(long id)
|
||||||
{
|
{
|
||||||
m_id = id;
|
m_id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CommodityData::name()
|
QString CommodityData::name()
|
||||||
{
|
{
|
||||||
return m_name;
|
return m_name;
|
||||||
@@ -26,6 +45,7 @@ void CommodityData::setName(const QString &name)
|
|||||||
{
|
{
|
||||||
m_name = name;
|
m_name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CommodityData::shortName()
|
QString CommodityData::shortName()
|
||||||
{
|
{
|
||||||
return m_shortName;
|
return m_shortName;
|
||||||
@@ -35,6 +55,7 @@ void CommodityData::setShortName(const QString &shortName)
|
|||||||
{
|
{
|
||||||
m_shortName = shortName;
|
m_shortName = shortName;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CommodityData::code() const
|
QString CommodityData::code() const
|
||||||
{
|
{
|
||||||
return m_code;
|
return m_code;
|
||||||
@@ -44,6 +65,7 @@ void CommodityData::setCode(const QString &code)
|
|||||||
{
|
{
|
||||||
m_code = code;
|
m_code = code;
|
||||||
}
|
}
|
||||||
|
|
||||||
QSharedPointer<QObject> CommodityData::type() const
|
QSharedPointer<QObject> CommodityData::type() const
|
||||||
{
|
{
|
||||||
return m_type;
|
return m_type;
|
||||||
@@ -51,7 +73,7 @@ QSharedPointer<QObject> CommodityData::type() const
|
|||||||
|
|
||||||
void CommodityData::setType(const QSharedPointer<QObject> &type)
|
void CommodityData::setType(const QSharedPointer<QObject> &type)
|
||||||
{
|
{
|
||||||
if (qobject_cast<CommodityTypeData*>(type.data()) != NULL) {
|
if (qobject_cast<CommodityTypeData*>(type.data()) != nullptr) {
|
||||||
m_type = qSharedPointerDynamicCast<CommodityTypeData, QObject>(type);
|
m_type = qSharedPointerDynamicCast<CommodityTypeData, QObject>(type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -93,11 +115,31 @@ Enums::VatType CommodityData::vatType()
|
|||||||
return vat();
|
return vat();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CommodityData::pluginId()
|
QString CommodityData::pluginId() const
|
||||||
{
|
{
|
||||||
return "COMMODITY";
|
return "COMMODITY";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList CommodityData::eagerLoad() {
|
||||||
|
return { "type" };
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CommodityData::favorite() {
|
||||||
|
return m_favorite;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CommodityData::setFavorite(bool favorite) {
|
||||||
|
m_favorite = favorite;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString CommodityData::color() {
|
||||||
|
return m_type->color();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString CommodityData::category() {
|
||||||
|
return m_type->name();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,17 +3,19 @@
|
|||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <odb/core.hxx>
|
|
||||||
#include "commoditytypedata.h"
|
#include "commoditytypedata.h"
|
||||||
#include <shopitem.h>
|
#include <shopitem.h>
|
||||||
#include <QDecDouble.hh>
|
#include <QDecDouble.hh>
|
||||||
#include <QSharedDataPointer>
|
#include <QSharedDataPointer>
|
||||||
#include <enums.h>
|
#include <enums.h>
|
||||||
|
|
||||||
#pragma db object
|
#include "../commodity_global.h"
|
||||||
class CommodityData : public ShopItem
|
|
||||||
|
class CommodityData : public IShopItem
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
QX_REGISTER_FRIEND_CLASS(CommodityData)
|
||||||
Q_PROPERTY(QString code READ code WRITE setCode)
|
Q_PROPERTY(QString code READ code WRITE setCode)
|
||||||
Q_PROPERTY(QString name READ name WRITE setName)
|
Q_PROPERTY(QString name READ name WRITE setName)
|
||||||
Q_PROPERTY(QString shortName READ shortName WRITE setShortName)
|
Q_PROPERTY(QString shortName READ shortName WRITE setShortName)
|
||||||
@@ -21,12 +23,13 @@ class CommodityData : public ShopItem
|
|||||||
Q_PROPERTY(QDecDouble price READ price WRITE setPrice)
|
Q_PROPERTY(QDecDouble price READ price WRITE setPrice)
|
||||||
Q_PROPERTY(Enums::VatType vat READ vat WRITE setVat)
|
Q_PROPERTY(Enums::VatType vat READ vat WRITE setVat)
|
||||||
Q_PROPERTY(int count READ count WRITE setCount)
|
Q_PROPERTY(int count READ count WRITE setCount)
|
||||||
|
Q_PROPERTY(bool favorite READ favorite WRITE setFavorite)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CommodityData(QObject *parent = 0);
|
explicit CommodityData(QObject *parent = nullptr);
|
||||||
|
|
||||||
int id() override;
|
long id() const override;
|
||||||
void setId(int id);
|
void setId(long id);
|
||||||
|
|
||||||
QString name() override;
|
QString name() override;
|
||||||
void setName(const QString &name);
|
void setName(const QString &name);
|
||||||
@@ -49,10 +52,13 @@ public:
|
|||||||
int count() const;
|
int count() const;
|
||||||
void setCount(int count);
|
void setCount(int count);
|
||||||
|
|
||||||
|
bool favorite() override;
|
||||||
|
void setFavorite(bool favorite);
|
||||||
|
|
||||||
|
Q_INVOKABLE QStringList eagerLoad();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class odb::access;
|
long m_id{0};
|
||||||
#pragma db id auto
|
|
||||||
int m_id;
|
|
||||||
QString m_name;
|
QString m_name;
|
||||||
QString m_shortName;
|
QString m_shortName;
|
||||||
QString m_code;
|
QString m_code;
|
||||||
@@ -60,14 +66,19 @@ private:
|
|||||||
int m_price;
|
int m_price;
|
||||||
Enums::VatType m_vat;
|
Enums::VatType m_vat;
|
||||||
int m_count;
|
int m_count;
|
||||||
|
bool m_favorite;
|
||||||
|
|
||||||
// IShopItem interface
|
// IShopItem interface
|
||||||
public:
|
public:
|
||||||
QDecDouble unitPrice() override;
|
QDecDouble unitPrice() override;
|
||||||
Enums::VatType vatType() override;
|
Enums::VatType vatType() override;
|
||||||
QString pluginId() override;
|
QString pluginId() const override;
|
||||||
|
QString color() override;
|
||||||
|
QString category() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef QSharedPointer<CommodityData> CommodityDataPtr;
|
typedef QSharedPointer<CommodityData> CommodityDataPtr;
|
||||||
|
|
||||||
|
QX_REGISTER_HPP_COMM(CommodityData, IShopItem, 0)
|
||||||
|
|
||||||
#endif // COMMODITYDATA_H
|
#endif // COMMODITYDATA_H
|
||||||
|
|||||||
@@ -1,19 +1,31 @@
|
|||||||
#include "commoditytypedata.h"
|
#include "commoditytypedata.h"
|
||||||
|
|
||||||
|
QX_REGISTER_CPP_COMM(CommodityTypeData)
|
||||||
|
|
||||||
|
namespace qx {
|
||||||
|
template<> void register_class(QxClass<CommodityTypeData>& t) {
|
||||||
|
t.setName("CommodityTypeData");
|
||||||
|
t.id(&CommodityTypeData::m_id, "id");
|
||||||
|
t.data(&CommodityTypeData::m_name, "name");
|
||||||
|
t.data(&CommodityTypeData::m_color, "color");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
CommodityTypeData::CommodityTypeData(QObject *parent)
|
CommodityTypeData::CommodityTypeData(QObject *parent)
|
||||||
:ComboItem(parent)
|
:ComboItem(parent)
|
||||||
{
|
{
|
||||||
m_id = 0;
|
m_id = 0;
|
||||||
}
|
}
|
||||||
int CommodityTypeData::id() const
|
long CommodityTypeData::id() const
|
||||||
{
|
{
|
||||||
return m_id;
|
return m_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CommodityTypeData::setId(int id)
|
void CommodityTypeData::setId(long id)
|
||||||
{
|
{
|
||||||
m_id = id;
|
m_id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CommodityTypeData::name() const
|
QString CommodityTypeData::name() const
|
||||||
{
|
{
|
||||||
return m_name;
|
return m_name;
|
||||||
@@ -28,7 +40,7 @@ bool CommodityTypeData::eq(ComboItem *other)
|
|||||||
{
|
{
|
||||||
CommodityTypeData* ct = qobject_cast<CommodityTypeData *> (other);
|
CommodityTypeData* ct = qobject_cast<CommodityTypeData *> (other);
|
||||||
|
|
||||||
return ct != NULL && this->id() == ct->id() ;
|
return ct != nullptr && this->id() == ct->id() ;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CommodityTypeData::toString()
|
QString CommodityTypeData::toString()
|
||||||
@@ -36,4 +48,12 @@ QString CommodityTypeData::toString()
|
|||||||
return this->name();
|
return this->name();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString CommodityTypeData::color() const {
|
||||||
|
return m_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CommodityTypeData::setColor(const QString& color) {
|
||||||
|
m_color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user