> 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 > >