2022-12-13 Fred Gleason <fredg@paravelsystems.com>

* Added logic to the 'Edit Log Entry' dialog in rdlogedit(1) to
	prevent entry of an invalid cart number.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason 2022-12-13 16:46:21 -05:00
parent af7c1d0885
commit 6e24c5f799
5 changed files with 24 additions and 0 deletions

View File

@ -23801,3 +23801,6 @@
* Fixed a regression in rdlogedit(1) that caused a newly inserted
log event to be assigned the start time parameters of the previously
edited event.
2022-12-13 Fred Gleason <fredg@paravelsystems.com>
* Added logic to the 'Edit Log Entry' dialog in rdlogedit(1) to
prevent entry of an invalid cart number.

View File

@ -132,6 +132,12 @@ int EditEvent::exec()
}
void EditEvent::setOkEnabled(bool state)
{
edit_ok_button->setEnabled(state);
}
void EditEvent::timeChangedData(const QTime &time)
{
if(edit_timetype_box->isChecked()) {

View File

@ -47,6 +47,7 @@ class EditEvent : public RDDialog
protected:
int exec();
void setOkEnabled(bool state);
RDLogLine *logLine();
void setLogLine(RDLogLine *ll);
virtual bool saveData()=0;

View File

@ -58,10 +58,13 @@ EditLogLine::EditLogLine(QString *filter,QString *group,QString *schedcode,
// Cart Number
//
edit_cart_edit=new QLineEdit(this);
edit_cart_edit->setMaxLength(6);
edit_cart_edit->setGeometry(10,138,60,18);
QLabel *label=new QLabel(tr("Cart"),this);
label->setFont(labelFont());
label->setGeometry(12,122,60,14);
connect(edit_cart_edit,SIGNAL(textChanged(const QString &)),
this,SLOT(cartNumberChangedData(const QString &)));
//
// Title
@ -138,6 +141,7 @@ int EditLogLine::exec(const QString &svcname,LogModel *model,
edit_overlap_label->setEnabled(false);
}
FillCart(logLine()->cartNumber());
cartNumberChangedData(edit_cart_edit->text());
return EditEvent::exec();
}
@ -156,6 +160,15 @@ void EditLogLine::selectCartData()
}
void EditLogLine::cartNumberChangedData(const QString &str)
{
bool ok=false;
unsigned cartnum=str.toUInt(&ok);
setOkEnabled(ok&&(cartnum>0)&&(cartnum<=RD_MAX_CART_NUMBER));
}
bool EditLogLine::saveData()
{
if(edit_cart_edit->text().isEmpty()) {

View File

@ -41,6 +41,7 @@ class EditLogLine : public EditEvent
private slots:
void selectCartData();
void cartNumberChangedData(const QString &str);
protected:
bool saveData();