summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/m_protosvc.h1
-rw-r--r--protocols/IRCG/src/ircproto.cpp2
-rw-r--r--protocols/SkypeWeb/src/skype_proto.cpp2
-rw-r--r--protocols/Telegram/src/proto.cpp2
-rw-r--r--src/mir_app/src/srmm_base.cpp3
5 files changed, 7 insertions, 3 deletions
diff --git a/include/m_protosvc.h b/include/m_protosvc.h
index 797201b131..2178655aaf 100644
--- a/include/m_protosvc.h
+++ b/include/m_protosvc.h
@@ -140,6 +140,7 @@ static __inline unsigned long Proto_Status2Flag(int status)
#define PF4_READNOTIFY 0x00002000 // protocol supports receiving notify of message reading
#define PF4_SERVERMSGID 0x00004000 // protocol uses server message ids
#define PF4_REPLY 0x00008000 // protocol supports replies to messages
+#define PF4_SERVERFORMATTING 0x00010000 // protocol supports sending BBCodes in messages
#define PFLAG_UNIQUEIDTEXT 100 // returns a static buffer of text describing the unique field by which this protocol identifies users (already translated), or NULL
#define PFLAG_MAXCONTACTSPERPACKET 200 // returns the maximum number of contacts which can be sent in a single PSS_CONTACTS, lParam = (LPARAM)hContact.
diff --git a/protocols/IRCG/src/ircproto.cpp b/protocols/IRCG/src/ircproto.cpp
index 05a2001da9..4a07a01c6f 100644
--- a/protocols/IRCG/src/ircproto.cpp
+++ b/protocols/IRCG/src/ircproto.cpp
@@ -391,7 +391,7 @@ INT_PTR CIrcProto::GetCaps(int type, MCONTACT)
return PF2_SHORTAWAY;
case PFLAGNUM_4:
- return PF4_NOAUTHDENYREASON | PF4_NOCUSTOMAUTH;
+ return PF4_NOAUTHDENYREASON | PF4_NOCUSTOMAUTH | PF4_SERVERFORMATTING;
case PFLAG_UNIQUEIDTEXT:
return (INT_PTR)TranslateT("Nickname");
diff --git a/protocols/SkypeWeb/src/skype_proto.cpp b/protocols/SkypeWeb/src/skype_proto.cpp
index eb7cbc46c9..9320c5d490 100644
--- a/protocols/SkypeWeb/src/skype_proto.cpp
+++ b/protocols/SkypeWeb/src/skype_proto.cpp
@@ -104,7 +104,7 @@ INT_PTR CSkypeProto::GetCaps(int type, MCONTACT)
case PFLAGNUM_3:
return PF2_ONLINE | PF2_INVISIBLE | PF2_SHORTAWAY | PF2_HEAVYDND;
case PFLAGNUM_4:
- return PF4_NOAUTHDENYREASON | PF4_SUPPORTTYPING | PF4_AVATARS | PF4_IMSENDOFFLINE | PF4_OFFLINEFILES | PF4_SERVERMSGID;
+ return PF4_NOAUTHDENYREASON | PF4_SUPPORTTYPING | PF4_AVATARS | PF4_IMSENDOFFLINE | PF4_OFFLINEFILES | PF4_SERVERMSGID | PF4_SERVERFORMATTING;
case PFLAG_UNIQUEIDTEXT:
return (INT_PTR)TranslateT("Skypename");
}
diff --git a/protocols/Telegram/src/proto.cpp b/protocols/Telegram/src/proto.cpp
index 98572eea52..355d137256 100644
--- a/protocols/Telegram/src/proto.cpp
+++ b/protocols/Telegram/src/proto.cpp
@@ -349,7 +349,7 @@ INT_PTR CTelegramProto::GetCaps(int type, MCONTACT hContact)
case PFLAGNUM_4:
ret = PF4_NOCUSTOMAUTH | PF4_FORCEAUTH | PF4_OFFLINEFILES | PF4_NOAUTHDENYREASON | PF4_SUPPORTTYPING | PF4_AVATARS
- | PF4_SERVERMSGID | PF4_REPLY | PF4_GROUPCHATFILES | PF4_IMSENDOFFLINE;
+ | PF4_SERVERMSGID | PF4_REPLY | PF4_GROUPCHATFILES | PF4_IMSENDOFFLINE | PF4_SERVERFORMATTING;
if (GetId(hContact) != m_iOwnId)
ret |= PF4_DELETEFORALL;
return ret;
diff --git a/src/mir_app/src/srmm_base.cpp b/src/mir_app/src/srmm_base.cpp
index 57b03ca48a..e1916826dd 100644
--- a/src/mir_app/src/srmm_base.cpp
+++ b/src/mir_app/src/srmm_base.cpp
@@ -545,6 +545,9 @@ bool CSrmmBaseDialog::OnInitDialog()
// three buttons below are initiated inside this call, so button creation must precede subclassing
Srmm_CreateToolbarIcons(this, isChat() ? BBBF_ISCHATBUTTON : BBBF_ISIMBUTTON);
+ if ((CallContactService(m_hContact, PS_GETCAPS, PFLAGNUM_4) & PF4_SERVERFORMATTING) == 0)
+ m_bSendFormat = false;
+
if (!m_bSendFormat) {
m_btnBold.Disable();
m_btnItalic.Disable();