summaryrefslogtreecommitdiff
path: root/plugins/AVS/src/services.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/AVS/src/services.cpp')
-rw-r--r--plugins/AVS/src/services.cpp369
1 files changed, 164 insertions, 205 deletions
diff --git a/plugins/AVS/src/services.cpp b/plugins/AVS/src/services.cpp
index 7c9354ea06..24d4579e6b 100644
--- a/plugins/AVS/src/services.cpp
+++ b/plugins/AVS/src/services.cpp
@@ -67,28 +67,29 @@ INT_PTR ProtectAvatar(WPARAM hContact, LPARAM lParam)
* image filename (will be checked for existance, though)
*/
-struct OpenFileSubclassData {
+struct OpenFileSubclassData
+{
BYTE *locking_request;
BYTE setView;
};
UINT_PTR CALLBACK OpenFileSubclass(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
- OpenFileSubclassData *data= (OpenFileSubclassData *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
+ OpenFileSubclassData *data = (OpenFileSubclassData *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
- switch(msg) {
+ switch (msg) {
case WM_INITDIALOG:
- {
- OPENFILENAME *ofn = (OPENFILENAME *)lParam;
+ {
+ OPENFILENAME *ofn = (OPENFILENAME *)lParam;
- data = (OpenFileSubclassData *) malloc(sizeof(OpenFileSubclassData));
- SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)data);
- data->locking_request = (BYTE *)ofn->lCustData;
- data->setView = TRUE;
+ data = (OpenFileSubclassData *)malloc(sizeof(OpenFileSubclassData));
+ SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)data);
+ data->locking_request = (BYTE *)ofn->lCustData;
+ data->setView = TRUE;
- TranslateDialogDefault(hwnd);
- CheckDlgButton(hwnd, IDC_PROTECTAVATAR, *(data->locking_request));
- }
+ TranslateDialogDefault(hwnd);
+ CheckDlgButton(hwnd, IDC_PROTECTAVATAR, *(data->locking_request));
+ }
break;
case WM_COMMAND:
@@ -99,7 +100,7 @@ UINT_PTR CALLBACK OpenFileSubclass(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
case WM_NOTIFY:
if (data->setView) {
HWND hwndParent = GetParent(hwnd);
- HWND hwndLv = FindWindowEx(hwndParent, NULL, _T("SHELLDLL_DefView"), NULL) ;
+ HWND hwndLv = FindWindowEx(hwndParent, NULL, _T("SHELLDLL_DefView"), NULL);
if (hwndLv != NULL) {
SendMessage(hwndLv, WM_COMMAND, SHVIEW_THUMBNAIL, 0);
data->setView = FALSE;
@@ -129,12 +130,12 @@ static INT_PTR avSetAvatar(MCONTACT hContact, TCHAR *tszPath)
is_locked = db_get_b(hContact, "ContactPhoto", "Locked", 0);
- if ( tszPath == NULL ) {
- OPENFILENAME ofn = {0};
+ if (tszPath == NULL) {
+ OPENFILENAME ofn = { 0 };
TCHAR filter[256];
filter[0] = '\0';
- CallService(MS_UTILS_GETBITMAPFILTERSTRINGST, SIZEOF(filter), ( LPARAM )filter);
+ CallService(MS_UTILS_GETBITMAPFILTERSTRINGST, SIZEOF(filter), (LPARAM)filter);
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = 0;
@@ -172,7 +173,7 @@ static INT_PTR avSetAvatar(MCONTACT hContact, TCHAR *tszPath)
CloseHandle(hFile);
- AVS_pathToRelative(szFinalName, szBackupName);
+ PathToRelativeT(szFinalName, szBackupName, g_szDataPath);
db_set_ts(hContact, "ContactPhoto", "Backup", szBackupName);
db_set_b(hContact, "ContactPhoto", "Locked", is_locked);
@@ -200,7 +201,7 @@ INT_PTR SetAvatarW(WPARAM wParam, LPARAM lParam)
static INT_PTR CanSetMyAvatar(WPARAM wParam, LPARAM lParam)
{
- char *protocol = (char *) wParam;
+ char *protocol = (char *)wParam;
if (protocol == NULL || fei == NULL)
return 0;
@@ -219,40 +220,36 @@ static int InternalRemoveMyAvatar(char *protocol)
// Remove avatar
int ret = 0;
- if (protocol != NULL)
- {
- if ( ProtoServiceExists(protocol, PS_SETMYAVATAR))
+ if (protocol != NULL) {
+ if (ProtoServiceExists(protocol, PS_SETMYAVATAR))
ret = SaveAvatar(protocol, NULL);
else
ret = -3;
- if (ret == 0)
- {
+ if (ret == 0) {
// Has global avatar?
- DBVARIANT dbv = {0};
- if ( !db_get_ts(NULL, AVS_MODULE, "GlobalUserAvatarFile", &dbv)) {
+ DBVARIANT dbv = { 0 };
+ if (!db_get_ts(NULL, AVS_MODULE, "GlobalUserAvatarFile", &dbv)) {
db_free(&dbv);
db_set_b(NULL, AVS_MODULE, "GlobalUserAvatarNotConsistent", 1);
DeleteGlobalUserAvatar();
}
}
}
- else
- {
+ else {
PROTOACCOUNT **accs;
- int i,count;
+ int i, count;
- ProtoEnumAccounts( &count, &accs );
- for (i = 0; i < count; i++)
- {
- if ( !ProtoServiceExists( accs[i]->szModuleName, PS_SETMYAVATAR))
+ ProtoEnumAccounts(&count, &accs);
+ for (i = 0; i < count; i++) {
+ if (!ProtoServiceExists(accs[i]->szModuleName, PS_SETMYAVATAR))
continue;
- if (!Proto_IsAvatarsEnabled( accs[i]->szModuleName ))
+ if (!Proto_IsAvatarsEnabled(accs[i]->szModuleName))
continue;
// Found a protocol
- int retTmp = SaveAvatar( accs[i]->szModuleName, NULL);
+ int retTmp = SaveAvatar(accs[i]->szModuleName, NULL);
if (retTmp != 0)
ret = retTmp;
}
@@ -267,7 +264,7 @@ static int InternalRemoveMyAvatar(char *protocol)
SetIgnoreNotify(protocol, FALSE);
- ReportMyAvatarChanged(WPARAM((protocol == NULL ) ? "" : protocol), 0);
+ ReportMyAvatarChanged(WPARAM((protocol == NULL) ? "" : protocol), 0);
return ret;
}
@@ -276,60 +273,58 @@ static void FilterGetStrings(TCHAR *filter, int bytesLeft, BOOL xml, BOOL swf)
TCHAR *pfilter;
int wParam = bytesLeft;
- lstrcpyn(filter, TranslateT("All Files"), bytesLeft); bytesLeft-=lstrlen(filter);
+ lstrcpyn(filter, TranslateT("All Files"), bytesLeft); bytesLeft -= lstrlen(filter);
_tcsncat(filter, _T(" (*.bmp;*.jpg;*.gif;*.png"), bytesLeft);
if (swf) _tcscat(filter, _T(";*.swf"));
if (xml) _tcscat(filter, _T(";*.xml"));
_tcscat(filter, _T(")"));
- pfilter=filter+lstrlen(filter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter = filter + lstrlen(filter) + 1; bytesLeft = wParam - (pfilter - filter);
lstrcpyn(pfilter, _T("*.BMP;*.RLE;*.JPG;*.JPEG;*.GIF;*.PNG"), bytesLeft);
if (swf) _tcscat(pfilter, _T(";*.SWF"));
if (xml) _tcscat(pfilter, _T(";*.XML"));
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
- lstrcpyn(pfilter, TranslateT("Windows Bitmaps"), bytesLeft); bytesLeft-=lstrlen(pfilter);
+ lstrcpyn(pfilter, TranslateT("Windows Bitmaps"), bytesLeft); bytesLeft -= lstrlen(pfilter);
_tcsncat(pfilter, _T(" (*.bmp;*.rle)"), bytesLeft);
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
lstrcpyn(pfilter, _T("*.BMP;*.RLE"), bytesLeft);
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
- lstrcpyn(pfilter,TranslateT("JPEG Bitmaps"),bytesLeft); bytesLeft-=lstrlen(pfilter);
+ lstrcpyn(pfilter, TranslateT("JPEG Bitmaps"), bytesLeft); bytesLeft -= lstrlen(pfilter);
_tcsncat(pfilter, _T(" (*.jpg;*.jpeg)"), bytesLeft);
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
lstrcpyn(pfilter, _T("*.JPG;*.JPEG"), bytesLeft);
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
- lstrcpyn(pfilter,TranslateT("GIF Bitmaps"),bytesLeft); bytesLeft-=lstrlen(pfilter);
+ lstrcpyn(pfilter, TranslateT("GIF Bitmaps"), bytesLeft); bytesLeft -= lstrlen(pfilter);
_tcsncat(pfilter, _T(" (*.gif)"), bytesLeft);
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
lstrcpyn(pfilter, _T("*.GIF"), bytesLeft);
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
- lstrcpyn(pfilter,TranslateT("PNG Bitmaps"), bytesLeft); bytesLeft-=lstrlen(pfilter);
+ lstrcpyn(pfilter, TranslateT("PNG Bitmaps"), bytesLeft); bytesLeft -= lstrlen(pfilter);
_tcsncat(pfilter, _T(" (*.png)"), bytesLeft);
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
lstrcpyn(pfilter, _T("*.PNG"), bytesLeft);
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
- if (swf)
- {
- lstrcpyn(pfilter,TranslateT("Flash Animations"), bytesLeft); bytesLeft-=lstrlen(pfilter);
+ if (swf) {
+ lstrcpyn(pfilter, TranslateT("Flash Animations"), bytesLeft); bytesLeft -= lstrlen(pfilter);
_tcsncat(pfilter, _T(" (*.swf)"), bytesLeft);
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
lstrcpyn(pfilter, _T("*.SWF"), bytesLeft);
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
}
- if (xml)
- {
- lstrcpyn(pfilter, TranslateT("XML Files"), bytesLeft); bytesLeft-=lstrlen(pfilter);
+ if (xml) {
+ lstrcpyn(pfilter, TranslateT("XML Files"), bytesLeft); bytesLeft -= lstrlen(pfilter);
_tcsncat(pfilter, _T(" (*.xml)"), bytesLeft);
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
lstrcpyn(pfilter, _T("*.XML"), bytesLeft);
- pfilter+=lstrlen(pfilter)+1; bytesLeft=wParam-(pfilter-filter);
+ pfilter += lstrlen(pfilter) + 1; bytesLeft = wParam - (pfilter - filter);
}
- if (bytesLeft) *pfilter='\0';
+ if (bytesLeft) *pfilter = '\0';
}
/*
@@ -337,59 +332,58 @@ static void FilterGetStrings(TCHAR *filter, int bytesLeft, BOOL xml, BOOL swf)
*/
static UINT_PTR CALLBACK SetMyAvatarHookProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
- switch(msg) {
+ switch (msg) {
case WM_INITDIALOG:
- {
- hwndSetMyAvatar = hwnd;
+ {
+ hwndSetMyAvatar = hwnd;
- SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)lParam);
- OPENFILENAME *ofn = (OPENFILENAME *)lParam;
- SetMyAvatarHookData *data = (SetMyAvatarHookData *) ofn->lCustData;
- data->thumbnail = TRUE;
+ SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)lParam);
+ OPENFILENAME *ofn = (OPENFILENAME *)lParam;
+ SetMyAvatarHookData *data = (SetMyAvatarHookData *)ofn->lCustData;
+ data->thumbnail = TRUE;
- SetWindowText(GetDlgItem(hwnd, IDC_MAKE_SQUARE), TranslateT("Make the avatar square"));
- SetWindowText(GetDlgItem(hwnd, IDC_GROW), TranslateT("Grow avatar to fit max allowed protocol size"));
+ SetWindowText(GetDlgItem(hwnd, IDC_MAKE_SQUARE), TranslateT("Make the avatar square"));
+ SetWindowText(GetDlgItem(hwnd, IDC_GROW), TranslateT("Grow avatar to fit max allowed protocol size"));
- CheckDlgButton(hwnd, IDC_MAKE_SQUARE, data->square ? BST_CHECKED : BST_UNCHECKED);
- CheckDlgButton(hwnd, IDC_GROW, data->grow ? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton(hwnd, IDC_MAKE_SQUARE, data->square ? BST_CHECKED : BST_UNCHECKED);
+ CheckDlgButton(hwnd, IDC_GROW, data->grow ? BST_CHECKED : BST_UNCHECKED);
- if (data->protocol != NULL && (Proto_AvatarImageProportion(data->protocol) & PIP_SQUARE))
- EnableWindow(GetDlgItem(hwnd, IDC_MAKE_SQUARE), FALSE);
- }
+ if (data->protocol != NULL && (Proto_AvatarImageProportion(data->protocol) & PIP_SQUARE))
+ EnableWindow(GetDlgItem(hwnd, IDC_MAKE_SQUARE), FALSE);
+ }
break;
case WM_NOTIFY:
- {
- OPENFILENAME *ofn = (OPENFILENAME *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
- SetMyAvatarHookData *data = (SetMyAvatarHookData *) ofn->lCustData;
- if (data->thumbnail)
- {
- HWND hwndParent = GetParent(hwnd);
- HWND hwndLv = FindWindowEx(hwndParent, NULL, _T("SHELLDLL_DefView"), NULL) ;
- if (hwndLv != NULL)
- {
- SendMessage(hwndLv, WM_COMMAND, SHVIEW_THUMBNAIL, 0);
- data->thumbnail = FALSE;
- }
+ {
+ OPENFILENAME *ofn = (OPENFILENAME *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
+ SetMyAvatarHookData *data = (SetMyAvatarHookData *)ofn->lCustData;
+ if (data->thumbnail) {
+ HWND hwndParent = GetParent(hwnd);
+ HWND hwndLv = FindWindowEx(hwndParent, NULL, _T("SHELLDLL_DefView"), NULL);
+ if (hwndLv != NULL) {
+ SendMessage(hwndLv, WM_COMMAND, SHVIEW_THUMBNAIL, 0);
+ data->thumbnail = FALSE;
}
- break;
}
+ break;
+ }
case WM_DESTROY:
- {
- OPENFILENAME *ofn = (OPENFILENAME *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
- SetMyAvatarHookData *data = (SetMyAvatarHookData *) ofn->lCustData;
- data->square = IsDlgButtonChecked(hwnd, IDC_MAKE_SQUARE);
- data->grow = IsDlgButtonChecked(hwnd, IDC_GROW);
-
- hwndSetMyAvatar = NULL;
- break;
- }
+ {
+ OPENFILENAME *ofn = (OPENFILENAME *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
+ SetMyAvatarHookData *data = (SetMyAvatarHookData *)ofn->lCustData;
+ data->square = IsDlgButtonChecked(hwnd, IDC_MAKE_SQUARE);
+ data->grow = IsDlgButtonChecked(hwnd, IDC_GROW);
+
+ hwndSetMyAvatar = NULL;
+ break;
+ }
}
return 0;
}
-struct SaveProtocolData {
+struct SaveProtocolData
+{
DWORD max_size;
TCHAR image_file_name[MAX_PATH];
BOOL saved;
@@ -402,11 +396,11 @@ struct SaveProtocolData {
void SaveImage(SaveProtocolData &d, char *protocol, int format)
{
- if ( !Proto_IsAvatarFormatSupported(protocol, format))
+ if (!Proto_IsAvatarFormatSupported(protocol, format))
return;
mir_sntprintf(d.image_file_name, SIZEOF(d.image_file_name), _T("%s%s"), d.temp_file, ProtoGetAvatarExtension(format));
- if ( BmpFilterSaveBitmapT(d.hBmpProto, d.image_file_name, format == PA_FORMAT_JPEG ? JPEG_QUALITYSUPERB : 0))
+ if (BmpFilterSaveBitmapT(d.hBmpProto, d.image_file_name, format == PA_FORMAT_JPEG ? JPEG_QUALITYSUPERB : 0))
return;
if (d.max_size != 0 && GetFileSize(d.image_file_name) > d.max_size) {
@@ -434,16 +428,14 @@ static int SetProtoMyAvatar(char *protocol, HBITMAP hBmp, TCHAR *originalFilenam
// If is swf or xml, just set it
- if (originalFormat == PA_FORMAT_SWF)
- {
+ if (originalFormat == PA_FORMAT_SWF) {
if (!Proto_IsAvatarFormatSupported(protocol, PA_FORMAT_SWF))
return -1;
return SaveAvatar(protocol, originalFilename);
}
- if (originalFormat == PA_FORMAT_XML)
- {
+ if (originalFormat == PA_FORMAT_XML) {
if (!Proto_IsAvatarFormatSupported(protocol, PA_FORMAT_XML))
return -1;
@@ -451,9 +443,9 @@ static int SetProtoMyAvatar(char *protocol, HBITMAP hBmp, TCHAR *originalFilenam
}
// Get protocol info
- SaveProtocolData d = {0};
+ SaveProtocolData d = { 0 };
- d.max_size = (DWORD) Proto_GetAvatarMaxFileSize(protocol);
+ d.max_size = (DWORD)Proto_GetAvatarMaxFileSize(protocol);
Proto_GetAvatarMaxSize(protocol, &d.width, &d.height);
int orig_width = d.width;
@@ -472,12 +464,11 @@ static int SetProtoMyAvatar(char *protocol, HBITMAP hBmp, TCHAR *originalFilenam
rb.max_height = d.height;
rb.max_width = d.width;
rb.fit = (grow ? 0 : RESIZEBITMAP_FLAG_DONT_GROW)
- | (square ? RESIZEBITMAP_MAKE_SQUARE : RESIZEBITMAP_KEEP_PROPORTIONS);
+ | (square ? RESIZEBITMAP_MAKE_SQUARE : RESIZEBITMAP_KEEP_PROPORTIONS);
- d.hBmpProto = (HBITMAP) BmpFilterResizeBitmap((WPARAM)&rb, 0);
+ d.hBmpProto = (HBITMAP)BmpFilterResizeBitmap((WPARAM)&rb, 0);
- if (d.hBmpProto == NULL)
- {
+ if (d.hBmpProto == NULL) {
if (d.temp_file[0] != '\0')
DeleteFile(d.temp_file);
return -1;
@@ -485,9 +476,8 @@ static int SetProtoMyAvatar(char *protocol, HBITMAP hBmp, TCHAR *originalFilenam
// Check if can use original image
if (d.hBmpProto == hBmp
- && Proto_IsAvatarFormatSupported(protocol, originalFormat)
- && (d.max_size == 0 || GetFileSize(originalFilename) < d.max_size))
- {
+ && Proto_IsAvatarFormatSupported(protocol, originalFormat)
+ && (d.max_size == 0 || GetFileSize(originalFilename) < d.max_size)) {
if (d.temp_file[0] != '\0')
DeleteFile(d.temp_file);
@@ -496,12 +486,10 @@ static int SetProtoMyAvatar(char *protocol, HBITMAP hBmp, TCHAR *originalFilenam
}
// Create a temporary file (if was not created already)
- if (d.temp_file[0] == '\0')
- {
+ if (d.temp_file[0] == '\0') {
d.temp_file[0] = '\0';
if (GetTempPath(MAX_PATH, d.temp_file) == 0
- || GetTempFileName(d.temp_file, _T("mir_av_"), 0, d.temp_file) == 0)
- {
+ || GetTempFileName(d.temp_file, _T("mir_av_"), 0, d.temp_file) == 0) {
DeleteObject(d.hBmpProto);
return -1;
}
@@ -526,8 +514,7 @@ static int SetProtoMyAvatar(char *protocol, HBITMAP hBmp, TCHAR *originalFilenam
SaveImage(d, protocol, PA_FORMAT_BMP);
num_tries++;
- if (!d.saved && d.need_smaller_size && num_tries < 4)
- {
+ if (!d.saved && d.need_smaller_size && num_tries < 4) {
// Cleanup
if (d.hBmpProto != hBmp)
DeleteObject(d.hBmpProto);
@@ -537,18 +524,17 @@ static int SetProtoMyAvatar(char *protocol, HBITMAP hBmp, TCHAR *originalFilenam
d.height = orig_height * (4 - num_tries) / 4;
}
- } while(!d.saved && d.need_smaller_size && num_tries < 4);
+ }
+ while (!d.saved && d.need_smaller_size && num_tries < 4);
int ret;
- if (d.saved)
- {
+ if (d.saved) {
// Call proto service
ret = SaveAvatar(protocol, d.image_file_name);
DeleteFile(d.image_file_name);
}
- else
- {
+ else {
ret = -1;
}
@@ -575,20 +561,17 @@ static int InternalSetMyAvatar(char *protocol, TCHAR *szFinalName, SetMyAvatarHo
HBITMAP hBmp = NULL;
- if (format == PA_FORMAT_SWF)
- {
+ if (format == PA_FORMAT_SWF) {
if (!allAcceptSWF)
return -4;
}
- else if (format == PA_FORMAT_XML)
- {
+ else if (format == PA_FORMAT_XML) {
if (!allAcceptXML)
return -4;
}
- else
- {
+ else {
// Try to open if is not a flash or XML
- hBmp = (HBITMAP) CallService(MS_IMG_LOAD, (WPARAM) szFinalName, IMGL_TCHAR);
+ hBmp = (HBITMAP)CallService(MS_IMG_LOAD, (WPARAM)szFinalName, IMGL_TCHAR);
if (hBmp == NULL)
return -4;
}
@@ -596,103 +579,88 @@ static int InternalSetMyAvatar(char *protocol, TCHAR *szFinalName, SetMyAvatarHo
SetIgnoreNotify(protocol, TRUE);
int ret = 0;
- if (protocol != NULL)
- {
+ if (protocol != NULL) {
ret = SetProtoMyAvatar(protocol, hBmp, szFinalName, format, data.square, data.grow);
- if (ret == 0)
- {
+ if (ret == 0) {
DeleteGlobalUserAvatar();
db_set_b(NULL, AVS_MODULE, "GlobalUserAvatarNotConsistent", 1);
}
}
- else
- {
+ else {
PROTOACCOUNT **accs;
- int i,count;
+ int i, count;
- ProtoEnumAccounts( &count, &accs );
- for (i = 0; i < count; i++)
- {
- if ( !ProtoServiceExists( accs[i]->szModuleName, PS_SETMYAVATAR))
+ ProtoEnumAccounts(&count, &accs);
+ for (i = 0; i < count; i++) {
+ if (!ProtoServiceExists(accs[i]->szModuleName, PS_SETMYAVATAR))
continue;
- if ( !Proto_IsAvatarsEnabled( accs[i]->szModuleName ))
+ if (!Proto_IsAvatarsEnabled(accs[i]->szModuleName))
continue;
- int retTmp = SetProtoMyAvatar( accs[i]->szModuleName, hBmp, szFinalName, format, data.square, data.grow);
+ int retTmp = SetProtoMyAvatar(accs[i]->szModuleName, hBmp, szFinalName, format, data.square, data.grow);
if (retTmp != 0)
ret = retTmp;
}
DeleteGlobalUserAvatar();
- if (ret)
- {
+ if (ret) {
db_set_b(NULL, AVS_MODULE, "GlobalUserAvatarNotConsistent", 1);
}
- else
- {
+ else {
// Copy avatar file to store as global one
TCHAR globalFile[1024];
BOOL saved = TRUE;
- if (FoldersGetCustomPathT(hGlobalAvatarFolder, globalFile, SIZEOF(globalFile), _T("")))
- {
- mir_sntprintf(globalFile, SIZEOF(globalFile), _T("%s\\%s"), g_szDataPath, _T("GlobalAvatar"));
+ if (FoldersGetCustomPathT(hGlobalAvatarFolder, globalFile, SIZEOF(globalFile), _T(""))) {
+ mir_sntprintf(globalFile, SIZEOF(globalFile), _T("%s%s"), g_szDataPath, _T("GlobalAvatar"));
CreateDirectory(globalFile, NULL);
}
TCHAR *ext = _tcsrchr(szFinalName, _T('.')); // Can't be NULL here
- if (format == PA_FORMAT_XML || format == PA_FORMAT_SWF)
- {
+ if (format == PA_FORMAT_XML || format == PA_FORMAT_SWF) {
mir_sntprintf(globalFile, SIZEOF(globalFile), _T("%s\\my_global_avatar%s"), globalFile, ext);
CopyFile(szFinalName, globalFile, FALSE);
}
- else
- {
+ else {
// Resize (to avoid too big avatars)
- ResizeBitmap rb = {0};
+ ResizeBitmap rb = { 0 };
rb.size = sizeof(ResizeBitmap);
rb.hBmp = hBmp;
rb.max_height = 300;
rb.max_width = 300;
rb.fit = (data.grow ? 0 : RESIZEBITMAP_FLAG_DONT_GROW)
- | (data.square ? RESIZEBITMAP_MAKE_SQUARE : RESIZEBITMAP_KEEP_PROPORTIONS);
+ | (data.square ? RESIZEBITMAP_MAKE_SQUARE : RESIZEBITMAP_KEEP_PROPORTIONS);
- HBITMAP hBmpTmp = (HBITMAP) BmpFilterResizeBitmap((WPARAM)&rb, 0);
+ HBITMAP hBmpTmp = (HBITMAP)BmpFilterResizeBitmap((WPARAM)&rb, 0);
// Check if need to resize
- if (hBmpTmp == hBmp || hBmpTmp == NULL)
- {
+ if (hBmpTmp == hBmp || hBmpTmp == NULL) {
// Use original image
mir_sntprintf(globalFile, SIZEOF(globalFile), _T("%s\\my_global_avatar%s"), globalFile, ext);
CopyFile(szFinalName, globalFile, FALSE);
}
- else
- {
+ else {
// Save as PNG
mir_sntprintf(globalFile, SIZEOF(globalFile), _T("%s\\my_global_avatar.png"), globalFile);
- if (BmpFilterSaveBitmap((WPARAM) hBmpTmp, (LPARAM) globalFile))
+ if (BmpFilterSaveBitmap((WPARAM)hBmpTmp, (LPARAM)globalFile))
saved = FALSE;
DeleteObject(hBmpTmp);
}
}
- if (saved)
- {
+ if (saved) {
TCHAR relFile[1024];
- if (AVS_pathToRelative(globalFile, relFile))
+ if (PathToRelativeT(globalFile, relFile, g_szDataPath))
db_set_ts(NULL, AVS_MODULE, "GlobalUserAvatarFile", relFile);
else
db_set_ts(NULL, AVS_MODULE, "GlobalUserAvatarFile", globalFile);
db_set_b(NULL, AVS_MODULE, "GlobalUserAvatarNotConsistent", 0);
}
- else
- {
- db_set_b(NULL, AVS_MODULE, "GlobalUserAvatarNotConsistent", 1);
- }
+ else db_set_b(NULL, AVS_MODULE, "GlobalUserAvatarNotConsistent", 1);
}
}
@@ -704,7 +672,7 @@ static int InternalSetMyAvatar(char *protocol, TCHAR *szFinalName, SetMyAvatarHo
return ret;
}
-INT_PTR avSetMyAvatar( char* protocol, TCHAR* tszPath )
+INT_PTR avSetMyAvatar(char* protocol, TCHAR* tszPath)
{
TCHAR FileName[MAX_PATH];
TCHAR *szFinalName = NULL;
@@ -725,41 +693,38 @@ INT_PTR avSetMyAvatar( char* protocol, TCHAR* tszPath )
SetMyAvatarHookData data = { 0 };
// Check for XML and SWF
- if (protocol == NULL)
- {
+ if (protocol == NULL) {
allAcceptXML = TRUE;
allAcceptSWF = TRUE;
PROTOACCOUNT **accs;
- int i,count;
+ int i, count;
- ProtoEnumAccounts( &count, &accs );
- for (i = 0; i < count; i++)
- {
- if ( !ProtoServiceExists( accs[i]->szModuleName, PS_SETMYAVATAR))
+ ProtoEnumAccounts(&count, &accs);
+ for (i = 0; i < count; i++) {
+ if (!ProtoServiceExists(accs[i]->szModuleName, PS_SETMYAVATAR))
continue;
- if ( !Proto_IsAvatarsEnabled( accs[i]->szModuleName ))
+ if (!Proto_IsAvatarsEnabled(accs[i]->szModuleName))
continue;
- allAcceptXML = allAcceptXML && Proto_IsAvatarFormatSupported( accs[i]->szModuleName, PA_FORMAT_XML);
- allAcceptSWF = allAcceptSWF && Proto_IsAvatarFormatSupported( accs[i]->szModuleName, PA_FORMAT_SWF);
+ allAcceptXML = allAcceptXML && Proto_IsAvatarFormatSupported(accs[i]->szModuleName, PA_FORMAT_XML);
+ allAcceptSWF = allAcceptSWF && Proto_IsAvatarFormatSupported(accs[i]->szModuleName, PA_FORMAT_SWF);
}
data.square = db_get_b(0, AVS_MODULE, "SetAllwaysMakeSquare", 0);
}
- else
- {
+ else {
allAcceptXML = Proto_IsAvatarFormatSupported(protocol, PA_FORMAT_XML);
allAcceptSWF = Proto_IsAvatarFormatSupported(protocol, PA_FORMAT_SWF);
data.protocol = protocol;
data.square = (Proto_AvatarImageProportion(protocol) & PIP_SQUARE)
- || db_get_b(0, AVS_MODULE, "SetAllwaysMakeSquare", 0);
+ || db_get_b(0, AVS_MODULE, "SetAllwaysMakeSquare", 0);
}
if (tszPath == NULL) {
- OPENFILENAME ofn = {0};
+ OPENFILENAME ofn = { 0 };
TCHAR filter[512];
TCHAR inipath[1024];
@@ -780,7 +745,7 @@ INT_PTR avSetMyAvatar( char* protocol, TCHAR* tszPath )
ofn.lpstrInitialDir = inipath;
ofn.lpTemplateName = MAKEINTRESOURCE(IDD_SET_OWN_SUBCLASS);
ofn.lpfnHook = SetMyAvatarHookProc;
- ofn.lCustData = (LPARAM) &data;
+ ofn.lCustData = (LPARAM)&data;
*FileName = '\0';
ofn.lpstrDefExt = _T("");
@@ -789,8 +754,7 @@ INT_PTR avSetMyAvatar( char* protocol, TCHAR* tszPath )
TCHAR title[256];
if (protocol == NULL)
mir_sntprintf(title, SIZEOF(title), TranslateT("Set My Avatar"));
- else
- {
+ else {
TCHAR* prototmp = mir_a2t(protocol);
mir_sntprintf(title, SIZEOF(title), TranslateT("Set My Avatar for %s"), prototmp);
mir_free(prototmp);
@@ -802,27 +766,23 @@ INT_PTR avSetMyAvatar( char* protocol, TCHAR* tszPath )
else
return 1;
}
- else
- szFinalName = (TCHAR *)tszPath;
-
- /*
- * filename is now set, check it and perform all needed action
- */
+ else szFinalName = (TCHAR*)tszPath;
+ // filename is now set, check it and perform all needed action
if (szFinalName[0] == '\0')
return InternalRemoveMyAvatar(protocol);
return InternalSetMyAvatar(protocol, szFinalName, data, allAcceptXML, allAcceptSWF);
}
-static INT_PTR SetMyAvatar( WPARAM wParam, LPARAM lParam )
+static INT_PTR SetMyAvatar(WPARAM wParam, LPARAM lParam)
{
- return avSetMyAvatar(( char* )wParam, _A2T(( const char* )lParam ));
+ return avSetMyAvatar((char*)wParam, _A2T((const char*)lParam));
}
-static INT_PTR SetMyAvatarW( WPARAM wParam, LPARAM lParam )
+static INT_PTR SetMyAvatarW(WPARAM wParam, LPARAM lParam)
{
- return avSetMyAvatar(( char* )wParam, ( TCHAR* )lParam );
+ return avSetMyAvatar((char*)wParam, (TCHAR*)lParam);
}
/////////////////////////////////////////////////////////////////////////////////////////
@@ -840,9 +800,9 @@ static INT_PTR ContactOptions(WPARAM wParam, LPARAM lParam)
INT_PTR DrawAvatarPicture(WPARAM wParam, LPARAM lParam)
{
- AVATARDRAWREQUEST *r = (AVATARDRAWREQUEST *)lParam;
AVATARCACHEENTRY *ace = NULL;
+ AVATARDRAWREQUEST *r = (AVATARDRAWREQUEST*)lParam;
if (fei == NULL || r == NULL || IsBadReadPtr((void *)r, sizeof(AVATARDRAWREQUEST)))
return 0;
@@ -855,7 +815,7 @@ INT_PTR DrawAvatarPicture(WPARAM wParam, LPARAM lParam)
for (int i = 0; i < g_ProtoPictures.getCount(); i++) {
protoPicCacheEntry& p = g_ProtoPictures[i];
- if ( !lstrcmpA(p.szProtoname, r->szProto) && lstrlenA(r->szProto) == lstrlenA(p.szProtoname) && p.hbmPic != 0) {
+ if (!lstrcmpA(p.szProtoname, r->szProto) && lstrlenA(r->szProto) == lstrlenA(p.szProtoname) && p.hbmPic != 0) {
ace = (AVATARCACHEENTRY *)&g_ProtoPictures[i];
break;
}
@@ -870,8 +830,7 @@ INT_PTR DrawAvatarPicture(WPARAM wParam, LPARAM lParam)
ace = (AVATARCACHEENTRY *)GetMyAvatar(0, (LPARAM)r->szProto);
}
- else
- ace = (AVATARCACHEENTRY *)GetAvatarBitmap((WPARAM)r->hContact, 0);
+ else ace = (AVATARCACHEENTRY *)GetAvatarBitmap((WPARAM)r->hContact, 0);
if (ace && (!(r->dwFlags & AVDRQ_RESPECTHIDDEN) || !(ace->dwFlags & AVS_HIDEONCLIST))) {
ace->t_lastAccess = time(NULL);
@@ -917,9 +876,9 @@ static void ReloadMyAvatar(LPVOID lpParam)
if (szProto[0] == 0) {
// Notify to all possibles
if (lstrcmpA(myAvatarProto, szProto)) {
- if (!ProtoServiceExists( myAvatarProto, PS_SETMYAVATAR))
+ if (!ProtoServiceExists(myAvatarProto, PS_SETMYAVATAR))
continue;
- if (!Proto_IsAvatarsEnabled( myAvatarProto ))
+ if (!Proto_IsAvatarsEnabled(myAvatarProto))
continue;
}
@@ -949,7 +908,7 @@ INT_PTR ReportMyAvatarChanged(WPARAM wParam, LPARAM lParam)
if (g_MyAvatars[i].dwFlags & AVS_IGNORENOTIFY)
continue;
- if ( !lstrcmpA(g_MyAvatars[i].szProtoname, proto)) {
+ if (!lstrcmpA(g_MyAvatars[i].szProtoname, proto)) {
LPVOID lpParam = (void *)malloc(lstrlenA(g_MyAvatars[i].szProtoname) + 2);
strcpy((char *)lpParam, g_MyAvatars[i].szProtoname);
mir_forkthread(ReloadMyAvatar, lpParam);