diff options
Diffstat (limited to 'client/widgets/widget.cc')
-rw-r--r-- | client/widgets/widget.cc | 12 |
1 files changed, 7 insertions, 5 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()) { |