plasma: set notifications applet status before showing the popup

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2024-05-19 01:58:07 +03:00
parent b22f41cdf6
commit e7ee7dde56

View file

@ -100,6 +100,8 @@ void NotificationsWidget::slotCountChanged()
{
const int totalcount = (m_jobswidget->count() + m_applicationswidget->count());
if (totalcount > 0) {
m_notifications->setPopupIcon(kNotificationIcon(m_notifications, true));
m_notifications->setStatus(Plasma::ItemStatus::NeedsAttentionStatus);
// if the popup was shown before the signal it is probably because it is being interacted
// with so no automatic tab switching in that case
if (!m_notifications->isPopupShowing()) {
@ -110,8 +112,6 @@ void NotificationsWidget::slotCountChanged()
}
m_notifications->showPopup(s_popuptimeout);
}
m_notifications->setPopupIcon(kNotificationIcon(m_notifications, true));
m_notifications->setStatus(Plasma::ItemStatus::ActiveStatus);
} else {
m_notifications->setPopupIcon(kNotificationIcon(m_notifications, false));
m_notifications->setStatus(Plasma::ItemStatus::PassiveStatus);