Review Request 129261: Hide the "Show Menu Bar" action if all the menubars are native
Albert Astals Cid
aacid at kde.org
Thu Dec 29 23:01:45 UTC 2016
> On Dec. 29, 2016, 9:24 a.m., David Faure wrote:
> > src/kstandardaction.cpp, line 199
> > <https://git.reviewboard.kde.org/r/129261/diff/3/?file=488213#file488213line199>
> >
> > If an application creates many "show menu bar" actions, e.g. one per window in a many-windows process, then it will end up with many event filters (a somewhat costly construct).
> >
> > I'm wondering if this shouldn't be a singleton, where you register all the show-menubar QActions, so that it can handle them all in one go. To handle removal, it would mean connecting to the destroyed() signal of the action in order to remove it from the list.
> >
> > Hmm, on the other hand, storing wasChecked and wasVisible for every action becomes a bit cumbersome (QMap or dynamic properties).
> >
> > So maybe ignore this. Just food for thought.
I honestly don't think in the grand-scheme of things, this event filter is a costly thing.
- Albert
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129261/#review101641
-----------------------------------------------------------
On Dec. 29, 2016, 11:01 p.m., Albert Astals Cid wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129261/
> -----------------------------------------------------------
>
> (Updated Dec. 29, 2016, 11:01 p.m.)
>
>
> Review request for KDE Frameworks.
>
>
> Repository: kconfigwidgets
>
>
> Description
> -------
>
> Some applications have a "Show Menu Bar" action that is a bit silly on systems where the menubar is part of the shell (for example Unity 7).
>
> This patch attempts to fix it by iterating all the main windows when they are shown and if all the menubars of all mainwindows are native, then hides the show menu bar action (basically erasing it from existence).
>
> It's not the nicest of the codes and probably has some edge cases but works on the general case so i think it's worth the effort.
>
>
> Diffs
> -----
>
> src/kstandardaction.cpp 89d011e
>
> Diff: https://git.reviewboard.kde.org/r/129261/diff/
>
>
> Testing
> -------
>
> Tried konsole, kate and dolphin under Unity 7 on Ubuntu 16.10
>
> konsole and kate work fine (i.e. the action is gone from the menus and all is good)
>
> dolphin is not 100% "perfectly behabed" (i.e. the "control" toolbar item is supposed to not be shown when menubars are shown and in this case it's shown) but it's not a regression and imho it's the dolphin code being a bit weird (i can propose a patch for it if this gets accepted)
>
>
> Thanks,
>
> Albert Astals Cid
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20161229/eb50b141/attachment.html>
More information about the Kde-frameworks-devel
mailing list