import QtQuick.tooling 1.2

// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
// 'qmlplugindump-qt5 -nonrelocatable org.kde.plasma.core 2.0 /usr/lib64/qt5/qml/'

Module {
    dependencies: [
        "QtGraphicalEffects 1.12",
        "QtQml 2.7",
        "QtQml.Models 2.2",
        "QtQml.WorkerScript 2.15",
        "QtQuick 2.9",
        "QtQuick.Controls 2.5",
        "QtQuick.Layouts 1.4",
        "QtQuick.Templates 2.5",
        "QtQuick.Window 2.6",
        "org.kde.kconfig 1.0",
        "org.kde.kirigami 2.20",
        "org.kde.kirigami.templates 2.2",
        "org.kde.kquickcontrolsaddons 2.0",
        "org.kde.plasma.components 3.0",
        "org.kde.plasma.extras 2.0",
        "org.kde.sonnet 1.0"
    ]
    Component {
        name: "ColorScope"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["org.kde.plasma.core/ColorScope 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "colorGroup"; type: "Plasma::Theme::ColorGroup" }
        Property { name: "textColor"; type: "QColor"; isReadonly: true }
        Property { name: "highlightColor"; type: "QColor"; isReadonly: true }
        Property { name: "highlightedTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "backgroundColor"; type: "QColor"; isReadonly: true }
        Property { name: "positiveTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "neutralTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "negativeTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "disabledTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "inherit"; type: "bool" }
        Signal { name: "colorsChanged" }
    }
    Component {
        name: "IconItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["org.kde.plasma.core/IconItem 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "source"; type: "QVariant" }
        Property { name: "colorGroup"; type: "Plasma::Theme::ColorGroup" }
        Property { name: "overlays"; type: "QStringList" }
        Property { name: "active"; type: "bool" }
        Property { name: "status"; type: "Plasma::Svg::Status" }
        Property { name: "animated"; type: "bool" }
        Property { name: "usesPlasmaTheme"; type: "bool" }
        Property { name: "roundToIconSize"; type: "bool" }
        Property { name: "valid"; type: "bool"; isReadonly: true }
        Property { name: "paintedWidth"; type: "int"; isReadonly: true }
        Property { name: "paintedHeight"; type: "int"; isReadonly: true }
        Property { name: "implicitHeight"; type: "int" }
        Property { name: "implicitWidth"; type: "int" }
        Signal { name: "paintedSizeChanged" }
        Signal { name: "implicitHeightChanged2" }
        Signal { name: "implicitWidthChanged2" }
    }
    Component {
        name: "Plasma::DataModel"
        prototype: "QAbstractItemModel"
        exports: ["org.kde.plasma.core/DataModel 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "dataSource"; type: "QObject"; isPointer: true }
        Property { name: "keyRoleFilter"; type: "string" }
        Property { name: "sourceFilter"; type: "string" }
        Property { name: "count"; type: "int"; isReadonly: true }
        Signal {
            name: "sourceModelChanged"
            Parameter { type: "QObject"; isPointer: true }
        }
        Signal {
            name: "filterRegExpChanged"
            Parameter { type: "string" }
        }
        Method {
            name: "get"
            type: "QVariantMap"
            Parameter { name: "i"; type: "int" }
        }
    }
    Component {
        name: "Plasma::DataSource"
        prototype: "QObject"
        exports: ["org.kde.plasma.core/DataSource 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "valid"; type: "bool"; isReadonly: true }
        Property { name: "interval"; type: "int" }
        Property { name: "intervalAlignment"; type: "Plasma::Types::IntervalAlignment" }
        Property { name: "dataEngine"; type: "string" }
        Property { name: "engine"; type: "string" }
        Property { name: "connectedSources"; type: "QStringList" }
        Property { name: "sources"; type: "QStringList"; isReadonly: true }
        Property { name: "data"; type: "QQmlPropertyMap"; isReadonly: true; isPointer: true }
        Property { name: "models"; type: "QQmlPropertyMap"; isReadonly: true; isPointer: true }
        Signal {
            name: "newData"
            Parameter { name: "sourceName"; type: "string" }
            Parameter { name: "data"; type: "QVariantMap" }
        }
        Signal {
            name: "sourceAdded"
            Parameter { name: "source"; type: "string" }
        }
        Signal {
            name: "sourceRemoved"
            Parameter { name: "source"; type: "string" }
        }
        Signal {
            name: "sourceConnected"
            Parameter { name: "source"; type: "string" }
        }
        Signal {
            name: "sourceDisconnected"
            Parameter { name: "source"; type: "string" }
        }
        Method {
            name: "dataUpdated"
            Parameter { name: "sourceName"; type: "string" }
            Parameter { name: "data"; type: "Plasma::DataEngine::Data" }
        }
        Method {
            name: "modelChanged"
            Parameter { name: "sourceName"; type: "string" }
            Parameter { name: "model"; type: "QAbstractItemModel"; isPointer: true }
        }
        Method {
            name: "serviceForSource"
            type: "QObject*"
            Parameter { name: "source"; type: "string" }
        }
        Method {
            name: "connectSource"
            Parameter { name: "source"; type: "string" }
        }
        Method {
            name: "disconnectSource"
            Parameter { name: "source"; type: "string" }
        }
    }
    Component {
        name: "Plasma::FrameSvg"
        prototype: "Plasma::Svg"
        exports: ["org.kde.plasma.core/FrameSvg 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "EnabledBorders"
            values: {
                "NoBorder": 0,
                "TopBorder": 1,
                "BottomBorder": 2,
                "LeftBorder": 4,
                "RightBorder": 8,
                "AllBorders": 15
            }
        }
        Property { name: "enabledBorders"; type: "EnabledBorders" }
        Method {
            name: "setImagePath"
            Parameter { name: "path"; type: "string" }
        }
        Method {
            name: "resizeFrame"
            Parameter { name: "size"; type: "QSizeF" }
        }
        Method { name: "frameSize"; type: "QSizeF" }
        Method {
            name: "marginSize"
            type: "double"
            Parameter { name: "edge"; type: "Plasma::Types::MarginEdge" }
        }
        Method {
            name: "getMargins"
            Parameter { name: "left"; type: "qreal&" }
            Parameter { name: "top"; type: "qreal&" }
            Parameter { name: "right"; type: "qreal&" }
            Parameter { name: "bottom"; type: "qreal&" }
        }
        Method {
            name: "fixedMarginSize"
            type: "double"
            Parameter { name: "edge"; type: "Plasma::Types::MarginEdge" }
        }
        Method {
            name: "getFixedMargins"
            Parameter { name: "left"; type: "qreal&" }
            Parameter { name: "top"; type: "qreal&" }
            Parameter { name: "right"; type: "qreal&" }
            Parameter { name: "bottom"; type: "qreal&" }
        }
        Method {
            name: "insetSize"
            type: "double"
            Parameter { name: "edge"; type: "Plasma::Types::MarginEdge" }
        }
        Method {
            name: "getInset"
            Parameter { name: "left"; type: "qreal&" }
            Parameter { name: "top"; type: "qreal&" }
            Parameter { name: "right"; type: "qreal&" }
            Parameter { name: "bottom"; type: "qreal&" }
        }
        Method { name: "contentsRect"; type: "QRectF" }
        Method {
            name: "setElementPrefix"
            Parameter { name: "location"; type: "Plasma::Types::Location" }
        }
        Method {
            name: "setElementPrefix"
            Parameter { name: "prefix"; type: "string" }
        }
        Method {
            name: "hasElementPrefix"
            type: "bool"
            Parameter { name: "prefix"; type: "string" }
        }
        Method {
            name: "hasElementPrefix"
            type: "bool"
            Parameter { name: "location"; type: "Plasma::Types::Location" }
        }
        Method { name: "prefix"; type: "string" }
        Method { name: "mask"; type: "QRegion" }
        Method {
            name: "setCacheAllRenderedFrames"
            Parameter { name: "cache"; type: "bool" }
        }
        Method { name: "cacheAllRenderedFrames"; type: "bool" }
        Method { name: "clearCache" }
        Method { name: "framePixmap"; type: "QPixmap" }
        Method {
            name: "paintFrame"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "target"; type: "QRectF" }
            Parameter { name: "source"; type: "QRectF" }
        }
        Method {
            name: "paintFrame"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "target"; type: "QRectF" }
        }
        Method {
            name: "paintFrame"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "pos"; type: "QPointF" }
        }
        Method {
            name: "paintFrame"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
        }
    }
    Component {
        name: "Plasma::FrameSvgItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["org.kde.plasma.core/FrameSvgItem 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "imagePath"; type: "string" }
        Property { name: "prefix"; type: "QVariant" }
        Property { name: "usedPrefix"; type: "string"; isReadonly: true }
        Property { name: "margins"; type: "QObject"; isReadonly: true; isPointer: true }
        Property { name: "fixedMargins"; type: "QObject"; isReadonly: true; isPointer: true }
        Property { name: "inset"; type: "QObject"; isReadonly: true; isPointer: true }
        Property { name: "enabledBorders"; type: "Plasma::FrameSvg::EnabledBorders" }
        Property { name: "fromCurrentTheme"; type: "bool"; isReadonly: true }
        Property { name: "colorGroup"; type: "Plasma::Theme::ColorGroup" }
        Property { name: "status"; type: "Plasma::Svg::Status" }
        Property { name: "mask"; type: "QRegion"; isReadonly: true }
        Signal { name: "repaintNeeded" }
        Method {
            name: "hasElementPrefix"
            type: "bool"
            Parameter { name: "prefix"; type: "string" }
        }
    }
    Component {
        name: "Plasma::FrameSvgItemMargins"
        prototype: "QObject"
        Property { name: "left"; type: "double"; isReadonly: true }
        Property { name: "top"; type: "double"; isReadonly: true }
        Property { name: "right"; type: "double"; isReadonly: true }
        Property { name: "bottom"; type: "double"; isReadonly: true }
        Property { name: "horizontal"; type: "double"; isReadonly: true }
        Property { name: "vertical"; type: "double"; isReadonly: true }
        Signal { name: "marginsChanged" }
        Method { name: "update" }
    }
    Component {
        name: "Plasma::QuickTheme"
        prototype: "Plasma::Theme"
        exports: ["org.kde.plasma.core/Theme 2.0"]
        isCreatable: false
        isSingleton: true
        exportMetaObjectRevisions: [0]
        Property { name: "textColor"; type: "QColor"; isReadonly: true }
        Property { name: "highlightColor"; type: "QColor"; isReadonly: true }
        Property { name: "highlightedTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "backgroundColor"; type: "QColor"; isReadonly: true }
        Property { name: "linkColor"; type: "QColor"; isReadonly: true }
        Property { name: "visitedLinkColor"; type: "QColor"; isReadonly: true }
        Property { name: "positiveTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "neutralTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "negativeTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "disabledTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonBackgroundColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonHoverColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonFocusColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonHighlightedTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonPositiveTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonNeutralTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "buttonNegativeTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewBackgroundColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewHoverColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewFocusColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewHighlightedTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewPositiveTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewNeutralTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "viewNegativeTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryBackgroundColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryHoverColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryFocusColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryHighlightedTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryPositiveTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryNeutralTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "complementaryNegativeTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "headerTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "headerBackgroundColor"; type: "QColor"; isReadonly: true }
        Property { name: "headerHoverColor"; type: "QColor"; isReadonly: true }
        Property { name: "headerFocusColor"; type: "QColor"; isReadonly: true }
        Property { name: "headerHighlightedTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "headerPositiveTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "headerNeutralTextColor"; type: "QColor"; isReadonly: true }
        Property { name: "headerNegativeTextColor"; type: "QColor"; isReadonly: true }
        Signal { name: "themeChangedProxy" }
    }
    Component {
        name: "Plasma::SortFilterModel"
        prototype: "QSortFilterProxyModel"
        exports: [
            "org.kde.plasma.core/SortFilterModel 2.0",
            "org.kde.plasma.core/SortFilterModel 2.1"
        ]
        exportMetaObjectRevisions: [0, 1]
        Property { name: "sourceModel"; type: "QAbstractItemModel"; isPointer: true }
        Property { name: "filterRegExp"; type: "string" }
        Property { name: "filterString"; revision: 1; type: "string" }
        Property { name: "filterCallback"; revision: 1; type: "QJSValue" }
        Property { name: "filterRole"; type: "string" }
        Property { name: "sortRole"; type: "string" }
        Property { name: "sortOrder"; type: "Qt::SortOrder" }
        Property { name: "sortColumn"; type: "int" }
        Property { name: "count"; type: "int"; isReadonly: true }
        Signal {
            name: "sourceModelChanged"
            Parameter { type: "QObject"; isPointer: true }
        }
        Signal {
            name: "filterRegExpChanged"
            Parameter { type: "string" }
        }
        Signal {
            name: "filterStringChanged"
            revision: 1
            Parameter { type: "string" }
        }
        Signal {
            name: "filterCallbackChanged"
            revision: 1
            Parameter { type: "QJSValue" }
        }
        Method {
            name: "get"
            type: "QVariantMap"
            Parameter { name: "i"; type: "int" }
        }
        Method {
            name: "mapRowToSource"
            type: "int"
            Parameter { name: "i"; type: "int" }
        }
        Method {
            name: "mapRowFromSource"
            type: "int"
            Parameter { name: "i"; type: "int" }
        }
    }
    Component {
        name: "Plasma::Svg"
        prototype: "QObject"
        exports: ["org.kde.plasma.core/Svg 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Status"
            values: {
                "Normal": 0,
                "Selected": 1,
                "Inactive": 2
            }
        }
        Property { name: "size"; type: "QSize" }
        Property { name: "multipleImages"; type: "bool" }
        Property { name: "imagePath"; type: "string" }
        Property { name: "usingRenderingCache"; type: "bool" }
        Property { name: "fromCurrentTheme"; type: "bool"; isReadonly: true }
        Property { name: "colorGroup"; type: "Plasma::Theme::ColorGroup" }
        Property { name: "status"; type: "Plasma::Svg::Status" }
        Signal { name: "repaintNeeded" }
        Signal { name: "colorHintChanged" }
        Signal {
            name: "fromCurrentThemeChanged"
            Parameter { name: "fromCurrentTheme"; type: "bool" }
        }
        Signal {
            name: "statusChanged"
            Parameter { name: "status"; type: "Plasma::Svg::Status" }
        }
        Method {
            name: "pixmap"
            type: "QPixmap"
            Parameter { name: "elementID"; type: "string" }
        }
        Method { name: "pixmap"; type: "QPixmap" }
        Method {
            name: "image"
            type: "QImage"
            Parameter { name: "size"; type: "QSize" }
            Parameter { name: "elementID"; type: "string" }
        }
        Method {
            name: "image"
            type: "QImage"
            Parameter { name: "size"; type: "QSize" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "point"; type: "QPointF" }
            Parameter { name: "elementID"; type: "string" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "x"; type: "int" }
            Parameter { name: "y"; type: "int" }
            Parameter { name: "elementID"; type: "string" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "x"; type: "int" }
            Parameter { name: "y"; type: "int" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "rect"; type: "QRectF" }
            Parameter { name: "elementID"; type: "string" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "rect"; type: "QRectF" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "x"; type: "int" }
            Parameter { name: "y"; type: "int" }
            Parameter { name: "width"; type: "int" }
            Parameter { name: "height"; type: "int" }
            Parameter { name: "elementID"; type: "string" }
        }
        Method {
            name: "paint"
            Parameter { name: "painter"; type: "QPainter"; isPointer: true }
            Parameter { name: "x"; type: "int" }
            Parameter { name: "y"; type: "int" }
            Parameter { name: "width"; type: "int" }
            Parameter { name: "height"; type: "int" }
        }
        Method {
            name: "resize"
            Parameter { name: "width"; type: "double" }
            Parameter { name: "height"; type: "double" }
        }
        Method {
            name: "resize"
            Parameter { name: "size"; type: "QSizeF" }
        }
        Method { name: "resize" }
        Method {
            name: "elementSize"
            type: "QSize"
            Parameter { name: "elementId"; type: "string" }
        }
        Method {
            name: "elementRect"
            type: "QRectF"
            Parameter { name: "elementId"; type: "string" }
        }
        Method {
            name: "hasElement"
            type: "bool"
            Parameter { name: "elementId"; type: "string" }
        }
        Method { name: "isValid"; type: "bool" }
    }
    Component {
        name: "Plasma::SvgItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["org.kde.plasma.core/SvgItem 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "elementId"; type: "string" }
        Property { name: "svg"; type: "Plasma::Svg"; isPointer: true }
        Property { name: "naturalSize"; type: "QSizeF"; isReadonly: true }
    }
    Component {
        name: "Plasma::Theme"
        prototype: "QObject"
        Enum {
            name: "ColorGroup"
            values: {
                "NormalColorGroup": 0,
                "ButtonColorGroup": 1,
                "ViewColorGroup": 2,
                "ComplementaryColorGroup": 3,
                "HeaderColorGroup": 4,
                "ToolTipColorGroup": 5
            }
        }
        Property { name: "themeName"; type: "string"; isReadonly: true }
        Property { name: "useGlobalSettings"; type: "bool"; isReadonly: true }
        Property { name: "wallpaperPath"; type: "string"; isReadonly: true }
        Property { name: "defaultFont"; type: "QFont"; isReadonly: true }
        Property { name: "smallestFont"; type: "QFont"; isReadonly: true }
        Property { name: "styleSheet"; type: "string"; isReadonly: true }
        Property { name: "palette"; type: "QPalette"; isReadonly: true }
        Signal { name: "themeChanged" }
        Method {
            name: "wallpaperPathForSize"
            type: "string"
            Parameter { name: "width"; type: "int" }
            Parameter { name: "height"; type: "int" }
        }
        Method {
            name: "wallpaperPathForSize"
            type: "string"
            Parameter { name: "width"; type: "int" }
        }
        Method { name: "wallpaperPathForSize"; type: "string" }
        Method {
            name: "mSize"
            type: "QSizeF"
            Parameter { name: "font"; type: "QFont" }
        }
        Method { name: "mSize"; type: "QSizeF" }
    }
    Component {
        name: "Plasma::Types"
        prototype: "QObject"
        exports: ["org.kde.plasma.core/Types 2.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Constraint"
            values: {
                "NoConstraint": 0,
                "FormFactorConstraint": 1,
                "LocationConstraint": 2,
                "ScreenConstraint": 4,
                "ImmutableConstraint": 8,
                "StartupCompletedConstraint": 16,
                "ContextConstraint": 32,
                "UiReadyConstraint": 64,
                "AllConstraints": 15
            }
        }
        Enum {
            name: "ConstraintFlags"
            values: {
                "NoHint": 0,
                "CanFillArea": 1,
                "MarginAreasSeparator": 3
            }
        }
        Enum {
            name: "FormFactor"
            values: {
                "Planar": 0,
                "MediaCenter": 1,
                "Horizontal": 2,
                "Vertical": 3,
                "Application": 4
            }
        }
        Enum {
            name: "ContainmentDisplayHint"
            values: {
                "NoContainmentDisplayHint": 0,
                "ContainmentDrawsPlasmoidHeading": 1,
                "ContainmentForcesSquarePlasmoids": 2,
                "DesktopFullyCovered": 4
            }
        }
        Enum {
            name: "ContainmentDisplayHints"
            values: {
                "NoContainmentDisplayHint": 0,
                "ContainmentDrawsPlasmoidHeading": 1,
                "ContainmentForcesSquarePlasmoids": 2,
                "DesktopFullyCovered": 4
            }
        }
        Enum {
            name: "ContainmentType"
            values: {
                "NoContainmentType": -1,
                "DesktopContainment": 0,
                "PanelContainment": 1,
                "CustomContainment": 127,
                "CustomPanelContainment": 128,
                "CustomEmbeddedContainment": 129
            }
        }
        Enum {
            name: "ActionType"
            values: {
                "AddAction": 0,
                "ConfigureAction": 100,
                "ControlAction": 200,
                "MiscAction": 300,
                "DestructiveAction": 400,
                "UserAction": 1400
            }
        }
        Enum {
            name: "Direction"
            values: {
                "Down": 0,
                "Up": 1,
                "Left": 2,
                "Right": 3
            }
        }
        Enum {
            name: "Location"
            values: {
                "Floating": 0,
                "Desktop": 1,
                "FullScreen": 2,
                "TopEdge": 3,
                "BottomEdge": 4,
                "LeftEdge": 5,
                "RightEdge": 6
            }
        }
        Enum {
            name: "Position"
            values: {
                "LeftPositioned": 0,
                "RightPositioned": 1,
                "TopPositioned": 2,
                "BottomPositioned": 3,
                "CenterPositioned": 4
            }
        }
        Enum {
            name: "PopupPlacement"
            values: {
                "FloatingPopup": 0,
                "TopPosedLeftAlignedPopup": 1,
                "TopPosedRightAlignedPopup": 2,
                "LeftPosedTopAlignedPopup": 3,
                "LeftPosedBottomAlignedPopup": 4,
                "BottomPosedLeftAlignedPopup": 5,
                "BottomPosedRightAlignedPopup": 6,
                "RightPosedTopAlignedPopup": 7,
                "RightPosedBottomAlignedPopup": 8
            }
        }
        Enum {
            name: "FlipDirection"
            values: {
                "NoFlip": 0,
                "HorizontalFlip": 1,
                "VerticalFlip": 2
            }
        }
        Enum {
            name: "IntervalAlignment"
            values: {
                "NoAlignment": 0,
                "AlignToMinute": 1,
                "AlignToHour": 2
            }
        }
        Enum {
            name: "ImmutabilityType"
            values: {
                "Mutable": 1,
                "UserImmutable": 2,
                "SystemImmutable": 4
            }
        }
        Enum {
            name: "ComponentType"
            values: {
                "AppletComponent": 1,
                "DataEngineComponent": 2,
                "ContainmentComponent": 4,
                "WallpaperComponent": 8,
                "GenericComponent": 16
            }
        }
        Enum {
            name: "MarginEdge"
            values: {
                "TopMargin": 0,
                "BottomMargin": 1,
                "LeftMargin": 2,
                "RightMargin": 3
            }
        }
        Enum {
            name: "ItemStatus"
            values: {
                "UnknownStatus": 0,
                "PassiveStatus": 1,
                "ActiveStatus": 2,
                "NeedsAttentionStatus": 3,
                "RequiresAttentionStatus": 4,
                "AcceptingInputStatus": 5,
                "HiddenStatus": 6
            }
        }
        Enum {
            name: "TrustLevel"
            values: {
                "UnverifiableTrust": 0,
                "CompletelyUntrusted": 1,
                "UnknownTrusted": 2,
                "UserTrusted": 3,
                "SelfTrusted": 4,
                "FullyTrusted": 5,
                "UltimatelyTrusted": 6
            }
        }
        Enum {
            name: "BackgroundHints"
            values: {
                "NoBackground": 0,
                "StandardBackground": 1,
                "TranslucentBackground": 2,
                "ShadowBackground": 4,
                "ConfigurableBackground": 8,
                "DefaultBackground": 1
            }
        }
    }
    Component {
        name: "Plasma::WindowThumbnail"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["org.kde.plasma.core/WindowThumbnail 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "winId"; type: "uint" }
        Property { name: "paintedWidth"; type: "double"; isReadonly: true }
        Property { name: "paintedHeight"; type: "double"; isReadonly: true }
        Property { name: "thumbnailAvailable"; type: "bool"; isReadonly: true }
        Signal { name: "paintedSizeChanged" }
    }
    Component {
        name: "PlasmaQuick::Dialog"
        defaultProperty: "mainItem"
        prototype: "QQuickWindow"
        exports: ["org.kde.plasma.core/Dialog 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "WindowType"
            values: {
                "Normal": 0,
                "Dock": 2,
                "DialogWindow": 5,
                "PopupMenu": 11,
                "Tooltip": 12,
                "Notification": 13,
                "OnScreenDisplay": 16,
                "CriticalNotification": 17,
                "AppletPopup": 18
            }
        }
        Enum {
            name: "BackgroundHints"
            values: {
                "NoBackground": 0,
                "StandardBackground": 1,
                "SolidBackground": 2
            }
        }
        Property { name: "mainItem"; type: "QQuickItem"; isPointer: true }
        Property { name: "visualParent"; type: "QQuickItem"; isPointer: true }
        Property { name: "margins"; type: "QObject"; isReadonly: true; isPointer: true }
        Property { name: "inset"; type: "QObject"; isReadonly: true; isPointer: true }
        Property { name: "location"; type: "Plasma::Types::Location" }
        Property { name: "type"; type: "WindowType" }
        Property { name: "hideOnWindowDeactivate"; type: "bool" }
        Property { name: "outputOnly"; type: "bool" }
        Property { name: "flags"; type: "Qt::WindowFlags" }
        Property { name: "backgroundHints"; type: "BackgroundHints" }
        Property { name: "visible"; type: "bool" }
        Property { name: "appletInterface"; type: "QQuickItem"; isPointer: true }
        Signal { name: "visibleChangedProxy" }
        Signal { name: "windowDeactivated" }
    }
    Component {
        name: "QAbstractItemModel"
        prototype: "QObject"
        Enum {
            name: "LayoutChangeHint"
            values: {
                "NoLayoutChangeHint": 0,
                "VerticalSortHint": 1,
                "HorizontalSortHint": 2
            }
        }
        Enum {
            name: "CheckIndexOption"
            values: {
                "NoOption": 0,
                "IndexIsValid": 1,
                "DoNotUseParent": 2,
                "ParentIsInvalid": 4
            }
        }
        Signal {
            name: "dataChanged"
            Parameter { name: "topLeft"; type: "QModelIndex" }
            Parameter { name: "bottomRight"; type: "QModelIndex" }
            Parameter { name: "roles"; type: "QVector<int>" }
        }
        Signal {
            name: "dataChanged"
            Parameter { name: "topLeft"; type: "QModelIndex" }
            Parameter { name: "bottomRight"; type: "QModelIndex" }
        }
        Signal {
            name: "headerDataChanged"
            Parameter { name: "orientation"; type: "Qt::Orientation" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "layoutChanged"
            Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
            Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" }
        }
        Signal {
            name: "layoutChanged"
            Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
        }
        Signal { name: "layoutChanged" }
        Signal {
            name: "layoutAboutToBeChanged"
            Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
            Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" }
        }
        Signal {
            name: "layoutAboutToBeChanged"
            Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
        }
        Signal { name: "layoutAboutToBeChanged" }
        Signal {
            name: "rowsAboutToBeInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "rowsInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "rowsAboutToBeRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "rowsRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsAboutToBeInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsAboutToBeRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal { name: "modelAboutToBeReset" }
        Signal { name: "modelReset" }
        Signal {
            name: "rowsAboutToBeMoved"
            Parameter { name: "sourceParent"; type: "QModelIndex" }
            Parameter { name: "sourceStart"; type: "int" }
            Parameter { name: "sourceEnd"; type: "int" }
            Parameter { name: "destinationParent"; type: "QModelIndex" }
            Parameter { name: "destinationRow"; type: "int" }
        }
        Signal {
            name: "rowsMoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
            Parameter { name: "destination"; type: "QModelIndex" }
            Parameter { name: "row"; type: "int" }
        }
        Signal {
            name: "columnsAboutToBeMoved"
            Parameter { name: "sourceParent"; type: "QModelIndex" }
            Parameter { name: "sourceStart"; type: "int" }
            Parameter { name: "sourceEnd"; type: "int" }
            Parameter { name: "destinationParent"; type: "QModelIndex" }
            Parameter { name: "destinationColumn"; type: "int" }
        }
        Signal {
            name: "columnsMoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
            Parameter { name: "destination"; type: "QModelIndex" }
            Parameter { name: "column"; type: "int" }
        }
        Method { name: "submit"; type: "bool" }
        Method { name: "revert" }
        Method {
            name: "hasIndex"
            type: "bool"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "hasIndex"
            type: "bool"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
        }
        Method {
            name: "index"
            type: "QModelIndex"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "index"
            type: "QModelIndex"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
        }
        Method {
            name: "parent"
            type: "QModelIndex"
            Parameter { name: "child"; type: "QModelIndex" }
        }
        Method {
            name: "sibling"
            type: "QModelIndex"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "column"; type: "int" }
            Parameter { name: "idx"; type: "QModelIndex" }
        }
        Method {
            name: "rowCount"
            type: "int"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method { name: "rowCount"; type: "int" }
        Method {
            name: "columnCount"
            type: "int"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method { name: "columnCount"; type: "int" }
        Method {
            name: "hasChildren"
            type: "bool"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method { name: "hasChildren"; type: "bool" }
        Method {
            name: "data"
            type: "QVariant"
            Parameter { name: "index"; type: "QModelIndex" }
            Parameter { name: "role"; type: "int" }
        }
        Method {
            name: "data"
            type: "QVariant"
            Parameter { name: "index"; type: "QModelIndex" }
        }
        Method {
            name: "setData"
            type: "bool"
            Parameter { name: "index"; type: "QModelIndex" }
            Parameter { name: "value"; type: "QVariant" }
            Parameter { name: "role"; type: "int" }
        }
        Method {
            name: "setData"
            type: "bool"
            Parameter { name: "index"; type: "QModelIndex" }
            Parameter { name: "value"; type: "QVariant" }
        }
        Method {
            name: "headerData"
            type: "QVariant"
            Parameter { name: "section"; type: "int" }
            Parameter { name: "orientation"; type: "Qt::Orientation" }
            Parameter { name: "role"; type: "int" }
        }
        Method {
            name: "headerData"
            type: "QVariant"
            Parameter { name: "section"; type: "int" }
            Parameter { name: "orientation"; type: "Qt::Orientation" }
        }
        Method {
            name: "fetchMore"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "canFetchMore"
            type: "bool"
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "flags"
            type: "Qt::ItemFlags"
            Parameter { name: "index"; type: "QModelIndex" }
        }
        Method {
            name: "match"
            type: "QModelIndexList"
            Parameter { name: "start"; type: "QModelIndex" }
            Parameter { name: "role"; type: "int" }
            Parameter { name: "value"; type: "QVariant" }
            Parameter { name: "hits"; type: "int" }
            Parameter { name: "flags"; type: "Qt::MatchFlags" }
        }
        Method {
            name: "match"
            type: "QModelIndexList"
            Parameter { name: "start"; type: "QModelIndex" }
            Parameter { name: "role"; type: "int" }
            Parameter { name: "value"; type: "QVariant" }
            Parameter { name: "hits"; type: "int" }
        }
        Method {
            name: "match"
            type: "QModelIndexList"
            Parameter { name: "start"; type: "QModelIndex" }
            Parameter { name: "role"; type: "int" }
            Parameter { name: "value"; type: "QVariant" }
        }
    }
    Component {
        name: "QAbstractProxyModel"
        prototype: "QAbstractItemModel"
        Property { name: "sourceModel"; type: "QAbstractItemModel"; isPointer: true }
        Method {
            name: "mapToSource"
            type: "QModelIndex"
            Parameter { name: "proxyIndex"; type: "QModelIndex" }
        }
        Method {
            name: "mapFromSource"
            type: "QModelIndex"
            Parameter { name: "sourceIndex"; type: "QModelIndex" }
        }
        Method {
            name: "mapSelectionToSource"
            type: "QItemSelection"
            Parameter { name: "selection"; type: "QItemSelection" }
        }
        Method {
            name: "mapSelectionFromSource"
            type: "QItemSelection"
            Parameter { name: "selection"; type: "QItemSelection" }
        }
    }
    Component {
        name: "QQmlPropertyMap"
        prototype: "QObject"
        Signal {
            name: "valueChanged"
            Parameter { name: "key"; type: "string" }
            Parameter { name: "value"; type: "QVariant" }
        }
        Method { name: "keys"; type: "QStringList" }
    }
    Component {
        name: "QQuickItem"
        defaultProperty: "data"
        prototype: "QObject"
        Enum {
            name: "Flags"
            values: {
                "ItemClipsChildrenToShape": 1,
                "ItemAcceptsInputMethod": 2,
                "ItemIsFocusScope": 4,
                "ItemHasContents": 8,
                "ItemAcceptsDrops": 16
            }
        }
        Enum {
            name: "TransformOrigin"
            values: {
                "TopLeft": 0,
                "Top": 1,
                "TopRight": 2,
                "Left": 3,
                "Center": 4,
                "Right": 5,
                "BottomLeft": 6,
                "Bottom": 7,
                "BottomRight": 8
            }
        }
        Property { name: "parent"; type: "QQuickItem"; isPointer: true }
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "resources"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "children"; type: "QQuickItem"; isList: true; isReadonly: true }
        Property { name: "x"; type: "double" }
        Property { name: "y"; type: "double" }
        Property { name: "z"; type: "double" }
        Property { name: "width"; type: "double" }
        Property { name: "height"; type: "double" }
        Property { name: "opacity"; type: "double" }
        Property { name: "enabled"; type: "bool" }
        Property { name: "visible"; type: "bool" }
        Property { name: "visibleChildren"; type: "QQuickItem"; isList: true; isReadonly: true }
        Property { name: "states"; type: "QQuickState"; isList: true; isReadonly: true }
        Property { name: "transitions"; type: "QQuickTransition"; isList: true; isReadonly: true }
        Property { name: "state"; type: "string" }
        Property { name: "childrenRect"; type: "QRectF"; isReadonly: true }
        Property { name: "anchors"; type: "QQuickAnchors"; isReadonly: true; isPointer: true }
        Property { name: "left"; type: "QQuickAnchorLine"; isReadonly: true }
        Property { name: "right"; type: "QQuickAnchorLine"; isReadonly: true }
        Property { name: "horizontalCenter"; type: "QQuickAnchorLine"; isReadonly: true }
        Property { name: "top"; type: "QQuickAnchorLine"; isReadonly: true }
        Property { name: "bottom"; type: "QQuickAnchorLine"; isReadonly: true }
        Property { name: "verticalCenter"; type: "QQuickAnchorLine"; isReadonly: true }
        Property { name: "baseline"; type: "QQuickAnchorLine"; isReadonly: true }
        Property { name: "baselineOffset"; type: "double" }
        Property { name: "clip"; type: "bool" }
        Property { name: "focus"; type: "bool" }
        Property { name: "activeFocus"; type: "bool"; isReadonly: true }
        Property { name: "activeFocusOnTab"; revision: 1; type: "bool" }
        Property { name: "rotation"; type: "double" }
        Property { name: "scale"; type: "double" }
        Property { name: "transformOrigin"; type: "TransformOrigin" }
        Property { name: "transformOriginPoint"; type: "QPointF"; isReadonly: true }
        Property { name: "transform"; type: "QQuickTransform"; isList: true; isReadonly: true }
        Property { name: "smooth"; type: "bool" }
        Property { name: "antialiasing"; type: "bool" }
        Property { name: "implicitWidth"; type: "double" }
        Property { name: "implicitHeight"; type: "double" }
        Property { name: "containmentMask"; revision: 11; type: "QObject"; isPointer: true }
        Property { name: "layer"; type: "QQuickItemLayer"; isReadonly: true; isPointer: true }
        Signal {
            name: "childrenRectChanged"
            Parameter { type: "QRectF" }
        }
        Signal {
            name: "baselineOffsetChanged"
            Parameter { type: "double" }
        }
        Signal {
            name: "stateChanged"
            Parameter { type: "string" }
        }
        Signal {
            name: "focusChanged"
            Parameter { type: "bool" }
        }
        Signal {
            name: "activeFocusChanged"
            Parameter { type: "bool" }
        }
        Signal {
            name: "activeFocusOnTabChanged"
            revision: 1
            Parameter { type: "bool" }
        }
        Signal {
            name: "parentChanged"
            Parameter { type: "QQuickItem"; isPointer: true }
        }
        Signal {
            name: "transformOriginChanged"
            Parameter { type: "TransformOrigin" }
        }
        Signal {
            name: "smoothChanged"
            Parameter { type: "bool" }
        }
        Signal {
            name: "antialiasingChanged"
            Parameter { type: "bool" }
        }
        Signal {
            name: "clipChanged"
            Parameter { type: "bool" }
        }
        Signal {
            name: "windowChanged"
            revision: 1
            Parameter { name: "window"; type: "QQuickWindow"; isPointer: true }
        }
        Signal { name: "containmentMaskChanged"; revision: 11 }
        Method { name: "update" }
        Method {
            name: "grabToImage"
            revision: 4
            type: "bool"
            Parameter { name: "callback"; type: "QJSValue" }
            Parameter { name: "targetSize"; type: "QSize" }
        }
        Method {
            name: "grabToImage"
            revision: 4
            type: "bool"
            Parameter { name: "callback"; type: "QJSValue" }
        }
        Method {
            name: "contains"
            type: "bool"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "mapFromItem"
            Parameter { type: "QQmlV4Function"; isPointer: true }
        }
        Method {
            name: "mapToItem"
            Parameter { type: "QQmlV4Function"; isPointer: true }
        }
        Method {
            name: "mapFromGlobal"
            revision: 7
            Parameter { type: "QQmlV4Function"; isPointer: true }
        }
        Method {
            name: "mapToGlobal"
            revision: 7
            Parameter { type: "QQmlV4Function"; isPointer: true }
        }
        Method { name: "forceActiveFocus" }
        Method {
            name: "forceActiveFocus"
            Parameter { name: "reason"; type: "Qt::FocusReason" }
        }
        Method {
            name: "nextItemInFocusChain"
            revision: 1
            type: "QQuickItem*"
            Parameter { name: "forward"; type: "bool" }
        }
        Method { name: "nextItemInFocusChain"; revision: 1; type: "QQuickItem*" }
        Method {
            name: "childAt"
            type: "QQuickItem*"
            Parameter { name: "x"; type: "double" }
            Parameter { name: "y"; type: "double" }
        }
    }
    Component {
        name: "QSortFilterProxyModel"
        prototype: "QAbstractProxyModel"
        Property { name: "filterRegExp"; type: "QRegExp" }
        Property { name: "filterRegularExpression"; type: "QRegularExpression" }
        Property { name: "filterKeyColumn"; type: "int" }
        Property { name: "dynamicSortFilter"; type: "bool" }
        Property { name: "filterCaseSensitivity"; type: "Qt::CaseSensitivity" }
        Property { name: "sortCaseSensitivity"; type: "Qt::CaseSensitivity" }
        Property { name: "isSortLocaleAware"; type: "bool" }
        Property { name: "sortRole"; type: "int" }
        Property { name: "filterRole"; type: "int" }
        Property { name: "recursiveFilteringEnabled"; type: "bool" }
        Signal {
            name: "dynamicSortFilterChanged"
            Parameter { name: "dynamicSortFilter"; type: "bool" }
        }
        Signal {
            name: "filterCaseSensitivityChanged"
            Parameter { name: "filterCaseSensitivity"; type: "Qt::CaseSensitivity" }
        }
        Signal {
            name: "sortCaseSensitivityChanged"
            Parameter { name: "sortCaseSensitivity"; type: "Qt::CaseSensitivity" }
        }
        Signal {
            name: "sortLocaleAwareChanged"
            Parameter { name: "sortLocaleAware"; type: "bool" }
        }
        Signal {
            name: "sortRoleChanged"
            Parameter { name: "sortRole"; type: "int" }
        }
        Signal {
            name: "filterRoleChanged"
            Parameter { name: "filterRole"; type: "int" }
        }
        Signal {
            name: "recursiveFilteringEnabledChanged"
            Parameter { name: "recursiveFilteringEnabled"; type: "bool" }
        }
        Method {
            name: "setFilterRegExp"
            Parameter { name: "pattern"; type: "string" }
        }
        Method {
            name: "setFilterRegExp"
            Parameter { name: "regExp"; type: "QRegExp" }
        }
        Method {
            name: "setFilterRegularExpression"
            Parameter { name: "pattern"; type: "string" }
        }
        Method {
            name: "setFilterRegularExpression"
            Parameter { name: "regularExpression"; type: "QRegularExpression" }
        }
        Method {
            name: "setFilterWildcard"
            Parameter { name: "pattern"; type: "string" }
        }
        Method {
            name: "setFilterFixedString"
            Parameter { name: "pattern"; type: "string" }
        }
        Method { name: "clear" }
        Method { name: "invalidate" }
    }
    Component {
        name: "QWindow"
        prototype: "QObject"
        Enum {
            name: "Visibility"
            values: {
                "Hidden": 0,
                "AutomaticVisibility": 1,
                "Windowed": 2,
                "Minimized": 3,
                "Maximized": 4,
                "FullScreen": 5
            }
        }
        Enum {
            name: "AncestorMode"
            values: {
                "ExcludeTransients": 0,
                "IncludeTransients": 1
            }
        }
        Property { name: "title"; type: "string" }
        Property { name: "modality"; type: "Qt::WindowModality" }
        Property { name: "flags"; type: "Qt::WindowFlags" }
        Property { name: "x"; type: "int" }
        Property { name: "y"; type: "int" }
        Property { name: "width"; type: "int" }
        Property { name: "height"; type: "int" }
        Property { name: "minimumWidth"; type: "int" }
        Property { name: "minimumHeight"; type: "int" }
        Property { name: "maximumWidth"; type: "int" }
        Property { name: "maximumHeight"; type: "int" }
        Property { name: "visible"; type: "bool" }
        Property { name: "active"; revision: 1; type: "bool"; isReadonly: true }
        Property { name: "visibility"; revision: 1; type: "Visibility" }
        Property { name: "contentOrientation"; type: "Qt::ScreenOrientation" }
        Property { name: "opacity"; revision: 1; type: "double" }
        Property { name: "transientParent"; revision: 13; type: "QWindow"; isPointer: true }
        Signal {
            name: "screenChanged"
            Parameter { name: "screen"; type: "QScreen"; isPointer: true }
        }
        Signal {
            name: "modalityChanged"
            Parameter { name: "modality"; type: "Qt::WindowModality" }
        }
        Signal {
            name: "windowStateChanged"
            Parameter { name: "windowState"; type: "Qt::WindowState" }
        }
        Signal {
            name: "windowTitleChanged"
            revision: 2
            Parameter { name: "title"; type: "string" }
        }
        Signal {
            name: "xChanged"
            Parameter { name: "arg"; type: "int" }
        }
        Signal {
            name: "yChanged"
            Parameter { name: "arg"; type: "int" }
        }
        Signal {
            name: "widthChanged"
            Parameter { name: "arg"; type: "int" }
        }
        Signal {
            name: "heightChanged"
            Parameter { name: "arg"; type: "int" }
        }
        Signal {
            name: "minimumWidthChanged"
            Parameter { name: "arg"; type: "int" }
        }
        Signal {
            name: "minimumHeightChanged"
            Parameter { name: "arg"; type: "int" }
        }
        Signal {
            name: "maximumWidthChanged"
            Parameter { name: "arg"; type: "int" }
        }
        Signal {
            name: "maximumHeightChanged"
            Parameter { name: "arg"; type: "int" }
        }
        Signal {
            name: "visibleChanged"
            Parameter { name: "arg"; type: "bool" }
        }
        Signal {
            name: "visibilityChanged"
            revision: 1
            Parameter { name: "visibility"; type: "QWindow::Visibility" }
        }
        Signal { name: "activeChanged"; revision: 1 }
        Signal {
            name: "contentOrientationChanged"
            Parameter { name: "orientation"; type: "Qt::ScreenOrientation" }
        }
        Signal {
            name: "focusObjectChanged"
            Parameter { name: "object"; type: "QObject"; isPointer: true }
        }
        Signal {
            name: "opacityChanged"
            revision: 1
            Parameter { name: "opacity"; type: "double" }
        }
        Signal {
            name: "transientParentChanged"
            revision: 13
            Parameter { name: "transientParent"; type: "QWindow"; isPointer: true }
        }
        Method { name: "requestActivate"; revision: 1 }
        Method {
            name: "setVisible"
            Parameter { name: "visible"; type: "bool" }
        }
        Method { name: "show" }
        Method { name: "hide" }
        Method { name: "showMinimized" }
        Method { name: "showMaximized" }
        Method { name: "showFullScreen" }
        Method { name: "showNormal" }
        Method { name: "close"; type: "bool" }
        Method { name: "raise" }
        Method { name: "lower" }
        Method {
            name: "startSystemResize"
            type: "bool"
            Parameter { name: "edges"; type: "Qt::Edges" }
        }
        Method { name: "startSystemMove"; type: "bool" }
        Method {
            name: "setTitle"
            Parameter { type: "string" }
        }
        Method {
            name: "setX"
            Parameter { name: "arg"; type: "int" }
        }
        Method {
            name: "setY"
            Parameter { name: "arg"; type: "int" }
        }
        Method {
            name: "setWidth"
            Parameter { name: "arg"; type: "int" }
        }
        Method {
            name: "setHeight"
            Parameter { name: "arg"; type: "int" }
        }
        Method {
            name: "setGeometry"
            Parameter { name: "posx"; type: "int" }
            Parameter { name: "posy"; type: "int" }
            Parameter { name: "w"; type: "int" }
            Parameter { name: "h"; type: "int" }
        }
        Method {
            name: "setGeometry"
            Parameter { name: "rect"; type: "QRect" }
        }
        Method {
            name: "setMinimumWidth"
            Parameter { name: "w"; type: "int" }
        }
        Method {
            name: "setMinimumHeight"
            Parameter { name: "h"; type: "int" }
        }
        Method {
            name: "setMaximumWidth"
            Parameter { name: "w"; type: "int" }
        }
        Method {
            name: "setMaximumHeight"
            Parameter { name: "h"; type: "int" }
        }
        Method {
            name: "alert"
            revision: 1
            Parameter { name: "msec"; type: "int" }
        }
        Method { name: "requestUpdate"; revision: 3 }
    }
    Component {
        name: "ServiceOperationStatus"
        prototype: "QObject"
        exports: ["org.kde.plasma.core/ServiceOperationStatus 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "service"; type: "Plasma::Service"; isPointer: true }
        Property { name: "operation"; type: "string" }
        Property { name: "enabled"; type: "bool" }
    }
    Component {
        name: "ToolTip"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["org.kde.plasma.core/ToolTipArea 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "mainItem"; type: "QQuickItem"; isPointer: true }
        Property { name: "mainText"; type: "string" }
        Property { name: "subText"; type: "string" }
        Property { name: "textFormat"; type: "int" }
        Property { name: "icon"; type: "QVariant" }
        Property { name: "containsMouse"; type: "bool"; isReadonly: true }
        Property { name: "location"; type: "Plasma::Types::Location" }
        Property { name: "image"; type: "QVariant" }
        Property { name: "active"; type: "bool" }
        Property { name: "interactive"; type: "bool" }
        Property { name: "timeout"; type: "int" }
        Signal { name: "aboutToShow" }
        Signal {
            name: "toolTipVisibleChanged"
            Parameter { name: "toolTipVisible"; type: "bool" }
        }
        Method { name: "showToolTip" }
        Method { name: "hideToolTip" }
        Method { name: "hideImmediately" }
    }
    Component {
        name: "Units"
        prototype: "QObject"
        exports: ["org.kde.plasma.core/Units 2.0"]
        isCreatable: false
        isSingleton: true
        exportMetaObjectRevisions: [0]
        Property { name: "gridUnit"; type: "int"; isReadonly: true }
        Property { name: "iconSizes"; type: "QQmlPropertyMap"; isReadonly: true; isPointer: true }
        Property { name: "iconSizeHints"; type: "QQmlPropertyMap"; isReadonly: true; isPointer: true }
        Property { name: "smallSpacing"; type: "int"; isReadonly: true }
        Property { name: "mediumSpacing"; type: "int"; isReadonly: true }
        Property { name: "largeSpacing"; type: "int"; isReadonly: true }
        Property { name: "devicePixelRatio"; type: "double"; isReadonly: true }
        Property { name: "longDuration"; type: "int"; isReadonly: true }
        Property { name: "shortDuration"; type: "int"; isReadonly: true }
        Property { name: "veryShortDuration"; type: "int"; isReadonly: true }
        Property { name: "veryLongDuration"; type: "int"; isReadonly: true }
        Property { name: "humanMoment"; type: "int"; isReadonly: true }
        Signal { name: "spacingChanged" }
        Signal { name: "durationChanged" }
        Method {
            name: "roundToIconSize"
            type: "int"
            Parameter { name: "size"; type: "int" }
        }
    }
    Component {
        prototype: "SizeGroup"
        name: "org.kde.plasma.core/AppHeaderSizeGroup 2.2"
        exports: ["org.kde.plasma.core/AppHeaderSizeGroup 2.2"]
        exportMetaObjectRevisions: [2]
        isComposite: true
        isCreatable: false
        isSingleton: true
    }
}
