Skip to content

Commit

Permalink
Adv Param List: Fix for invalid numbers entered in Adv Param List bei…
Browse files Browse the repository at this point in the history
…ng taken as zero
  • Loading branch information
malcom2073 committed Mar 9, 2015
1 parent 9880902 commit 6cd6f59
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 1 deletion.
18 changes: 17 additions & 1 deletion src/ui/configuration/AdvParameterList.cc
Original file line number Diff line number Diff line change
Expand Up @@ -91,14 +91,29 @@ void AdvParameterList::tableWidgetItemChanged(QTableWidgetItem* item)
//Invalid item, something has gone awry.
return;
}
QLocale locallocale;
bool ok = false;
double number = locallocale.toDouble(item->text(),&ok);
if (!ok)
{
//Failed to convert
QMessageBox::warning(this,"Error","Failed to convert number, please verify your input and try again");
disconnect(ui.tableWidget, SIGNAL(itemChanged(QTableWidgetItem*)),this, SLOT(tableWidgetItemChanged(QTableWidgetItem*)));
ui.tableWidget->item(item->row(),ADV_TABLE_COLUMN_VALUE)->setText(m_paramToOrigValueMap[ui.tableWidget->item(item->row(),ADV_TABLE_COLUMN_PARAM)->text()]);
connect(ui.tableWidget, SIGNAL(itemChanged(QTableWidgetItem*)),this, SLOT(tableWidgetItemChanged(QTableWidgetItem*)));
return;
}

m_origBrushList.append(ui.tableWidget->item(item->row(),ADV_TABLE_COLUMN_PARAM)->text());
QBrush brush = QBrush(QColor::fromRgb(132,181,132));
ui.tableWidget->item(item->row(),ADV_TABLE_COLUMN_PARAM)->setBackground(brush);
ui.tableWidget->item(item->row(),ADV_TABLE_COLUMN_VALUE)->setBackground(brush);
ui.tableWidget->item(item->row(),ADV_TABLE_COLUMN_UNIT)->setBackground(brush);
ui.tableWidget->item(item->row(),ADV_TABLE_COLUMN_RANGE)->setBackground(brush);
ui.tableWidget->item(item->row(),ADV_TABLE_COLUMN_DESCRIPTION)->setBackground(brush);
m_modifiedParamMap[ui.tableWidget->item(item->row(),ADV_TABLE_COLUMN_PARAM)->text()] = item->text().toDouble();
m_modifiedParamMap[ui.tableWidget->item(item->row(),ADV_TABLE_COLUMN_PARAM)->text()] = number;
m_paramToOrigValueMap[ui.tableWidget->item(item->row(),ADV_TABLE_COLUMN_PARAM)->text()] = item->text();


int itemsChanged = m_modifiedParamMap.size();

Expand Down Expand Up @@ -411,6 +426,7 @@ void AdvParameterList::parameterChanged(int /*uas*/, int /*component*/, QString
{
valstr = QString::number(value.toInt(),'f',0);
}
m_paramToOrigValueMap[parameterName] = valstr;
m_paramValueMap[parameterName]->setText(valstr);
connect(ui.tableWidget,SIGNAL(itemChanged(QTableWidgetItem*)),this,SLOT(tableWidgetItemChanged(QTableWidgetItem*)));

Expand Down
1 change: 1 addition & 0 deletions src/ui/configuration/AdvParameterList.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ private slots:
QMap<QString,double> m_modifiedParamMap;
QMap<QString,QString> m_paramToUnitMap;
QMap<QString,QString> m_paramToRangeMap;
QMap<QString,QString> m_paramToOrigValueMap;

QList<QTableWidgetItem *> m_searchItemList;
int m_searchIndex;
Expand Down

0 comments on commit 6cd6f59

Please sign in to comment.