handle tray menu myself instead by tray icon

This commit is contained in:
2026-04-30 13:42:57 +02:00
parent b53597396c
commit 85b5a29192
+11 -4
View File
@@ -583,6 +583,9 @@ void Rktwebview_qt::processCommand(Command *cmd)
}
QMenu *menu = (has_menu) ? buildMenuFromJson(this, menu_json, tray_id) : nullptr;
_tray_menus[tray_id] = menu;
/*
if (menu == nullptr) {
if (!has_menu) {
INFO1("null menu, setting null menu on tray %d\n", tray_id);
@@ -600,6 +603,7 @@ void Rktwebview_qt::processCommand(Command *cmd)
_tray_menus[tray_id] = menu;
_trays[tray_id]->setContextMenu(menu);
}
*/
cmd->result = true;
cmd->done = true;
@@ -616,19 +620,22 @@ void Rktwebview_qt::processCommand(Command *cmd)
void Rktwebview_qt::handleTrayActivation(QSystemTrayIcon::ActivationReason reason)
{
QObject *obj = sender();
int tray_wv = obj->property("tray-id").toInt();
QSystemTrayIcon *icn = qobject_cast<QSystemTrayIcon *>(obj);
// If a context menu has been set, pop it up and leave.
/*if (reason == QSystemTrayIcon::ActivationReason::Context) {
QMenu *mnu = icn->contextMenu();
if (reason == QSystemTrayIcon::ActivationReason::Context) {
QMenu *mnu = nullptr;
if (_tray_menus.contains(tray_wv)) {
mnu = _tray_menus[tray_wv];
}
if (mnu != nullptr) {
mnu->popup(QCursor::pos());
return;
}
}*/
}
int tray_wv = obj->property("tray-id").toInt();
QString evt = "tray-activated";
QString reason_str = activationReasonToString(reason);