fix tray menu on linux/mac

This commit is contained in:
Nova 2025-01-31 08:08:05 +03:30
parent 3a6f43499e
commit 0284dc974e

View File

@ -311,9 +311,13 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
trayMenu->addAction(ui->actionRestart_Program);
trayMenu->addAction(ui->menu_exit);
tray->show();
#ifndef Q_OS_WIN
tray->setContextMenu(trayMenu);
#else
// popup once so that its height is calculated
trayMenu->popup(QCursor::pos());
trayMenu->hide();
#endif
connect(tray, &QSystemTrayIcon::activated, qApp, [=](QSystemTrayIcon::ActivationReason reason) {
if (reason == QSystemTrayIcon::Context)
{
@ -321,8 +325,6 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
int mh = trayMenu->geometry().height();
auto cPos = QCursor::pos();
trayMenu->popup({cPos.x(), cPos.y()-mh});
#else
trayMenu->popup(QCursor::pos());
#endif
}
if (reason == QSystemTrayIcon::Trigger) {