D6527: [Containment Interface] Keep containment in RequiresAttentionStatus while context menu is open
broulik created this revision. Restricted Application added projects: Plasma, Frameworks. Restricted Application added subscribers: Frameworks, plasma-devel. REVISION SUMMARY This ensures the panel does not auto-hide then. It also forces a re-evaluation of auto-hide status when the menu closes, so even if we mess up with mouse grabbing, it should more reliably auto-hide afterwards. BUG: 344205 CCBUG: 351823 TEST PLAN Right clicked a couple of applets, panel stayed visible while the menu was open. It auto-hid again when I closed the menu. Task Manager needs a separate patch but this should be fairly trivial, something like `Plasmoid.status: contextMenu && contextMenu.status === PlasmaCore.Dialog.Open ? PlasmaCore.Types.RequiresAttentionStatus : PlasmaCore.Types.ActiveStatus` I tried meddling with `focusWindow` and `applicationState` but I never got a meaningful change in the two when the context menu closed, so I chose this crude approach REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D6527 AFFECTED FILES src/scriptengines/qml/plasmoid/containmentinterface.cpp To: broulik, #plasma Cc: plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
D6527: [Containment Interface] Keep containment in RequiresAttentionStatus while context menu is open
broulik added inline comments. INLINE COMMENTS > containmentinterface.cpp:1073 > + > +connect(desktopMenu, &QMenu::aboutToHide, m_containment, [this, > oldStatus] { > +m_containment->setStatus(oldStatus); Not sure if we should use `this` (and then check `if m_containment` as context or `m_containment` REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D6527 To: broulik, #plasma Cc: plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
D6527: [Containment Interface] Keep containment in RequiresAttentionStatus while context menu is open
mart accepted this revision. mart added inline comments. This revision is now accepted and ready to land. INLINE COMMENTS > broulik wrote in containmentinterface.cpp:1073 > Not sure if we should use `this` (and then check `if m_containment` as > context or `m_containment` should be the same REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D6527 To: broulik, #plasma, mart Cc: mart, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, lukas
D6527: [Containment Interface] Keep containment in RequiresAttentionStatus while context menu is open
This revision was automatically updated to reflect the committed changes. Closed by commit R242:f3dcff28b8fb: [Containment Interface] Keep containment in RequiresAttentionStatus while… (authored by broulik). REPOSITORY R242 Plasma Framework (Library) CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D6527?vs=16238&id=16298 REVISION DETAIL https://phabricator.kde.org/D6527 AFFECTED FILES src/scriptengines/qml/plasmoid/containmentinterface.cpp To: broulik, #plasma, mart Cc: mart, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, lukas