mirror of
https://github.com/zealdocs/zeal.git
synced 2026-08-29 08:34:50 +08:00
ui: Add Show/Hide to the systray menu when DE is Unity (fixes #741)
This commit is contained in:
@@ -712,8 +712,21 @@ void MainWindow::createTrayIcon()
|
||||
});
|
||||
|
||||
QMenu *trayIconMenu = new QMenu(this);
|
||||
trayIconMenu->addAction(ui->actionQuit);
|
||||
|
||||
#ifdef Q_OS_LINUX
|
||||
if (QString::fromLocal8Bit(qgetenv("XDG_CURRENT_DESKTOP")) == QLatin1String("Unity")) {
|
||||
QAction *showAction = trayIconMenu->addAction(tr("Show"));
|
||||
connect(showAction, &QAction::triggered, this, &MainWindow::toggleWindow);
|
||||
|
||||
connect(trayIconMenu, &QMenu::aboutToShow, this, [this, showAction]() {
|
||||
showAction->setText(isVisible() ? tr("Hide") : tr("Show"));
|
||||
});
|
||||
|
||||
trayIconMenu->addSeparator();
|
||||
}
|
||||
#endif
|
||||
|
||||
trayIconMenu->addAction(ui->actionQuit);
|
||||
m_trayIcon->setContextMenu(trayIconMenu);
|
||||
|
||||
m_trayIcon->show();
|
||||
|
||||
Reference in New Issue
Block a user