You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qtPartlist/cpartlistitemeditdialog.cpp

77 lines
2.2 KiB
C++

#include "cpartlistitemeditdialog.h"
#include "ui_cpartlistitemeditdialog.h"
cPartlistItemEditDialog::cPartlistItemEditDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::cPartlistItemEditDialog),
m_lpDistributorList(0),
m_lpPartGroupList(0),
m_lpPartList(0),
m_lpPartDistributorList(0)
{
ui->setupUi(this);
}
cPartlistItemEditDialog::~cPartlistItemEditDialog()
{
delete ui;
}
void cPartlistItemEditDialog::setList(cDistributorList* lpDistributorList, cPartGroupList* lpPartGroupList, cPartList* lpPartList, cPartDistributorList* lpPartDistributorList)
{
m_lpDistributorList = lpDistributorList;
m_lpPartGroupList = lpPartGroupList;
m_lpPartList = lpPartList;
m_lpPartDistributorList = lpPartDistributorList;
if(m_lpPartList)
{
for(int x = 0;x < m_lpPartList->count();x++)
ui->m_lpPartList->addItem(QString("%1 - %2").arg(m_lpPartList->at(x)->partGroup()->name()).arg(m_lpPartList->at(x)->name()), QVariant::fromValue(m_lpPartList->at(x)));
}
fillDistributorList();
}
void cPartlistItemEditDialog::setValues(const QString &szReference, const QString &szGroup, const QString &szPart, const QString &szDistributor, const QString &szState, const qreal &dPrice, const QString &szDescription)
{
cDistributor* lpDistributor = m_lpDistributorList->find(szDistributor);
cPart* lpPart = m_lpPartList->find();
if(lpPart)
{
ui->m_lpPartList->setCurrentText(QString("%1 - %2").arg(szGroup).arg(szPart));
ui->m_lpPartList->setEnabled(false);
}
fillDistributorList();
// if(lpDistributor)
// ui->m_lpDistributorList->setCurrentText(lpDistributor->name());
}
void cPartlistItemEditDialog::on_m_lpPartList_currentIndexChanged(int /*index*/)
{
fillDistributorList();
}
void cPartlistItemEditDialog::fillDistributorList()
{
ui->m_lpDistributorList->clear();
if(m_lpDistributorList)
{
cPart* lpPart = qvariant_cast<cPart*>(ui->m_lpPartList->currentData());
if(lpPart)
{
ui->m_lpDistributorList->addItem("NONE");
for(int x = 0;x < m_lpPartDistributorList->count();x++)
{
if(lpPart->id() == m_lpPartDistributorList->at(x)->part()->id())
ui->m_lpDistributorList->addItem(m_lpPartDistributorList->at(x)->distributor()->name(), QVariant::fromValue(m_lpPartDistributorList->at(x)));
}
}
}
}