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 -v -noinstantiate -notrelocatable Liri.Launcher 1.0'

Module {
    dependencies: ["QtQuick 2.8"]
    Component {
        name: "Application"
        prototype: "QObject"
        exports: ["Liri.Launcher/Application 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "State"
            values: {
                "NotRunning": 0,
                "Starting": 1,
                "Running": 2,
                "Suspended": 3,
                "Stopped": 4
            }
        }
        Property { name: "appId"; type: "string"; isReadonly: true }
        Property { name: "desktopFile"; type: "DesktopFile"; isReadonly: true; isPointer: true }
        Property { name: "valid"; type: "bool"; isReadonly: true }
        Property { name: "name"; type: "string"; isReadonly: true }
        Property { name: "genericName"; type: "string"; isReadonly: true }
        Property { name: "comment"; type: "string"; isReadonly: true }
        Property { name: "iconName"; type: "string"; isReadonly: true }
        Property { name: "categories"; type: "QStringList"; isReadonly: true }
        Property { name: "state"; type: "State"; isReadonly: true }
        Property { name: "running"; type: "bool"; isReadonly: true }
        Property { name: "starting"; type: "bool"; isReadonly: true }
        Property { name: "active"; type: "bool"; isReadonly: true }
        Property { name: "pinned"; type: "bool" }
        Property { name: "count"; type: "int"; isReadonly: true }
        Property { name: "progress"; type: "int"; isReadonly: true }
        Property { name: "actions"; type: "DesktopFileAction"; isList: true; isReadonly: true }
        Signal { name: "launched" }
        Signal { name: "dataChanged" }
        Method {
            name: "setPinned"
            Parameter { name: "pinned"; type: "bool" }
        }
        Method {
            name: "launch"
            type: "bool"
            Parameter { name: "urls"; type: "QStringList" }
        }
        Method { name: "quit"; type: "bool" }
        Method { name: "launch"; type: "bool" }
    }
    Component {
        name: "ApplicationManager"
        prototype: "QAbstractListModel"
        exports: ["Liri.Launcher/ApplicationManager 1.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Roles"
            values: {
                "AppIdRole": 257,
                "ApplicationRole": 258,
                "DesktopFileRole": 259,
                "NameRole": 260,
                "GenericNameRole": 261,
                "CommentRole": 262,
                "IconNameRole": 263,
                "CategoriesRole": 264,
                "FilterInfoRole": 265,
                "PinnedRole": 266,
                "PinnedIndexRole": 267,
                "RunningRole": 268,
                "StartingRole": 269,
                "ActiveRole": 270,
                "HasWindowsRole": 271,
                "HasCountRole": 272,
                "CountRole": 273,
                "HasProgressRole": 274,
                "ProgressRole": 275,
                "ActionsRole": 276
            }
        }
        Signal { name: "refreshed" }
        Signal {
            name: "applicationAdded"
            Parameter { name: "app"; type: "Application"; isPointer: true }
        }
        Signal {
            name: "applicationRemoved"
            Parameter { name: "app"; type: "Application"; isPointer: true }
        }
        Signal {
            name: "applicationPinned"
            Parameter { name: "app"; type: "Application"; isPointer: true }
        }
        Signal {
            name: "applicationUnpinned"
            Parameter { name: "app"; type: "Application"; isPointer: true }
        }
        Signal {
            name: "applicationLaunched"
            Parameter { name: "app"; type: "Application"; isPointer: true }
        }
        Method {
            name: "launch"
            Parameter { name: "appId"; type: "string" }
        }
        Method {
            name: "quit"
            Parameter { name: "appId"; type: "string" }
        }
        Method {
            name: "registerShellSurface"
            Parameter { name: "shellSurface"; type: "QObject"; isPointer: true }
        }
        Method {
            name: "unregisterShellSurface"
            Parameter { name: "shellSurface"; type: "QObject"; isPointer: true }
        }
        Method {
            name: "focusShellSurface"
            Parameter { name: "shellSurface"; type: "QObject"; isPointer: true }
        }
        Method {
            name: "canonicalizeAppId"
            type: "string"
            Parameter { name: "appId"; type: "string" }
        }
        Method {
            name: "get"
            type: "Application*"
            Parameter { name: "index"; type: "int" }
        }
        Method {
            name: "getIconName"
            type: "string"
            Parameter { name: "appId"; type: "string" }
        }
        Method {
            name: "indexFromAppId"
            type: "int"
            Parameter { name: "appId"; type: "string" }
        }
    }
    Component {
        name: "CategoriesModel"
        prototype: "QAbstractListModel"
        exports: ["Liri.Launcher/CategoriesModel 1.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Roles"
            values: {
                "NameRole": 257,
                "CommentRole": 258,
                "IconNameRole": 259,
                "CategoryRole": 260
            }
        }
        Property { name: "includeAllCategory"; type: "bool" }
        Signal { name: "refreshing" }
    }
    Component {
        name: "FrequentAppsModel"
        prototype: "QSortFilterProxyModel"
        exports: ["Liri.Launcher/FrequentAppsModel 1.0"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "LauncherModel"
        prototype: "QSortFilterProxyModel"
        exports: ["Liri.Launcher/LauncherModel 1.0"]
        exportMetaObjectRevisions: [0]
        Method {
            name: "get"
            type: "Application*"
            Parameter { name: "row"; type: "int" }
        }
        Method {
            name: "indexFromAppId"
            type: "int"
            Parameter { name: "appId"; type: "string" }
        }
    }
    Component {
        name: "Liri::DesktopFileAction"
        prototype: "QObject"
        exports: ["Liri.Launcher/DesktopFileAction 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "name"; type: "string"; isReadonly: true }
        Property { name: "iconName"; type: "string"; isReadonly: true }
        Property { name: "command"; type: "string"; isReadonly: true }
    }
    Component {
        name: "PageModel"
        prototype: "QSortFilterProxyModel"
        exports: ["Liri.Launcher/PageModel 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "startIndex"; type: "int" }
        Property { name: "limitCount"; type: "int" }
        Method {
            name: "setStartIndex"
            Parameter { name: "startIndex"; type: "int" }
        }
        Method {
            name: "setLimitCount"
            Parameter { name: "limitCount"; type: "int" }
        }
    }
    Component {
        name: "ProcessRunner"
        prototype: "QObject"
        exports: ["Liri.Launcher/ProcessRunner 1.0"]
        exportMetaObjectRevisions: [0]
        Method {
            name: "launchApplication"
            type: "bool"
            Parameter { name: "name"; type: "string" }
        }
        Method {
            name: "launchCommand"
            type: "bool"
            Parameter { name: "command"; type: "string" }
        }
    }
    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: "QSortFilterProxyModel"
        prototype: "QAbstractProxyModel"
        Property { name: "filterRegExp"; type: "QRegExp" }
        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" }
        Method {
            name: "setFilterRegExp"
            Parameter { name: "pattern"; type: "string" }
        }
        Method {
            name: "setFilterWildcard"
            Parameter { name: "pattern"; type: "string" }
        }
        Method {
            name: "setFilterFixedString"
            Parameter { name: "pattern"; type: "string" }
        }
        Method { name: "clear" }
        Method { name: "invalidate" }
    }
}
