multi click not fucked

This commit is contained in:
2026-02-03 00:11:59 +01:00
parent 9898c48c67
commit 9c70065bf6
5 changed files with 10 additions and 6 deletions

View File

@@ -84,6 +84,7 @@ void NotificationService::handle_notify(const Glib::VariantContainerBase &parame
notify.app_icon = app_icon;
notify.summary = static_cast<std::string>(summary);
notify.body = static_cast<std::string>(body);
notify.actionInvoked = std::make_shared<bool>(false);
std::vector<std::string> actions_converted;
actions_converted.reserve(actions.size());

View File

@@ -93,7 +93,7 @@ void NotificationController::showSpotifyNotification(MprisPlayer2Message mpris)
});
notification->startAutoClose(10000);
notification->startAutoClose(DEFAULT_NOTIFICATION_TIMEOUT);
}
this->activeNotifications[id] = notifications;

View File

@@ -88,8 +88,9 @@ NotificationWindow::NotificationWindow(uint64_t notificationId, std::shared_ptr<
break;
}
btn->signal_clicked().connect([this, action_id, cb = notify.on_action]() {
if (cb) {
btn->signal_clicked().connect([this, action_id, cb = notify.on_action, guard = notify.actionInvoked]() {
if (cb && guard && !*guard) {
*guard = true;
cb(action_id);
this->signal_close.emit(this->notificationId);
}