Fixed issue #553. Tape.exe crash. Issue with the Search field.

(grafted from c4cc1aca74cb29d3fb57cd0718ec282b3dd0dc7b)

--HG--
branch : develop
This commit is contained in:
Roman Telezhynskyi 2016-08-25 19:32:59 +03:00
parent 89ce8afe77
commit 99a2f0f807
2 changed files with 30 additions and 23 deletions

View File

@ -58,7 +58,8 @@
- [#544] Error: Color Lines are black until touched.
- [#543] Detail loses details.
- [#548] Bug Detail tool. Case when seam allowance is wrong.
- Called the main app in console mode doesn't show opening file error in some cases.
- Called the main app in console mode doesn't show opening file error in some cases.
- [#553] Tape.exe crash. Issue with the Search field.
# Version 0.4.4 April 12, 2016
- Updated measurement templates with all measurements. Added new template Aldrich/Women measurements.

View File

@ -49,17 +49,25 @@ void VTableSearch::Clear()
{
SCASSERT(table != nullptr);
foreach(QTableWidgetItem *item, searchList)
for(int i = 0; i < table->rowCount(); ++i)
{
if (item->row() % 2 != 0 && table->alternatingRowColors())
for(int j = 0; j < table->columnCount(); ++j)
{
item->setBackground(QPalette().alternateBase());
}
else
{
item->setBackground(QPalette().base());
if (QTableWidgetItem *item = table->item(i, j))
{
if (item->row() % 2 != 0 && table->alternatingRowColors())
{
item->setBackground(QPalette().alternateBase());
}
else
{
item->setBackground(QPalette().base());
}
}
}
}
searchList.clear();
searchIndex = -1;
}
@ -87,26 +95,24 @@ void VTableSearch::Find(const QString &term)
{
SCASSERT(table != nullptr);
const QList<QTableWidgetItem *> list = table->findItems(term, Qt::MatchContains);
Clear();
if (list.isEmpty() || term.isEmpty())
if (not term.isEmpty())
{
Clear();
}
else
{
Clear();
searchList = table->findItems(term, Qt::MatchContains);
searchList = list;
foreach(QTableWidgetItem *item, searchList)
if (not searchList.isEmpty())
{
item->setBackground(Qt::yellow);
}
foreach(QTableWidgetItem *item, searchList)
{
item->setBackground(Qt::yellow);
}
searchIndex = 0;
QTableWidgetItem *item = searchList.at(searchIndex);
item->setBackground(Qt::red);
table->scrollToItem(item);
searchIndex = 0;
QTableWidgetItem *item = searchList.at(searchIndex);
item->setBackground(Qt::red);
table->scrollToItem(item);
}
}
}