Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-36199

qmplugindump is not able to dump all registered components

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Not Evaluated
    • 5.3.0
    • 4.8.5, 5.2.0
    • Core: Plugins
    • None
    • linux x86
    • 1b53fb1b6f00fe6bef787d385dddc48d52b090c6

    Description

      Qmlplugindump will not dump properly registered components like QQuickKeyEvent. It is referenced only from one component which is not creatable. Therefore even creating instances will not help. Please see the listing below line. The root cause is that QQmlMetaType::qmlTypes() returns only subset of registered types - the types with QML Name. (internally the function returns list of all values from map that maps QML name to QQmlType) There should be a new function that will return all registered types. I doubt that it is safe to change the behavior of existing function now. I am going to send a patch soon because it causes a lot of troubles to me. Qt4 suffers from the same problem.

      ----------------------------------------------------------------------
      Component {
      name: "QQuickKeysAttached"
      prototype: "QObject"
      exports: ["QtQuick/Keys 2.0"]
      isCreatable: false
      exportMetaObjectRevisions: [0]
      Enum {
      name: "Priority"
      values:

      { "BeforeItem": 0, "AfterItem": 1 }

      }
      Property

      { name: "enabled"; type: "bool" }

      Property

      { name: "forwardTo"; type: "QQuickItem"; isList: true; isReadonly: true }

      Property

      { name: "priority"; type: "Priority" }

      Signal {
      name: "pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "released"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "digit0Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "digit1Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "digit2Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "digit3Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "digit4Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "digit5Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "digit6Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "digit7Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "digit8Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "digit9Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "leftPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "rightPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "upPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "downPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "tabPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "backtabPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "asteriskPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "numberSignPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "escapePressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "returnPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "enterPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "deletePressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "spacePressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "backPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "cancelPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "selectPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "yesPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "noPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "context1Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "context2Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "context3Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "context4Pressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "callPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "hangupPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "flipPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "menuPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "volumeUpPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      Signal {
      name: "volumeDownPressed"
      Parameter

      { name: "event"; type: "QQuickKeyEvent"; isPointer: true }

      }
      }

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            dpesch Daniel Pesch
            dpesch Daniel Pesch
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes