AccountServiceModel QML Type

A model of the user's Online Accounts More...

Import Statement: import SSO.OnlineAccounts 0.1

Properties

Methods

Detailed Description

The AccountServiceModel is a model representing the user's Online Accounts services. Please note that an Online Account can offer several different services (chat, e-mail, micro-blogging, etc.); these are the items represented by this model, and not the user accounts as a whole. Since most applications are interested on a small subset of the user's accounts, AccountServiceModel offers some filtering functionalities: it is possible to restrict it to only one account provider, to a specific service type (for instance, an e-mail application will probably be interested in only those accounts which offer an e-mail service), or to a specific service (e.g., picasa; this is often equivalent to filtering by provider and by service-type, because it's rare for a provider to offer two different services of the same type). By default, only enabled accounts are returned. Use the includeDisabled property to list also disabled accounts; keep in mind, though, that an application should never use an account which has been disabled by the user.

The model defines the following roles:

Examples of use:

1. Model of all enabled microblogging accounts:

Item {
    AccountServiceModel {
        id: accounts
        serviceType: "microblogging"
    }

    ListView {
        model: accounts
        delegate: Text { text: model.displayName + " by " + model.providerName }
    }
}

2. List all Facebook account services:

Item {
    AccountServiceModel {
        id: accounts
        provider: "facebook"
        includeDisabled: true
    }

    ListView {
        model: accounts
        delegate: Text { text: model.serviceName + " on " + model.displayName }
    }
}

3. List all Flickr accounts enabled for uploading:

Item {
    AccountServiceModel {
        id: accounts
        service: "flickr-sharing"
    }

    ListView {
        model: accounts
        delegate: Rectangle {
            id: rect

            Text { text: rect.model.displayName }

            AccountService {
                id: accountService
                objectHandle: rect.model.accountServiceHandle

                onAuthenticated: { console.log("Access token is " + reply.AccessToken) }
                onAuthenticationError: { console.log("Authentication failed, code " + error.code) }
            }

            MouseArea {
                anchors.fill: parent
                onClicked: accountService.authenticate()
            }
        }
    }
}

4. List all the online accounts, without their services:

Item {
    AccountServiceModel {
        id: accounts
        service: "global"
    }

    ListView {
        model: accounts
        delegate: Rectangle {
            id: rect

            Text { text: account.displayName }

            Account {
                id: account
                objectHandle: rect.model.accountHandle
            }
        }
    }
}

Property Documentation

account : Account

If set, the model will list only those accounts services available in the given account.


accountId : quint32

If set, the model will list only those accounts services available in the given account.


applicationId : string

If set, the model will only show those account services which are relevant for the given applicationId. This means that an account service will only be shown if it can be used by the application, as described in the application's manifest file.


includeDisabled : bool

If true, even disabled account services will be listed. Note that an application should never use a disabled account.

By default, this property is false.


provider : string

If set, the model will list only those accounts services provided by this provider.


service : string

If set, the model will list only those accounts services for this specific service.


serviceType : string

If set, the model will list only those accounts services supporting this service type. Each provider-specific service is an instance of a generic service type (such as "e-mail", "IM", etc.) which identifies the main functionality provided by the service.


Method Documentation

variant get(int row, string roleName)

Returns the data at row for the role roleName.