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

Enum's enclosing type as a qualifier breaks enums for ListElement (again)

    XMLWordPrintable

Details

    Description

      Given a QML type in a file named MyType which contains a enum such as this:

      import QtQuick 2.15
      import QtQml.Models 2.15
      
      Item {
          id: root
      
          enum Enum {
              A,
              B,
              C
          }
          // ...
      }
      

      , the following works:

          property var model: ([
              { name: "A", value: MyType.Enum.A },
              { name: "B", value: MyType.Enum.B },
              { name: "C", value: MyType.Enum.C },
          ])
      
          // ...
      
          Rectangle {
              id: delegate
              property string name: modelData['name']
              property int value: modelData['value']
              // use `delegate.name`...
          }
      

      but this doesn't:

          ListModel {
              id: model
      
              ListElement {
                  name: "A"
                  value: MyType.Enum.A
              }
              ListElement {
                  name: "B"
                  value: MyType.Enum.B
              }
              ListElement {
                  name: "C"
                  value: MyType.Enum.C
              }
          }
      
          // ...
      
          Rectangle {
              id: delegate
              required property string name
              required property int value
              // use `delegate.name`...
          }
      

      The error in infamous "cannot use script":

      QQmlApplicationEngine failed to load component
      qrc:/main.qml:11:5: Type MyType unavailable
      qrc:/MyType.qml:18:13: ListElement: cannot use script for property value
      

      Attachments

        Issue Links

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

          Activity

            People

              qtqmlteam Qt Qml Team User
              ratijas ivan tkachenko
              Votes:
              4 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes