Files
prodejna/shop/receiptloadform.cpp
T

62 lines
2.1 KiB
C++
Raw Normal View History

2016-07-06 21:37:46 +02:00
#include <QSortFilterProxyModel>
2016-04-07 22:22:53 +02:00
#include "receiptloadform.h"
#include "ui_receiptloadform.h"
2016-07-06 21:37:46 +02:00
#include "shopservice.h"
#include "shop-odb.hxx"
2016-04-07 22:22:53 +02:00
ReceiptLoadForm::ReceiptLoadForm(QWidget *parent) :
QDialog(parent),
ui(new Ui::ReceiptLoadForm)
{
ui->setupUi(this);
2016-07-06 21:37:46 +02:00
m_voucherModel = new AutoTableModel<Voucher>(this);
ShopService srv;
m_voucherModel->setData(srv.all(QString("status = %1").arg(QString::number(Voucher::NOT_PAID))));
m_voucherModel->setTranslations(Context::instance().plugin("SHOP")->translations());
ui->tabVouchers->setModel(m_voucherModel);
2016-07-25 22:41:39 +02:00
ui->tabVouchers->hideColumn(0);
ui->tabVouchers->hideColumn(1);
2016-07-06 21:37:46 +02:00
ui->tabVouchers->hideColumn(5);
ui->tabVouchers->hideColumn(6);
ui->tabVouchers->hideColumn(7);
ui->tabVouchers->hideColumn(8);
2016-07-25 22:41:39 +02:00
ui->tabVouchers->hideColumn(9);
2016-07-06 21:37:46 +02:00
ui->tabVouchers->hideColumn(10);
2016-07-25 22:41:39 +02:00
ui->tabVouchers->hideColumn(12);
ui->tabVouchers->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch);
ui->tabVouchers->setColumnWidth(3, 200);
ui->tabVouchers->setColumnWidth(4, 200);
2016-07-06 21:37:46 +02:00
m_itemModel = new AutoTableModel<VoucherItem>(this);
ui->tabItems->setModel(m_itemModel);
2016-07-25 22:41:39 +02:00
ui->tabItems->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
2016-07-06 21:37:46 +02:00
connect(ui->tabVouchers->selectionModel(), &QItemSelectionModel::currentRowChanged, [this](const QModelIndex &current, QModelIndex){
ShopService srv;
VoucherPtr voucher = m_voucherModel->itemFromIndex(current);
srv.loadItems(voucher);
m_itemModel->setData(voucher->items());
});
2016-04-07 22:22:53 +02:00
}
ReceiptLoadForm::~ReceiptLoadForm()
{
delete ui;
}
2016-07-06 21:37:46 +02:00
void ReceiptLoadForm::on_lineEdit_textChanged(const QString &text)
{
QSortFilterProxyModel proxy;
proxy.setSourceModel(m_voucherModel);
2016-07-25 22:41:39 +02:00
proxy.setFilterKeyColumn(2);
2016-07-06 21:37:46 +02:00
proxy.setFilterFixedString(text);
QModelIndex matchingIndex = proxy.mapToSource(proxy.index(0,0));
if(matchingIndex.isValid()){
ui->tabVouchers->scrollTo(matchingIndex,QAbstractItemView::EnsureVisible);
ui->tabVouchers->setCurrentIndex(matchingIndex);
}
}