diff --git a/cmainwindow.cpp b/cmainwindow.cpp index ac49daa..a54043c 100644 --- a/cmainwindow.cpp +++ b/cmainwindow.cpp @@ -236,7 +236,7 @@ void cMainWindow::loadDistributorList() QSqlQuery query; QString szQuery; - szQuery = "SELECT id, name, link, address, postal_code, city, country, phone, fax, email, link, description, logo FROM distributor ORDER BY name;"; + szQuery = "SELECT id, name, link, address, postal_code, city, country, phone, fax, email, link, description, logo FROM distributor ORDER BY LOWER(name);"; if(!query.exec(szQuery)) { @@ -278,7 +278,7 @@ void cMainWindow::loadPartGroupList() QSqlQuery query; QString szQuery; - szQuery = "SELECT id, name, description FROM partgroup ORDER BY name;"; + szQuery = "SELECT id, name, description FROM partgroup ORDER BY LOWER(name);"; if(!query.exec(szQuery)) { @@ -304,7 +304,7 @@ void cMainWindow::loadPartList() QSqlQuery query; QString szQuery; - szQuery = "SELECT part.id id, part.name name, part.description description, part.partgroupID partgroupID, part.link FROM part JOIN partgroup ON (part.partgroupID = partgroup.id) ORDER BY partgroup.name, part.name;"; + szQuery = "SELECT part.id id, part.name name, part.description description, part.partgroupID partgroupID, part.link FROM part JOIN partgroup ON (part.partgroupID = partgroup.id) ORDER BY LOWER(partgroup.name), LOWER(part.name);"; if(!query.exec(szQuery)) { @@ -336,7 +336,7 @@ void cMainWindow::loadPartDistributorList() QSqlQuery query; QString szQuery; - szQuery = "SELECT id, name, description, partID, distributorID, price, link FROM part_distributor ORDER BY name;"; + szQuery = "SELECT id, name, description, partID, distributorID, price, link FROM part_distributor ORDER BY LOWER(name);"; if(!query.exec(szQuery)) { diff --git a/cparteditdialog.cpp b/cparteditdialog.cpp index 9297519..0c60261 100644 --- a/cparteditdialog.cpp +++ b/cparteditdialog.cpp @@ -44,7 +44,7 @@ bool cPartEditDialog::somethingSelected() return(false); } -void cPartEditDialog::setValues(cPart* lpPart, cPartGroupList* lpPartGroupList, cDistributorList *lpDistributorList, cPartDistributorList *lpPartDistributorList) +void cPartEditDialog::setValues(cPart* lpPart, cPartGroupList* lpPartGroupList, cDistributorList *lpDistributorList, cPartDistributorList *lpPartDistributorList, QString szGroup) { m_lpPart = lpPart; m_lpPartGroupList = lpPartGroupList; @@ -66,6 +66,9 @@ void cPartEditDialog::setValues(cPart* lpPart, cPartGroupList* lpPartGroupList, showPartDistributorList(); } + + if(!szGroup.isEmpty()) + ui->m_lpGroup->setCurrentText(szGroup); } void cPartEditDialog::showPartDistributorList() diff --git a/cparteditdialog.h b/cparteditdialog.h index 86f6179..904e8b4 100644 --- a/cparteditdialog.h +++ b/cparteditdialog.h @@ -24,7 +24,7 @@ public: ~cPartEditDialog(); qint32 id(); - void setValues(cPart* lpPart, cPartGroupList* lpPartGroupList, cDistributorList* lpDistributorList, cPartDistributorList* lpPartDistributorList); + void setValues(cPart* lpPart, cPartGroupList* lpPartGroupList, cDistributorList* lpDistributorList, cPartDistributorList* lpPartDistributorList, QString szGroup = ""); bool somethingSelected(); private slots: diff --git a/cpartlistitemdelegate.cpp b/cpartlistitemdelegate.cpp index 3efb9fd..c671029 100644 --- a/cpartlistitemdelegate.cpp +++ b/cpartlistitemdelegate.cpp @@ -145,7 +145,7 @@ void cPartListItemDelegate::setModelData ( QWidget *editor, QAbstractItemModel * cPartDistributor* lpPartDistributor = qvariant_cast(lpComboBox->currentData()); model->setData(index, lpComboBox->currentText(), Qt::EditRole); - model->setData(index, QVariant::fromValue(lpPartDistributor), Qt::UserRole+1); +// model->setData(index, QVariant::fromValue(lpPartDistributor), Qt::UserRole+1); QStandardItemModel* lpModel = (QStandardItemModel*)index.model(); QStandardItem* lpItem = lpModel->itemFromIndex(lpModel->index(index.row(), 5)); lpItem->setText(QString::number(lpPartDistributor->price(), 'f', 2)); diff --git a/cpartlistwindow.cpp b/cpartlistwindow.cpp index 5b89d78..8dcd09d 100644 --- a/cpartlistwindow.cpp +++ b/cpartlistwindow.cpp @@ -508,8 +508,6 @@ void cPartlistWindow::onPartEdit() qreal dPrice = lpDialog->price(); QString szDescription = lpDialog->description(); - QList lpItems; - lpReferenceItem->setText(szReference.split("\n").join(", ")); if(lpPart) { diff --git a/cpartwindow.cpp b/cpartwindow.cpp index bc847df..9b59fef 100644 --- a/cpartwindow.cpp +++ b/cpartwindow.cpp @@ -160,8 +160,22 @@ void cPartWindow::deletePart() void cPartWindow::onAdd() { + QStandardItem* lpItem = m_lpPartListModel->itemFromIndex(ui->m_lpPartList->selectionModel()->selectedIndexes().at(0)); + QString szGroup; + + if(lpItem) + { + QStandardItem* lpRoot; + + lpRoot = lpItem->parent(); + if(!lpRoot) + szGroup = lpItem->text(); + else + szGroup = lpRoot->text(); + } + cPartEditDialog* lpDialog = new cPartEditDialog(this); - lpDialog->setValues(0, m_lpPartGroupList, m_lpDistributorList, m_lpPartDistributorList); + lpDialog->setValues(0, m_lpPartGroupList, m_lpDistributorList, m_lpPartDistributorList, szGroup); if(lpDialog->exec() == QDialog::Rejected) {