.
This commit is contained in:
@@ -11,6 +11,15 @@ cPartlistItemEditDialog::cPartlistItemEditDialog(QWidget *parent) :
|
|||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
m_lpReplacementModel = new QStandardItemModel(0, 3);
|
||||||
|
ui->m_lpReplacement->setModel(m_lpReplacementModel);
|
||||||
|
// ui->m_lpReplacement->setItemDelegate(new cPartListItemDelegate());
|
||||||
|
|
||||||
|
QStringList header;
|
||||||
|
header << tr("reference") << ("group") << tr("part") << tr("distributor") << tr("state") << tr("price") << tr("description");
|
||||||
|
m_lpReplacementModel->setHorizontalHeaderLabels(header);
|
||||||
|
ui->m_lpReplacement->header()->setMinimumSectionSize(50);
|
||||||
|
|
||||||
ui->m_lpOrderState->addItem(cPartlistItem::stateString(cPartlistItem::STATE_init), QVariant::fromValue((qint8)cPartlistItem::STATE_init));
|
ui->m_lpOrderState->addItem(cPartlistItem::stateString(cPartlistItem::STATE_init), QVariant::fromValue((qint8)cPartlistItem::STATE_init));
|
||||||
ui->m_lpOrderState->addItem(cPartlistItem::stateString(cPartlistItem::STATE_ordered), QVariant::fromValue((qint8)cPartlistItem::STATE_ordered));
|
ui->m_lpOrderState->addItem(cPartlistItem::stateString(cPartlistItem::STATE_ordered), QVariant::fromValue((qint8)cPartlistItem::STATE_ordered));
|
||||||
ui->m_lpOrderState->addItem(cPartlistItem::stateString(cPartlistItem::STATE_shipping), QVariant::fromValue((qint8)cPartlistItem::STATE_shipping));
|
ui->m_lpOrderState->addItem(cPartlistItem::stateString(cPartlistItem::STATE_shipping), QVariant::fromValue((qint8)cPartlistItem::STATE_shipping));
|
||||||
@@ -59,6 +68,37 @@ void cPartlistItemEditDialog::setValues(const QString &szReference, const QStrin
|
|||||||
ui->m_lpDescription->setText(szDescription);
|
ui->m_lpDescription->setText(szDescription);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cPartlistItemEditDialog::addReplace(const QString& szReference, const QString& szGroup, const QString& szPart, const QString& szDistributor, const QString& szState, const qreal& dPrice, const QString& szDescription)
|
||||||
|
{
|
||||||
|
QList<QStandardItem*> lpItems;
|
||||||
|
|
||||||
|
for(int z = 0;z < m_lpReplacementModel->columnCount();z++)
|
||||||
|
lpItems.append(new QStandardItem);
|
||||||
|
|
||||||
|
lpItems.at(0)->setText(szReference);
|
||||||
|
lpItems.at(1)->setText(szGroup);
|
||||||
|
lpItems.at(2)->setText(szPart);
|
||||||
|
//lpItems.at(2)->setData(lpPartlistItem->partID(), Qt::UserRole);
|
||||||
|
if(!szDistributor.isEmpty())
|
||||||
|
{
|
||||||
|
lpItems.at(3)->setText(szDistributor);
|
||||||
|
//lpItems.at(3)->setData(QVariant::fromValue(lpPartlistItem->distributorID()), Qt::UserRole);
|
||||||
|
}
|
||||||
|
lpItems.at(4)->setText(szState);
|
||||||
|
lpItems.at(5)->setText(QString::number(dPrice, 'f', 2));
|
||||||
|
lpItems.at(5)->setTextAlignment(Qt::AlignRight);
|
||||||
|
lpItems.at(6)->setText(szDescription);
|
||||||
|
|
||||||
|
// for(int z = 0;z < m_lpPartListModel->columnCount();z++)
|
||||||
|
// {
|
||||||
|
// lpItems.at(z)->setData(QVariant::fromValue(lpPartlistItem), Qt::UserRole);
|
||||||
|
// lpItems.at(z)->setData(QVariant::fromValue(lpPartlistItem->partID()), Qt::UserRole+1);
|
||||||
|
// lpItems.at(z)->setData(QVariant::fromValue(m_lpPartDistributorList), Qt::UserRole+2);
|
||||||
|
// }
|
||||||
|
|
||||||
|
m_lpReplacementModel->appendRow(lpItems);
|
||||||
|
}
|
||||||
|
|
||||||
void cPartlistItemEditDialog::on_m_lpGroupList_currentIndexChanged(int /*index*/)
|
void cPartlistItemEditDialog::on_m_lpGroupList_currentIndexChanged(int /*index*/)
|
||||||
{
|
{
|
||||||
fillPartList();
|
fillPartList();
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
#include "cpartlistitem.h"
|
#include "cpartlistitem.h"
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
#include <QStandardItemModel>
|
||||||
|
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
@@ -25,6 +26,7 @@ public:
|
|||||||
|
|
||||||
void setList(cDistributorList* lpDistributorList, cPartGroupList* lpPartGroupList, cPartList* lpPartList, cPartDistributorList* lpPartDistributorList);
|
void setList(cDistributorList* lpDistributorList, cPartGroupList* lpPartGroupList, cPartList* lpPartList, cPartDistributorList* lpPartDistributorList);
|
||||||
void setValues(const QString& szReference, const QString& szGroup, const QString& szPart, const QString& szDistributor, const QString& szState, const qreal& dPrice, const QString& szDescription);
|
void setValues(const QString& szReference, const QString& szGroup, const QString& szPart, const QString& szDistributor, const QString& szState, const qreal& dPrice, const QString& szDescription);
|
||||||
|
void addReplace(const QString& szReference, const QString& szGroup, const QString& szPart, const QString& szDistributor, const QString& szState, const qreal& dPrice, const QString& szDescription);
|
||||||
|
|
||||||
QString reference();
|
QString reference();
|
||||||
cPart* part();
|
cPart* part();
|
||||||
@@ -39,6 +41,7 @@ private slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::cPartlistItemEditDialog* ui;
|
Ui::cPartlistItemEditDialog* ui;
|
||||||
|
QStandardItemModel* m_lpReplacementModel;
|
||||||
cDistributorList* m_lpDistributorList;
|
cDistributorList* m_lpDistributorList;
|
||||||
cPartGroupList* m_lpPartGroupList;
|
cPartGroupList* m_lpPartGroupList;
|
||||||
cPartList* m_lpPartList;
|
cPartList* m_lpPartList;
|
||||||
|
|||||||
@@ -46,18 +46,6 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="1" colspan="3">
|
|
||||||
<widget class="QTreeWidget" name="m_lpReplacement">
|
|
||||||
<attribute name="headerVisible">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">1</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="3">
|
<item row="3" column="3">
|
||||||
<widget class="QComboBox" name="m_lpOrderState"/>
|
<widget class="QComboBox" name="m_lpOrderState"/>
|
||||||
</item>
|
</item>
|
||||||
@@ -118,6 +106,13 @@
|
|||||||
<item row="0" column="1" colspan="3">
|
<item row="0" column="1" colspan="3">
|
||||||
<widget class="QComboBox" name="m_lpGroupList"/>
|
<widget class="QComboBox" name="m_lpGroupList"/>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="4" column="1" colspan="3">
|
||||||
|
<widget class="QTreeView" name="m_lpReplacement">
|
||||||
|
<attribute name="headerDefaultSectionSize">
|
||||||
|
<number>0</number>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
|||||||
+116
-34
@@ -220,37 +220,79 @@ void cPartlistWindow::showPartList()
|
|||||||
|
|
||||||
for(int x = 0;x < m_partlistItemList.count();x++)
|
for(int x = 0;x < m_partlistItemList.count();x++)
|
||||||
{
|
{
|
||||||
QList<QStandardItem*> lpItems;
|
|
||||||
cPartlistItem* lpPartlistItem = m_partlistItemList.at(x);
|
cPartlistItem* lpPartlistItem = m_partlistItemList.at(x);
|
||||||
|
|
||||||
for(int z = 0;z < header.count();z++)
|
if(!lpPartlistItem->replaceID())
|
||||||
lpItems.append(new QStandardItem);
|
addItem(lpPartlistItem);
|
||||||
|
}
|
||||||
|
|
||||||
lpItems.at(0)->setText(lpPartlistItem->reference());
|
for(int x = 0;x < m_partlistItemList.count();x++)
|
||||||
lpItems.at(1)->setText(m_lpPartList->find(lpPartlistItem->partID())->partGroup()->name());
|
{
|
||||||
lpItems.at(2)->setText(m_lpPartList->find(lpPartlistItem->partID())->name());
|
cPartlistItem* lpPartlistItem = m_partlistItemList.at(x);
|
||||||
lpItems.at(2)->setData(lpPartlistItem->partID(), Qt::UserRole);
|
|
||||||
if(lpPartlistItem->distributorID())
|
if(lpPartlistItem->replaceID())
|
||||||
{
|
{
|
||||||
lpItems.at(3)->setText(m_lpDistributorList->find(lpPartlistItem->distributorID())->name());
|
QStandardItem* lpRoot = findItem(lpPartlistItem->replaceID());
|
||||||
lpItems.at(3)->setData(QVariant::fromValue(lpPartlistItem->distributorID()), Qt::UserRole);
|
if(lpRoot)
|
||||||
|
addItem(lpPartlistItem, lpRoot);
|
||||||
}
|
}
|
||||||
lpItems.at(4)->setText(lpPartlistItem->stateString());
|
|
||||||
lpItems.at(5)->setText(QString::number(lpPartlistItem->price(), 'f', 2));
|
|
||||||
lpItems.at(5)->setTextAlignment(Qt::AlignRight);
|
|
||||||
lpItems.at(6)->setText(lpPartlistItem->description());
|
|
||||||
|
|
||||||
for(int z = 0;z < header.count();z++)
|
|
||||||
{
|
|
||||||
lpItems.at(z)->setData(QVariant::fromValue(lpPartlistItem->partID()), Qt::UserRole+1);
|
|
||||||
lpItems.at(z)->setData(QVariant::fromValue(m_lpPartDistributorList), Qt::UserRole+2);
|
|
||||||
}
|
|
||||||
|
|
||||||
m_lpPartListModel->appendRow(lpItems);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int z = 0;z < header.count();z++)
|
for(int z = 0;z < header.count();z++)
|
||||||
ui->m_lpPartList->resizeColumnToContents(z);
|
ui->m_lpPartList->resizeColumnToContents(z);
|
||||||
|
|
||||||
|
ui->m_lpPartList->sortByColumn(1, Qt::AscendingOrder);
|
||||||
|
}
|
||||||
|
|
||||||
|
QStandardItem* cPartlistWindow::findItem(qint32 itemID)
|
||||||
|
{
|
||||||
|
for(int z = 0;z < m_lpPartListModel->rowCount();z++)
|
||||||
|
{
|
||||||
|
QStandardItem* lpItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(z, 0));
|
||||||
|
if(!lpItem)
|
||||||
|
return(0);
|
||||||
|
|
||||||
|
cPartlistItem* lpPartlistItem = qvariant_cast<cPartlistItem*>(lpItem->data(Qt::UserRole));
|
||||||
|
if(!lpPartlistItem)
|
||||||
|
return(0);
|
||||||
|
|
||||||
|
if(lpPartlistItem->id() == itemID)
|
||||||
|
return(lpItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void cPartlistWindow::addItem(cPartlistItem* lpPartlistItem, QStandardItem *lpRoot)
|
||||||
|
{
|
||||||
|
QList<QStandardItem*> lpItems;
|
||||||
|
|
||||||
|
for(int z = 0;z < m_lpPartListModel->columnCount();z++)
|
||||||
|
lpItems.append(new QStandardItem);
|
||||||
|
|
||||||
|
lpItems.at(0)->setText(lpPartlistItem->reference());
|
||||||
|
lpItems.at(1)->setText(m_lpPartList->find(lpPartlistItem->partID())->partGroup()->name());
|
||||||
|
lpItems.at(2)->setText(m_lpPartList->find(lpPartlistItem->partID())->name());
|
||||||
|
lpItems.at(2)->setData(lpPartlistItem->partID(), Qt::UserRole);
|
||||||
|
if(lpPartlistItem->distributorID())
|
||||||
|
{
|
||||||
|
lpItems.at(3)->setText(m_lpDistributorList->find(lpPartlistItem->distributorID())->name());
|
||||||
|
lpItems.at(3)->setData(QVariant::fromValue(lpPartlistItem->distributorID()), Qt::UserRole);
|
||||||
|
}
|
||||||
|
lpItems.at(4)->setText(lpPartlistItem->stateString());
|
||||||
|
lpItems.at(5)->setText(QString::number(lpPartlistItem->price(), 'f', 2));
|
||||||
|
lpItems.at(5)->setTextAlignment(Qt::AlignRight);
|
||||||
|
lpItems.at(6)->setText(lpPartlistItem->description());
|
||||||
|
|
||||||
|
for(int z = 0;z < m_lpPartListModel->columnCount();z++)
|
||||||
|
{
|
||||||
|
lpItems.at(z)->setData(QVariant::fromValue(lpPartlistItem), Qt::UserRole);
|
||||||
|
lpItems.at(z)->setData(QVariant::fromValue(lpPartlistItem->partID()), Qt::UserRole+1);
|
||||||
|
lpItems.at(z)->setData(QVariant::fromValue(m_lpPartDistributorList), Qt::UserRole+2);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(lpRoot)
|
||||||
|
lpRoot->appendRow(lpItems);
|
||||||
|
else
|
||||||
|
m_lpPartListModel->appendRow(lpItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cPartlistWindow::save(qint32 id)
|
bool cPartlistWindow::save(qint32 id)
|
||||||
@@ -323,10 +365,10 @@ bool cPartlistWindow::somethingSelected()
|
|||||||
return(false);
|
return(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cPartlistWindow::on_m_lpPartList_doubleClicked(const QModelIndex &/*index*/)
|
//void cPartlistWindow::on_m_lpPartList_doubleClicked(const QModelIndex &/*index*/)
|
||||||
{
|
//{
|
||||||
onPartEdit();
|
// onPartEdit();
|
||||||
}
|
//}
|
||||||
|
|
||||||
void cPartlistWindow::on_m_lpPartList_clicked(const QModelIndex &index)
|
void cPartlistWindow::on_m_lpPartList_clicked(const QModelIndex &index)
|
||||||
{
|
{
|
||||||
@@ -403,16 +445,56 @@ void cPartlistWindow::onPartEdit()
|
|||||||
cPartlistItemEditDialog* lpDialog = new cPartlistItemEditDialog(this);
|
cPartlistItemEditDialog* lpDialog = new cPartlistItemEditDialog(this);
|
||||||
lpDialog->setList(m_lpDistributorList, m_lpPartGroupList, m_lpPartList, m_lpPartDistributorList);
|
lpDialog->setList(m_lpDistributorList, m_lpPartGroupList, m_lpPartList, m_lpPartDistributorList);
|
||||||
|
|
||||||
QModelIndex index = ui->m_lpPartList->currentIndex();
|
QModelIndex index = ui->m_lpPartList->currentIndex();
|
||||||
QStandardItem* lpReferenceItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 0));
|
QStandardItem* lpItem = m_lpPartListModel->itemFromIndex(index);
|
||||||
QStandardItem* lpPartGroupItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 1));
|
|
||||||
QStandardItem* lpPartItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 2));
|
QStandardItem* lpReferenceItem;
|
||||||
QStandardItem* lpDistributorItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 3));
|
QStandardItem* lpPartGroupItem;
|
||||||
QStandardItem* lpStateItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 4));
|
QStandardItem* lpPartItem;
|
||||||
QStandardItem* lpPriceItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 5));
|
QStandardItem* lpDistributorItem;
|
||||||
QStandardItem* lpDescriptionItem = m_lpPartListModel->itemFromIndex(m_lpPartListModel->index(index.row(), 6));
|
QStandardItem* lpStateItem;
|
||||||
|
QStandardItem* lpPriceItem;
|
||||||
|
QStandardItem* lpDescriptionItem;
|
||||||
|
|
||||||
|
if(lpItem->parent())
|
||||||
|
{
|
||||||
|
QStandardItem* lpParent = lpItem->parent();
|
||||||
|
lpReferenceItem = lpParent->child(index.row(), 0);
|
||||||
|
lpPartGroupItem = lpParent->child(index.row(), 1);
|
||||||
|
lpPartItem = lpParent->child(index.row(), 2);
|
||||||
|
lpDistributorItem = lpParent->child(index.row(), 3);
|
||||||
|
lpStateItem = lpParent->child(index.row(), 4);
|
||||||
|
lpPriceItem = lpParent->child(index.row(), 5);
|
||||||
|
lpDescriptionItem = lpParent->child(index.row(), 6);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lpReferenceItem = m_lpPartListModel->itemFromIndex(index.model()->index(index.row(), 0));
|
||||||
|
lpPartGroupItem = m_lpPartListModel->itemFromIndex(index.model()->index(index.row(), 1));
|
||||||
|
lpPartItem = m_lpPartListModel->itemFromIndex(index.model()->index(index.row(), 2));
|
||||||
|
lpDistributorItem = m_lpPartListModel->itemFromIndex(index.model()->index(index.row(), 3));
|
||||||
|
lpStateItem = m_lpPartListModel->itemFromIndex(index.model()->index(index.row(), 4));
|
||||||
|
lpPriceItem = m_lpPartListModel->itemFromIndex(index.model()->index(index.row(), 5));
|
||||||
|
lpDescriptionItem = m_lpPartListModel->itemFromIndex(index.model()->index(index.row(), 6));
|
||||||
|
}
|
||||||
|
|
||||||
lpDialog->setValues(lpReferenceItem->text(), lpPartGroupItem->text(), lpPartItem->text(), lpDistributorItem->text(), lpStateItem->text(), lpPriceItem->text().toDouble(), lpDescriptionItem->text());
|
lpDialog->setValues(lpReferenceItem->text(), lpPartGroupItem->text(), lpPartItem->text(), lpDistributorItem->text(), lpStateItem->text(), lpPriceItem->text().toDouble(), lpDescriptionItem->text());
|
||||||
|
|
||||||
|
if(!lpItem->parent())
|
||||||
|
{
|
||||||
|
for(int x = 0;x < lpItem->rowCount();x++)
|
||||||
|
{
|
||||||
|
lpReferenceItem = lpItem->child(x, 0);
|
||||||
|
lpPartGroupItem = lpItem->child(x, 1);
|
||||||
|
lpPartItem = lpItem->child(x, 2);
|
||||||
|
lpDistributorItem = lpItem->child(x, 3);
|
||||||
|
lpStateItem = lpItem->child(x, 4);
|
||||||
|
lpPriceItem = lpItem->child(x, 5);
|
||||||
|
lpDescriptionItem = lpItem->child(x, 6);
|
||||||
|
lpDialog->addReplace(lpReferenceItem->text(), lpPartGroupItem->text(), lpPartItem->text(), lpDistributorItem->text(), lpStateItem->text(), lpPriceItem->text().toDouble(), lpDescriptionItem->text());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(lpDialog->exec() == QDialog::Rejected)
|
if(lpDialog->exec() == QDialog::Rejected)
|
||||||
{
|
{
|
||||||
delete lpDialog;
|
delete lpDialog;
|
||||||
|
|||||||
+3
-1
@@ -42,7 +42,7 @@ public:
|
|||||||
bool somethingSelected();
|
bool somethingSelected();
|
||||||
private slots:
|
private slots:
|
||||||
void on_m_lpName_textChanged(const QString &arg1);
|
void on_m_lpName_textChanged(const QString &arg1);
|
||||||
void on_m_lpPartList_doubleClicked(const QModelIndex &index);
|
// void on_m_lpPartList_doubleClicked(const QModelIndex &index);
|
||||||
void on_m_lpPartList_clicked(const QModelIndex &index);
|
void on_m_lpPartList_clicked(const QModelIndex &index);
|
||||||
void on_m_lpPartList_customContextMenuRequested(const QPoint &pos);
|
void on_m_lpPartList_customContextMenuRequested(const QPoint &pos);
|
||||||
|
|
||||||
@@ -69,6 +69,8 @@ private:
|
|||||||
cPartlistItemList m_partlistItemList;
|
cPartlistItemList m_partlistItemList;
|
||||||
|
|
||||||
void showPartList();
|
void showPartList();
|
||||||
|
void addItem(cPartlistItem* lpPartlistItem, QStandardItem* lpRoot = 0);
|
||||||
|
QStandardItem* findItem(qint32 itemID);
|
||||||
|
|
||||||
bool save(qint32 id);
|
bool save(qint32 id);
|
||||||
};
|
};
|
||||||
|
|||||||
+7
-1
@@ -98,7 +98,13 @@
|
|||||||
<enum>Qt::CustomContextMenu</enum>
|
<enum>Qt::CustomContextMenu</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="editTriggers">
|
<property name="editTriggers">
|
||||||
<set>QAbstractItemView::EditKeyPressed</set>
|
<set>QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed</set>
|
||||||
|
</property>
|
||||||
|
<property name="alternatingRowColors">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="sortingEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
Reference in New Issue
Block a user