This commit is contained in:
Herwig Birke
2018-01-17 16:21:30 +01:00
parent 10d9b05e15
commit c364a8c3a7
6 changed files with 47 additions and 11 deletions
+1 -1
View File
@@ -617,7 +617,7 @@ void cMainWindow::partChanged(cPart* /*lpPart*/)
loadPartDistributorList();
}
void cMainWindow::partlistSelectionChanged(const QModelIndex& index)
void cMainWindow::partlistSelectionChanged(const QModelIndex& /*index*/)
{
updateMenu();
}
+8 -6
View File
@@ -226,13 +226,9 @@ bool cPartEditDialog::save()
return(false);
}
query.prepare("SELECT id FROM part_distributor WHERE name=:name AND description=:description AND partID=:partID AND distributorID=:distributorID AND price=:price AND link=:link;");
query.bindValue(":name", lpItemName->text());
query.bindValue(":description", lpItemDescription->text());
query.prepare("SELECT id FROM part_distributor WHERE partID=:partID AND distributorID=:distributorID;");
query.bindValue(":partID", m_lpPart->id());
query.bindValue(":distributorID", m_lpDistributorList->find(lpItemDistributor->text())->id());
query.bindValue(":price", lpItemPrice->text().toDouble());
query.bindValue(":link", lpItemLink->text());
if(!query.exec())
{
@@ -240,13 +236,19 @@ bool cPartEditDialog::save()
return(false);
}
if(!query.next())
{
myDebug << query.lastError().text();
return(false);
}
idList << QString("%1").arg(query.value("id").toInt());
}
}
if(idList.count())
{
query.prepare(QString("DELETE FROM part_distributor WHERE id NOT IN (%1);").arg(idList.join(", ")));
query.prepare(QString("DELETE FROM part_distributor WHERE id NOT IN (%1) AND partID=%2;").arg(idList.join(", ")).arg(m_lpPart->id()));
if(!query.exec())
{
myDebug << query.lastError().text();
+24
View File
@@ -94,6 +94,30 @@ cPartlistItem::STATE cPartlistItem::state()
return(m_state);
}
QString cPartlistItem::stateString()
{
return(stateString(m_state));
}
QString cPartlistItem::stateString(const cPartlistItem::STATE& state)
{
switch(state)
{
case STATE_init:
return(QObject::tr("init"));
case STATE_ordered:
return(QObject::tr("ordered"));
case STATE_shipping:
return(QObject::tr("shipping"));
case STATE_received:
return(QObject::tr("received"));
case STATE_missing:
return(QObject::tr("missing"));
}
return("UNKNOWN");
}
void cPartlistItem::setPrice(const qreal& price)
{
m_dPrice = price;
+5 -1
View File
@@ -13,7 +13,9 @@ public:
{
STATE_init = 0,
STATE_ordered = 1,
STATE_received = 2,
STATE_shipping = 2,
STATE_received = 3,
STATE_missing = 4,
};
cPartlistItem();
@@ -41,6 +43,8 @@ public:
void setState(const STATE& state);
STATE state();
QString stateString();
static QString stateString(const STATE& state);
void setPrice(const qreal& price);
qreal price();
+7
View File
@@ -10,6 +10,12 @@ cPartlistItemEditDialog::cPartlistItemEditDialog(QWidget *parent) :
m_lpPartDistributorList(0)
{
ui->setupUi(this);
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_shipping), QVariant::fromValue((qint8)cPartlistItem::STATE_shipping));
ui->m_lpOrderState->addItem(cPartlistItem::stateString(cPartlistItem::STATE_received), QVariant::fromValue((qint8)cPartlistItem::STATE_received));
ui->m_lpOrderState->addItem(cPartlistItem::stateString(cPartlistItem::STATE_missing), QVariant::fromValue((qint8)cPartlistItem::STATE_missing));
}
cPartlistItemEditDialog::~cPartlistItemEditDialog()
@@ -42,6 +48,7 @@ void cPartlistItemEditDialog::setValues(const QString &szReference, const QStrin
ui->m_lpReference->setText(szReference);
ui->m_lpDistributorList->setCurrentText(szDistributor);
ui->m_lpOrderState->setCurrentText(szState);
ui->m_lpPrice->setValue(dPrice);
ui->m_lpDescription->setText(szDescription);
}
+2 -3
View File
@@ -231,12 +231,11 @@ void cPartlistWindow::showPartList()
lpItems.at(2)->setText(m_lpPartList->find(lpPartlistItem->partID())->name());
if(lpPartlistItem->distributorID())
lpItems.at(3)->setText(m_lpDistributorList->find(lpPartlistItem->distributorID())->name());
//lpItems.at(4)->setText(lpPartlistItem->state());
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());
lpItems.at(4)->setTextAlignment(Qt::AlignRight);
for(int z = 0;z < header.count();z++)
{
lpItems.at(z)->setData(QVariant::fromValue(lpPartlistItem), Qt::UserRole);