diff options
| -rw-r--r-- | client/widgets/widget.cc | 12 | ||||
| -rw-r--r-- | client/widgets/widget.h | 2 | 
2 files changed, 8 insertions, 6 deletions
| diff --git a/client/widgets/widget.cc b/client/widgets/widget.cc index fba2da0..d4d0826 100644 --- a/client/widgets/widget.cc +++ b/client/widgets/widget.cc @@ -131,17 +131,19 @@ bool Widget::valid(bool deep)    return true;  } -void Widget::setValid(bool valid) +void Widget::setValid(bool valid, bool deep)  {    is_valid = valid;    setWdgValid(valid); -  /* + +  if(!deep) return; +    QVector< Widget* >::iterator i = children.begin();    while(i != children.end()) { -    if(*i) (*i)->setValid(valid); +    if(*i) (*i)->setValid(valid, deep);      i++;    } -  */ +  }  void Widget::runEventOnChange(bool deep) @@ -162,7 +164,7 @@ void Widget::setEnabled(bool enabled)  {    widget->setEnabled(enabled);    if(enabled) emit eventOnChange(); -  else setValid(true); // Force disabled widgets to be valid +  else setValid(true, true); // Force disabled widgets to be valid    QVector< Widget* >::iterator i = children.begin();    while(i != children.end()) { diff --git a/client/widgets/widget.h b/client/widgets/widget.h index 17480cb..5d5f816 100644 --- a/client/widgets/widget.h +++ b/client/widgets/widget.h @@ -54,7 +54,7 @@ public:    // Set deep to true to validate inner widgets.    bool valid(bool deep = false); -  void setValid(bool valid); +  void setValid(bool valid, bool deep = false);    // Implement in subclasses to contribute to the validation.    virtual bool preValid() { return true; } | 
