Build system changed to Cmake, ORM changed to QxORM, Qt6 compatibility.
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
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
|
||||
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
|
||||
)
|
||||
|
||||
target_compile_definitions(commodity PRIVATE -DCOMMODITY_LIBRARY)
|
||||
|
||||
include_directories(../core)
|
||||
include_directories(../shop)
|
||||
|
||||
target_link_libraries(commodity
|
||||
Qt::Core
|
||||
Qt::Gui
|
||||
Qt::Widgets
|
||||
qdecimal
|
||||
decnumber
|
||||
QxOrm
|
||||
core
|
||||
shop
|
||||
)
|
||||
|
||||
install(TARGETS commodity
|
||||
LIBRARY DESTINATION ../plugins)
|
||||
@@ -5,18 +5,11 @@
|
||||
#include "commoditysettingsform.h"
|
||||
#include "commodityservice.h"
|
||||
|
||||
Commodity::Commodity()
|
||||
{
|
||||
}
|
||||
|
||||
void Commodity::initServiceUi()
|
||||
{
|
||||
CommodityGrid *grid = new CommodityGrid();
|
||||
CommodityForm *form = new CommodityForm();
|
||||
|
||||
m_service = new CommodityService();
|
||||
m_ui = grid;
|
||||
((CommodityGrid *) m_ui)->setForm(form);
|
||||
m_ui = new CommodityGrid();
|
||||
((CommodityGrid *) m_ui)->setForm(new CommodityForm());
|
||||
m_settingsUi = new CommoditySettingsForm();
|
||||
}
|
||||
|
||||
|
||||
@@ -14,15 +14,15 @@ class COMMODITYSHARED_EXPORT Commodity : public QObject, IMetaDataPlugin
|
||||
Q_INTERFACES(IPlugin)
|
||||
|
||||
public:
|
||||
Commodity();
|
||||
Commodity() = default;
|
||||
|
||||
protected:
|
||||
void initServiceUi() Q_DECL_OVERRIDE;
|
||||
|
||||
// IPlugin interface
|
||||
public:
|
||||
virtual QIcon pluginIcon();
|
||||
QTranslator *translator();
|
||||
QIcon pluginIcon() override;
|
||||
QTranslator *translator() override;
|
||||
|
||||
|
||||
};
|
||||
|
||||
@@ -29,7 +29,7 @@ CREATE TABLE \"CommodityData\" (
|
||||
DEFERRABLE INITIALLY DEFERRED);"
|
||||
|
||||
],
|
||||
"dependencies" : [],
|
||||
"dependencies" : [ "SHOP" ],
|
||||
"translations" : {
|
||||
"CZ" : {
|
||||
"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 // 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 <combodata.h>
|
||||
#include <settingsservice.h>
|
||||
#include <settings/commoditysettings.h>
|
||||
#include <helper.h>
|
||||
|
||||
#include <QSharedPointer>
|
||||
#include <QList>
|
||||
#include "data/commoditytypedata.h"
|
||||
#include "settings/commoditysettings.h"
|
||||
|
||||
CommodityForm::CommodityForm(QWidget *parent) :
|
||||
AutoForm<CommodityData>(parent),
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#include <QWidget>
|
||||
#include <autoform.h>
|
||||
#include "data/commoditydata.h"
|
||||
#include "commodity-odb.hxx"
|
||||
|
||||
namespace Ui {
|
||||
class CommodityForm;
|
||||
@@ -15,8 +14,8 @@ class CommodityForm : public AutoForm<CommodityData>
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit CommodityForm(QWidget *parent = 0);
|
||||
~CommodityForm();
|
||||
explicit CommodityForm(QWidget *parent = nullptr);
|
||||
~CommodityForm() override;
|
||||
|
||||
private:
|
||||
Ui::CommodityForm *ui;
|
||||
@@ -25,8 +24,8 @@ private:
|
||||
|
||||
// FormBinder interface
|
||||
protected:
|
||||
void registerCombos();
|
||||
void onShow();
|
||||
void registerCombos() override;
|
||||
void onShow() override;
|
||||
private slots:
|
||||
void on_code_textChanged(const QString &text);
|
||||
};
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
|
||||
#include <core.h>
|
||||
#include "data/commoditydata.h"
|
||||
#include "commodity-odb.hxx"
|
||||
|
||||
|
||||
class CommodityGrid : public GridForm<CommodityData>
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CommodityGrid(QWidget *parent = NULL);
|
||||
explicit CommodityGrid(QWidget *parent = nullptr);
|
||||
};
|
||||
|
||||
#endif // COMMODITYGRID_H
|
||||
|
||||
@@ -1,18 +1,11 @@
|
||||
#include "commodityservice.h"
|
||||
|
||||
#include "commodity-odb.hxx"
|
||||
|
||||
CommodityService::CommodityService()
|
||||
QList<QSharedPointer<IShopItem> > CommodityService::shopItems()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QList<QSharedPointer<ShopItem> > CommodityService::shopItems()
|
||||
{
|
||||
QList<QSharedPointer<ShopItem> > ret;
|
||||
QList<QSharedPointer<IShopItem> > ret;
|
||||
|
||||
foreach (QSharedPointer<CommodityData> data, all()) {
|
||||
ret.append(qSharedPointerDynamicCast<ShopItem, CommodityData>(data));
|
||||
ret.append(qSharedPointerDynamicCast<IShopItem, CommodityData>(data));
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -30,15 +23,15 @@ void CommodityService::addedToVoucher(int itemId, int countAdded)
|
||||
update(commodity);
|
||||
}
|
||||
|
||||
ShopItemPtr CommodityService::shopItem(int itemId)
|
||||
IShopItemPtr CommodityService::shopItem(int itemId)
|
||||
{
|
||||
CommodityDataPtr item = this->loadById(itemId);
|
||||
return qSharedPointerDynamicCast<ShopItem, CommodityData>(item);
|
||||
return qSharedPointerDynamicCast<IShopItem, CommodityData>(item);
|
||||
}
|
||||
|
||||
ISeller *CommodityService::seller()
|
||||
{
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
QString CommodityService::defaultSort()
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
class CommodityService : public Service<CommodityData>, public ISellableService
|
||||
{
|
||||
public:
|
||||
CommodityService();
|
||||
CommodityService() = default;
|
||||
|
||||
// ISellableService interface
|
||||
public:
|
||||
QList<ShopItemPtr> shopItems() override;
|
||||
QList<IShopItemPtr> shopItems() override;
|
||||
void addedToVoucher(int itemId, int countAdded) override;
|
||||
virtual ShopItemPtr shopItem(int itemId) override;
|
||||
IShopItemPtr shopItem(int itemId) override;
|
||||
ISeller *seller() override;
|
||||
QString defaultSort() override;
|
||||
};
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#include "commoditysettingsform.h"
|
||||
#include "ui_commoditysettingsform.h"
|
||||
#include <QHeaderView>
|
||||
#include <service.h>
|
||||
#include <settingsservice.h>
|
||||
#include "commodity-odb.hxx"
|
||||
|
||||
CommoditySettingsForm::CommoditySettingsForm(QWidget *parent) :
|
||||
FormBinder<CommoditySettings>(parent),
|
||||
|
||||
@@ -16,8 +16,8 @@ class CommoditySettingsForm : public FormBinder<CommoditySettings>
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit CommoditySettingsForm(QWidget *parent = 0);
|
||||
~CommoditySettingsForm();
|
||||
explicit CommoditySettingsForm(QWidget *parent = nullptr);
|
||||
~CommoditySettingsForm() override;
|
||||
|
||||
private:
|
||||
Ui::CommoditySettingsForm *ui;
|
||||
@@ -26,10 +26,10 @@ private:
|
||||
|
||||
// IForm interface
|
||||
public:
|
||||
void loadEntity();
|
||||
void loadEntity() override;
|
||||
|
||||
public slots:
|
||||
bool saveRecord();
|
||||
bool saveRecord() override;
|
||||
private slots:
|
||||
void on_addCommodityType_clicked();
|
||||
void on_delCommodityType_clicked();
|
||||
|
||||
@@ -7,7 +7,7 @@ class CommodityTableModel : public AutoTableModel<CommodityData>
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CommodityTableModel(QObject *parent= NULL);
|
||||
explicit CommodityTableModel(QObject *parent= nullptr);
|
||||
};
|
||||
|
||||
#endif // COMMODITYTABLEMODEL_H
|
||||
|
||||
@@ -1,22 +1,40 @@
|
||||
#include "commoditydata.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.relationManyToOne(&CommodityData::m_type, "type");
|
||||
}
|
||||
}
|
||||
|
||||
CommodityData::CommodityData(QObject *parent)
|
||||
:ShopItem(parent)
|
||||
:IShopItem(parent)
|
||||
{
|
||||
m_count = 0;
|
||||
m_price = 0;
|
||||
m_vat = Enums::NONE;
|
||||
}
|
||||
int CommodityData::id()
|
||||
long CommodityData::id()
|
||||
{
|
||||
return m_id;
|
||||
}
|
||||
|
||||
void CommodityData::setId(int id)
|
||||
void CommodityData::setId(long id)
|
||||
{
|
||||
m_id = id;
|
||||
}
|
||||
|
||||
QString CommodityData::name()
|
||||
{
|
||||
return m_name;
|
||||
@@ -26,6 +44,7 @@ void CommodityData::setName(const QString &name)
|
||||
{
|
||||
m_name = name;
|
||||
}
|
||||
|
||||
QString CommodityData::shortName()
|
||||
{
|
||||
return m_shortName;
|
||||
@@ -35,6 +54,7 @@ void CommodityData::setShortName(const QString &shortName)
|
||||
{
|
||||
m_shortName = shortName;
|
||||
}
|
||||
|
||||
QString CommodityData::code() const
|
||||
{
|
||||
return m_code;
|
||||
@@ -44,6 +64,7 @@ void CommodityData::setCode(const QString &code)
|
||||
{
|
||||
m_code = code;
|
||||
}
|
||||
|
||||
QSharedPointer<QObject> CommodityData::type() const
|
||||
{
|
||||
return m_type;
|
||||
@@ -51,7 +72,7 @@ QSharedPointer<QObject> CommodityData::type() const
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -98,6 +119,10 @@ QString CommodityData::pluginId()
|
||||
return "COMMODITY";
|
||||
}
|
||||
|
||||
QStringList CommodityData::eagerLoad() {
|
||||
return { "type" };
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3,17 +3,20 @@
|
||||
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <odb/core.hxx>
|
||||
#include "commoditytypedata.h"
|
||||
#include <shopitem.h>
|
||||
#include <QDecDouble.hh>
|
||||
#include <QSharedDataPointer>
|
||||
#include <enums.h>
|
||||
|
||||
#include "../commodity_global.h"
|
||||
|
||||
#pragma db object
|
||||
class CommodityData : public ShopItem
|
||||
class CommodityData : public IShopItem
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
QX_REGISTER_FRIEND_CLASS(CommodityData)
|
||||
Q_PROPERTY(QString code READ code WRITE setCode)
|
||||
Q_PROPERTY(QString name READ name WRITE setName)
|
||||
Q_PROPERTY(QString shortName READ shortName WRITE setShortName)
|
||||
@@ -23,10 +26,10 @@ class CommodityData : public ShopItem
|
||||
Q_PROPERTY(int count READ count WRITE setCount)
|
||||
|
||||
public:
|
||||
CommodityData(QObject *parent = 0);
|
||||
explicit CommodityData(QObject *parent = nullptr);
|
||||
|
||||
int id() override;
|
||||
void setId(int id);
|
||||
long id() override;
|
||||
void setId(long id);
|
||||
|
||||
QString name() override;
|
||||
void setName(const QString &name);
|
||||
@@ -49,10 +52,10 @@ public:
|
||||
int count() const;
|
||||
void setCount(int count);
|
||||
|
||||
Q_INVOKABLE QStringList eagerLoad();
|
||||
|
||||
private:
|
||||
friend class odb::access;
|
||||
#pragma db id auto
|
||||
int m_id;
|
||||
long m_id{0};
|
||||
QString m_name;
|
||||
QString m_shortName;
|
||||
QString m_code;
|
||||
@@ -66,8 +69,11 @@ public:
|
||||
QDecDouble unitPrice() override;
|
||||
Enums::VatType vatType() override;
|
||||
QString pluginId() override;
|
||||
|
||||
};
|
||||
|
||||
typedef QSharedPointer<CommodityData> CommodityDataPtr;
|
||||
|
||||
QX_REGISTER_HPP_COMM(CommodityData, IShopItem, 0)
|
||||
|
||||
#endif // COMMODITYDATA_H
|
||||
|
||||
@@ -1,19 +1,30 @@
|
||||
#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");
|
||||
}
|
||||
}
|
||||
|
||||
CommodityTypeData::CommodityTypeData(QObject *parent)
|
||||
:ComboItem(parent)
|
||||
{
|
||||
m_id = 0;
|
||||
}
|
||||
int CommodityTypeData::id() const
|
||||
long CommodityTypeData::id() const
|
||||
{
|
||||
return m_id;
|
||||
}
|
||||
|
||||
void CommodityTypeData::setId(int id)
|
||||
void CommodityTypeData::setId(long id)
|
||||
{
|
||||
m_id = id;
|
||||
}
|
||||
|
||||
QString CommodityTypeData::name() const
|
||||
{
|
||||
return m_name;
|
||||
@@ -28,7 +39,7 @@ bool CommodityTypeData::eq(ComboItem *other)
|
||||
{
|
||||
CommodityTypeData* ct = qobject_cast<CommodityTypeData *> (other);
|
||||
|
||||
return ct != NULL && this->id() == ct->id() ;
|
||||
return ct != nullptr && this->id() == ct->id() ;
|
||||
}
|
||||
|
||||
QString CommodityTypeData::toString()
|
||||
|
||||
@@ -3,34 +3,35 @@
|
||||
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <odb/core.hxx>
|
||||
#include <data/comboitem.h>
|
||||
#include "../commodity_global.h"
|
||||
|
||||
#pragma db object
|
||||
class CommodityTypeData :public ComboItem
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
QX_REGISTER_FRIEND_CLASS(CommodityTypeData)
|
||||
Q_PROPERTY(QString name READ name WRITE setName)
|
||||
|
||||
public:
|
||||
CommodityTypeData(QObject *parent = 0);
|
||||
explicit CommodityTypeData(QObject *parent = nullptr);
|
||||
|
||||
int id() const;
|
||||
void setId(int id);
|
||||
long id() const;
|
||||
void setId(long id);
|
||||
|
||||
QString name() const;
|
||||
void setName(const QString &name);
|
||||
|
||||
private:
|
||||
friend class odb::access;
|
||||
#pragma db id auto
|
||||
int m_id;
|
||||
long m_id{0};
|
||||
QString m_name;
|
||||
|
||||
// ComboItem interface
|
||||
public:
|
||||
bool eq(ComboItem *other);
|
||||
QString toString();
|
||||
bool eq(ComboItem *other) override;
|
||||
QString toString() override;
|
||||
};
|
||||
|
||||
QX_REGISTER_HPP_COMM(CommodityTypeData, ComboItem, 0)
|
||||
|
||||
#endif // COMMODITYTYPEDATA_H
|
||||
|
||||
Reference in New Issue
Block a user