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 * Fixed a regression in rdlogedit(1) that caused a newly inserted
log event to be assigned the start time parameters of the previously log event to be assigned the start time parameters of the previously
edited event. 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) void EditEvent::timeChangedData(const QTime &time)
{ {
if(edit_timetype_box->isChecked()) { if(edit_timetype_box->isChecked()) {

View File

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

View File

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

View File

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