[Differential] [Commented On] D3706: WIP: Global Menu Applet
broulik (Kai Uwe Broulik)
noreply at phabricator.kde.org
Fri Dec 16 14:25:38 UTC 2016
broulik added inline comments.
INLINE COMMENTS
> appmenuapplet.cpp:91
> + ctx->window()->mouseGrabberItem()->ungrabMouse();
> + }
> +
Somehow your indentation is a bit off?
> configGeneral.qml:44
> + id: fullRepresentationRadio
> + text: i18n("Full Representation")
> + exclusiveGroup: representationGroup
Not too happy with the naming here. The old applet just had a checkbox for "Use single button" for menu or something like that, that would also simplify the settings page a lot ;)
> configGeneral.qml:56
> + if (plasmoid.configuration.fullRepresentation) {
> + fullRepresentationRadio.checked = true
> + } else {
I *think* you can just in the ExclusiveGroup above bind to the "current" property:
Controls.ExclusiveGroup {
id: representationGroup
current: plasmoid.configuration.fullRepresentation ? fullRepresentationRadio : compactRepresentationRadio
}
or you could perhaps just bind "checked" in the RadioButtons
checked: plasmoid.configuration.fullRepresentation
> main.qml:25
> +import org.kde.plasma.components 2.0 as PlasmaComponents
> +import org.kde.plasma.private.appmenu 1.0 as AppMenuPrivate
> +
Can you perhaps look into making it a c++ applet rather than using a private import – we somewhat try to get away from this
> main.qml:37-38
> +
> + Layout.minimumWidth: units.iconSizes.large
> + Layout.minimumHeight: units.iconSizes.large
> +
Perhaps base that on font size (or just units.gridUnit)
> main.qml:42
> +
> + Plasmoid.compactRepresentation: Component {
> + PlasmaComponents.ToolButton {
I don't think this needs to be wrapped in Component
> main.qml:43
> + Plasmoid.compactRepresentation: Component {
> + PlasmaComponents.ToolButton {
> + Layout.fillWidth: root.vertical
Also, I find it pretty cool that you just use compact and full rep for that :) I would not have thought of that
> main.qml:67-73
> + var count = buttonRepeater.count
> + var idx = index;
> + if (idx >= count) {
> + idx = 0;
> + } else if (idx < 0) {
> + idx = count - 1;
> + }
var idx = Math.max(0, Math.min(buttonRepeater.count - 1, index))
(too bad there's no qBound in QML)
> main.qml:77
> + if (button) {
> + plasmoid.nativeInterface.trigger(button, button.buttonData, idx);
> + }
You could just do button.clicked() which will end up executing the onClicked below instead of duplicating the logic here
> main.qml:88
> + readonly property int buttonIndex: index
> + readonly property var buttonData: activeActions
> +
buttonData is pretty generic of a name
REPOSITORY
R120 Plasma Workspace
REVISION DETAIL
https://phabricator.kde.org/D3706
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: chinmoyr, #plasma, broulik
Cc: plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20161216/8a37b339/attachment-0001.html>
More information about the Plasma-devel
mailing list