Review Request 124589: Add Disk Quota Plasmoid
David Edmundson
david at davidedmundson.co.uk
Sun Aug 2 16:44:18 UTC 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124589/#review83333
-----------------------------------------------------------
applets/diskquota/plugin/DiskQuota.cpp (line 161)
<https://git.reviewboard.kde.org/r/124589/#comment57582>
do this in the constructor, only connect if it exists, and if it doesn't make sure to set the plasmoid tooltip
applets/diskquota/plugin/DiskQuota.cpp (line 289)
<https://git.reviewboard.kde.org/r/124589/#comment57590>
We need to be careful here
Qt tries to be clever about who owns the model when loaded via an invokable.
>Objects not-created by QML have CppOwnership by default. The exception to this are objects returned from C++ method calls; their ownership will be set to JavaScriptOwnership. This applies only to explicit invocations of Q_INVOKABLE methods or slots, but not to property getter invocations.
if QML thinks it owns it, QML can also delete it whenever the hell it chooses, and you're left with a dangly pointer in your cpp.
Either:
- set it to C++ ownership so our plugin deletes it
OR
- make this a read only constant property instead of a slot
personally I prefer the second one.
applets/diskquota/plugin/QuotaListModel.cpp (line 32)
<https://git.reviewboard.kde.org/r/124589/#comment57583>
+ 0?
- David Edmundson
On Aug. 2, 2015, 2:06 p.m., Dominik Haumann wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124589/
> -----------------------------------------------------------
>
> (Updated Aug. 2, 2015, 2:06 p.m.)
>
>
> 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/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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20150802/60a7f619/attachment-0001.html>
More information about the Plasma-devel
mailing list