diff --git a/libretroshare/src/retroshare/rsnotify.h b/libretroshare/src/retroshare/rsnotify.h index fd7c7b35d..4ed389bdc 100644 --- a/libretroshare/src/retroshare/rsnotify.h +++ b/libretroshare/src/retroshare/rsnotify.h @@ -49,6 +49,7 @@ const uint32_t RS_POPUP_DOWNLOAD = 0x0020; const uint32_t RS_POPUP_GROUPCHAT = 0x0040; const uint32_t RS_POPUP_CHATLOBBY = 0x0080; const uint32_t RS_POPUP_CONNECT_ATTEMPT = 0x0100; +const uint32_t RS_POPUP_ENCRYPTED_MSG = 0x0200; /* CHAT flags are here - so they are in the same place as * other Notify flags... not used by libretroshare though diff --git a/libretroshare/src/services/p3msgservice.cc b/libretroshare/src/services/p3msgservice.cc index 423e4bc92..4e0070e7e 100644 --- a/libretroshare/src/services/p3msgservice.cc +++ b/libretroshare/src/services/p3msgservice.cc @@ -140,7 +140,11 @@ void p3MsgService::processMsg(RsMsgItem *mi, bool incoming) std::string title, message; librs::util::ConvertUtf16ToUtf8(mi->subject, title); librs::util::ConvertUtf16ToUtf8(mi->message, message); - notify->AddPopupMessage(RS_POPUP_MSG, mi->PeerId(), title, message); + + if(mi->msgFlags & RS_MSG_FLAGS_ENCRYPTED) + notify->AddPopupMessage(RS_POPUP_ENCRYPTED_MSG, mi->PeerId(), title, message); + else + notify->AddPopupMessage(RS_POPUP_MSG, mi->PeerId(), title, message); std::string out; rs_sprintf(out, "%lu", mi->msgId); diff --git a/retroshare-gui/src/gui/notifyqt.cpp b/retroshare-gui/src/gui/notifyqt.cpp index 86cfc626b..9b29b52fa 100644 --- a/retroshare-gui/src/gui/notifyqt.cpp +++ b/retroshare-gui/src/gui/notifyqt.cpp @@ -775,6 +775,14 @@ void NotifyQt::UpdateGUI() switch(type) { + case RS_POPUP_ENCRYPTED_MSG: + soundManager->play(SOUND_MESSAGE_ARRIVED); + + if (popupflags & RS_POPUP_MSG) + { + toaster = new Toaster(new MessageToaster(std::string(), QObject::tr("Unknown title"), QObject::tr("[Encrypted message]"))); + } + break; case RS_POPUP_MSG: soundManager->play(SOUND_MESSAGE_ARRIVED); @@ -925,6 +933,9 @@ void NotifyQt::testToaster(uint notifyFlags, /*RshareSettings::enumToasterPositi switch(type) { + case RS_POPUP_ENCRYPTED_MSG: + toaster = new Toaster(new MessageToaster(std::string(), tr("Unknown title"), tr("[Encrypted message]"))); + break; case RS_POPUP_MSG: toaster = new Toaster(new MessageToaster(id, title, message)); break;