https://bugs.kde.org/show_bug.cgi?id=359790

            Bug ID: 359790
           Summary: Cannot change system tray icon's context menu items of
                    an app built with Qt 5.5.1
           Product: kdelibs
           Version: unspecified
          Platform: Kubuntu Packages
                OS: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: NOR
         Component: qt
          Assignee: kdelibs-b...@kde.org
          Reporter: lpu...@insynchq.com

I have an app that needs to be able to update the context menu items of its
system tray icon. We are using Qt 5.5.1 and we include the Qt libs with the app
when we package it so we can't use the system libs. This works in other desktop
environments but in KDE the context menu items cannot be changed. It happens in
Kubuntu 12.04 until 15.10 and probably in other distributions as well (was able
to confirm it on Debian too).

Reproducible: Always

Steps to Reproduce:
1. Download Qt's official binary installer from
https://download.qt.io/archive/qt/5.5/5.5.1/.
2. Install required packages for Qt Creator. In Kubuntu 12.04 these are g++,
libgl1-mesa-dev, and libglu1-mesa-dev.
3. Download Qt project that contains minimal code to reproduce issue here:
https://goo.gl/GZxO6q.
4. Open Qt Creator: <Qt installation path>/Tools/QtCreator/bin/qtcreator.
5. Open and run project.
6. Right click on tray icon and click on the "On" entry. It should change to
"Off" when the context menu is reopened.

Alternative way:
1. Download the executable with Qt libraries here: https://goo.gl/FYLhIo.
2. export LD_LIBRARY_PATH=/path/to/extracted/folder
3. cd /path/to/extracted/folder
4 ./systray
5. Right click on tray icon and click on the "On" entry. It should change to
"Off" when the context menu is reopened.

Actual Results:  
Reopening the tray icon's context menu still shows the "On" entry, it was not
replaced with "Off".

Expected Results:  
It should show "Off" instead, and clicking it should show "On".

In the Qt project's tray.cpp file, setContextMenu() is called again after the
context menu was updated with new items. This is probably a bug in Qt 5.5.1
since the context menu does not show the new items unless setContextMenu() is
called again. This happens on all desktop environments.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to