Explorar el Código

ctkCollapsibleButton was setting grandchildren visibility

ctkCollapsibleButton should only care of it's direct children, not it's
grand children.
Julien Finet hace 14 años
padre
commit
00d96401c4
Se han modificado 1 ficheros con 7 adiciones y 3 borrados
  1. 7 3
      Libs/Widgets/ctkCollapsibleButton.cpp

+ 7 - 3
Libs/Widgets/ctkCollapsibleButton.cpp

@@ -250,9 +250,13 @@ void ctkCollapsibleButton::collapse(bool collapsed)
     }
 
   // update the visibility of all the children
-  foreach(QWidget* child, this->findChildren<QWidget*>())
+  foreach(QObject* child, this->children())
     {
-    d->setChildVisibility(child);
+    QWidget* childWidget = qobject_cast<QWidget*>(child);
+    if (childWidget)
+      {
+      d->setChildVisibility(childWidget);
+      }
     }
 
   // this might be too many updates...
@@ -637,7 +641,7 @@ void ctkCollapsibleButton::childEvent(QChildEvent* c)
     QWidget *w = static_cast<QWidget*>(c->child());
     d->setChildVisibility(w);
     }
-  this->QWidget::childEvent(c);
+  this->QAbstractButton::childEvent(c);
 }
 
 //-----------------------------------------------------------------------------