Prettify the Accounts KCM and expand KAccounts integration library

Authored by leinir on Mar 11 2020, 9:59 AM.

Description

Prettify the Accounts KCM and expand KAccounts integration library

Summary:
This patch represents an effort which aims to expand, beautify, and clean the
KAccounts integration code and visuals. This builds on the existing work, by adding
new models and new job classes to the library, and exposing them through
the QML module, which is used in the KCM as seen in the screenshots below.

New functionality in the library:

AccountsModel

  • A model listing what accounts are currently created on a user's system

ServicesModel

  • A model listing what services (if any) are available in an account

ProvidersModel

  • A model listing what providers are available for new accounts

ChangeAccountDisplayNameJob

  • A job which allows changing the user visible name of an account

RemoveAccountJob

  • A job which removes an account (and all its credentials)

The QML module has been modified to both include the old names of older jobs,
as well as the new, more descriptive names.

As for the KCM, please see the screenshots in the differential revision below
for what features have been added and modified (the above code all supports
the functionality in the KCM)

Committed with history on request

Differential Revision: https://phabricator.kde.org/D27681

Merged Changes

This commit merges a very large number of changes. Only the first 50 are shown.
CommitAuthorDetailsCommitted
2e7257d3a89bleinir
Merge branch 'master' into prettify-kaccounts-kcm 
Mar 10 2020
fe60be8247e3D27681leinir
Prettify the prettified account details page a touch, for more pretty 
Mar 10 2020
44167cfbfa74D27681leinir
Fix include 
Mar 9 2020
0c767469e6ceD27681leinir
Remove some unneeded qualifications 
Mar 9 2020
ba9033de3530D27681leinir
Equalise the import statement versions and style 
Mar 9 2020
8df441b63a4aD27681leinir
Refactor Accounts list and details pages to use the new dialogues 
Mar 9 2020
2e2ab11ebe25D27681leinir
Add RenameAccountDialog component to complement the Removal one 
Mar 9 2020
dd54adc0abc0D27681leinir
Add RemoveAccountDialog component 
Mar 9 2020
15478b415838D27681leinir
Fix the account removal job (it removed the account but never finished) 
Mar 9 2020
fb1a1424ee5aD27681leinir
Don't allow setting the account display name to what it is currently 
Mar 6 2020
53c1b4a9197fD27681leinir
Remove an unneeded item 
Mar 6 2020
9880cbdabd50D27681leinir
Just use a label (no card) on the account details page as well 
Mar 5 2020
33ace548b682D27681leinir
Just use enabled: false and don't have active components in the label 
Mar 5 2020
b9f934f83365D27681leinir
Adjust the look of the "no accounts" view, and fix a minor text mistake 
Mar 4 2020
4fc39d2c6eafD27681leinir
Set buttons to nothing special (as it's instant-apply-esque) 
Mar 4 2020
926ff52c604dD27681leinir
Document the ProvidersModel role names 
Mar 3 2020
29d31b7d9248D27681leinir
Document the roles in AccountsModel 
Mar 3 2020
30a4eb114ff9D27681leinir
More documentaiton for the services model 
Mar 3 2020
6ef1eb53eb2fD27681leinir
A touch of documentation for the jobs 
Mar 3 2020
04478c7d273dD27681leinir
Add the KCM to readme.md as well 
Mar 3 2020
e8e7d6e98b78D27681leinir
Add a base documentation file (for more helpful api doc generation) 
Mar 3 2020
6f215a098712D27681leinir
Clean up the plugin code (just for ease of reading and whatnot) 
Mar 3 2020
fed0cb2b12f6D27681leinir
Make the services list prettier 
Mar 3 2020
4516bc847adfD27681leinir
Allow renaming of an account by display name on the Account Details page 
Mar 3 2020
cd711440c46fD27681leinir
Naming cleanup, part two 
Mar 3 2020
d058ea0cbd8fD27681leinir
A touch of naming cleanup 
Mar 3 2020
6d880a95c393D27681leinir
Update ServiceModel account data when displayname is changed 
Mar 3 2020
c6830c7c5f47D27681leinir
Expose the account displayname change job to qml 
Mar 3 2020
c5f709a41737D27681leinir
Add job to change the account displayname 
Mar 3 2020
509c80d3590bD27681leinir
Unneeded include 
Mar 3 2020
2fe086801515D27681leinir
Rename the AvailableServices page to AccountDetails 
Mar 3 2020
988158c6261fD27681leinir
Adjust the look of the new account page 
Mar 2 2020
a3a16ab4ec29D27681leinir
Adjust naming of multiple accounts role to be more expected 
Mar 2 2020
e495fdb89322D27681leinir
Add a model displaying information about providers 
Mar 2 2020
76656a26cc1eD27681leinir
Fix a bit of whitespace/naming 
Mar 2 2020
b0dbcc86afb0D27681leinir
Add a bit of documentation (and remove an unneeded include) 
Feb 28 2020
f78555831c32D27681leinir
Lamdafy some data signal handling, for less publics and easier code 
Feb 28 2020
6501d337341eD27681leinir
Merge branch 'master' into prettify-kaccounts-kcm 
Feb 28 2020
1d82b30b65e4D27681leinir
A bit of work on the Account config page 
Feb 28 2020
1199fb8927ccD27681leinir
Make the "no accounts yet" indicator more pleasant and functional 
Feb 28 2020
f3ab5eeef01cD27681leinir
Avoid some asserts on potentially iffy data 
Feb 28 2020
5df94eccab0aD27681leinir
[WIP] Prettify the Accounts KCM and expand KAccounts integration library 
Feb 26 2020
ca3d8cd7ef8bD27681leinir
Expand the services page (should probably be AccountDetails now...) 
Feb 26 2020
01f573f27d5dD27681leinir
Switch to using our jobs and models in Accounts (and prettify) 
Feb 26 2020
06da5cb9784fD27681leinir
Add self to kcm authors list 
Feb 26 2020
671b69475c05D27681leinir
Expose the jobs and models to qml, and simplify plugin to only exposing 
Feb 26 2020
11c397c97aa9D27681leinir
Add i18n and jobs to the kaccounts library 
Feb 26 2020
8ffb9be596f8D27681leinir
Fix uipluginsmanager compilation 
Feb 26 2020
8ae8745df2acD27681leinir
Add a model for exposing the services for a single account 
Feb 26 2020
6b0b4f7004ddD27681leinir
Add a model to expose the list of accounts 
Feb 26 2020