Implemented first page of camp wizard.
This commit is contained in:
@@ -10,9 +10,22 @@ AddressBookService::~AddressBookService()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<QSharedPointer<AddressbookData> > AddressBookService::all(const QString &where)
|
AddressbookDataPtr AddressBookService::copyAddress(AddressbookDataPtr address)
|
||||||
{
|
{
|
||||||
Service<AddressbookData> srv;
|
AddressbookDataPtr newAddress(new AddressbookData());
|
||||||
return srv.all(where);
|
|
||||||
|
newAddress->setTitle(address->title());
|
||||||
|
newAddress->setFirstName(address->firstName());
|
||||||
|
newAddress->setLastName(address->lastName());
|
||||||
|
newAddress->setBirthDate(address->birthDate());
|
||||||
|
newAddress->setIdCardNumber(address->idCardNumber());
|
||||||
|
newAddress->setZtp(address->ztp());
|
||||||
|
newAddress->setAddressStreet(address->addressStreet());
|
||||||
|
newAddress->setAddressHouseNumber(address->addressHouseNumber());
|
||||||
|
newAddress->setAddressZipCode(address->addressZipCode());
|
||||||
|
newAddress->setAddressCity(address->addressCity());
|
||||||
|
newAddress->setCountry(address->country());
|
||||||
|
|
||||||
|
return newAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,17 +3,18 @@
|
|||||||
|
|
||||||
#include <QList>
|
#include <QList>
|
||||||
#include <QSharedPointer>
|
#include <QSharedPointer>
|
||||||
|
#include <service.h>
|
||||||
|
|
||||||
#include "data/addressbookdata.h"
|
#include "data/addressbookdata.h"
|
||||||
#include "addressbook_global.h"
|
#include "addressbook_global.h"
|
||||||
|
|
||||||
class ADDRESSBOOKSHARED_EXPORT AddressBookService
|
class ADDRESSBOOKSHARED_EXPORT AddressBookService : public Service<AddressbookData>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
AddressBookService();
|
AddressBookService();
|
||||||
~AddressBookService();
|
~AddressBookService();
|
||||||
|
|
||||||
QList<QSharedPointer<AddressbookData> > all(const QString &where = "");
|
AddressbookDataPtr copyAddress(AddressbookDataPtr address);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // ADDRESSBOOKSERVICE_H
|
#endif // ADDRESSBOOKSERVICE_H
|
||||||
|
|||||||
+4
-1
@@ -8,7 +8,7 @@
|
|||||||
"default" : "",
|
"default" : "",
|
||||||
"CZ" : ""
|
"CZ" : ""
|
||||||
},
|
},
|
||||||
"schemaVersion" : 2,
|
"schemaVersion" : 3,
|
||||||
"sql" : [
|
"sql" : [
|
||||||
"CREATE TABLE \"CampData\" (
|
"CREATE TABLE \"CampData\" (
|
||||||
\"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
\"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
||||||
@@ -77,6 +77,9 @@ CREATE TABLE \"PersonPrice\" (
|
|||||||
",
|
",
|
||||||
|
|
||||||
"ALTER TABLE Sale ADD \"description\" TEXT NULL;
|
"ALTER TABLE Sale ADD \"description\" TEXT NULL;
|
||||||
|
",
|
||||||
|
|
||||||
|
"ALTER TABLE AddressItem ADD \"owner\" INTEGER NULL;
|
||||||
"
|
"
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "campgrid.h"
|
#include "campgrid.h"
|
||||||
#include "campwizard.h"
|
#include "campwizard.h"
|
||||||
|
#include "campservice.h"
|
||||||
|
|
||||||
CampGrid::CampGrid(QWidget *parent) : GridForm<CampData>(parent)
|
CampGrid::CampGrid(QWidget *parent) : GridForm<CampData>(parent)
|
||||||
{
|
{
|
||||||
@@ -8,8 +9,10 @@ CampGrid::CampGrid(QWidget *parent) : GridForm<CampData>(parent)
|
|||||||
|
|
||||||
void CampGrid::handleNewRecord()
|
void CampGrid::handleNewRecord()
|
||||||
{
|
{
|
||||||
|
CampService srv;
|
||||||
CampWizard *wizard = new CampWizard();
|
CampWizard *wizard = new CampWizard();
|
||||||
wizard->setAttribute(Qt::WA_DeleteOnClose);
|
wizard->setAttribute(Qt::WA_DeleteOnClose);
|
||||||
|
wizard->setData(srv.create());
|
||||||
|
|
||||||
wizard->show();
|
wizard->show();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,5 +14,32 @@ void CampService::addPerson(CampDataPtr data, AddressbookDataPtr address)
|
|||||||
addrItem->setLastName(address->lastName());
|
addrItem->setLastName(address->lastName());
|
||||||
addrItem->setCampData(data);
|
addrItem->setCampData(data);
|
||||||
|
|
||||||
|
if (data->people().isEmpty())
|
||||||
|
{
|
||||||
|
setOwner(data, addrItem);
|
||||||
|
}
|
||||||
|
|
||||||
data->addPerson(addrItem);
|
data->addPerson(addrItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CampService::setOwner(CampDataPtr data, AddressItemPtr person)
|
||||||
|
{
|
||||||
|
foreach (AddressItemPtr p, data->people()) {
|
||||||
|
p->setOwner(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
person->setOwner(true);
|
||||||
|
|
||||||
|
data->setOwnerFirstame(person->firstName());
|
||||||
|
data->setOwnerLastname(person->lastName());
|
||||||
|
data->setOwnerAddress(person->address());
|
||||||
|
}
|
||||||
|
|
||||||
|
CampDataPtr CampService::create()
|
||||||
|
{
|
||||||
|
CampDataPtr data(new CampData);
|
||||||
|
data->setStart(QDate::currentDate());
|
||||||
|
data->setEnd(QDate::currentDate());
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|||||||
+9
-2
@@ -1,11 +1,18 @@
|
|||||||
#ifndef CAMPSERVICE_H
|
#ifndef CAMPSERVICE_H
|
||||||
#define CAMPSERVICE_H
|
#define CAMPSERVICE_H
|
||||||
|
|
||||||
|
#include <core.h>
|
||||||
|
#include <addressbookdata.h>
|
||||||
|
#include "data/camp-data.h"
|
||||||
|
#include "camp-odb.hxx"
|
||||||
|
|
||||||
class CampService
|
class CampService : public Service<CampData>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CampService();
|
CampService();
|
||||||
|
void addPerson(CampDataPtr data, AddressbookDataPtr address);
|
||||||
|
void setOwner(CampDataPtr data, AddressItemPtr person);
|
||||||
|
CampDataPtr create();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CAMPSERVICE_H
|
#endif // CAMPSERVICE_H
|
||||||
|
|||||||
@@ -1,15 +1,100 @@
|
|||||||
#include "campwizard.h"
|
#include "campwizard.h"
|
||||||
#include "ui_campwizard.h"
|
#include "ui_campwizard.h"
|
||||||
|
#include "campservice.h"
|
||||||
|
#include <core.h>
|
||||||
|
#include <addressbookservice.h>
|
||||||
|
|
||||||
|
AddressHelper::AddressHelper(QObject *parent)
|
||||||
|
:QObject(parent)
|
||||||
|
{
|
||||||
|
m_address = AddressbookDataPtr(new AddressbookData);
|
||||||
|
}
|
||||||
|
|
||||||
|
QSharedPointer<QObject> AddressHelper::address() const
|
||||||
|
{
|
||||||
|
return m_address;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AddressHelper::setAddress(const QSharedPointer<QObject> &address)
|
||||||
|
{
|
||||||
|
if (qobject_cast<AddressbookData*>(address.data()) != NULL)
|
||||||
|
{
|
||||||
|
m_address = qSharedPointerDynamicCast<AddressbookData, QObject>(address);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
AddressbookDataPtr AddressHelper::addr() const
|
||||||
|
{
|
||||||
|
return m_address;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AddressHelper::setAddr(const AddressbookDataPtr &address)
|
||||||
|
{
|
||||||
|
m_address = address;
|
||||||
|
}
|
||||||
|
|
||||||
|
AddressbookDataPtr AddressHelper::newAddress()
|
||||||
|
{
|
||||||
|
AddressBookService adbSrv;
|
||||||
|
m_copyAddress = adbSrv.copyAddress(m_address);
|
||||||
|
|
||||||
|
return m_copyAddress;
|
||||||
|
}
|
||||||
|
|
||||||
|
AddressbookDataPtr AddressHelper::copyAddress()
|
||||||
|
{
|
||||||
|
return m_copyAddress;
|
||||||
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
/// \brief CampWizard::CampWizard
|
||||||
|
/// \param parent
|
||||||
|
///
|
||||||
CampWizard::CampWizard(QWidget *parent) :
|
CampWizard::CampWizard(QWidget *parent) :
|
||||||
QWizard(parent),
|
QWizard(parent),
|
||||||
ui(new Ui::CampWizard)
|
ui(new Ui::CampWizard)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
m_peopleModel = new AutoTableModel<AddressItem>(this);
|
||||||
|
ui->tablePeople->setModel(m_peopleModel);
|
||||||
|
ui->tablePeople->hideColumn(2);
|
||||||
|
ui->tablePeople->hideColumn(3);
|
||||||
|
ui->tablePeople->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
|
||||||
|
ui->tablePeople->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);
|
||||||
|
|
||||||
|
connect(ui->tablePeople->selectionModel(), &QItemSelectionModel::currentRowChanged, [this](QModelIndex, QModelIndex){
|
||||||
|
ui->btnRemove->setEnabled(!m_data->people().isEmpty());
|
||||||
|
ui->btnOwner->setEnabled(!m_data->people().isEmpty());
|
||||||
|
});
|
||||||
|
|
||||||
m_dataBinder = new ObjectBinder(this);
|
m_dataBinder = new ObjectBinder(this);
|
||||||
m_dataBinder->registerBinding(ui->start);
|
m_dataBinder->registerBinding(ui->start);
|
||||||
m_dataBinder->registerBinding(ui->end);
|
m_dataBinder->registerBinding(ui->end);
|
||||||
|
|
||||||
|
m_addrHelper = new AddressHelper(this);
|
||||||
|
|
||||||
|
Service<AddressbookData> addrSrv;
|
||||||
|
m_addrHelperBinder = new ObjectBinder(this);
|
||||||
|
m_addrHelperBinder->registerBinding(ui->address, ComboData::createComboData(addrSrv.all()));
|
||||||
|
m_addrHelperBinder->setData(m_addrHelper);
|
||||||
|
|
||||||
|
m_addressBinder = new ObjectBinder(this);
|
||||||
|
m_addressBinder->registerBinding(ui->title);
|
||||||
|
m_addressBinder->registerBinding(ui->firstName);
|
||||||
|
m_addressBinder->registerBinding(ui->lastName);
|
||||||
|
m_addressBinder->registerBinding(ui->birthDate);
|
||||||
|
m_addressBinder->registerBinding(ui->idCardNumber);
|
||||||
|
m_addressBinder->registerBinding(ui->ztp);
|
||||||
|
m_addressBinder->registerBinding(ui->addressStreet);
|
||||||
|
m_addressBinder->registerBinding(ui->addressHouseNumber);
|
||||||
|
m_addressBinder->registerBinding(ui->addressZipCode);
|
||||||
|
m_addressBinder->registerBinding(ui->addressCity);
|
||||||
|
|
||||||
|
Service<CountryData> coutrySrv;
|
||||||
|
m_addressBinder->registerBinding(ui->country, ComboData::createComboData(coutrySrv.all()));
|
||||||
|
|
||||||
|
m_bindAddrCombo = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
CampWizard::~CampWizard()
|
CampWizard::~CampWizard()
|
||||||
@@ -22,9 +107,77 @@ void CampWizard::setData(const CampDataPtr &data)
|
|||||||
m_data = data;
|
m_data = data;
|
||||||
|
|
||||||
m_dataBinder->setData(data.data());
|
m_dataBinder->setData(data.data());
|
||||||
|
m_dataBinder->bindToUi();
|
||||||
|
m_addrHelperBinder->bindToUi();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CampWizard::on_btnAdd_clicked()
|
void CampWizard::on_btnAdd_clicked()
|
||||||
{
|
{
|
||||||
|
m_addressBinder->bindToData();
|
||||||
|
|
||||||
|
CampService srv;
|
||||||
|
AddressBookService adbSrv;
|
||||||
|
|
||||||
|
if (ui->groupNew->isChecked())
|
||||||
|
{
|
||||||
|
AddressbookDataPtr newAddr = adbSrv.copyAddress(m_addrHelper->copyAddress());
|
||||||
|
adbSrv.save(newAddr);
|
||||||
|
srv.addPerson(m_data, newAddr);
|
||||||
|
|
||||||
|
m_bindAddrCombo = false;
|
||||||
|
m_addrHelperBinder->registerBinding(ui->address, ComboData::createComboData(adbSrv.all()));
|
||||||
|
m_addrHelperBinder->bindToUi();
|
||||||
|
m_bindAddrCombo = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
srv.addPerson(m_data, m_addrHelper->addr());
|
||||||
|
}
|
||||||
|
|
||||||
|
m_peopleModel->setData(m_data->people());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void CampWizard::on_address_currentIndexChanged(int)
|
||||||
|
{
|
||||||
|
if (m_bindAddrCombo)
|
||||||
|
{
|
||||||
|
AddressBookService adbSrv;
|
||||||
|
m_addrHelperBinder->bindToData();
|
||||||
|
m_addressBinder->setData(m_addrHelper->newAddress().data());
|
||||||
|
m_addressBinder->bindToUi();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CampWizard::on_btnRemove_clicked()
|
||||||
|
{
|
||||||
|
AddressItemPtr selAddr = m_peopleModel->itemFromIndex(ui->tablePeople->currentIndex());
|
||||||
|
m_data->removePerson(selAddr);
|
||||||
|
m_peopleModel->setData(m_data->people());
|
||||||
|
|
||||||
|
ui->btnOwner->setEnabled(false);
|
||||||
|
ui->btnRemove->setEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CampWizard::on_btnOwner_clicked()
|
||||||
|
{
|
||||||
|
CampService srv;
|
||||||
|
AddressItemPtr selAddr = m_peopleModel->itemFromIndex(ui->tablePeople->currentIndex());
|
||||||
|
srv.setOwner(m_data, selAddr);
|
||||||
|
|
||||||
|
QModelIndex currIndex = ui->tablePeople->currentIndex();
|
||||||
|
m_peopleModel->setData(m_data->people());
|
||||||
|
ui->tablePeople->setCurrentIndex(currIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CampWizard::on_groupNew_clicked(bool checked)
|
||||||
|
{
|
||||||
|
if (checked)
|
||||||
|
{
|
||||||
|
ui->address->setEnabled(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui->address->setEnabled(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,30 @@
|
|||||||
#include <QWizard>
|
#include <QWizard>
|
||||||
#include "data/camp-data.h"
|
#include "data/camp-data.h"
|
||||||
#include <objectbinder.h>
|
#include <objectbinder.h>
|
||||||
|
#include <data/addressbookdata.h>
|
||||||
|
#include <core.h>
|
||||||
|
|
||||||
|
class AddressHelper : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
Q_PROPERTY(QSharedPointer<QObject> address READ address WRITE setAddress)
|
||||||
|
|
||||||
|
public:
|
||||||
|
AddressHelper(QObject *parent = NULL);
|
||||||
|
|
||||||
|
QSharedPointer<QObject> address() const;
|
||||||
|
void setAddress(const QSharedPointer<QObject> &address);
|
||||||
|
|
||||||
|
AddressbookDataPtr addr() const;
|
||||||
|
void setAddr(const AddressbookDataPtr &address);
|
||||||
|
|
||||||
|
AddressbookDataPtr newAddress();
|
||||||
|
AddressbookDataPtr copyAddress();
|
||||||
|
|
||||||
|
private:
|
||||||
|
AddressbookDataPtr m_address;
|
||||||
|
AddressbookDataPtr m_copyAddress;
|
||||||
|
};
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class CampWizard;
|
class CampWizard;
|
||||||
@@ -22,10 +46,24 @@ public:
|
|||||||
private slots:
|
private slots:
|
||||||
void on_btnAdd_clicked();
|
void on_btnAdd_clicked();
|
||||||
|
|
||||||
|
void on_address_currentIndexChanged(int index);
|
||||||
|
|
||||||
|
void on_btnRemove_clicked();
|
||||||
|
|
||||||
|
void on_btnOwner_clicked();
|
||||||
|
|
||||||
|
void on_groupNew_clicked(bool checked);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::CampWizard *ui;
|
Ui::CampWizard *ui;
|
||||||
CampDataPtr m_data;
|
CampDataPtr m_data;
|
||||||
ObjectBinder *m_dataBinder;
|
ObjectBinder *m_dataBinder;
|
||||||
|
ObjectBinder *m_addrHelperBinder;
|
||||||
|
ObjectBinder *m_addressBinder;
|
||||||
|
AddressHelper *m_addrHelper;
|
||||||
|
|
||||||
|
AutoTableModel<AddressItem> *m_peopleModel;
|
||||||
|
bool m_bindAddrCombo;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CAMPWIZARD_H
|
#endif // CAMPWIZARD_H
|
||||||
|
|||||||
+29
-7
@@ -89,6 +89,12 @@
|
|||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QWidget" name="widget_3" native="true">
|
<widget class="QWidget" name="widget_3" native="true">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>450</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="label_4">
|
<widget class="QLabel" name="label_4">
|
||||||
@@ -118,12 +124,12 @@
|
|||||||
</property>
|
</property>
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>450</width>
|
<width>0</width>
|
||||||
<height>0</height>
|
<height>0</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>New address</string>
|
<string>&New address</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="checkable">
|
<property name="checkable">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@@ -245,6 +251,12 @@
|
|||||||
</item>
|
</item>
|
||||||
<item row="10" column="1">
|
<item row="10" column="1">
|
||||||
<widget class="QComboBox" name="country">
|
<widget class="QComboBox" name="country">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>450</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="editable">
|
<property name="editable">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
@@ -354,7 +366,7 @@
|
|||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="checkable">
|
<property name="checkable">
|
||||||
<bool>true</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="autoRaise">
|
<property name="autoRaise">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@@ -378,12 +390,22 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTableView" name="tablePeople"/>
|
<widget class="QTableView" name="tablePeople">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>380</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="editTriggers">
|
||||||
|
<set>QAbstractItemView::NoEditTriggers</set>
|
||||||
|
</property>
|
||||||
|
<property name="selectionBehavior">
|
||||||
|
<enum>QAbstractItemView::SelectRows</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
<zorder>widget_9</zorder>
|
|
||||||
<zorder>tableView</zorder>
|
|
||||||
<zorder>tablePeople</zorder>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ AddressItem::AddressItem(QObject *parent) : QObject(parent)
|
|||||||
{
|
{
|
||||||
m_id = 0;
|
m_id = 0;
|
||||||
m_price = 0;
|
m_price = 0;
|
||||||
|
m_owner = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int AddressItem::id() const
|
int AddressItem::id() const
|
||||||
@@ -86,3 +87,13 @@ void AddressItem::setAdbItem(const AddressbookDataPtr &adbItem)
|
|||||||
{
|
{
|
||||||
m_adbItem = adbItem;
|
m_adbItem = adbItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool AddressItem::owner() const
|
||||||
|
{
|
||||||
|
return m_owner;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AddressItem::setOwner(bool owner)
|
||||||
|
{
|
||||||
|
m_owner = owner;
|
||||||
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ class AddressItem : public QObject
|
|||||||
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)
|
||||||
Q_PROPERTY(QDecDouble price READ price WRITE setPrice)
|
Q_PROPERTY(QDecDouble price READ price WRITE setPrice)
|
||||||
|
Q_PROPERTY(bool owner READ owner WRITE setOwner)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit AddressItem(QObject *parent = 0);
|
explicit AddressItem(QObject *parent = 0);
|
||||||
@@ -48,6 +49,9 @@ public:
|
|||||||
AddressbookDataPtr adbItem() const;
|
AddressbookDataPtr adbItem() const;
|
||||||
void setAdbItem(const AddressbookDataPtr &adbItem);
|
void setAdbItem(const AddressbookDataPtr &adbItem);
|
||||||
|
|
||||||
|
bool owner() const;
|
||||||
|
void setOwner(bool owner);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class odb::access;
|
friend class odb::access;
|
||||||
#pragma db id auto
|
#pragma db id auto
|
||||||
@@ -60,6 +64,7 @@ private:
|
|||||||
#pragma db not_null
|
#pragma db not_null
|
||||||
QWeakPointer<CampData> m_campData;
|
QWeakPointer<CampData> m_campData;
|
||||||
PersonPricePtr m_personPrice;
|
PersonPricePtr m_personPrice;
|
||||||
|
bool m_owner;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // ADDRESSITEM_H
|
#endif // ADDRESSITEM_H
|
||||||
|
|||||||
@@ -84,6 +84,11 @@ void CampData::addServiceItem(ServiceItemPtr serviceItem)
|
|||||||
m_services.append(serviceItem);
|
m_services.append(serviceItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CampData::removeServiceItem(ServiceItemPtr serviceItem)
|
||||||
|
{
|
||||||
|
m_services.removeOne(serviceItem);
|
||||||
|
}
|
||||||
|
|
||||||
QOdbList<AddressItemPtr> CampData::people() const
|
QOdbList<AddressItemPtr> CampData::people() const
|
||||||
{
|
{
|
||||||
return m_people;
|
return m_people;
|
||||||
@@ -99,6 +104,11 @@ void CampData::addPerson(AddressItemPtr person)
|
|||||||
m_people.append(person);
|
m_people.append(person);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CampData::removePerson(AddressItemPtr person)
|
||||||
|
{
|
||||||
|
m_people.removeOne(person);
|
||||||
|
}
|
||||||
|
|
||||||
QDecDouble CampData::totalPrice() const
|
QDecDouble CampData::totalPrice() const
|
||||||
{
|
{
|
||||||
return TO_DEC(m_totalPrice);
|
return TO_DEC(m_totalPrice);
|
||||||
|
|||||||
@@ -48,10 +48,12 @@ public:
|
|||||||
QOdbList<QSharedPointer<ServiceItem> > services() const;
|
QOdbList<QSharedPointer<ServiceItem> > services() const;
|
||||||
void setServices(const QOdbList<QSharedPointer<ServiceItem> > &services);
|
void setServices(const QOdbList<QSharedPointer<ServiceItem> > &services);
|
||||||
void addServiceItem(ServiceItemPtr serviceItem);
|
void addServiceItem(ServiceItemPtr serviceItem);
|
||||||
|
void removeServiceItem(ServiceItemPtr serviceItem);
|
||||||
|
|
||||||
QOdbList<AddressItemPtr> people() const;
|
QOdbList<AddressItemPtr> people() const;
|
||||||
void setPeople(const QOdbList<AddressItemPtr> &people);
|
void setPeople(const QOdbList<AddressItemPtr> &people);
|
||||||
void addPerson(AddressItemPtr person);
|
void addPerson(AddressItemPtr person);
|
||||||
|
void removePerson(AddressItemPtr person);
|
||||||
|
|
||||||
QDecDouble totalPrice() const;
|
QDecDouble totalPrice() const;
|
||||||
void setTotalPrice(QDecDouble totalPrice);
|
void setTotalPrice(QDecDouble totalPrice);
|
||||||
|
|||||||
Reference in New Issue
Block a user