From a01f8091c01889d7ca90938f56ae176a74da5590 Mon Sep 17 00:00:00 2001 From: Miquel Lionel Date: Wed, 29 Dec 2021 02:32:40 +0100 Subject: Implement notifications + "mute/unmute chat" menu - Added icons: Pinned and muted chats have icons. It's from Twemoji font, I've added credits in the README.md and source code of ChatlistItem.qml. I prefer to rely on .PNG for this one because icon might not be installed or exist on the system, and we avoid the black box problem. - Modified CMakeLists: added KNotifications as a required library - Modified build.sh: I cannot comprehend how the install(FILES) function from cmake works, so I used good old install from GNU coreutils. It copies usr/ structure and needed files (.desktop and .notifyrc) for KNotifications to work. - Aesthetic changes: context menu is shorter now due to the text being state-aware. You can now also mute a chat so you won't be notified on incoming messages. --- chat.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'chat.cpp') diff --git a/chat.cpp b/chat.cpp index 32c72c3..6b28b9e 100644 --- a/chat.cpp +++ b/chat.cpp @@ -76,3 +76,15 @@ DcChat::getVisibility() { return dc_chat_get_visibility(m_chat); } + +void +DcChat::notifyNewMess() +{ + KNotification *newMess = new KNotification("onIncomingMessage"); + newMess->setPixmap(QPixmap(getProfileImage())); + newMess->setIconName("chat.delta.KDeltaChat"); + newMess->setComponentName("kdeltachat"); + newMess->setTitle(getName()); + newMess->setText("has sent you a message"); + newMess->sendEvent(); +} -- cgit v1.2.3-70-g09d2