Fix Windows build.

This commit is contained in:
Black Hat 2018-10-20 11:07:50 +08:00
parent 932f21e9bb
commit 969b359a92
1 changed files with 15 additions and 14 deletions

View File

@ -4,17 +4,20 @@
using namespace WinToastLib; using namespace WinToastLib;
class CustomHandler : public QObject, public IWinToastHandler { class CustomHandler : public QObject, public IWinToastHandler {
Q_OBJECT
public: public:
void toastActivated() { emit activated(notificationID); } void toastActivated() { emit activated(notificationID); }
void toastActivated(int) { emit activated(notificationID); } void toastActivated(int) { emit activated(notificationID); }
void toastFailed() { void toastFailed() {
std::wcout << L"Error showing current toast" << std::endl; std::wcout << L"Error showing current toast" << std::endl;
} }
void toastDismissed(WinToastDismissalReason) { emit dismissed(notificationID); } void toastDismissed(WinToastDismissalReason) {
emit dismissed(notificationID);
}
uint notificationID; uint notificationID;
signals: signals:
void activated(uint id); void activated(uint id);
void dismissed(uint id); void dismissed(uint id);
}; };
@ -58,16 +61,14 @@ void NotificationsManager::postNotification(
// TODO: implement room or user avatar // TODO: implement room or user avatar
// templ.setImagePath(L"C:/example.png"); // templ.setImagePath(L"C:/example.png");
CustomHandler* customHandler = new CustomHandler(); CustomHandler *customHandler = new CustomHandler();
count++; count++;
customHandler->notificationID = count; customHandler->notificationID = count;
notificationIds[count] = roomEventId{room_id, event_id}; notificationIds[count] = roomEventId{room_id, event_id};
connect(customHandler, &CustomHandler::activated, this, [=](uint id) { connect(customHandler, &CustomHandler::activated, this,
this->actionInvoked(id, ""); [=](uint id) { this->actionInvoked(id, ""); });
}); connect(customHandler, &CustomHandler::dismissed, this,
connect(customHandler, &CustomHandler::dismissed, this, [=](uint id) { [=](uint id) { this->notificationClosed(id, 0); });
this->notificationClosed(id, 0);
});
WinToast::instance()->showToast(templ, customHandler); WinToast::instance()->showToast(templ, customHandler);
} }