ahiemstra added inline comments.
INLINE COMMENTS
> ConfigAppearance.qml:90
> + }
> + RowLayout {
> + Kirigami.FormData.label: i18n("Presets:")
It would probably be nice if we can make this a GridLayout with flow bound to
the FormLayout's wide setting. Right now, if the layout becomes less wide,
these buttons will be pushed out of bounds.
> ConfigAppearance.qml:127
> +
> + RowLayout {
> + Kirigami.FormData.label: i18n("Display Style:")
As above, these also have a tendency to get pushed out of bounds.
> SensorFaceController.cpp:43
> +
> + auto list =
> KPackage::PackageLoader::self()->listPackages(QStringLiteral("Plasma/SensorApplet"));
> + // NOTE: This will diable completely the internal in-memory cache
"Plasma/SensorApplet" should probably be changed to something non-plasma?
> SensorFaceController.cpp:77
> + clear();
> + QList<KPluginMetaData> plugins =
> KPackage::PackageLoader::self()->findPackages(QStringLiteral("Plasma/Applet"),
> QString(), [](const KPluginMetaData &plugin) {
> + return plugin.value(QStringLiteral("X-Plasma-RootPath")) ==
> QStringLiteral("org.kde.plasma.systemmonitor");
Similar to above, does it still make sense to use "Plasma/Applet" here?
> SensorFaceController.cpp:182
> + //TODO: add i18n context object
> + QQmlContext *context = new QQmlContext(engine);
> + QObject *guiObject = component->beginCreate(context);
This seems to be unused?
> SensorFaceController.cpp:247
> +
> + setFaceId(d->appearanceGroup.readEntry("chartFace",
> QStringLiteral("org.kde.ksysguard.piechart")));
> +}
I think we should have a "default face" for when no specfic face has been set
yet, that isn't a pie chart. At least for ksysguard the default pie chart feels
weird.
> SensorFaceController.cpp:415
> +
> + d->faceMetadata = new KDesktopFile(d->facePackage.path() +
> QStringLiteral("metadata.desktop"));
> +
Can we define this in the package and then use filePath("metadata") or so?
> SensorFaceController.cpp:476
> + d->faceConfigUi =
> d->createConfigUi(QStringLiteral(":/FaceDetailsConfig.qml"),
> + {{QStringLiteral("controller"), QVariant::fromValue(this)},
> + {QStringLiteral("source"), d->facePackage.filePath("ui",
> QStringLiteral("Config.qml"))}});
Code style is a bit messed up here. Maybe run clang-format over the entire
thing?
> SensorFaceController.h:47
> + Q_PROPERTY(QString faceId READ faceId WRITE setFaceId NOTIFY
> faceIdChanged)
> + Q_PROPERTY(QString totalSensor READ totalSensor WRITE setTotalSensor
> NOTIFY totalSensorChanged)
> + Q_PROPERTY(QStringList sensorIds READ sensorIds WRITE setSensorIds
> NOTIFY sensorIdsChanged)
I think it would be a good idea to make this a list of ids as well. My current
use case would be the "used/total" version of the pie chart that is used in
KSysGuardQML, which would need two "total" sensors.
> SensorFaceController.h:50
> + Q_PROPERTY(QStringList sensorColors READ sensorColors WRITE
> setSensorColors NOTIFY sensorColorsChanged)
> + Q_PROPERTY(QStringList textOnlySensorIds READ textOnlySensorIds WRITE
> setTextOnlySensorIds NOTIFY textOnlySensorIdsChanged)
> +
Hmm, maybe these names are a little too use-case specific? I wonder if it would
make sense to name them "highPrioritySensorsIds", "sensorIds",
"lowPrioritySensorIds" or so.
> SensorFaceController.h:76
> +
> + //TODO: just QQuickItem
> + QQuickItem *fullRepresentation();
This seems superfluous?
> BarChart.qml:38
> +
> + stacked: plasmoid.nativeInterface.faceConfiguration.barChartStacked
> +
This should use the controller.
> Config.qml:50
> + }
> + Controls.SpinBox {
> + id: rangeFromSpin
All these are missing `editable: true` making it rather annoying to edit.
Also, we probably should set `from: -99999999` and `to: 99999999` or so on all
of them, the minimum and maximum range is rather undefined.
> FullRepresentation.qml:58
> +
> + Faces.ExtendedLegend {
> + Layout.fillWidth: true
This import seems to be missing?
REPOSITORY
R111 KSysguard Library
REVISION DETAIL
https://phabricator.kde.org/D28922
To: mart, #plasma, ahiemstra
Cc: plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus,
fbampaloukas, ragreen, ZrenBot, ngraham, himcesjf, lesliezhai, ali-mohamed,
jensreuterberg, abetts, sebas, apol, ahiemstra, mart