[KDE/Mac] Review Request 126369: [OS X] adaptation(s) to platform limitations (WIP)
Martin Klapetek
martin.klapetek at gmail.com
Fri Dec 18 22:07:14 UTC 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126369/#review89724
-----------------------------------------------------------
> is it to be expected (in kstatusnotifieritemtest.cpp) that tray->iconPixmap() returns a null QIcon immediately after calling tray->setIconByName()
I believe so, it's "either-or", either you set the icon by name or
you set it by pixmap. If you set it by name, you don't really need
to call the iconPixmap I think because you can easily do that on any
local QIcon.
This is also somewhat supported by the spec at [1].
> how exactly is the NeedsAttention mechanism supposed to work?
This is fully up to the host system iirc. Plasma5 does not swap the
icons anymore, there is a whole different effect which just zoomes
the normal icon. In other words, the needsAttention icon is not used
at all. OS X should adopt whichever mechanism is most "home" to it.
[1] http://www.notmart.org/misc/statusnotifieritem/statusnotifieritem.html
- Martin Klapetek
On Dec. 17, 2015, 5:26 p.m., René J.V. Bertin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126369/
> -----------------------------------------------------------
>
> (Updated Dec. 17, 2015, 5:26 p.m.)
>
>
> Review request for KDE Software on Mac OS X and KDE Frameworks.
>
>
> Repository: knotifications
>
>
> Description
> -------
>
> OS X has a number of limitations in features used by KNotifications, notably concerning the status notifier item (aka system tray icon).
>
> This RR will likely evolve to address multiple limitations (at least also the NeedsAttention state); at the moment it only proposes an emulation of `QMenu::addSection`.
>
> `QMenu::addSection` works by adding a QAction with a "texted separator" at the insertion location. Texted separators do not exist in menu items in the OS X "global" menubar (they become regular separators), and Qt will not provide a platform-specific implementation. Loss of the section title text is maybe not always an issue, but I think it is in the system tray menu. I therefore propose to emulate `QMenu::addSection` by replacing the texted separator with an inactive (disabled) menu item that shows the text, followed by a standard separator. Menus in the notification area are much less subject to interface guidelines, so the presence of an item icon is acceptable and IMO useful for the `titleAction`.
>
> Testing the NeedsAttention state with the tests/kstatusnotifieritemtest application leads to disappearance of the menubar icon, i.e. the access to the notifier menu becomes invisible rather than blinking (which is what I get on Linux using the same packaging). Adding a few qDebug statements shows that the `attentionIcon` is empty.
> I'd appreciate a crash course how this feature is supposed to work, so I can see if an OS X implementation might be feasible.
>
>
> Diffs
> -----
>
> CMakeLists.txt 6d09051
> src/CMakeLists.txt 7eb3125
> src/kstatusnotifieritem.cpp f9bf460
> tests/kstatusnotifieritemtest.cpp 973fc85
>
> Diff: https://git.reviewboard.kde.org/r/126369/diff/
>
>
> Testing
> -------
>
> On OS X 10.9.5 with Qt 5.5.1 and frameworks 5.17.0 .
>
>
> File Attachments
> ----------------
>
> the systray icon & menu created by kstatusnotifieritemtest . This application has no icon to show.
> https://git.reviewboard.kde.org/media/uploaded/files/2015/12/16/286037ae-07b3-454a-a226-1748854493a1__kstatusnotifieritemtest-systray.png
> The systray icon and menu created by the KDE4 kwalletmanager (code has an equivalent patch)
> https://git.reviewboard.kde.org/media/uploaded/files/2015/12/16/4fc9d4e4-1537-478c-9196-94cbc17b6b7c__kwalletmanager-systray.png
> An Apple systray icon+menu that shows icons (which cannot be hidden)
> https://git.reviewboard.kde.org/media/uploaded/files/2015/12/16/fc48a963-2e18-4396-bd38-062d41688118__Apple-systray-menu-with-icons.png
> kstatusnotifieritemtest with added appIcon
> https://git.reviewboard.kde.org/media/uploaded/files/2015/12/17/e896e90d-f0a8-43f7-9199-847572832df7__kstatusnotifieritemtest-with-appIcon.png
> kstatusnotifieritemtest-with-appIcon+attention.png
> https://git.reviewboard.kde.org/media/uploaded/files/2015/12/17/f41081db-8e09-4ea2-95c1-f507c62109d4__kstatusnotifieritemtest-with-appIconattention.png
>
>
> Thanks,
>
> René J.V. Bertin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-mac/attachments/20151218/147b879c/attachment.html>
More information about the kde-mac
mailing list