[Notifications] Never manually hide() the NotificationPopup

Otherwise the positioner will get completely confused.
When a notification is closed, the popup will already be closed in response to sourceRemoved.
Also, when triggering an action, call closePopup instead of hiding the popup.

Differential Revision: https://phabricator.kde.org/D3594
wilder-5.14
Kai Uwe Broulik 9 years ago
parent 6c7a2a65c1
commit b97fdfa293
  1. 11
      applets/notifications/package/contents/ui/NotificationPopup.qml
  2. 3
      applets/notifications/package/contents/ui/Notifications.qml

@ -90,7 +90,7 @@ PlasmaCore.Dialog {
}
closeNotification(notificationProperties.source)
notificationPopup.hide()
// the popup will be closed in response to sourceRemoved
}
onContainsMouseChanged: {
if (containsMouse) {
@ -126,22 +126,19 @@ PlasmaCore.Dialog {
onClose: {
closeNotification(notificationProperties.source)
notificationPopup.hide()
// the popup will be closed in response to sourceRemoved
}
onConfigure: {
configureNotification(notificationProperties.appRealName, notificationProperties.eventId)
notificationPopup.hide()
notificationPositioner.closePopup(notificationProperties.source);
}
onAction: {
executeAction(notificationProperties.source, actionId)
actions.clear()
notificationPopup.hide()
}
onOpenUrl: {
Qt.openUrlExternally(url)
// we want to close the notification popup when opening a URL but
// it should not be removed from the history, hence pretending it expired
notificationTimer.triggered()
notificationPositioner.closePopup(notificationProperties.source);
}
}
}

@ -89,8 +89,9 @@ Column {
//try to open the id as url
} else if (id.indexOf("jobUrl#") !== -1) {
Qt.openUrlExternally(id.slice(7));
notificationPositioner.closePopup(source);
}
notificationPositioner.closePopup(source);
}
function configureNotification(appRealName, eventId) {

Loading…
Cancel
Save