Review Request: Make the accounts kcm use profiles instead of protocols

David Edmundson kde at davidedmundson.co.uk
Fri Jan 14 22:19:51 CET 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/100389/#review888
-----------------------------------------------------------


All the changes to the profile selection widget and use of the profilemanager look great. Except for a few minor review comments, mostly about how Tp-Qt4 works.

Your changes to the plugin interface I'm less convinced by.
1) I think we've mixed up "profile" and "serviceName" here.

2) The interfaces changes weren't what I was expecting:
I was imagining, 

    virtual AbstractAccountUi* accountUi(const QString &connectionManager, const QString &protocol); in AbstractAccountUiPlugin changing to have a third parameter called serviceName.

This then returns a different AbstractAccountUi per service which can be different classes. 
If a plugin wants to use the same AbstractAccountUi for all services and just make minor tweaks, this can be done at a plugin level. 
 The GabbleAccountUi class can take an extra parameter (serviceName), without the superclass changing.

This means we don't have to update /all/ the plugins with a parameter that they don't use.
Especially as I think gabble is going to be the only one with multiple services.




src/KCMTelepathyAccounts/abstract-account-parameters-widget.h
<http://git.reviewboard.kde.org/r/100389/#comment718>

    It's not really a profile you're passing, 
    a profile is a set of:
     connectionManager, protocol and serviceName. I would say this is a serviceName.
    
    Unfortunately that's quite a big change...



src/KCMTelepathyAccounts/abstract-account-parameters-widget.cpp
<http://git.reviewboard.kde.org/r/100389/#comment729>

    whilst I agree we should have a debug line here, it's not really a warning. 
    
    Having 'missing' parameters is sort of expected if a user is using an older version of the connection manager than the newest connection manager we support. It's not really a problem because we handle it.



src/KCMTelepathyAccounts/account-edit-widget.cpp
<http://git.reviewboard.kde.org/r/100389/#comment730>

    you don't need .data() here.



src/add-account-assistant.cpp
<http://git.reviewboard.kde.org/r/100389/#comment731>

    don't do this. We have nice APIs so that we don't have to write dbus paths ourselves.
    
    account->setSericeName();
    account->setEnabled



src/edit-account-dialog.cpp
<http://git.reviewboard.kde.org/r/100389/#comment721>

    don't write ".data()->"
    
    AccountPtr has overloaded the "->" operator, so you only need to
    
    d->item->account()->profile();


- David


On Jan. 14, 2011, 7:59 p.m., Thomas Richard wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/100389/
> -----------------------------------------------------------
> 
> (Updated Jan. 14, 2011, 7:59 p.m.)
> 
> 
> Review request for Telepathy.
> 
> 
> Summary
> -------
> 
> This change makes the accounts kcm use profiles. In the near future, distros should start shipping profiles. 
> 
> This will make it possible to show 'Google talk' and 'Facebook chat' in the new accounts dialog instead of 'Jabber/XMPP/Google Talk'. 
> It also allows to do small modifications in the plugins, depending on the selected profile. 
> It can provide different default parameters for different profiles.
> Last but not least, the icons used can (or must) be specified in the profile.
> 
> 
> Diffs
> -----
> 
>   src/KCMTelepathyAccounts/CMakeLists.txt 1e3a282f64bc66a18765a0499492296c222e94dd 
>   src/KCMTelepathyAccounts/abstract-account-parameters-widget.h 6071de379f1733b4428f4f3363a664993a3e0e15 
>   src/KCMTelepathyAccounts/abstract-account-parameters-widget.cpp fb29cc3fc95c3543bd2dda66d474a7ebba19c94a 
>   src/KCMTelepathyAccounts/abstract-account-ui.h a86ce6945150b5c72683ec31ca953b0128c0d3c5 
>   src/KCMTelepathyAccounts/abstract-account-ui.cpp 500452b7dc85535483f8eecce0b99eed5c582132 
>   src/KCMTelepathyAccounts/account-edit-widget.h 95e29238ffd83530a6005c290c1e3e8ed00d87c0 
>   src/KCMTelepathyAccounts/account-edit-widget.cpp 224dab9e40c282b20db69287f8c59a4c04b84d07 
>   src/KCMTelepathyAccounts/connection-manager-item.h aa3480eeecff4be8433d5a11236c40f1ffbbbe16 
>   src/KCMTelepathyAccounts/connection-manager-item.cpp 91eea62bd4e0fbf2a746424d99a025ef4d4261d3 
>   src/KCMTelepathyAccounts/dictionary.cpp 2eeff58ee489fe1b95c46d9c53e83ce42afc0ae4 
>   src/KCMTelepathyAccounts/generic-advanced-options-widget.h ac5ff029ba8e86e0adf6f6a3988609d5c1ae6665 
>   src/KCMTelepathyAccounts/generic-advanced-options-widget.cpp 0e39b47fbd214ef66b3af1732bf7dc0c1858a8c4 
>   src/KCMTelepathyAccounts/parameter-edit-model.h 44c9d4dcc5300f0734c2c7aa12e4d0d050b48aec 
>   src/KCMTelepathyAccounts/parameter-edit-model.cpp d64fea0532f0b3a615ee69aa3236d32582c1a839 
>   src/KCMTelepathyAccounts/parameter-edit-widget.cpp 34e161a48c63c02b35f4660af9826e9a09387051 
>   src/KCMTelepathyAccounts/parameter-item.cpp 65e4334de625804c3277424dbca28b5f2d4dbf28 
>   src/KCMTelepathyAccounts/profile-item.h PRE-CREATION 
>   src/KCMTelepathyAccounts/profile-item.cpp PRE-CREATION 
>   src/KCMTelepathyAccounts/profile-list-model.h PRE-CREATION 
>   src/KCMTelepathyAccounts/profile-list-model.cpp PRE-CREATION 
>   src/KCMTelepathyAccounts/profile-select-widget.h PRE-CREATION 
>   src/KCMTelepathyAccounts/profile-select-widget.cpp PRE-CREATION 
>   src/KCMTelepathyAccounts/profile-select-widget.ui PRE-CREATION 
>   src/KCMTelepathyAccounts/protocol-item.h 759956e11e05e57ccafb2baae3314816b9122b49 
>   src/KCMTelepathyAccounts/protocol-item.cpp 2a6844349ee8e16b4e8c6a9d274c77d51ffb69fb 
>   src/KCMTelepathyAccounts/protocol-list-model.h 3718e8fc0b4093ab70e4528efecdf3538abb0825 
>   src/KCMTelepathyAccounts/protocol-list-model.cpp 168c6c57c2db993a1d71f56678e2fbaa061aa953 
>   src/KCMTelepathyAccounts/protocol-select-widget.h ca0bd8a8468a76b89f24b477c050c39acba6aa0b 
>   src/KCMTelepathyAccounts/protocol-select-widget.cpp f53c5b7529f288efec0b9c1bd232d34b6b380a60 
>   src/KCMTelepathyAccounts/protocol-select-widget.ui d6aee67d461c574f139ebf74908acaecd193a0e2 
>   src/account-item.cpp a670a1be35bd2edb71683f918756de9edb91a1c8 
>   src/add-account-assistant.h b16d76b14ff5d871287610ce0be400188f84d3f8 
>   src/add-account-assistant.cpp 69edc1171798f80ee5ac8c5c9853907ff039d76e 
>   src/edit-account-dialog.cpp 979742196c880f34a5df3345b509ffb945328613 
>   src/kcm-telepathy-accounts.cpp 554f6d1d719cca651f86a7df6e9700970552cec6 
> 
> Diff: http://git.reviewboard.kde.org/r/100389/diff
> 
> 
> Testing
> -------
> 
> Compiling
> Adding new accounts
> Editing accounts
> Added the sample profile from:
> http://telepathy.freedesktop.org/wiki/service-profile-v1
> Everything seems to work as seen in the screenshots
> 
> 
> Screenshots
> -----------
> 
> 
>   http://git.reviewboard.kde.org/r/100389/s/43/
> 
>   http://git.reviewboard.kde.org/r/100389/s/44/
> 
>   http://git.reviewboard.kde.org/r/100389/s/45/
> 
> 
> Thanks,
> 
> Thomas
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kde-telepathy/attachments/20110114/8bc09b56/attachment-0001.htm 


More information about the KDE-Telepathy mailing list