Allow non-action QObjects as children of QMenu
authorKevin Krammer <kevin.krammer@kdab.com>
Wed, 17 Oct 2012 16:04:25 +0000 (18:04 +0200)
committerKevin Krammer <kevin.krammer@kdab.com>
Wed, 17 Oct 2012 16:09:58 +0000 (18:09 +0200)
E.g. for attaching anything non-visual like a timer

declarativeobjects.cpp

index 28f390a..c2462d3 100644 (file)
@@ -236,14 +236,12 @@ DeclarativeMenu::DeclarativeMenu(QObject *parent) : DeclarativeWidgetProxy<QMenu
 void DeclarativeMenu::addQObject(QObject *object, AbstractDeclarativeObject *declarativeObject)
 {
   QAction *action = qobject_cast<QAction*>(object);
-  if (!action) {
-    qmlInfo(declarativeObject) << "The QMenu can only contain QMenu or QAction";
-    return;
+  if (action) {
+      m_proxiedObject->addAction(action);
+      m_children.append(declarativeObject);
+  } else {
+      DeclarativeWidgetProxy<QMenu>::addQObject(object, declarativeObject);
   }
-
-  m_proxiedObject->addAction(action);
-
-  m_children.append(declarativeObject);
 }
 
 void DeclarativeMenu::addWidget(QWidget *widget, AbstractDeclarativeObject *declarativeObject)