-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124589/#review83321
-----------------------------------------------------------


Nice! :)

Just being pedantic here, I've seen it work nicely in action.


applets/diskquota/package/contents/config/main.xml (lines 10 - 12)
<https://git.reviewboard.kde.org/r/124589/#comment57551>

    This file looks reminiscent of the notes applet



applets/diskquota/package/contents/ui/ListDelegateItem.qml (lines 50 - 51)
<https://git.reviewboard.kde.org/r/124589/#comment57552>

    You can just do width: parent.width



applets/diskquota/package/contents/ui/ListDelegateItem.qml (line 97)
<https://git.reviewboard.kde.org/r/124589/#comment57553>

    This is the default anyway



applets/diskquota/package/contents/ui/main.qml (line 31)
<https://git.reviewboard.kde.org/r/124589/#comment57554>

    I would prefer if that was a proper switch/if, if there's more than one 
condition with the ternary operator, especially with long enums, it gets pretty 
ugly
    
    Plasmoid.status: {
        switch (diskQuota.status) {
        case DiskQuota.ActiveStatus:
            return PlasmaCore.Types.ActiveStatus
        …
    }



applets/diskquota/package/contents/ui/main.qml (line 65)
<https://git.reviewboard.kde.org/r/124589/#comment57557>

    No space between ! and variable



applets/diskquota/package/contents/ui/main.qml (line 67)
<https://git.reviewboard.kde.org/r/124589/#comment57555>

    Why not just i18n("Quota tool not found.\n\nPlease install 'quota'.") ?



applets/diskquota/package/contents/ui/main.qml (line 97)
<https://git.reviewboard.kde.org/r/124589/#comment57556>

    You might want to re-arrange your properties, so you don't scatter 
Plasmoid.foo properties all over the file :)



applets/diskquota/package/metadata.desktop (line 21)
<https://git.reviewboard.kde.org/r/124589/#comment57549>

    I don't think we want that applet in system tray by default?



applets/diskquota/package/metadata.desktop (lines 22 - 23)
<https://git.reviewboard.kde.org/r/124589/#comment57550>

    Can be removed



applets/diskquota/plugin/DiskQuota.h (lines 36 - 42)
<https://git.reviewboard.kde.org/r/124589/#comment57559>

    You shouldn't add a WRITE accessor if you cannot actually change the value 
from QML. This makes them read-only from QML perspective and saves you a 
headache if you accidentally write to them



applets/diskquota/plugin/DiskQuota.h (line 47)
<https://git.reviewboard.kde.org/r/124589/#comment57560>

    In Plasma we use plasma-frameworks coding style, ie. DiskQuota(QObject 
*parent = nullptr)



applets/diskquota/plugin/DiskQuota.h (line 59)
<https://git.reviewboard.kde.org/r/124589/#comment57563>

    Methods called through Q_PROPERTY don't need to be slots, I think only 
updateQuota() and below need to be.



applets/diskquota/plugin/DiskQuota.h (line 70)
<https://git.reviewboard.kde.org/r/124589/#comment57561>

    const QString &
    
    and in some other places below too



applets/diskquota/plugin/DiskQuota.h (lines 111 - 113)
<https://git.reviewboard.kde.org/r/124589/#comment57562>

    You could initialize these directly in the header file.
    
    bool m_quotaInstalled = true (or, well, false)
    etc



applets/diskquota/plugin/DiskQuota.cpp (line 59)
<https://git.reviewboard.kde.org/r/124589/#comment57564>

    if (!installed) {



applets/diskquota/plugin/DiskQuota.cpp (lines 177 - 178)
<https://git.reviewboard.kde.org/r/124589/#comment57565>

    You could use an initializerList:
    
    const QStringList args{
        QStringLiteral("foo"),
        QStringLiteral("bar")
    };



applets/diskquota/plugin/QuotaItem.cpp (line 20)
<https://git.reviewboard.kde.org/r/124589/#comment57567>

    Unused



applets/diskquota/plugin/QuotaListModel.h (line 36)
<https://git.reviewboard.kde.org/r/124589/#comment57568>

    Aren't these protected?



applets/diskquota/plugin/QuotaListModel.h (line 40)
<https://git.reviewboard.kde.org/r/124589/#comment57569>

    Since you're not using Q_NULLPTR, you might as well use override here.



applets/diskquota/plugin/QuotaListModel.cpp (lines 43 - 44)
<https://git.reviewboard.kde.org/r/124589/#comment57570>

    I'm not sure but I would think that QAbstractItemModel calls this only once 
and thus no caching is required



applets/diskquota/plugin/QuotaListModel.cpp (line 77)
<https://git.reviewboard.kde.org/r/124589/#comment57572>

    So does it usually give us an invalid model index?



applets/diskquota/plugin/QuotaListModel.cpp (line 180)
<https://git.reviewboard.kde.org/r/124589/#comment57573>

    Now I see why you need setData
    
    Imho a QStandardItemModel would have been sufficient for all of this :)


- Kai Uwe Broulik


On Aug. 2, 2015, 12:17 nachm., Dominik Haumann wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124589/
> -----------------------------------------------------------
> 
> (Updated Aug. 2, 2015, 12:17 nachm.)
> 
> 
> Review request for Plasma, Kai Uwe Broulik and Sebastian Kügler.
> 
> 
> Repository: kdeplasma-addons
> 
> 
> Description
> -------
> 
> The disk quota is usually used in enterprise installations where network 
> shares are mounted locally. Typically, sysadmins want to avoid that users 
> copy lots of data into their folders, and therefor set quotas (the quota 
> limit has nothing to do with the physical size of a partition). Typically, 
> once a user gets over the hard limit of the quota, the account is blocked and 
> the user cannot login anymore. This happens from time to time, since the 
> users are not really aware of the current quota limit and the already used 
> disk space.
> 
> Here is where the "Disk Quota" plasmoid helps: It continusouly monitors the 
> disk quota and warns the quota apprpriately.
> 
> A detailed description including screenshots can be found in this blog: 
> http://kate-editor.org/?p=3591
> 
> (I had a KDE4 hack of this plasmoid running at university, and it proved very 
> usable over the years, so it is probably a good idea to have it by default in 
> plasma)
> 
> Issues:
> - the panel icon is larger than the others (some wrong margin?)
> - an icon for the metadata.desktop is missing (the shipped quota.svg file is 
> not available here, it seems).
> - the grid units probably need some more tuning
> 
> 
> Diffs
> -----
> 
>   applets/CMakeLists.txt c60c350 
>   applets/diskquota/CMakeLists.txt PRE-CREATION 
>   applets/diskquota/Messages.sh PRE-CREATION 
>   applets/diskquota/icons/quota.svg PRE-CREATION 
>   applets/diskquota/package/contents/config/main.xml PRE-CREATION 
>   applets/diskquota/package/contents/ui/ListDelegateItem.qml PRE-CREATION 
>   applets/diskquota/package/contents/ui/main.qml PRE-CREATION 
>   applets/diskquota/package/metadata.desktop PRE-CREATION 
>   applets/diskquota/plugin/DiskQuota.h PRE-CREATION 
>   applets/diskquota/plugin/DiskQuota.cpp PRE-CREATION 
>   applets/diskquota/plugin/QuotaItem.h PRE-CREATION 
>   applets/diskquota/plugin/QuotaItem.cpp PRE-CREATION 
>   applets/diskquota/plugin/QuotaListModel.h PRE-CREATION 
>   applets/diskquota/plugin/QuotaListModel.cpp PRE-CREATION 
>   applets/diskquota/plugin/plugin.h PRE-CREATION 
>   applets/diskquota/plugin/plugin.cpp PRE-CREATION 
>   applets/diskquota/plugin/qmldir PRE-CREATION 
> 
> Diff: https://git.reviewboard.kde.org/r/124589/diff/
> 
> 
> Testing
> -------
> 
> Tested combinations:
> - no quota installed: A nice message is displayed telling the user that 
> 'quota' is missing.
> - quota installed, but no quota restrictions set: The applet says "No quota 
> restrictions found"
> - quota installed, quotas active: The applet continuously shows the data. The 
> quota entries are in a QAbstractItemModel derived class, so 
> inserting/removing quotas all works (tested).
> - filelight installed: the item under mouse gets highlighted. If clicked, 
> filelight starts with the correct location.
> 
> 
> Thanks,
> 
> Dominik Haumann
> 
>

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to