D23287: Create a plugin framework for processes
Kai Uwe Broulik
noreply at phabricator.kde.org
Tue Aug 20 15:25:40 BST 2019
broulik added inline comments.
INLINE COMMENTS
> extended_process_list.cpp:62
> +{
> + QVector<ProcessAttribute *> rc;
> + for (auto p: qAsConst(d->m_providers)) {
Add `reserve` call
> extended_process_list.cpp:76
> + if (!factory) {
> + return;
> + }
Shouldn't this be a `continue`?
> extended_process_list.h:38
> +private:
> + void loadPlugins();
> + class Private;
Shouldn't that be in the `Private`?
> formatter.h:37
> + */
> +enum FormatOption {
> + FormatOptionNone = 0,
This would look nicer with `enum class` but I don't really mind
> process_data_provider.cpp:38
> + QHash<KSysGuard::Process *, QVariant> m_data;
> + bool m_enabled = 0;
> +};
`false`
> process_data_provider.h:21
> +
> +#include <QDateTime>
> +#include <QDebug>
Unused
> process_data_provider.h:22
> +#include <QDateTime>
> +#include <QDebug>
> +#include <QObject>
Unused
> process_data_provider.h:31
> +
> +class ProcessDataProvider;
> +
Not used before its declaration below?
> process_data_provider.h:54
> + bool enabled() const;
> + void setEnabled(const bool enable);
> +
Why `const`?
> process_data_provider.h:91
> +
> + KSysGuard::Unit unit() const;
> + void setUnit(KSysGuard::Unit unit);
Docs
> process_data_provider.h:133
> + */
> + KSysGuard::Processes* processes() const;
> +
Coding style: asterisk after space
> unit.h:24
> +#include <QMetaType>
> +#include <QString>
> +#include <QVariant>
Unused
> ProcessModel.cpp:515
> + for (int i = 0 ; i < mExtraAttributes.count(); i ++) {
> + mExtraAttributes[i]->setEnabled(true); // In future we will toggle this based on column visibility
> +
Store `mExtraAttributes` in a variable
> ProcessModel.cpp:518
> + connect(mExtraAttributes[i], &KSysGuard::ProcessAttribute::dataChanged, this, [this, i](KSysGuard::Process *process) {
> + const QModelIndex index = q->getQModelIndex(process->parent(), mHeadings.count() + i);
> + emit q->dataChanged(index, index);
Can this become out of sync, given you capture `i` as a copy into the lambda?
> ProcessModel.cpp:983
> +
> + if (section >= d->mHeadings.count() && section < columnCount()) {
> + int attr = section - d->mHeadings.count();
So when you now request a column >= `columnCount()` this cndition won't be met and you potentially access out of bounds below somewhere
> ProcessModel.cpp:1304
> + if (value.canConvert(QMetaType::LongLong)
> + && static_cast<QMetaType::Type>(value.type()) != QMetaType::QString) {
> + return Qt::AlignRight + Qt::AlignVCenter;
`value.type() == QVariant::String`?
> ProcessModel.cpp:1305
> + && static_cast<QMetaType::Type>(value.type()) != QMetaType::QString) {
> + return Qt::AlignRight + Qt::AlignVCenter;
> + }
Shouldn't those be or'd together? Interestingly, Qt documentation also uses addition.
REPOSITORY
R111 KSysguard Library
REVISION DETAIL
https://phabricator.kde.org/D23287
To: davidedmundson, #plasma
Cc: broulik, plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, fbampaloukas, GB_2, ragreen, Pitel, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20190820/338337de/attachment-0001.html>
More information about the Plasma-devel
mailing list