diff options
| author | 2025-03-05 18:28:50 +0100 | |
|---|---|---|
| committer | 2025-03-05 18:28:50 +0100 | |
| commit | 6710797e266091f838dd6ff925626e4cfbfa585b (patch) | |
| tree | 6aa357dcc2985d6b6103041a51a5261309885c5a /src | |
| parent | Fix github action (#2697) (diff) | |
| download | KVIrc-6710797e266091f838dd6ff925626e4cfbfa585b.tar.gz KVIrc-6710797e266091f838dd6ff925626e4cfbfa585b.tar.bz2 KVIrc-6710797e266091f838dd6ff925626e4cfbfa585b.zip | |
Fix window activation on trayicon click under KDE (#2696)
Diffstat (limited to 'src')
| -rw-r--r-- | src/modules/trayicon/libkvitrayicon.cpp | 11 | ||||
| -rw-r--r-- | src/modules/trayicon/libkvitrayicon.h | 4 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/modules/trayicon/libkvitrayicon.cpp b/src/modules/trayicon/libkvitrayicon.cpp index ae3c4a4e6..443d6f1bd 100644 --- a/src/modules/trayicon/libkvitrayicon.cpp +++ b/src/modules/trayicon/libkvitrayicon.cpp @@ -124,6 +124,7 @@ KviTrayIconWidget::KviTrayIconWidget() setToolTipTitle("KVIrc"); setIconByPixmap(*g_pDock1); setStandardActionsEnabled(false); + connect(this, SIGNAL(activateRequested(bool, QPoint)), this, SLOT(activatedSlot(bool))); #else setIcon(*g_pDock1); connect(this, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(activatedSlot(QSystemTrayIcon::ActivationReason))); @@ -481,10 +482,12 @@ void KviTrayIconWidget::refresh() #endif } -#ifndef COMPILE_KDE_SUPPORT -// Under Kde do nothing, KWin will restore/hide our window -// See ctor doc: KStatusNotifierItem::KStatusNotifierItem ( QObject * parent = nullptr ) - +#ifdef COMPILE_KDE_SUPPORT +void KviTrayIconWidget::activatedSlot(bool) +{ + toggleParentFrame(); +} +# else void KviTrayIconWidget::activatedSlot(QSystemTrayIcon::ActivationReason reason) { switch(reason) diff --git a/src/modules/trayicon/libkvitrayicon.h b/src/modules/trayicon/libkvitrayicon.h index d90ec44ba..3bd996b26 100644 --- a/src/modules/trayicon/libkvitrayicon.h +++ b/src/modules/trayicon/libkvitrayicon.h @@ -92,7 +92,9 @@ private slots: void toggleParentFrame(); void doAway(bool); void flashingTimerShot(); -#ifndef COMPILE_KDE_SUPPORT +#ifdef COMPILE_KDE_SUPPORT + void activatedSlot(bool active); +# else void activatedSlot(QSystemTrayIcon::ActivationReason reason); #endif void executeInternalCommand(bool); |
