diff options
author | Alexander Lantsev <aunsane@gmail.com> | 2013-06-24 09:23:01 +0000 |
---|---|---|
committer | Alexander Lantsev <aunsane@gmail.com> | 2013-06-24 09:23:01 +0000 |
commit | 04c18aa4ab21f78ddd29fcbdc18afba148f96135 (patch) | |
tree | 7ef41d868f285bc2603b264c420bb6572d51041e /protocols/Skype/src/skype_utils.cpp | |
parent | 90619452ae4429a71a3034cb3db72adc275487bf (diff) |
Skype:
- updated icons
- added server side ignore list
- removed bookmsrks
git-svn-id: http://svn.miranda-ng.org/main/trunk@5110 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Skype/src/skype_utils.cpp')
-rw-r--r-- | protocols/Skype/src/skype_utils.cpp | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/protocols/Skype/src/skype_utils.cpp b/protocols/Skype/src/skype_utils.cpp index 2c354210cb..eb5eb1e4f1 100644 --- a/protocols/Skype/src/skype_utils.cpp +++ b/protocols/Skype/src/skype_utils.cpp @@ -539,4 +539,70 @@ void CSkypeProto::ReplaceSpecialChars(wchar_t *text, wchar_t replaceWith) for (size_t i = 0; i < ::wcslen(text); i++)
if (::wcschr(special, text[i]) != NULL)
text[i] = replaceWith;
+}
+
+INT_PTR CSkypeProto::ParseSkypeUri(WPARAM wParam, LPARAM lParam)
+{
+ return 1;
+ if (CSkypeProto::instanceList.getCount() == 0 || !CSkypeProto::instanceList[0]->IsOnline())
+ return 1;
+
+ CSkypeProto::ShowNotification((wchar_t *)lParam);
+
+ CSkypeProto *ppro = CSkypeProto::instanceList[0];
+
+ wchar_t *args = ::mir_wstrdup((wchar_t *)lParam);
+ if (args == NULL)
+ return 1;
+ // set focus on clist
+
+ wchar_t * q = ::wcschr(args, L'?');
+ if (q == NULL)
+ return 1;
+
+ wchar_t *c = q + 1; q = 0;
+ StringList participants = StringList(args, L";");
+ StringList commands = StringList(q + 1, L"&");
+
+ ptrW command, arg, commandAndParam;
+
+ if (::lstrcmpiW( commands[0], L"chat") != 0)
+ {
+ wchar_t message[1024];
+ ::mir_sntprintf(message, SIZEOF(message), ::TranslateT("Command\"%s\" is unsupported"), args);
+ CSkypeProto::ShowNotification(message);
+ return 1;
+ }
+
+ ChatRoomParam *param = new ChatRoomParam(NULL, participants, ppro);
+
+ for (size_t i = 1; i < commands.size(); i++)
+ {
+ commandAndParam = command = ::mir_wstrdup(commands[i]);
+ wchar_t * p = ::wcschr(commandAndParam, L'=');
+ if (p != NULL)
+ {
+ arg = p + 1;
+ p = 0;
+ }
+
+ if ( !::lstrcmpiW(commands[0], L"blob"))
+ {
+ ppro->JoinToChat(arg);
+ break;
+ }
+
+ if ( !::lstrcmpiW( commands[0], L"topic"))
+ {
+ ::wcscpy(param->topic, arg);
+ ppro->CreateChat(param);
+ break;
+
+ }
+ //param
+ }
+
+ delete param;
+
+ return 0;
}
\ No newline at end of file |