Commit e6969f2c authored by Michail Vourlakos's avatar Michail Vourlakos
Browse files

update appMenu status only from qml side

Summary:
--add NeedsAttention status when a menu is showing, and
Passive status when the menu is not available
--remove status updates from plasmoid interface

Test Plan:
I used debug messages to confirm the status changes and
also Latte to check that dynamic background now works ok

Reviewers: #plasma, broulik

Reviewed By: #plasma, broulik

Subscribers: broulik, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D10710
parent 7c644c44
......@@ -207,16 +207,11 @@ void AppMenuApplet::trigger(QQuickItem *ctx, int idx)
actionMenu->installEventFilter(this);
}
setStatus(Plasma::Types::AcceptingInputStatus);
actionMenu->winId();//create window handle
actionMenu->windowHandle()->setTransientParent(ctx->window());
actionMenu->popup(pos);
//we can return to passive immediately, an autohide panel will stay open whilst
//any transient window is showing
setStatus(Plasma::Types::PassiveStatus);
if (view() == FullView) {
// hide the old menu only after showing the new one to avoid brief flickering
// in other windows as they briefly re-gain focus
......
......@@ -56,9 +56,18 @@ Item {
Plasmoid.fullRepresentation: GridLayout {
id: buttonGrid
//when we're not enabled set to active to show the configure button
Plasmoid.status: buttonRepeater.count > 0 ?
PlasmaCore.Types.ActiveStatus : PlasmaCore.Types.HiddenStatus
Plasmoid.status: {
if (menuAvailable && plasmoid.nativeInterface.currentIndex > -1 && buttonRepeater.count > 0) {
return PlasmaCore.Types.NeedsAttentionStatus;
} else if (menuAvailable){
//when we're not enabled set to active to show the configure button
return buttonRepeater.count > 0 ? PlasmaCore.Types.ActiveStatus : PlasmaCore.Types.HiddenStatus;
} else {
return PlasmaCore.Types.PassiveStatus;
}
}
Layout.minimumWidth: implicitWidth
Layout.minimumHeight: implicitHeight
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment