diff options
author | Alexander Lantsev <aunsane@gmail.com> | 2013-06-09 22:21:47 +0000 |
---|---|---|
committer | Alexander Lantsev <aunsane@gmail.com> | 2013-06-09 22:21:47 +0000 |
commit | 5cad65e7fb3f8ffaad2355d0b85d980cc5ef07c3 (patch) | |
tree | 5ed63205ca0a718f456df8cdda9c09c4e9a8eef8 /protocols/Skype/src/skype_contacts.cpp | |
parent | 2c6ee1a27c2dab1d3db454bbc2c5e43de2ec9231 (diff) |
Skype:
- fixed logout from chat on miranda closing (#362)
- added new chat command (moderation and etc.)
- some improvements
git-svn-id: http://svn.miranda-ng.org/main/trunk@4905 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Skype/src/skype_contacts.cpp')
-rw-r--r-- | protocols/Skype/src/skype_contacts.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/protocols/Skype/src/skype_contacts.cpp b/protocols/Skype/src/skype_contacts.cpp index a8f7877647..35c61d6357 100644 --- a/protocols/Skype/src/skype_contacts.cpp +++ b/protocols/Skype/src/skype_contacts.cpp @@ -44,10 +44,18 @@ void CSkypeProto::UpdateContactStatus(HANDLE hContact, CContact::Ref contact) }
}
+void CSkypeProto::UpdateContactClient(SEObject *obj, HANDLE hContact)
+{
+ bool isMobile = false;
+ ((CContact *)obj)->HasCapability(Contact::CAPABILITY_MOBILE_DEVICE, isMobile/*, true*/);
+
+ ::db_set_ws(hContact, this->m_szModuleName, "MirVer", isMobile ? L"SkypeMobile" : L"Skype");
+}
+
void CSkypeProto::UpdateContactNickName(SEObject *obj, HANDLE hContact)
{
// todo: P_DISPLAYNAME = 21 is unworked
- mir_ptr<wchar_t> nick( ::mir_utf8decodeW(obj->GetStrProp(/* *::P_FULLNAME */ 5)));
+ ptrW nick( ::mir_utf8decodeW(obj->GetStrProp(/* *::P_FULLNAME */ 5)));
if ( !::wcslen(nick))
::db_unset(hContact, this->m_szModuleName, "Nick");
else
@@ -167,7 +175,7 @@ HANDLE CSkypeProto::GetContactBySid(const wchar_t *sid) {
if ( !this->IsChatRoom(hContact))
{
- mir_ptr<wchar_t> contactSid( ::db_get_wsa(hContact, this->m_szModuleName, SKYPE_SETTINGS_LOGIN));
+ ptrW contactSid( ::db_get_wsa(hContact, this->m_szModuleName, SKYPE_SETTINGS_LOGIN));
if (::lstrcmpi(contactSid, sid) == 0)
break;
}
@@ -276,8 +284,8 @@ void __cdecl CSkypeProto::LoadContactList(void* data) // todo: move to AddContact?
this->UpdateContactAuthState(hContact, contact);
this->UpdateContactStatus(hContact, contact);
-
- mir_ptr<wchar_t> nick( ::db_get_wsa(hContact, "CList", "MyHandle"));
+
+ ptrW nick( ::db_get_wsa(hContact, "CList", "MyHandle"));
if ( !nick || !::wcslen(nick))
{
nick = ::mir_utf8decodeW(contact->GetNick());
|