summaryrefslogtreecommitdiff
path: root/protocols
diff options
context:
space:
mode:
Diffstat (limited to 'protocols')
-rw-r--r--protocols/Skype/Skype_11.vcxproj.filters8
-rw-r--r--protocols/Skype/proto_skype/res/Away.icobin5430 -> 108579 bytes
-rw-r--r--protocols/Skype/proto_skype/res/DND.icobin5430 -> 108187 bytes
-rw-r--r--protocols/Skype/proto_skype/res/Invisible.icobin5430 -> 108626 bytes
-rw-r--r--protocols/Skype/proto_skype/res/Offline.icobin5430 -> 109673 bytes
-rw-r--r--protocols/Skype/proto_skype/res/Online.icobin5430 -> 108682 bytes
-rw-r--r--protocols/Skype/res/main.icobin90243 -> 108682 bytes
-rw-r--r--protocols/Skype/src/skype.cpp4
-rw-r--r--protocols/Skype/src/skype_dialogs.cpp126
-rw-r--r--protocols/Skype/src/skype_messages.cpp2
-rw-r--r--protocols/Skype/src/skype_proto.h4
-rw-r--r--protocols/Skype/src/skype_utils.cpp231
-rw-r--r--protocols/Skype/src/version.h2
13 files changed, 87 insertions, 290 deletions
diff --git a/protocols/Skype/Skype_11.vcxproj.filters b/protocols/Skype/Skype_11.vcxproj.filters
index 89ca928a34..5794644ded 100644
--- a/protocols/Skype/Skype_11.vcxproj.filters
+++ b/protocols/Skype/Skype_11.vcxproj.filters
@@ -99,9 +99,6 @@
<ClCompile Include="src\aes\aes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="src\skypekit\skypekit.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="src\skype_avatars.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -117,6 +114,9 @@
<ClCompile Include="src\skype_transfers.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="src\skypekit\skypekit.cpp">
+ <Filter>Source Files\skypekit</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\resource.h">
@@ -168,7 +168,7 @@
<Filter>Header Files\skypekit</Filter>
</ClInclude>
<ClInclude Include="src\string_list.h">
- <Filter>Source Files</Filter>
+ <Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
diff --git a/protocols/Skype/proto_skype/res/Away.ico b/protocols/Skype/proto_skype/res/Away.ico
index e938e5f37c..3e4d4cff69 100644
--- a/protocols/Skype/proto_skype/res/Away.ico
+++ b/protocols/Skype/proto_skype/res/Away.ico
Binary files differ
diff --git a/protocols/Skype/proto_skype/res/DND.ico b/protocols/Skype/proto_skype/res/DND.ico
index d931f2f4a2..975e9c728e 100644
--- a/protocols/Skype/proto_skype/res/DND.ico
+++ b/protocols/Skype/proto_skype/res/DND.ico
Binary files differ
diff --git a/protocols/Skype/proto_skype/res/Invisible.ico b/protocols/Skype/proto_skype/res/Invisible.ico
index 18ffde6b5b..c639c2dd55 100644
--- a/protocols/Skype/proto_skype/res/Invisible.ico
+++ b/protocols/Skype/proto_skype/res/Invisible.ico
Binary files differ
diff --git a/protocols/Skype/proto_skype/res/Offline.ico b/protocols/Skype/proto_skype/res/Offline.ico
index 163412c4ba..10b24a0a24 100644
--- a/protocols/Skype/proto_skype/res/Offline.ico
+++ b/protocols/Skype/proto_skype/res/Offline.ico
Binary files differ
diff --git a/protocols/Skype/proto_skype/res/Online.ico b/protocols/Skype/proto_skype/res/Online.ico
index 3ed9251f2f..9298c11ed0 100644
--- a/protocols/Skype/proto_skype/res/Online.ico
+++ b/protocols/Skype/proto_skype/res/Online.ico
Binary files differ
diff --git a/protocols/Skype/res/main.ico b/protocols/Skype/res/main.ico
index 77d85affad..9298c11ed0 100644
--- a/protocols/Skype/res/main.ico
+++ b/protocols/Skype/res/main.ico
Binary files differ
diff --git a/protocols/Skype/src/skype.cpp b/protocols/Skype/src/skype.cpp
index 51c189318a..73ed0d0a85 100644
--- a/protocols/Skype/src/skype.cpp
+++ b/protocols/Skype/src/skype.cpp
@@ -9,8 +9,6 @@ HINSTANCE g_hInstance;
TIME_API tmi = {0};
-std::map<std::wstring, std::wstring> CSkypeProto::languages = CSkypeProto::FillLanguages();
-
int g_cbCountries;
struct CountryListEntry* g_countries;
@@ -294,6 +292,8 @@ extern "C" int __declspec(dllexport) Load(void)
CallService(MS_UTILS_GETCOUNTRYLIST, (WPARAM)&g_cbCountries, (LPARAM)&g_countries);
+ CSkypeProto::InitLanguages();
+
CSkypeProto::InitIcons();
CSkypeProto::InitMenus();
CSkypeProto::InitHookList();
diff --git a/protocols/Skype/src/skype_dialogs.cpp b/protocols/Skype/src/skype_dialogs.cpp
index 73d4e7740f..35f0f909bc 100644
--- a/protocols/Skype/src/skype_dialogs.cpp
+++ b/protocols/Skype/src/skype_dialogs.cpp
@@ -468,8 +468,10 @@ INT_PTR CALLBACK CSkypeProto::PersonalSkypeDlgProc(HWND hwndDlg, UINT msg, WPARA
::mir_sntprintf(date, 3, L"%02d", bmon);
::SetDlgItemText(hwndDlg, IDC_BIRTH_MONTH, date);
}
-
- for (int i = 1900; i < 2214; i++)
+ SYSTEMTIME sToday = {0};
+ ::GetLocalTime(&sToday);
+ // ages from 10 to 50 is need more?
+ for (size_t i = sToday.wYear - 50; i < sToday.wYear - 10; i++)
{
::_itow(i, date, 10);
::SendMessage(::GetDlgItem(hwndDlg, IDC_BIRTH_YEAR), CB_ADDSTRING, 0, (LPARAM)date);
@@ -494,7 +496,7 @@ INT_PTR CALLBACK CSkypeProto::PersonalSkypeDlgProc(HWND hwndDlg, UINT msg, WPARA
::GetDlgItem(hwndDlg, IDC_LANGUAGE),
CB_SETITEMDATA, i++, (LPARAM)&it->first);
- if (it->second.compare(lang) == 0)
+ if (lang && it->second.compare(lang) == 0)
::SetDlgItemText(hwndDlg, IDC_LANGUAGE, ::TranslateTS(it->second.c_str()));
}
@@ -554,9 +556,7 @@ INT_PTR CALLBACK CSkypeProto::PersonalSkypeDlgProc(HWND hwndDlg, UINT msg, WPARA
break;
case PSN_APPLY:
if (ppro->IsOnline() && ppro->NeedUpdate)
- {
ppro->SaveOwnInfoToServer(hwndDlg, iPageId);
- }
else if ( !ppro->IsOnline())
ppro->ShowNotification(::TranslateT("You are not currently connected to the Skype network. You must be online in order to update your information on the server."));
break;
@@ -576,52 +576,52 @@ INT_PTR CALLBACK CSkypeProto::ContactSkypeDlgProc(HWND hwndDlg, UINT msg, WPARAM
case WM_INITDIALOG:
if (lParam) {
ppro = (CSkypeProto *)lParam;
- TranslateDialogDefault(hwndDlg);
+ ::TranslateDialogDefault(hwndDlg);
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam);
+ ::SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam);
DBVARIANT dbv;
- if ( !db_get_ts(NULL, ppro->m_szModuleName, "Cellular", &dbv)) {
- SetDlgItemText(hwndDlg, IDC_MOBPHONE, dbv.ptszVal);
- db_free(&dbv);
+ if ( !::db_get_ts(NULL, ppro->m_szModuleName, "Cellular", &dbv)) {
+ ::SetDlgItemText(hwndDlg, IDC_MOBPHONE, dbv.ptszVal);
+ ::db_free(&dbv);
}
else
- SetDlgItemText(hwndDlg, IDC_MOBPHONE, _T(""));
+ ::SetDlgItemText(hwndDlg, IDC_MOBPHONE, _T(""));
- if ( !db_get_ts(NULL, ppro->m_szModuleName, "Phone", &dbv)) {
- SetDlgItemText(hwndDlg, IDC_HOMEPHONE, dbv.ptszVal);
- db_free(&dbv);
+ if ( !::db_get_ts(NULL, ppro->m_szModuleName, "Phone", &dbv)) {
+ ::SetDlgItemText(hwndDlg, IDC_HOMEPHONE, dbv.ptszVal);
+ ::db_free(&dbv);
}
else
- SetDlgItemText(hwndDlg, IDC_HOMEPHONE, _T(""));
+ ::SetDlgItemText(hwndDlg, IDC_HOMEPHONE, _T(""));
- if ( !db_get_ts(NULL, ppro->m_szModuleName, "CompanyPhone", &dbv)) {
- SetDlgItemText(hwndDlg, IDC_OFFICEPHONE, dbv.ptszVal);
- db_free(&dbv);
+ if ( !::db_get_ts(NULL, ppro->m_szModuleName, "CompanyPhone", &dbv)) {
+ ::SetDlgItemText(hwndDlg, IDC_OFFICEPHONE, dbv.ptszVal);
+ ::db_free(&dbv);
}
else
- SetDlgItemText(hwndDlg, IDC_OFFICEPHONE, _T(""));
+ ::SetDlgItemText(hwndDlg, IDC_OFFICEPHONE, _T(""));
- if ( !db_get_ts(NULL, ppro->m_szModuleName, "e-mail0", &dbv)) {
- SetDlgItemText(hwndDlg, IDC_EMAIL1, dbv.ptszVal);
- db_free(&dbv);
+ if ( !::db_get_ts(NULL, ppro->m_szModuleName, "e-mail0", &dbv)) {
+ ::SetDlgItemText(hwndDlg, IDC_EMAIL1, dbv.ptszVal);
+ ::db_free(&dbv);
}
else
- SetDlgItemText(hwndDlg, IDC_EMAIL1, _T(""));
+ ::SetDlgItemText(hwndDlg, IDC_EMAIL1, _T(""));
- if ( !db_get_ts(NULL, ppro->m_szModuleName, "e-mail1", &dbv)) {
- SetDlgItemText(hwndDlg, IDC_EMAIL2, dbv.ptszVal);
- db_free(&dbv);
+ if ( !::db_get_ts(NULL, ppro->m_szModuleName, "e-mail1", &dbv)) {
+ ::SetDlgItemText(hwndDlg, IDC_EMAIL2, dbv.ptszVal);
+ ::db_free(&dbv);
}
else
- SetDlgItemText(hwndDlg, IDC_EMAIL2, _T(""));
+ ::SetDlgItemText(hwndDlg, IDC_EMAIL2, _T(""));
- if ( !db_get_ts(NULL, ppro->m_szModuleName, "e-mail2", &dbv)) {
- SetDlgItemText(hwndDlg, IDC_EMAIL3, dbv.ptszVal);
- db_free(&dbv);
+ if ( !::db_get_ts(NULL, ppro->m_szModuleName, "e-mail2", &dbv)) {
+ ::SetDlgItemText(hwndDlg, IDC_EMAIL3, dbv.ptszVal);
+ ::db_free(&dbv);
}
else
- SetDlgItemText(hwndDlg, IDC_EMAIL3, _T(""));
+ ::SetDlgItemText(hwndDlg, IDC_EMAIL3, _T(""));
}
break;
@@ -629,7 +629,7 @@ INT_PTR CALLBACK CSkypeProto::ContactSkypeDlgProc(HWND hwndDlg, UINT msg, WPARAM
if ((HWND)lParam == GetFocus() && HIWORD(wParam) == EN_CHANGE)
{
ppro->NeedUpdate = 1;
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ ::SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
}
break;
@@ -637,13 +637,11 @@ INT_PTR CALLBACK CSkypeProto::ContactSkypeDlgProc(HWND hwndDlg, UINT msg, WPARAM
if (((LPNMHDR)lParam)->idFrom == 0) {
switch (((LPNMHDR)lParam)->code) {
case PSN_PARAMCHANGED:
- SendMessage(hwndDlg, WM_INITDIALOG, 0, ((PSHNOTIFY *)lParam)->lParam);
+ ::SendMessage(hwndDlg, WM_INITDIALOG, 0, ((PSHNOTIFY *)lParam)->lParam);
break;
case PSN_APPLY:
if (ppro->IsOnline() && ppro->NeedUpdate)
- {
ppro->SaveOwnInfoToServer(hwndDlg, iPageId);
- }
else if ( !ppro->IsOnline())
ppro->ShowNotification(::TranslateT("You are not currently connected to the Skype network. You must be online in order to update your information on the server."));
break;
@@ -663,34 +661,47 @@ INT_PTR CALLBACK CSkypeProto::HomeSkypeDlgProc(HWND hwndDlg, UINT msg, WPARAM wP
case WM_INITDIALOG:
if (lParam) {
ppro = (CSkypeProto *)lParam;
- TranslateDialogDefault(hwndDlg);
+ ::TranslateDialogDefault(hwndDlg);
- SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam);
+ ::SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam);
DBVARIANT dbv;
- if ( !db_get_ts(NULL, ppro->m_szModuleName, "City", &dbv)) {
- SetDlgItemText(hwndDlg, IDC_CITY, dbv.ptszVal);
- db_free(&dbv);
+ if ( !::db_get_ts(NULL, ppro->m_szModuleName, "City", &dbv)) {
+ ::SetDlgItemText(hwndDlg, IDC_CITY, dbv.ptszVal);
+ ::db_free(&dbv);
}
else
- SetDlgItemText(hwndDlg, IDC_MOBPHONE, _T(""));
+ ::SetDlgItemText(hwndDlg, IDC_MOBPHONE, _T(""));
- if ( !db_get_ts(NULL, ppro->m_szModuleName, "State", &dbv)) {
- SetDlgItemText(hwndDlg, IDC_STATE, dbv.ptszVal);
- db_free(&dbv);
+ if ( !::db_get_ts(NULL, ppro->m_szModuleName, "State", &dbv)) {
+ ::SetDlgItemText(hwndDlg, IDC_STATE, dbv.ptszVal);
+ ::db_free(&dbv);
}
else
- SetDlgItemText(hwndDlg, IDC_STATE, _T(""));
-
- mir_ptr<wchar_t> countr( ::db_get_wsa(NULL, ppro->m_szModuleName, "Country"));
- for (int i = 0; i < g_cbCountries; i++) {
- if (g_countries[i].id != 0xFFFF && g_countries[i].id != 0) {
- TCHAR *country = mir_a2t(g_countries[i].szName);
- int nItem = SendMessage(GetDlgItem(hwndDlg, IDC_COUNTRY), CB_ADDSTRING, 0, (LPARAM)TranslateTS(country));
- SendMessage(GetDlgItem(hwndDlg, IDC_COUNTRY), CB_SETITEMDATA, nItem, (LPARAM)g_countries[i].id);
- if (_tcscmp(country, countr) == 0)
- SetDlgItemText(hwndDlg, IDC_COUNTRY, TranslateTS(country));
- mir_free(country);
+ ::SetDlgItemText(hwndDlg, IDC_STATE, _T(""));
+
+ mir_ptr<wchar_t> countr(::db_get_wsa(NULL, ppro->m_szModuleName, "Country"));
+ for (int i = 0; i < g_cbCountries; i++)
+ {
+ if (g_countries[i].id != 0xFFFF && g_countries[i].id != 0)
+ {
+ wchar_t *country = mir_a2t(g_countries[i].szName);
+ int nItem = ::SendMessage(
+ ::GetDlgItem(hwndDlg, IDC_COUNTRY),
+ CB_ADDSTRING,
+ 0,
+ (LPARAM)::TranslateTS(country));
+
+ ::SendMessage(
+ ::GetDlgItem(hwndDlg, IDC_COUNTRY),
+ CB_SETITEMDATA,
+ i,
+ (LPARAM)g_countries[i].id);
+
+ if (::wcscmp(country, countr) == 0)
+ ::SetDlgItemText(hwndDlg, IDC_COUNTRY, TranslateTS(country));
+
+ ::mir_free(country);
}
}
@@ -719,10 +730,7 @@ INT_PTR CALLBACK CSkypeProto::HomeSkypeDlgProc(HWND hwndDlg, UINT msg, WPARAM wP
break;
case PSN_APPLY:
if (ppro->IsOnline() && ppro->NeedUpdate)
- {
- //ppro->SaveToDB(hwndDlg, iPageId);
- //ppro->SaveToServer(hwndDlg, iPageId);
- }
+ ppro->SaveOwnInfoToServer(hwndDlg, iPageId);
else if ( !ppro->IsOnline())
ppro->ShowNotification(::TranslateT("You are not currently connected to the Skype network. You must be online in order to update your information on the server."));
break;
diff --git a/protocols/Skype/src/skype_messages.cpp b/protocols/Skype/src/skype_messages.cpp
index 031f9a0239..1a3ade58e4 100644
--- a/protocols/Skype/src/skype_messages.cpp
+++ b/protocols/Skype/src/skype_messages.cpp
@@ -4,7 +4,7 @@ int CSkypeProto::OnMessagePreCreate(WPARAM, LPARAM lParam)
{
MessageWindowEvent *evt = (MessageWindowEvent *)lParam;
- MessageRef message(evt->seq);
+ CMessage *message = g_skype->newMessage(evt->seq);
SEBinary guid;
if (message->GetPropGuid(guid))
{
diff --git a/protocols/Skype/src/skype_proto.h b/protocols/Skype/src/skype_proto.h
index a593229ebd..02e77d000b 100644
--- a/protocols/Skype/src/skype_proto.h
+++ b/protocols/Skype/src/skype_proto.h
@@ -166,6 +166,8 @@ public:
bool IsOnline();
+ static void InitLanguages();
+
BYTE NeedUpdate;
static void ShowNotification(const wchar_t *message, int flags = 0, HANDLE hContact = NULL);
@@ -312,7 +314,7 @@ protected:
void __cdecl SearchByEmailAsync(void*);
// profile
- static std::map<std::wstring, std::wstring> FillLanguages();
+ //static std::map<std::wstring, std::wstring> FillLanguages();
void UpdateProfileAvatar(SEObject *obj, HANDLE hContact = NULL);
void UpdateProfileAboutText(SEObject *obj, HANDLE hContact = NULL);
diff --git a/protocols/Skype/src/skype_utils.cpp b/protocols/Skype/src/skype_utils.cpp
index 2bfbb2319f..51a07fb9d9 100644
--- a/protocols/Skype/src/skype_utils.cpp
+++ b/protocols/Skype/src/skype_utils.cpp
@@ -15,229 +15,16 @@ wchar_t *CSkypeProto::ValidationReasons[] =
LPGENW("Value starts with an invalid character") /* STARTS_WITH_INVALID_CHAR */,
};
-std::map<std::wstring, std::wstring> CSkypeProto::FillLanguages()
+std::map<std::wstring, std::wstring> CSkypeProto::languages;
+
+void CSkypeProto::InitLanguages()
{
- std::map<std::wstring, std::wstring> result;
- result[L"ab"] = L"Abkhazian";
- result[L"aa"] = L"Afar";
- result[L"af"] = L"Afrikaans";
- result[L"ak"] = L"Akan";
- result[L"sq"] = L"Albanian";
- result[L"am"] = L"Amharic";
- result[L"ar"] = L"Arabic";
- result[L"an"] = L"Aragonese";
- result[L"hy"] = L"Armenian";
- result[L"as"] = L"Assamese";
- result[L"av"] = L"Avaric";
- result[L"ae"] = L"Avestan";
- result[L"ay"] = L"Aymara";
- result[L"az"] = L"Azerbaijani";
- result[L"bm"] = L"Bambara";
- result[L"ba"] = L"Bashkir";
- result[L"eu"] = L"Basque";
- result[L"be"] = L"Belarusian";
- result[L"bn"] = L"Bengali";
- result[L"bh"] = L"Bihari languages";
- result[L"bi"] = L"Bislama";
- result[L"nb"] = L"Bokmal, Norwegian";
- result[L"bs"] = L"Bosnian";
- result[L"br"] = L"Breton";
- result[L"bg"] = L"Bulgarian";
- result[L"my"] = L"Burmese";
- result[L"es"] = L"Castilian";
- result[L"ca"] = L"Catalan";
- result[L"km"] = L"Central Khmer";
- result[L"ch"] = L"Chamorro";
- result[L"ce"] = L"Chechen";
- result[L"ny"] = L"Chewa";
- result[L"ny"] = L"Chichewa";
- result[L"zh"] = L"Chinese";
- result[L"za"] = L"Chuang";
- result[L"cu"] = L"Church Slavic";
- result[L"cu"] = L"Church Slavonic";
- result[L"cv"] = L"Chuvash";
- result[L"kw"] = L"Cornish";
- result[L"co"] = L"Corsican";
- result[L"cr"] = L"Cree";
- result[L"hr"] = L"Croatian";
- result[L"cs"] = L"Czech";
- result[L"da"] = L"Danish";
- result[L"dv"] = L"Dhivehi";
- result[L"dv"] = L"Divehi";
- result[L"nl"] = L"Dutch";
- result[L"dz"] = L"Dzongkha";
- result[L"en"] = L"English";
- result[L"eo"] = L"Esperanto";
- result[L"et"] = L"Estonian";
- result[L"ee"] = L"Ewe";
- result[L"fo"] = L"Faroese";
- result[L"fj"] = L"Fijian";
- result[L"fi"] = L"Finnish";
- result[L"nl"] = L"Flemish";
- result[L"fr"] = L"French";
- result[L"ff"] = L"Fulah";
- result[L"gd"] = L"Gaelic";
- result[L"gl"] = L"Galician";
- result[L"lg"] = L"Ganda";
- result[L"ka"] = L"Georgian";
- result[L"de"] = L"German";
- result[L"ki"] = L"Gikuyu";
- result[L"el"] = L"Greek, Modern (1453-)";
- result[L"kl"] = L"Greenlandic";
- result[L"gn"] = L"Guarani";
- result[L"gu"] = L"Gujarati";
- result[L"ht"] = L"Haitian";
- result[L"ht"] = L"Haitian Creole";
- result[L"ha"] = L"Hausa";
- result[L"he"] = L"Hebrew";
- result[L"hz"] = L"Herero";
- result[L"hi"] = L"Hindi";
- result[L"ho"] = L"Hiri Motu";
- result[L"hu"] = L"Hungarian";
- result[L"is"] = L"Icelandic";
- result[L"io"] = L"Ido";
- result[L"ig"] = L"Igbo";
- result[L"id"] = L"Indonesian";
- result[L"ia"] = L"Interlingua (International Auxiliary Language Association)";
- result[L"ie"] = L"Interlingue";
- result[L"iu"] = L"Inuktitut";
- result[L"ik"] = L"Inupiaq";
- result[L"ga"] = L"Irish";
- result[L"it"] = L"Italian";
- result[L"ja"] = L"Japanese";
- result[L"jv"] = L"Javanese";
- result[L"kl"] = L"Kalaallisut";
- result[L"kn"] = L"Kannada";
- result[L"kr"] = L"Kanuri";
- result[L"ks"] = L"Kashmiri";
- result[L"kk"] = L"Kazakh";
- result[L"ki"] = L"Kikuyu";
- result[L"rw"] = L"Kinyarwanda";
- result[L"ky"] = L"Kirghiz";
- result[L"kv"] = L"Komi";
- result[L"kg"] = L"Kongo";
- result[L"ko"] = L"Korean";
- result[L"kj"] = L"Kuanyama";
- result[L"ku"] = L"Kurdish";
- result[L"kj"] = L"Kwanyama";
- result[L"ky"] = L"Kyrgyz";
- result[L"lo"] = L"Lao";
- result[L"la"] = L"Latin";
- result[L"lv"] = L"Latvian";
- result[L"lb"] = L"Letzeburgesch";
- result[L"li"] = L"Limburgan";
- result[L"li"] = L"Limburger";
- result[L"li"] = L"Limburgish";
- result[L"ln"] = L"Lingala";
- result[L"lt"] = L"Lithuanian";
- result[L"lu"] = L"Luba-Katanga";
- result[L"lb"] = L"Luxembourgish";
- result[L"mk"] = L"Macedonian";
- result[L"mg"] = L"Malagasy";
- result[L"ms"] = L"Malay";
- result[L"ml"] = L"Malayalam";
- result[L"dv"] = L"Maldivian";
- result[L"mt"] = L"Maltese";
- result[L"gv"] = L"Manx";
- result[L"mi"] = L"Maori";
- result[L"mr"] = L"Marathi";
- result[L"mh"] = L"Marshallese";
- result[L"ro"] = L"Moldavian";
- result[L"ro"] = L"Moldovan";
- result[L"mn"] = L"Mongolian";
- result[L"na"] = L"Nauru";
- result[L"nv"] = L"Navaho";
- result[L"nv"] = L"Navajo";
- result[L"nd"] = L"Ndebele, North";
- result[L"nr"] = L"Ndebele, South";
- result[L"ng"] = L"Ndonga";
- result[L"ne"] = L"Nepali";
- result[L"nd"] = L"North Ndebele";
- result[L"se"] = L"Northern Sami";
- result[L"no"] = L"Norwegian";
- result[L"nb"] = L"Norwegian Bokmal";
- result[L"nn"] = L"Norwegian Nynorsk";
- result[L"ii"] = L"Nuosu";
- result[L"ny"] = L"Nyanja";
- result[L"nn"] = L"Nynorsk, Norwegian";
- result[L"ie"] = L"Occidental";
- result[L"oc"] = L"Occitan (post 1500)";
- result[L"oj"] = L"Ojibwa";
- result[L"cu"] = L"Old Bulgarian";
- result[L"cu"] = L"Old Church Slavonic";
- result[L"cu"] = L"Old Slavonic";
- result[L"or"] = L"Oriya";
- result[L"om"] = L"Oromo";
- result[L"os"] = L"Ossetian";
- result[L"os"] = L"Ossetic";
- result[L"pi"] = L"Pali";
- result[L"pa"] = L"Panjabi";
- result[L"ps"] = L"Pashto";
- result[L"fa"] = L"Persian";
- result[L"pl"] = L"Polish";
- result[L"pt"] = L"Portuguese";
- result[L"pa"] = L"Punjabi";
- result[L"ps"] = L"Pushto";
- result[L"qu"] = L"Quechua";
- result[L"ro"] = L"Romanian";
- result[L"rm"] = L"Romansh";
- result[L"rn"] = L"Rundi";
- result[L"ru"] = L"Russian";
- result[L"sm"] = L"Samoan";
- result[L"sg"] = L"Sango";
- result[L"sa"] = L"Sanskrit";
- result[L"sc"] = L"Sardinian";
- result[L"gd"] = L"Scottish Gaelic";
- result[L"sr"] = L"Serbian";
- result[L"sn"] = L"Shona";
- result[L"ii"] = L"Sichuan Yi";
- result[L"sd"] = L"Sindhi";
- result[L"si"] = L"Sinhala";
- result[L"si"] = L"Sinhalese";
- result[L"sk"] = L"Slovak";
- result[L"sl"] = L"Slovenian";
- result[L"so"] = L"Somali";
- result[L"st"] = L"Sotho, Southern";
- result[L"nr"] = L"South Ndebele";
- result[L"es"] = L"Spanish";
- result[L"su"] = L"Sundanese";
- result[L"sw"] = L"Swahili";
- result[L"ss"] = L"Swati";
- result[L"sv"] = L"Swedish";
- result[L"tl"] = L"Tagalog";
- result[L"ty"] = L"Tahitian";
- result[L"tg"] = L"Tajik";
- result[L"ta"] = L"Tamil";
- result[L"tt"] = L"Tatar";
- result[L"te"] = L"Telugu";
- result[L"th"] = L"Thai";
- result[L"bo"] = L"Tibetan";
- result[L"ti"] = L"Tigrinya";
- result[L"to"] = L"Tonga (Tonga Islands)";
- result[L"ts"] = L"Tsonga";
- result[L"tn"] = L"Tswana";
- result[L"tr"] = L"Turkish";
- result[L"tk"] = L"Turkmen";
- result[L"tw"] = L"Twi";
- result[L"ug"] = L"Uighur";
- result[L"uk"] = L"Ukrainian";
- result[L"ur"] = L"Urdu";
- result[L"ug"] = L"Uyghur";
- result[L"uz"] = L"Uzbek";
- result[L"ca"] = L"Valencian";
- result[L"ve"] = L"Venda";
- result[L"vi"] = L"Vietnamese";
- result[L"vo"] = L"Volapuk";
- result[L"wa"] = L"Walloon";
- result[L"cy"] = L"Welsh";
- result[L"fy"] = L"Western Frisian";
- result[L"wo"] = L"Wolof";
- result[L"xh"] = L"Xhosa";
- result[L"yi"] = L"Yiddish";
- result[L"yo"] = L"Yoruba";
- result[L"za"] = L"Zhuang";
- result[L"zu"] = L"Zulu";
- return result;
+
+ List_String languageCodeList;
+ List_String languageNameList;
+ if (g_skype->GetISOLanguageInfo(languageCodeList, languageNameList))
+ for (size_t i = 0; i < languageCodeList.size(); i++)
+ CSkypeProto::languages[::mir_a2u(languageCodeList[i])] = ::mir_a2u(languageNameList[i]);
}
void CSkypeProto::InitCustomFolders()
diff --git a/protocols/Skype/src/version.h b/protocols/Skype/src/version.h
index d5849e9ee3..0aff49cd7d 100644
--- a/protocols/Skype/src/version.h
+++ b/protocols/Skype/src/version.h
@@ -14,7 +14,7 @@
#define __INTERNAL_NAME "Skype"
#define __FILENAME "Skype.dll"
#define __DESCRIPTION "Skype protocol support for Miranda NG."
-#define __AUTHOR "Unsane, Mataes"
+#define __AUTHOR "unsane, mataes, ghazan"
#define __AUTHOREMAIL "mataes2007@gmail.com"
#define __AUTHORWEB "http://miranda-ng.org/"
#define __COPYRIGHT "© 2012-2013 Unsane, Mataes"