diff options
author | George Hazan <george.hazan@gmail.com> | 2012-06-08 21:40:43 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2012-06-08 21:40:43 +0000 |
commit | 56984a95c2514df3a96849d790a3e1bc5b3de52a (patch) | |
tree | d4b2a95ab02e325fb90b2d3ff67bedaf12ffbcda /plugins/TopToolBar | |
parent | 6b81bb77ecf6025bd79ee376cea62da94f6aefcc (diff) |
TopToolButton -> Unicode (any miracles are possible)
git-svn-id: http://svn.miranda-ng.org/main/trunk@366 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/TopToolBar')
-rw-r--r-- | plugins/TopToolBar/CLCButton.cpp | 242 | ||||
-rw-r--r-- | plugins/TopToolBar/InternalButtons.cpp | 32 | ||||
-rw-r--r-- | plugins/TopToolBar/TopToolBar.vcxproj | 8 | ||||
-rw-r--r-- | plugins/TopToolBar/button.cpp | 27 | ||||
-rw-r--r-- | plugins/TopToolBar/common.h | 36 | ||||
-rw-r--r-- | plugins/TopToolBar/launchbt.cpp | 75 | ||||
-rw-r--r-- | plugins/TopToolBar/main.cpp | 143 | ||||
-rw-r--r-- | plugins/TopToolBar/main.rc | 92 | ||||
-rw-r--r-- | plugins/TopToolBar/separators.cpp | 6 | ||||
-rw-r--r-- | plugins/TopToolBar/ttbopt.cpp | 268 |
10 files changed, 436 insertions, 493 deletions
diff --git a/plugins/TopToolBar/CLCButton.cpp b/plugins/TopToolBar/CLCButton.cpp index 7993a085c9..d4078129ca 100644 --- a/plugins/TopToolBar/CLCButton.cpp +++ b/plugins/TopToolBar/CLCButton.cpp @@ -5,7 +5,7 @@ Copyright (C) 2002 Robert Rainwater This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. +of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -13,17 +13,17 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "common.h" // TODO: // - Support for bitmap buttons (simple call to DrawIconEx()) extern HINSTANCE hInst; -LONG g_cxsmIcon, g_cysmIcon; +LONG g_cxsmIcon, g_cysmIcon; -static LRESULT CALLBACK TSButtonWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); +static LRESULT CALLBACK TSButtonWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); struct MButtonCtrl { @@ -33,7 +33,7 @@ struct MButtonCtrl HFONT hFont; // font HICON arrow; // uses down arrow int defbutton; // default button - HICON hIcon, hIconPrivate; + HICON hIcon, hIconPrivate; HBITMAP hBitmap; int pushBtn; int pbState; @@ -50,15 +50,15 @@ struct MButtonCtrl // External theme methods and properties static HMODULE themeAPIHandle = NULL; // handle to uxtheme.dll -static HANDLE (WINAPI *MyOpenThemeData)(HWND, LPCWSTR); +static HANDLE (WINAPI *MyOpenThemeData)(HWND, LPCWSTR); static HRESULT (WINAPI *MyCloseThemeData)(HANDLE); -static BOOL (WINAPI *MyIsThemeBackgroundPartiallyTransparent)(HANDLE, int, +static BOOL (WINAPI *MyIsThemeBackgroundPartiallyTransparent)(HANDLE, int, int); -static HRESULT (WINAPI *MyDrawThemeParentBackground)(HWND, HDC, RECT *); -static HRESULT (WINAPI *MyDrawThemeBackground)(HANDLE, HDC, int, int, - const RECT *, const RECT *); -static HRESULT (WINAPI *MyDrawThemeText)(HANDLE, HDC, int, int, LPCWSTR, int, - DWORD, DWORD, const RECT *); +static HRESULT (WINAPI *MyDrawThemeParentBackground)(HWND, HDC, RECT *); +static HRESULT (WINAPI *MyDrawThemeBackground)(HANDLE, HDC, int, int, + const RECT *, const RECT *); +static HRESULT (WINAPI *MyDrawThemeText)(HANDLE, HDC, int, int, LPCWSTR, int, + DWORD, DWORD, const RECT *); static CRITICAL_SECTION csTips; static HWND hwndToolTips = NULL; @@ -74,12 +74,12 @@ static int ThemeSupport() if (!themeAPIHandle) { themeAPIHandle = GetModuleHandleA("uxtheme"); if (themeAPIHandle) { - MyOpenThemeData = (HANDLE(WINAPI *)(HWND, LPCWSTR))MGPROC("OpenThemeData"); + MyOpenThemeData = (HANDLE(WINAPI *)(HWND, LPCWSTR))MGPROC("OpenThemeData"); MyCloseThemeData = (HRESULT(WINAPI *)(HANDLE))MGPROC("CloseThemeData"); - MyIsThemeBackgroundPartiallyTransparent = (BOOL(WINAPI *)(HANDLE, int, int))MGPROC("IsThemeBackgroundPartiallyTransparent"); - MyDrawThemeParentBackground = (HRESULT(WINAPI *)(HWND, HDC, RECT *))MGPROC("DrawThemeParentBackground"); - MyDrawThemeBackground = (HRESULT(WINAPI *)(HANDLE, HDC, int, int, const RECT *, const RECT *))MGPROC("DrawThemeBackground"); - MyDrawThemeText = (HRESULT(WINAPI *)(HANDLE, HDC, int, int, LPCWSTR, int, DWORD, DWORD, const RECT *))MGPROC("DrawThemeText"); + MyIsThemeBackgroundPartiallyTransparent = (BOOL(WINAPI *)(HANDLE, int, int))MGPROC("IsThemeBackgroundPartiallyTransparent"); + MyDrawThemeParentBackground = (HRESULT(WINAPI *)(HWND, HDC, RECT *))MGPROC("DrawThemeParentBackground"); + MyDrawThemeBackground = (HRESULT(WINAPI *)(HANDLE, HDC, int, int, const RECT *, const RECT *))MGPROC("DrawThemeBackground"); + MyDrawThemeText = (HRESULT(WINAPI *)(HANDLE, HDC, int, int, LPCWSTR, int, DWORD, DWORD, const RECT *))MGPROC("DrawThemeText"); } } // Make sure all of these methods are valid (i would hope either all or none work) @@ -107,8 +107,8 @@ static void LoadTheme(MButtonCtrl *ctl) { if (ThemeSupport()) { DestroyTheme(ctl); - ctl->hThemeButton = MyOpenThemeData(ctl->hwnd, L"BUTTON"); - ctl->hThemeToolbar = MyOpenThemeData(ctl->hwnd, L"TOOLBAR"); + ctl->hThemeButton = MyOpenThemeData(ctl->hwnd, L"BUTTON"); + ctl->hThemeToolbar = MyOpenThemeData(ctl->hwnd, L"TOOLBAR"); ctl->bThemed = TRUE; } } @@ -125,19 +125,19 @@ static int TBStateConvert2Flat(int state) return TS_NORMAL; } -static void PaintWorker(MButtonCtrl *ctl, HDC hdcPaint) +static void PaintWorker(MButtonCtrl *ctl, HDC hdcPaint) { - if (hdcPaint == NULL) + if (hdcPaint == NULL) return; HFONT hOldFont = NULL; RECT rcClient; - GetClientRect(ctl->hwnd, &rcClient); + GetClientRect(ctl->hwnd, &rcClient); HDC hdcMem = CreateCompatibleDC(hdcPaint); - HBITMAP hbmMem = CreateCompatibleBitmap(hdcPaint, rcClient.right - rcClient.left, rcClient.bottom - rcClient.top); - HDC hOld = (HDC)SelectObject(hdcMem, hbmMem); + HBITMAP hbmMem = CreateCompatibleBitmap(hdcPaint, rcClient.right - rcClient.left, rcClient.bottom - rcClient.top); + HDC hOld = (HDC)SelectObject(hdcMem, hbmMem); - // If its a push button, check to see if it should stay pressed + // If its a push button, check to see if it should stay pressed if (ctl->pushBtn && ctl->pbState) ctl->stateId = PBS_PRESSED; @@ -146,10 +146,10 @@ static void PaintWorker(MButtonCtrl *ctl, HDC hdcPaint) if (ctl->hThemeToolbar && ctl->bThemed) { RECT rc = rcClient; int state = IsWindowEnabled(ctl->hwnd) ? (ctl->stateId == PBS_NORMAL && ctl->defbutton ? PBS_DEFAULTED : ctl->stateId) : PBS_DISABLED; - if (MyIsThemeBackgroundPartiallyTransparent(ctl->hThemeToolbar, TP_BUTTON, TBStateConvert2Flat(state))) - MyDrawThemeParentBackground(ctl->hwnd, hdcMem, &rc); + if (MyIsThemeBackgroundPartiallyTransparent(ctl->hThemeToolbar, TP_BUTTON, TBStateConvert2Flat(state))) + MyDrawThemeParentBackground(ctl->hwnd, hdcMem, &rc); - MyDrawThemeBackground(ctl->hThemeToolbar, hdcMem, TP_BUTTON, TBStateConvert2Flat(state), &rc, &rc); + MyDrawThemeBackground(ctl->hThemeToolbar, hdcMem, TP_BUTTON, TBStateConvert2Flat(state), &rc, &rc); } else { HBRUSH hbr; @@ -160,113 +160,111 @@ static void PaintWorker(MButtonCtrl *ctl, HDC hdcPaint) else { HWND hwndParent = GetParent(ctl->hwnd); HDC dc = GetDC(hwndParent); - hbr = (HBRUSH) SendMessage(hwndParent, WM_CTLCOLORDLG, (WPARAM) dc, (LPARAM) hwndParent); - ReleaseDC(hwndParent, dc); + hbr = (HBRUSH) SendMessage(hwndParent, WM_CTLCOLORDLG, (WPARAM) dc, (LPARAM) hwndParent); + ReleaseDC(hwndParent, dc); } if (hbr) { - FillRect(hdcMem, &rc, hbr); + FillRect(hdcMem, &rc, hbr); DeleteObject(hbr); } if (ctl->stateId == PBS_HOT || ctl->focus) { if (ctl->pbState) - DrawEdge(hdcMem, &rc, EDGE_ETCHED, BF_RECT | BF_SOFT); + DrawEdge(hdcMem, &rc, EDGE_ETCHED, BF_RECT | BF_SOFT); else - DrawEdge(hdcMem, &rc, BDR_RAISEDOUTER, BF_RECT | BF_SOFT); + DrawEdge(hdcMem, &rc, BDR_RAISEDOUTER, BF_RECT | BF_SOFT); } - else if (ctl->stateId == PBS_PRESSED) - DrawEdge(hdcMem, &rc, BDR_SUNKENOUTER, BF_RECT | BF_SOFT); + else if (ctl->stateId == PBS_PRESSED) + DrawEdge(hdcMem, &rc, BDR_SUNKENOUTER, BF_RECT | BF_SOFT); } } else { // Draw background/border if (ctl->hThemeButton && ctl->bThemed) { int state = IsWindowEnabled(ctl->hwnd) ? (ctl->stateId == PBS_NORMAL && ctl->defbutton ? PBS_DEFAULTED : ctl->stateId) : PBS_DISABLED; - if (MyIsThemeBackgroundPartiallyTransparent(ctl->hThemeButton, BP_PUSHBUTTON, state)) { - MyDrawThemeParentBackground(ctl->hwnd, hdcMem, &rcClient); + if (MyIsThemeBackgroundPartiallyTransparent(ctl->hThemeButton, BP_PUSHBUTTON, state)) { + MyDrawThemeParentBackground(ctl->hwnd, hdcMem, &rcClient); } - MyDrawThemeBackground(ctl->hThemeButton, hdcMem, BP_PUSHBUTTON, state, &rcClient, &rcClient); + MyDrawThemeBackground(ctl->hThemeButton, hdcMem, BP_PUSHBUTTON, state, &rcClient, &rcClient); } else { UINT uState = DFCS_BUTTONPUSH | ((ctl->stateId == PBS_HOT) ? DFCS_HOT : 0) | ((ctl->stateId == PBS_PRESSED) ? DFCS_PUSHED : 0); if (ctl->defbutton && ctl->stateId == PBS_NORMAL) uState |= DLGC_DEFPUSHBUTTON; - DrawFrameControl(hdcMem, &rcClient, DFC_BUTTON, uState); + DrawFrameControl(hdcMem, &rcClient, DFC_BUTTON, uState); } // Draw focus rectangle if button has focus if (ctl->focus) { RECT focusRect = rcClient; - InflateRect(&focusRect, -3, -3); - DrawFocusRect(hdcMem, &focusRect); + InflateRect(&focusRect, -3, -3); + DrawFocusRect(hdcMem, &focusRect); } } - // If we have an icon or a bitmap, ignore text and only draw the image on the button + // If we have an icon or a bitmap, ignore text and only draw the image on the button if (ctl->hIcon || ctl->hIconPrivate || ctl->iIcon) { int ix = (rcClient.right - rcClient.left) / 2 - (g_cxsmIcon / 2); int iy = (rcClient.bottom - rcClient.top) / 2 - (g_cxsmIcon / 2); HICON hIconNew = ctl->hIconPrivate != 0 ? ctl->hIconPrivate : ctl->hIcon; if (lstrlenA(ctl->szText) == 0) { if (ctl->iIcon) - ImageList_DrawEx(ctl->hIml, ctl->iIcon, hdcMem, ix, iy, g_cxsmIcon, g_cysmIcon, CLR_NONE, CLR_NONE, ILD_NORMAL); + ImageList_DrawEx(ctl->hIml, ctl->iIcon, hdcMem, ix, iy, g_cxsmIcon, g_cysmIcon, CLR_NONE, CLR_NONE, ILD_NORMAL); else - DrawState(hdcMem, NULL, NULL, (LPARAM) hIconNew, 0, ix, iy, g_cxsmIcon, g_cysmIcon, IsWindowEnabled(ctl->hwnd) ? DST_ICON | DSS_NORMAL : DST_ICON | DSS_DISABLED); + DrawState(hdcMem, NULL, NULL, (LPARAM) hIconNew, 0, ix, iy, g_cxsmIcon, g_cysmIcon, IsWindowEnabled(ctl->hwnd) ? DST_ICON | DSS_NORMAL : DST_ICON | DSS_DISABLED); ctl->sLabel.cx = ctl->sLabel.cy = 0; } else { - hOldFont = (HFONT)SelectObject(hdcMem, ctl->hFont); - GetTextExtentPoint32A(hdcMem, ctl->szText, lstrlenA(ctl->szText), &ctl->sLabel); + hOldFont = (HFONT)SelectObject(hdcMem, ctl->hFont); + GetTextExtentPoint32A(hdcMem, ctl->szText, lstrlenA(ctl->szText), &ctl->sLabel); ix = (rcClient.right - rcClient.left) / 2 - ((g_cxsmIcon + ctl->sLabel.cx + 4) / 2); if (ctl->iIcon) - ImageList_DrawEx(ctl->hIml, ctl->iIcon, hdcMem, ix, iy, g_cxsmIcon, g_cysmIcon, CLR_NONE, CLR_NONE, ILD_NORMAL); + ImageList_DrawEx(ctl->hIml, ctl->iIcon, hdcMem, ix, iy, g_cxsmIcon, g_cysmIcon, CLR_NONE, CLR_NONE, ILD_NORMAL); else - DrawState(hdcMem, NULL, NULL, (LPARAM) hIconNew, 0, ix, iy, g_cxsmIcon, g_cysmIcon, IsWindowEnabled(ctl->hwnd) ? DST_ICON | DSS_NORMAL : DST_ICON | DSS_DISABLED); + DrawState(hdcMem, NULL, NULL, (LPARAM) hIconNew, 0, ix, iy, g_cxsmIcon, g_cysmIcon, IsWindowEnabled(ctl->hwnd) ? DST_ICON | DSS_NORMAL : DST_ICON | DSS_DISABLED); ctl->sLabel.cx += (g_cxsmIcon + 4); } } else if (ctl->hBitmap) { BITMAP bminfo; - int ix, iy; - - GetObject(ctl->hBitmap, sizeof(bminfo), &bminfo); - ix = (rcClient.right - rcClient.left) / 2 - (bminfo.bmWidth / 2); - iy = (rcClient.bottom - rcClient.top) / 2 - (bminfo.bmHeight / 2); + GetObject(ctl->hBitmap, sizeof(bminfo), &bminfo); + int ix = (rcClient.right - rcClient.left) / 2 - (bminfo.bmWidth / 2); + int iy = (rcClient.bottom - rcClient.top) / 2 - (bminfo.bmHeight / 2); if (ctl->stateId == PBS_PRESSED) { ix++; iy++; } - DrawState(hdcMem, NULL, NULL, (LPARAM) ctl->hBitmap, 0, ix, iy, bminfo.bmWidth, bminfo.bmHeight, IsWindowEnabled(ctl->hwnd) ? DST_BITMAP : DST_BITMAP | DSS_DISABLED); + DrawState(hdcMem, NULL, NULL, (LPARAM) ctl->hBitmap, 0, ix, iy, bminfo.bmWidth, bminfo.bmHeight, IsWindowEnabled(ctl->hwnd) ? DST_BITMAP : DST_BITMAP | DSS_DISABLED); } if (GetWindowTextLengthA(ctl->hwnd)) { // Draw the text and optinally the arrow RECT rcText; - CopyRect(&rcText, &rcClient); - SetBkMode(hdcMem, TRANSPARENT); + CopyRect(&rcText, &rcClient); + SetBkMode(hdcMem, TRANSPARENT); // XP w/themes doesn't used the glossy disabled text. Is it always using COLOR_GRAYTEXT? Seems so. - SetTextColor(hdcMem, IsWindowEnabled(ctl->hwnd) || !ctl->hThemeButton ? GetSysColor(COLOR_BTNTEXT) : GetSysColor(COLOR_GRAYTEXT)); + SetTextColor(hdcMem, IsWindowEnabled(ctl->hwnd) || !ctl->hThemeButton ? GetSysColor(COLOR_BTNTEXT) : GetSysColor(COLOR_GRAYTEXT)); if (ctl->arrow) - DrawState(hdcMem, NULL, NULL, (LPARAM) ctl->arrow, 0, rcClient.right - rcClient.left - 5 - g_cxsmIcon + (!ctl->hThemeButton && ctl->stateId == PBS_PRESSED ? 1 : 0), (rcClient.bottom - rcClient.top) / 2 - g_cysmIcon / 2 + (!ctl->hThemeButton && ctl->stateId == PBS_PRESSED ? 1 : 0), g_cxsmIcon, g_cysmIcon, IsWindowEnabled(ctl->hwnd) ? DST_ICON : DST_ICON | DSS_DISABLED); - SelectObject(hdcMem, ctl->hFont); - DrawStateA(hdcMem, NULL, NULL, (LPARAM) ctl->szText, 0, (rcText.right - rcText.left - ctl->sLabel.cx) / 2 + (!ctl->hThemeButton && ctl->stateId == PBS_PRESSED ? 1 : 0) + g_cxsmIcon + 4, ctl->hThemeButton ? (rcText.bottom - rcText.top - ctl->sLabel.cy) / 2 + 1 : (rcText.bottom - rcText.top - ctl->sLabel.cy) / 2 + (ctl->stateId == PBS_PRESSED ? 1 : 0), ctl->sLabel.cx, ctl->sLabel.cy, IsWindowEnabled(ctl->hwnd) || ctl->hThemeButton ? DST_PREFIXTEXT | DSS_NORMAL : DST_PREFIXTEXT | DSS_DISABLED); + DrawState(hdcMem, NULL, NULL, (LPARAM) ctl->arrow, 0, rcClient.right - rcClient.left - 5 - g_cxsmIcon + (!ctl->hThemeButton && ctl->stateId == PBS_PRESSED ? 1 : 0), (rcClient.bottom - rcClient.top) / 2 - g_cysmIcon / 2 + (!ctl->hThemeButton && ctl->stateId == PBS_PRESSED ? 1 : 0), g_cxsmIcon, g_cysmIcon, IsWindowEnabled(ctl->hwnd) ? DST_ICON : DST_ICON | DSS_DISABLED); + SelectObject(hdcMem, ctl->hFont); + DrawStateA(hdcMem, NULL, NULL, (LPARAM) ctl->szText, 0, (rcText.right - rcText.left - ctl->sLabel.cx) / 2 + (!ctl->hThemeButton && ctl->stateId == PBS_PRESSED ? 1 : 0) + g_cxsmIcon + 4, ctl->hThemeButton ? (rcText.bottom - rcText.top - ctl->sLabel.cy) / 2 + 1 : (rcText.bottom - rcText.top - ctl->sLabel.cy) / 2 + (ctl->stateId == PBS_PRESSED ? 1 : 0), ctl->sLabel.cx, ctl->sLabel.cy, IsWindowEnabled(ctl->hwnd) || ctl->hThemeButton ? DST_PREFIXTEXT | DSS_NORMAL : DST_PREFIXTEXT | DSS_DISABLED); } if (hOldFont) - SelectObject(hdcMem, hOldFont); + SelectObject(hdcMem, hOldFont); - BitBlt(hdcPaint, 0, 0, rcClient.right - rcClient.left, rcClient.bottom - rcClient.top, hdcMem, 0, 0, SRCCOPY); - SelectObject(hdcMem, hOld); + BitBlt(hdcPaint, 0, 0, rcClient.right - rcClient.left, rcClient.bottom - rcClient.top, hdcMem, 0, 0, SRCCOPY); + SelectObject(hdcMem, hOld); DeleteObject(hbmMem); DeleteDC(hdcMem); } -static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { - MButtonCtrl *bct = (MButtonCtrl *) GetWindowLongPtr(hwndDlg, 0); + MButtonCtrl *bct = (MButtonCtrl *) GetWindowLongPtr(hwndDlg, 0); switch (msg) { case WM_NCCREATE: - SetWindowLongPtr(hwndDlg, GWL_STYLE, GetWindowLongPtr(hwndDlg, GWL_STYLE) | BS_OWNERDRAW); + SetWindowLongPtr(hwndDlg, GWL_STYLE, GetWindowLongPtr(hwndDlg, GWL_STYLE) | BS_OWNERDRAW); bct = ( MButtonCtrl* )malloc(sizeof(MButtonCtrl)); if (bct == NULL) return FALSE; @@ -289,9 +287,9 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, bct->flatBtn = 0; bct->bThemed = FALSE; LoadTheme(bct); - SetWindowLongPtr(hwndDlg, 0, (LONG) bct); + SetWindowLongPtr(hwndDlg, 0, (LONG) bct); if (((CREATESTRUCTA *) lParam)->lpszName) - SetWindowTextA(hwndDlg, ((CREATESTRUCTA *) lParam)->lpszName); + SetWindowTextA(hwndDlg, ((CREATESTRUCTA *) lParam)->lpszName); return TRUE; case WM_SETTEXT: @@ -305,8 +303,8 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, } tmp++; } - InvalidateRect(bct->hwnd, NULL, TRUE); - strncpy(bct->szText, (char*) lParam, 127); + InvalidateRect(bct->hwnd, NULL, TRUE); + strncpy(bct->szText, (char*) lParam, 127); bct->szText[127] = 0; } break; @@ -318,18 +316,18 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, bct->pbState = 0; else bct->pbState = 1; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); } - SendMessage(GetParent(hwndDlg), WM_COMMAND, MAKELONG(GetDlgCtrlID(hwndDlg), BN_CLICKED), (LPARAM) hwndDlg); + SendMessage(GetParent(hwndDlg), WM_COMMAND, MAKELONG(GetDlgCtrlID(hwndDlg), BN_CLICKED), (LPARAM) hwndDlg); return 0; } break; case WM_THEMECHANGED: - // themed changed, reload theme object + // themed changed, reload theme object if (bct->bThemed) LoadTheme(bct); - InvalidateRect(bct->hwnd, NULL, TRUE); // repaint it + InvalidateRect(bct->hwnd, NULL, TRUE); // repaint it break; case WM_SETFONT: @@ -343,10 +341,10 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, PAINTSTRUCT ps; HDC hdcPaint; - hdcPaint = BeginPaint(hwndDlg, &ps); + hdcPaint = BeginPaint(hwndDlg, &ps); if (hdcPaint) { - PaintWorker(bct, hdcPaint); - EndPaint(hwndDlg, &ps); + PaintWorker(bct, hdcPaint); + EndPaint(hwndDlg, &ps); } } break; @@ -359,15 +357,15 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, DestroyIcon(bct->hIconPrivate); ICONINFO ii; - GetIconInfo((HICON) lParam, &ii); + GetIconInfo((HICON) lParam, &ii); BITMAP bm; - GetObject(ii.hbmColor, sizeof(bm), &bm); + GetObject(ii.hbmColor, sizeof(bm), &bm); if (bm.bmWidth > g_cxsmIcon || bm.bmHeight > g_cysmIcon) { HIMAGELIST hImageList; - hImageList = ImageList_Create(g_cxsmIcon, g_cysmIcon, IsWinVerXPPlus() ? ILC_COLOR32 | ILC_MASK : ILC_COLOR16 | ILC_MASK, 1, 0); - ImageList_AddIcon(hImageList, (HICON) lParam); - bct->hIconPrivate = ImageList_GetIcon(hImageList, 0, ILD_NORMAL); + hImageList = ImageList_Create(g_cxsmIcon, g_cysmIcon, IsWinVerXPPlus() ? ILC_COLOR32 | ILC_MASK : ILC_COLOR16 | ILC_MASK, 1, 0); + ImageList_AddIcon(hImageList, (HICON) lParam); + bct->hIconPrivate = ImageList_GetIcon(hImageList, 0, ILD_NORMAL); ImageList_RemoveAll(hImageList); ImageList_Destroy(hImageList); bct->hIcon = 0; @@ -380,14 +378,14 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, DeleteObject(ii.hbmMask); DeleteObject(ii.hbmColor); bct->hBitmap = NULL; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); } else if (wParam == IMAGE_BITMAP) { bct->hBitmap = (HBITMAP) lParam; if (bct->hIconPrivate) DestroyIcon(bct->hIconPrivate); bct->hIcon = bct->hIconPrivate = NULL; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); } break; @@ -396,7 +394,7 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, bct->iIcon = 0; if (bct->hIconPrivate) DestroyIcon(bct->hIconPrivate); - bct->hIconPrivate = DuplicateIcon(hInst, (HICON) lParam); + bct->hIconPrivate = DuplicateIcon(hInst, (HICON) lParam); bct->hIcon = 0; break; @@ -406,7 +404,7 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, bct->hIml = (HIMAGELIST) wParam; bct->iIcon = (int) lParam; bct->hIcon = bct->hIconPrivate = 0; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); break; case BM_SETCHECK: @@ -419,7 +417,7 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, bct->pbState = 0; bct->stateId = PBS_NORMAL; } - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); break; case BM_GETCHECK: @@ -431,7 +429,7 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, case BUTTONSETARROW: // turn arrow on/off if (wParam) { - //if (!bct->arrow) bct->arrow = (HICON) LoadImage(g_hInst, MAKEINTRESOURCE(IDI_MINIMIZE), IMAGE_ICON, g_cxsmIcon, g_cysmIcon, 0); + //if (!bct->arrow) bct->arrow = (HICON) LoadImage(g_hInst, MAKEINTRESOURCE(IDI_MINIMIZE), IMAGE_ICON, g_cxsmIcon, g_cysmIcon, 0); } else { if (bct->arrow) { @@ -439,22 +437,22 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, bct->arrow = NULL; } } - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); break; case BUTTONSETDEFAULT: bct->defbutton = wParam ? 1 : 0; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); break; case BUTTONSETASPUSHBTN: bct->pushBtn = 1; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); break; case BUTTONSETASFLATBTN: bct->flatBtn = lParam == 0 ? 1 : 0; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); break; case BUTTONSETASFLATBTN + 10: @@ -465,20 +463,20 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, if (wParam) { EnterCriticalSection(&csTips); if (!hwndToolTips) - hwndToolTips = CreateWindowExA(WS_EX_TOPMOST, TOOLTIPS_CLASSA, "", WS_POPUP, 0, 0, 0, 0, NULL, NULL, GetModuleHandle(NULL), NULL); + hwndToolTips = CreateWindowExA(WS_EX_TOPMOST, TOOLTIPS_CLASSA, "", WS_POPUP, 0, 0, 0, 0, NULL, NULL, GetModuleHandle(NULL), NULL); - TOOLINFOA ti = { 0 }; + TOOLINFO ti = { 0 }; ti.cbSize = sizeof(ti); ti.uFlags = TTF_IDISHWND; ti.hwnd = bct->hwnd; ti.uId = (UINT) bct->hwnd; - if (SendMessage(hwndToolTips, TTM_GETTOOLINFO, 0, (LPARAM) &ti)) - SendMessage(hwndToolTips, TTM_DELTOOL, 0, (LPARAM) &ti); + if (SendMessage(hwndToolTips, TTM_GETTOOLINFO, 0, (LPARAM) &ti)) + SendMessage(hwndToolTips, TTM_DELTOOL, 0, (LPARAM) &ti); ti.uFlags = TTF_IDISHWND | TTF_SUBCLASS; ti.uId = (UINT) bct->hwnd; - ti.lpszText = (char*) wParam; - SendMessageA(hwndToolTips, TTM_ADDTOOLA, 0, (LPARAM) &ti); + ti.lpszText = (TCHAR*) wParam; + SendMessage(hwndToolTips, TTM_ADDTOOL, 0, (LPARAM) &ti); LeaveCriticalSection(&csTips); } break; @@ -486,23 +484,23 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, case WM_SETFOCUS: // set keybord focus and redraw bct->focus = 1; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); break; case WM_KILLFOCUS: // kill focus and redraw bct->focus = 0; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); break; case WM_WINDOWPOSCHANGED: - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); break; case WM_ENABLE: // windows tells us to enable/disable bct->stateId = wParam ? PBS_NORMAL : PBS_DISABLED; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); break; case WM_MOUSELEAVE: @@ -510,7 +508,7 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, if (bct->stateId != PBS_DISABLED) { // don't change states if disabled bct->stateId = PBS_NORMAL; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); } break; @@ -518,7 +516,7 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, if (bct->stateId != PBS_DISABLED) { // don't change states if disabled bct->stateId = PBS_PRESSED; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); } break; @@ -535,32 +533,32 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, bct->stateId = PBS_HOT; else bct->stateId = PBS_NORMAL; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); } // Tell your daddy you got clicked. - SendMessage(GetParent(hwndDlg), WM_COMMAND, MAKELONG(GetDlgCtrlID(hwndDlg), BN_CLICKED), (LPARAM) hwndDlg); + SendMessage(GetParent(hwndDlg), WM_COMMAND, MAKELONG(GetDlgCtrlID(hwndDlg), BN_CLICKED), (LPARAM) hwndDlg); break; case WM_MOUSEMOVE: if (bct->stateId == PBS_NORMAL) { bct->stateId = PBS_HOT; - InvalidateRect(bct->hwnd, NULL, TRUE); + InvalidateRect(bct->hwnd, NULL, TRUE); } - // Call timer, used to start cheesy TrackMouseEvent faker - SetTimer(hwndDlg, BUTTON_POLLID, BUTTON_POLLDELAY, NULL); + // Call timer, used to start cheesy TrackMouseEvent faker + SetTimer(hwndDlg, BUTTON_POLLID, BUTTON_POLLDELAY, NULL); break; case WM_TIMER: // use a timer to check if they have did a mouseout if (wParam == BUTTON_POLLID) { RECT rc; POINT pt; - GetWindowRect(hwndDlg, &rc); + GetWindowRect(hwndDlg, &rc); GetCursorPos(&pt); - if (!PtInRect(&rc, pt)) { - // mouse must be gone, trigger mouse leave - PostMessage(hwndDlg, WM_MOUSELEAVE, 0, 0L); - KillTimer(hwndDlg, BUTTON_POLLID); + if (!PtInRect(&rc, pt)) { + // mouse must be gone, trigger mouse leave + PostMessage(hwndDlg, WM_MOUSELEAVE, 0, 0L); + KillTimer(hwndDlg, BUTTON_POLLID); } } break; @@ -577,10 +575,10 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, ti.uFlags = TTF_IDISHWND; ti.hwnd = bct->hwnd; ti.uId = (UINT) bct->hwnd; - if (SendMessage(hwndToolTips, TTM_GETTOOLINFO, 0, (LPARAM) &ti)) - SendMessage(hwndToolTips, TTM_DELTOOL, 0, (LPARAM) &ti); + if (SendMessage(hwndToolTips, TTM_GETTOOLINFO, 0, (LPARAM) &ti)) + SendMessage(hwndToolTips, TTM_DELTOOL, 0, (LPARAM) &ti); - if (SendMessage(hwndToolTips, TTM_GETTOOLCOUNT, 0, (LPARAM) &ti) == 0) { + if (SendMessage(hwndToolTips, TTM_GETTOOLCOUNT, 0, (LPARAM) &ti) == 0) { DestroyWindow(hwndToolTips); hwndToolTips = NULL; } @@ -591,11 +589,11 @@ static LRESULT CALLBACK TSButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, DestroyTheme(bct); free(bct); } - SetWindowLongPtr(hwndDlg, 0, (LONG) NULL); + SetWindowLongPtr(hwndDlg, 0, (LONG) NULL); break; // DONT! fall thru } - return DefWindowProc(hwndDlg, msg, wParam, lParam); + return DefWindowProc(hwndDlg, msg, wParam, lParam); } ///////////////////////////////////////////////////////////////////////////////////////// @@ -609,7 +607,7 @@ int LoadCLCButtonModule(void) wc.cbSize = sizeof(wc); wc.lpszClassName = "CLCButtonClass"; wc.lpfnWndProc = TSButtonWndProc; - wc.hCursor = LoadCursor(NULL, IDC_ARROW); + wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.cbWndExtra = sizeof(MButtonCtrl *); wc.hbrBackground = 0; wc.style = CS_GLOBALCLASS; @@ -618,7 +616,7 @@ int LoadCLCButtonModule(void) return 0; } -int UnloadTSButtonModule(WPARAM wParam, LPARAM lParam) +int UnloadTSButtonModule(WPARAM wParam, LPARAM lParam) { DeleteCriticalSection(&csTips); return 0; diff --git a/plugins/TopToolBar/InternalButtons.cpp b/plugins/TopToolBar/InternalButtons.cpp index d377053ee1..38108823e8 100644 --- a/plugins/TopToolBar/InternalButtons.cpp +++ b/plugins/TopToolBar/InternalButtons.cpp @@ -36,7 +36,7 @@ int OnSettingChanging(WPARAM wParam, LPARAM lParam) return 0;
DBCONTACTWRITESETTING *dbcws = (DBCONTACTWRITESETTING *)lParam;
- if (dbcws == NULL)
+ if (dbcws == NULL)
return 0;
if ( !strcmp(dbcws->szModule, "CList")) {
@@ -132,7 +132,7 @@ int UnLoadInternalButtons() bool framesexists = FALSE;
int windhandle;
-LRESULT CALLBACK TestProczzz(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
+LRESULT CALLBACK TestProczzz(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg) {
case WM_CREATE:
@@ -149,20 +149,20 @@ LRESULT CALLBACK TestProczzz(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara PAINTSTRUCT lp;
HDC hdc = BeginPaint(hwnd, &lp);
if (hdc) {
- char buf[255];
- wsprintf(buf, "%d", GetTickCount());
- TextOutA(hdc, 4, 4, buf, strlen(buf));
+ TCHAR buf[255];
+ wsprintf(buf, _T("%d"), GetTickCount());
+ TextOut(hdc, 4, 4, buf, lstrlen(buf));
EndPaint(hwnd, &lp);
}
return 0;
}
}
- return(DefWindowProc(hwnd, msg, wParam, lParam));
+ return(DefWindowProc(hwnd, msg, wParam, lParam));
}
bool first = TRUE;
-char pluginname[] = "SimpleClassName";
+TCHAR pluginname[] = _T("SimpleClassName");
INT_PTR test(WPARAM wParam, LPARAM lParam)
{
@@ -170,7 +170,7 @@ INT_PTR test(WPARAM wParam, LPARAM lParam) WNDCLASS wndclass = { 0 };
wndclass.lpfnWndProc = TestProczzz;
wndclass.hInstance = hInst;
- wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
+ wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)(COLOR_3DFACE+1);//NULL;//(HBRUSH)(COLOR_3DFACE+1);
wndclass.lpszClassName = pluginname;
RegisterClass(&wndclass);
@@ -190,7 +190,7 @@ INT_PTR test(WPARAM wParam, LPARAM lParam) CLISTFrame Frame = { 0 };
Frame.name = (char *)malloc(255);
memset(Frame.name, 0, 255);
- memcpy(Frame.name, pluginname, sizeof(pluginname));
+ memcpy(Frame.name, pluginname, SIZEOF(pluginname));
Frame.cbSize = sizeof(Frame);
Frame.hWnd = pluginwind;
Frame.align = alTop;
@@ -234,8 +234,6 @@ int LoadInternalButtons(HWND hwnd) ttb.name = "Show only Online Users";
hOnlineBut = (HANDLE)TTBAddButton((WPARAM)&ttb, 0);
- memset(&ttb, 0, sizeof(ttb));
- ttb.cbSize = sizeof(ttb);
ttb.hIconUp = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_GROUPSUP), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
ttb.hIconDn = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_GROUPSDN), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
ttb.dwFlags = (ShowGroups?TTBBF_PUSHED:0)|TTBBF_VISIBLE|TTBBF_SHOWTOOLTIP;
@@ -244,19 +242,14 @@ int LoadInternalButtons(HWND hwnd) ttb.name = "Groups On/Off";
hGroupBut = (HANDLE)TTBAddButton((WPARAM)&ttb, 0);
- memset(&ttb, 0, sizeof(ttb));
- ttb.cbSize = sizeof(ttb);
ttb.hIconUp = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_SOUNDUP), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
ttb.hIconDn = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_SOUNDDN), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
-
ttb.dwFlags = (SoundsEnabled?TTBBF_PUSHED:0)|TTBBF_VISIBLE|TTBBF_SHOWTOOLTIP;
ttb.pszServiceDown = TTBI_SOUNDSONOFF;
ttb.pszServiceUp = TTBI_SOUNDSONOFF;
ttb.name = "Sounds Enable/Disable";
hSoundsBut = (HANDLE)TTBAddButton((WPARAM)&ttb, 0);
- memset(&ttb, 0, sizeof(ttb));
- ttb.cbSize = sizeof(ttb);
ttb.hIconUp = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_OPTIONSUP), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
ttb.hIconDn = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_OPTIONSDN), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
ttb.dwFlags = TTBBF_VISIBLE|TTBBF_SHOWTOOLTIP;
@@ -265,19 +258,14 @@ int LoadInternalButtons(HWND hwnd) ttb.name = "Show Options Page";
hOptionsBut = (HANDLE)TTBAddButton((WPARAM)&ttb, 0);
- memset(&ttb, 0, sizeof(ttb));
- ttb.cbSize = sizeof(ttb);
ttb.hIconUp = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_MINIMIZEUP), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
ttb.hIconDn = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_MINIMIZEDN), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
-
ttb.dwFlags = TTBBF_VISIBLE;
ttb.pszServiceDown = TTBI_MINIMIZEBUTT;
ttb.pszServiceUp = TTBI_MINIMIZEBUTT;
ttb.name = "Minimize Button";
hMinimizeBut = (HANDLE)TTBAddButton((WPARAM)&ttb, 0);
- memset(&ttb, 0, sizeof(ttb));
- ttb.cbSize = sizeof(ttb);
ttb.hIconUp = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_FINDADDUP), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
ttb.hIconDn = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_FINDADDDN), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
ttb.dwFlags = TTBBF_VISIBLE;
@@ -286,8 +274,6 @@ int LoadInternalButtons(HWND hwnd) ttb.name = "Find/Add Contacts";
hFindUsers = (HANDLE)TTBAddButton((WPARAM)&ttb, 0);
- memset(&ttb, 0, sizeof(ttb));
- ttb.cbSize = sizeof(ttb);
ttb.hIconUp = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_MIRANDAUP), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
ttb.hIconDn = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_MIRANDADN), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
ttb.dwFlags = TTBBF_VISIBLE|TTBBF_SHOWTOOLTIP;
diff --git a/plugins/TopToolBar/TopToolBar.vcxproj b/plugins/TopToolBar/TopToolBar.vcxproj index 4987149c7e..ff34f3083f 100644 --- a/plugins/TopToolBar/TopToolBar.vcxproj +++ b/plugins/TopToolBar/TopToolBar.vcxproj @@ -25,24 +25,24 @@ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/plugins/TopToolBar/button.cpp b/plugins/TopToolBar/button.cpp index 54bf8bf816..c783426a85 100644 --- a/plugins/TopToolBar/button.cpp +++ b/plugins/TopToolBar/button.cpp @@ -34,7 +34,7 @@ typedef struct { int pbState;
HANDLE hThemeButton;
HANDLE hThemeToolbar;
- char cHot;
+ TCHAR cHot;
int flatBtn;
} MButtonCtrl;
@@ -60,7 +60,7 @@ static int ThemeSupport() {
if (IsWinVerXPPlus()) {
if (!themeAPIHandle) {
- themeAPIHandle = GetModuleHandle("uxtheme");
+ themeAPIHandle = GetModuleHandleA("uxtheme");
if (themeAPIHandle) {
MyOpenThemeData = (HANDLE (WINAPI *)(HWND,LPCWSTR))MGPROC("OpenThemeData");
MyCloseThemeData = (HRESULT (WINAPI *)(HANDLE))MGPROC("CloseThemeData");
@@ -204,11 +204,9 @@ static void PaintWorker(MButtonCtrl *ctl, HDC hdcPaint) }
else if (ctl->hBitmap) {
BITMAP bminfo;
- int ix,iy;
-
GetObject(ctl->hBitmap, sizeof(bminfo), &bminfo);
- ix = (rcClient.right-rcClient.left)/2 - (bminfo.bmWidth/2);
- iy = (rcClient.bottom-rcClient.top)/2 - (bminfo.bmHeight/2);
+ int ix = (rcClient.right-rcClient.left)/2 - (bminfo.bmWidth/2);
+ int iy = (rcClient.bottom-rcClient.top)/2 - (bminfo.bmHeight/2);
if (ctl->stateId == PBS_PRESSED) {
ix++;
iy++;
@@ -217,12 +215,12 @@ static void PaintWorker(MButtonCtrl *ctl, HDC hdcPaint) }
else if (GetWindowTextLength(ctl->hwnd)) {
// Draw the text and optinally the arrow
- char szText[MAX_PATH];
+ TCHAR szText[MAX_PATH];
SIZE sz;
RECT rcText;
CopyRect(&rcText, &rcClient);
- GetWindowText(ctl->hwnd, szText, sizeof(szText));
+ GetWindowText(ctl->hwnd, szText, SIZEOF(szText));
SetBkMode(hdcMem, TRANSPARENT);
HFONT hOldFont = (HFONT)SelectObject(hdcMem, ctl->hFont);
// XP w/themes doesn't used the glossy disabled text. Is it always using COLOR_GRAYTEXT? Seems so.
@@ -230,8 +228,7 @@ static void PaintWorker(MButtonCtrl *ctl, HDC hdcPaint) GetTextExtentPoint32(hdcMem, szText, lstrlen(szText), &sz);
if (ctl->cHot) {
SIZE szHot;
-
- GetTextExtentPoint32(hdcMem, "&", 1, &szHot);
+ GetTextExtentPoint32(hdcMem, _T("&"), 1, &szHot);
sz.cx -= szHot.cx;
}
if (ctl->arrow) {
@@ -248,7 +245,7 @@ static void PaintWorker(MButtonCtrl *ctl, HDC hdcPaint) }
}
-static LRESULT CALLBACK MButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+static LRESULT CALLBACK MButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
MButtonCtrl* bct = (MButtonCtrl *)GetWindowLongPtr(hwndDlg, 0);
switch(msg) {
@@ -393,7 +390,7 @@ static LRESULT CALLBACK MButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, L if (wParam) {
EnterCriticalSection(&csTips);
if (!hwndToolTips)
- hwndToolTips = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, "", WS_POPUP, 0, 0, 0, 0, NULL, NULL, GetModuleHandle(NULL), NULL);
+ hwndToolTips = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, _T(""), WS_POPUP, 0, 0, 0, 0, NULL, NULL, GetModuleHandle(NULL), NULL);
TOOLINFO ti = { 0 };
ti.cbSize = sizeof(ti);
@@ -405,7 +402,7 @@ static LRESULT CALLBACK MButtonWndProc(HWND hwndDlg, UINT msg, WPARAM wParam, L ti.uFlags = TTF_IDISHWND|TTF_SUBCLASS;
ti.uId = (UINT)bct->hwnd;
- ti.lpszText=(char*)wParam;
+ ti.lpszText = ( LPTSTR )wParam;
SendMessage(hwndToolTips,TTM_ADDTOOL,0,(LPARAM)&ti);
LeaveCriticalSection(&csTips);
}
@@ -518,9 +515,7 @@ int UnloadButtonModule(WPARAM wParam, LPARAM lParam) int LoadButtonModule(void)
{
- WNDCLASSEX wc;
-
- ZeroMemory(&wc, sizeof(wc));
+ WNDCLASSEX wc = { 0 };
wc.cbSize = sizeof(wc);
wc.lpszClassName = MYMIRANDABUTTONCLASS;
wc.lpfnWndProc = MButtonWndProc;
diff --git a/plugins/TopToolBar/common.h b/plugins/TopToolBar/common.h index 92d715701b..5bda9975c3 100644 --- a/plugins/TopToolBar/common.h +++ b/plugins/TopToolBar/common.h @@ -49,7 +49,8 @@ int ttbOptionsChanged(); int ArrangeButtons();
int RecreateWindows();
-typedef struct {
+struct TopButtonInt
+{
HWND hwnd;
HWND hwndTip;
int id;
@@ -62,24 +63,23 @@ typedef struct { HICON hIconUp, hIconDn;
char *pszServiceUp, *pszServiceDown;
- char *tooltip;
char *name;
-
+ TCHAR *tooltip;
+
LPARAM lParamUp;
WPARAM wParamUp;
LPARAM lParamDown;
WPARAM wParamDown;
WORD arrangedpos;
- char *UserDefinedbmUp;
- char *UserDefinedbmDown;
-
+ TCHAR *UserDefinedbmUp;
+ TCHAR *UserDefinedbmDown;
+};
-}TopButtonInt;
-
-typedef struct tagSortData {
+struct SortData
+{
int oldpos;
int arrangeval;
-} SortData;
+};
#define MAX_BUTTONS 64
//#define BUTTWIDTH 20
@@ -87,11 +87,12 @@ typedef struct tagSortData { //#define BUTTHEIGHT 16
#define SEPWIDTH 3
-typedef struct tagButtonOptData {
+struct ButtonOptData
+{
char *name;
int pos;
bool show;
-} ButtonOptData;
+};
extern bool OptionsOpened;
extern HWND OptionshWnd;
@@ -100,7 +101,7 @@ int OptionsPageRebuild(); void lockbut();
void ulockbut();
-//return - 0 success, -1 on error
+//return - 0 success, -1 on error
#define TTB_ADDSEPARATOR "TTB/AddSeparator"
//wparam sepid
#define TTB_REMOVESEPARATOR "TTB/RemoveSeparator"
@@ -127,7 +128,7 @@ char *AS(char *str, const char *setting, char *addstr) #define TTB_ADDLBUTTON "TTB/AddLButton"
#define TTB_REMOVELBUTTON "TTB/RemoveLButton"
-#define MYMIRANDABUTTONCLASS "MyMIRANDABUTTONCLASS"
+#define MYMIRANDABUTTONCLASS _T("MyMIRANDABUTTONCLASS")
int LoadInternalButtons( HWND );
int UnLoadInternalButtons( void );
@@ -153,13 +154,12 @@ INT_PTR GetLButton(WPARAM, LPARAM); INT_PTR InsertLBut(int id);
-typedef struct
+struct LBUTOPT
{
int hframe;
- char *lpath;
+ TCHAR *lpath;
char *name;
-}
- LBUTOPT;
+};
int LoadCLCButtonModule(void);
#define BM_SETPRIVATEICON (WM_USER + 6)
diff --git a/plugins/TopToolBar/launchbt.cpp b/plugins/TopToolBar/launchbt.cpp index a5becaeba7..378f92048d 100644 --- a/plugins/TopToolBar/launchbt.cpp +++ b/plugins/TopToolBar/launchbt.cpp @@ -35,10 +35,10 @@ INT_PTR GetLButton(WPARAM wParam, LPARAM lParam) return -1;
LBUTOPT *lbo = ( LBUTOPT* )lParam;
- if (lbo == NULL)
+ if (lbo == NULL)
return -1;
- if (LBUTS[wParam].hframe == 0)
+ if (LBUTS[wParam].hframe == 0)
return -1;
*lbo = LBUTS[wParam];
@@ -53,10 +53,10 @@ INT_PTR ModifyLButton(WPARAM wParam, LPARAM lParam) return -1;
LBUTOPT *lbo = ( LBUTOPT* )lParam;
- if (lbo == NULL)
+ if (lbo == NULL)
return -1;
- if (LBUTS[wParam].hframe == 0)
+ if (LBUTS[wParam].hframe == 0)
return -1;
DeleteLBut(wParam, 0);
@@ -68,14 +68,14 @@ INT_PTR ModifyLButton(WPARAM wParam, LPARAM lParam) if (lbo->name != NULL)
LBUTS[wParam].name = _strdup(lbo->name);
if (lbo->lpath != NULL)
- LBUTS[wParam].lpath = _strdup(lbo->lpath);
+ LBUTS[wParam].lpath = _tcsdup(lbo->lpath);
LBUTS[wParam].hframe = InsertLBut(wParam);
SaveAllLButs();
return 0;
}
-int InsertLBut(int id)
+INT_PTR InsertLBut(int id)
{
HBITMAP DefLUp = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_LAUNCHDN));
HBITMAP DefLDn = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_LAUNCHUP));
@@ -113,56 +113,48 @@ int LoadAllLButs() char buf[255];
char buf1[10];
char fixname[255];
- int id, i;
-// char *oldtb;
+ int id;
//must be locked
- memset(buf, 0, sizeof(buf));
+ memset(buf, 0, SIZEOF(buf));
memset(LBUTS, 0, sizeof(LBUTS));
- for (i = 0;i<MAXLBUTS;i++)
- {
- memset(buf1, 0, sizeof(buf1));
+ for (int i = 0; i < MAXLBUTS; i++) {
+ memset(buf1, 0, SIZEOF(buf1));
itoa(i, buf1, 10);
AS(fixname, "LBUT", buf1);
id = DBGetContactSettingWord(0, TTB_OPTDIR, AS(buf, fixname, ""), -1);
- if (id != -1)
- {
- LBUTS[i].name = DBGetString(0, TTB_OPTDIR, AS(buf, fixname, "_name"));
- LBUTS[i].lpath = DBGetString(0, TTB_OPTDIR, AS(buf, fixname, "_lpath"));
- if (LBUTS[i].lpath == NULL){LBUTS[i].lpath = _strdup("Execute Path");}
- LBUTS[i].hframe = 0;
- LBUTS[i].hframe = InsertLBut(i);
+ if (id != -1) {
+ LBUTS[i].name = DBGetString(0, TTB_OPTDIR, AS(buf, fixname, "_name"));
+ LBUTS[i].lpath = DBGetStringT(0, TTB_OPTDIR, AS(buf, fixname, "_lpath"));
+ if (LBUTS[i].lpath == NULL)
+ LBUTS[i].lpath = _tcsdup( _T("Execute Path"));
+ LBUTS[i].hframe = 0;
+ LBUTS[i].hframe = InsertLBut(i);
}
}
return 0;
-
}
-
int SaveAllLButs()
{
char buf[255];
char buf1[10];
char fixname[255];
- int i;
//must be locked
- memset(buf, 0, sizeof(buf));
+ memset(buf, 0, SIZEOF(buf));
- for (i = 0;i<MAXLBUTS;i++)
- {
+ for (int i = 0;i<MAXLBUTS;i++) {
itoa(i, buf1, 10);
- if (LBUTS[i].hframe != 0)
- {
- AS(fixname, "LBUT", buf1);
- DBWriteContactSettingWord(0, TTB_OPTDIR, AS(buf, fixname, ""), i);
- DBWriteContactSettingString(0, TTB_OPTDIR, AS(buf, fixname, "_name"), LBUTS[i].name);
- DBWriteContactSettingString(0, TTB_OPTDIR, AS(buf, fixname, "_lpath"), LBUTS[i].lpath);
+ if (LBUTS[i].hframe != 0) {
+ AS(fixname, "LBUT", buf1);
+ DBWriteContactSettingWord(0, TTB_OPTDIR, AS(buf, fixname, ""), i);
+ DBWriteContactSettingString(0, TTB_OPTDIR, AS(buf, fixname, "_name"), LBUTS[i].name);
+ DBWriteContactSettingTString(0, TTB_OPTDIR, AS(buf, fixname, "_lpath"), LBUTS[i].lpath);
}
- else
- {
- AS(fixname, "LBUT", buf1);
+ else {
+ AS(fixname, "LBUT", buf1);
DBWriteContactSettingWord(0, TTB_OPTDIR, AS(buf, fixname, ""), -1);
DBDeleteContactSetting(0, TTB_OPTDIR, AS(buf, fixname, ""));
DBDeleteContactSetting(0, TTB_OPTDIR, AS(buf, fixname, "_lpath"));
@@ -170,24 +162,19 @@ int SaveAllLButs() }
}
return 0;
-
}
-
//return 0 on success, -1 on error
INT_PTR InsertNewFreeLBut(WPARAM wParam, LPARAM lParam)
{
char buf[256];
- if (LButCnt<MAXLBUTS)
- {
- int i;
- for (i = 0;i<MAXLBUTS;i++)
- {
- if (LBUTS[i].hframe == 0)
+ if (LButCnt < MAXLBUTS) {
+ for (int i = 0;i<MAXLBUTS;i++) {
+ if (LBUTS[i].hframe == 0)
{
- wsprintf(buf, "%s %d", Translate("Default"), i);
+ wsprintfA(buf, "%s %d", Translate("Default"), i);
LBUTS[i].name = _strdup(buf);
- LBUTS[i].lpath = _strdup("Execute Path");
+ LBUTS[i].lpath = _tcsdup( _T("Execute Path"));
LBUTS[i].hframe = InsertLBut(i);
SaveAllLButs();
return 0;
diff --git a/plugins/TopToolBar/main.cpp b/plugins/TopToolBar/main.cpp index 6597cb041d..df441b85cb 100644 --- a/plugins/TopToolBar/main.cpp +++ b/plugins/TopToolBar/main.cpp @@ -22,14 +22,14 @@ extern int SaveAllSeparators(); extern INT_PTR InsertNewFreeSeparator(WPARAM wParam, LPARAM lParam);
extern INT_PTR DeleteSeparator(WPARAM id, LPARAM lParam);
-#define MIID_TTB {0xf593c752, 0x51d8, 0x4d46, {0xba, 0x27, 0x37, 0x57, 0x79, 0x53, 0xf5, 0x5c}}
+#define MIID_TTB {0xf593c752, 0x51d8, 0x4d46, {0xba, 0x27, 0x37, 0x57, 0x79, 0x53, 0xf5, 0x5c}}
int nextButtonId = 200;
int nButtonsCount = 0;
int lastxpos = 1;
int lastypos = 1;
-// == == == == == == == options
+// == == == == == == == options
COLORREF bkColour;
HBITMAP hBmpBackground;
int backgroundBmpUse;
@@ -48,13 +48,13 @@ int applyuserbitmaps(int pos) Buttons[pos].hbBitmapDown = Buttons[pos].hbDefBitmapDown;
Buttons[pos].hbBitmapUp = Buttons[pos].hbDefBitmapUp;
if (Buttons[pos].UserDefinedbmDown != NULL) {
- if (strstr(Buttons[pos].UserDefinedbmDown, ".ico"))
+ if ( _tcsstr(Buttons[pos].UserDefinedbmDown, _T(".ico")))
t = IMAGE_ICON;
Buttons[pos].hbBitmapDown = ( HBITMAP )LoadImage(0, Buttons[pos].UserDefinedbmDown, t, 0, 0, LR_LOADFROMFILE);
}
if (Buttons[pos].UserDefinedbmUp != NULL) {
- if (strstr(Buttons[pos].UserDefinedbmUp, ".ico"))
+ if ( _tcsstr(Buttons[pos].UserDefinedbmUp, _T(".ico")))
t = IMAGE_ICON;
Buttons[pos].hbBitmapUp = ( HBITMAP )LoadImage(0, Buttons[pos].UserDefinedbmUp, t, 0, 0, LR_LOADFROMFILE);
}
@@ -86,7 +86,7 @@ void ulockbut() int idtopos(int id)
{
for ( int i = 0;i<nButtonsCount;i++)
- if (Buttons[i].id == id)
+ if (Buttons[i].id == id)
return i;
return -1;
@@ -95,7 +95,7 @@ int idtopos(int id) int DBSaveButtonSettings(int butpos)
{
char buf[255];
- memset(buf, 0, sizeof(buf));
+ memset(buf, 0, SIZEOF(buf));
DBWriteContactSettingWord(0, TTB_OPTDIR, AS(buf, Buttons[butpos].name, "_Position"), Buttons[butpos].arrangedpos);
@@ -106,10 +106,10 @@ int DBSaveButtonSettings(int butpos) DBWriteContactSettingString(0, TTB_OPTDIR, AS(buf, Buttons[butpos].name, "_BmpUp"), "");
if (Buttons[butpos].UserDefinedbmDown != NULL)
- DBWriteContactSettingString(0, TTB_OPTDIR, AS(buf, Buttons[butpos].name, "_BmpDown"), Buttons[butpos].UserDefinedbmDown);
+ DBWriteContactSettingTString(0, TTB_OPTDIR, AS(buf, Buttons[butpos].name, "_BmpDown"), Buttons[butpos].UserDefinedbmDown);
if (Buttons[butpos].UserDefinedbmUp != NULL)
- DBWriteContactSettingString(0, TTB_OPTDIR, AS(buf, Buttons[butpos].name, "_BmpUp"), Buttons[butpos].UserDefinedbmUp);
+ DBWriteContactSettingTString(0, TTB_OPTDIR, AS(buf, Buttons[butpos].name, "_BmpUp"), Buttons[butpos].UserDefinedbmUp);
return 0;
}
@@ -127,7 +127,7 @@ int SaveAllButtonsOptions() int DBLoadButtonSettings(int butpos)
{
char buf[255];
- memset(buf, 0, sizeof(buf));
+ memset(buf, 0, SIZEOF(buf));
//bool
Buttons[butpos].arrangedpos = DBGetContactSettingWord(0, TTB_OPTDIR, AS(buf, Buttons[butpos].name, "_Position"), MAX_BUTTONS);
@@ -136,14 +136,14 @@ int DBLoadButtonSettings(int butpos) if ( DBGetContactSettingDword(0, TTB_OPTDIR, AS(buf, Buttons[butpos].name, "_Visible"), oldv) > 0 )
Buttons[butpos].dwFlags |= TTBBF_VISIBLE;
- Buttons[butpos].UserDefinedbmDown = DBGetString(0, TTB_OPTDIR, AS(buf, Buttons[butpos].name, "_BmpDown"));
- if ((Buttons[butpos].UserDefinedbmDown != NULL) && strlen(Buttons[butpos].UserDefinedbmDown) == 0) {
+ Buttons[butpos].UserDefinedbmDown = DBGetStringT(0, TTB_OPTDIR, AS(buf, Buttons[butpos].name, "_BmpDown"));
+ if ((Buttons[butpos].UserDefinedbmDown != NULL) && *Buttons[butpos].UserDefinedbmDown == 0) {
free(Buttons[butpos].UserDefinedbmDown);
Buttons[butpos].UserDefinedbmDown = NULL;
}
- Buttons[butpos].UserDefinedbmUp = DBGetString(0, TTB_OPTDIR, AS(buf, Buttons[butpos].name, "_BmpUp"));
- if ((Buttons[butpos].UserDefinedbmUp != NULL) && strlen(Buttons[butpos].UserDefinedbmUp) == 0) {
+ Buttons[butpos].UserDefinedbmUp = DBGetStringT(0, TTB_OPTDIR, AS(buf, Buttons[butpos].name, "_BmpUp"));
+ if ((Buttons[butpos].UserDefinedbmUp != NULL) && *Buttons[butpos].UserDefinedbmUp == 0) {
free(Buttons[butpos].UserDefinedbmUp);
Buttons[butpos].UserDefinedbmUp = NULL;
}
@@ -245,7 +245,7 @@ static int UpdateToolTip(int bpos) bool nameexists(const char *name)
{
for (int i = 0; i < nButtonsCount; i++)
- if (strcmp(Buttons[i].name, name) == 0)
+ if (strcmp(Buttons[i].name, name) == 0)
return TRUE;
return FALSE;
@@ -258,7 +258,7 @@ HICON LoadIconFromLibrary(char *SectName, char *Name, char *Description, HICON h if (Name != NULL && *Name != 0) {
char iconame[256];
- _snprintf(iconame, sizeof(iconame), "toptoolbar_%s", Name);
+ _snprintf(iconame, SIZEOF(iconame), "toptoolbar_%s", Name);
if ( ServiceExists(MS_SKIN2_ADDICON)) {
if (RegisterIt) {
SKINICONDESC sid = {0};
@@ -268,12 +268,12 @@ HICON LoadIconFromLibrary(char *SectName, char *Name, char *Description, HICON h sid.pszDefaultFile = NULL;
sid.pszDescription = Description;
sid.hDefaultIcon = hIcon;
- CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid);
+ CallService(MS_SKIN2_ADDICON, 0, (LPARAM)&sid);
if (RegistredOk)
*RegistredOk = TRUE;
}
- return ((HICON)CallService(MS_SKIN2_GETICON, 0, (LPARAM)iconame));
+ return ((HICON)CallService(MS_SKIN2_GETICON, 0, (LPARAM)iconame));
}
}
@@ -283,9 +283,9 @@ HICON LoadIconFromLibrary(char *SectName, char *Name, char *Description, HICON h int CreateOneWindow(int ButtonPos)
{
if (DBGetContactSettingByte(0, TTB_OPTDIR, "UseMirandaButtonClass", UseMirandaButtonClassDefaultValue) && !(Buttons[ButtonPos].dwFlags & TTBBF_ISSEPARATOR))
- Buttons[ButtonPos].hwnd = CreateWindow(MYMIRANDABUTTONCLASS, "", BS_PUSHBUTTON|WS_CHILD|WS_TABSTOP|SS_NOTIFY, 0, 0, BUTTWIDTH, BUTTHEIGHT, hwndTopToolBar, NULL, hInst, 0);
+ Buttons[ButtonPos].hwnd = CreateWindow(MYMIRANDABUTTONCLASS, _T(""), BS_PUSHBUTTON|WS_CHILD|WS_TABSTOP|SS_NOTIFY, 0, 0, BUTTWIDTH, BUTTHEIGHT, hwndTopToolBar, NULL, hInst, 0);
else
- Buttons[ButtonPos].hwnd = CreateWindow("STATIC", "", WS_CHILD|SS_NOTIFY, 0, 0, BUTTWIDTH, BUTTHEIGHT, hwndTopToolBar, NULL, hInst, 0);
+ Buttons[ButtonPos].hwnd = CreateWindow( _T("STATIC"), _T(""), WS_CHILD|SS_NOTIFY, 0, 0, BUTTWIDTH, BUTTHEIGHT, hwndTopToolBar, NULL, hInst, 0);
SetWindowLongPtr(Buttons[ButtonPos].hwnd, GWLP_USERDATA, Buttons[ButtonPos].id);
if (DBGetContactSettingByte(0, TTB_OPTDIR, "UseFlatButton", 1))
@@ -297,30 +297,29 @@ int CreateOneWindow(int ButtonPos) INT_PTR TTBAddButton(WPARAM wParam, LPARAM lParam)
{
int i, retval;
- TTBButtonV2 but;
- if (wParam == 0)
+ if (wParam == 0)
return -1;
- if (hwndContactList == 0)
+
+ if (hwndContactList == 0)
hwndContactList = (HWND)CallService(MS_CLUI_GETHWND, 0, 0);
//oops clui even now not loaded...sorry no buttons available
- if (hwndContactList == 0)
+ if (hwndContactList == 0)
return -1;
lockbut();
- if (nButtonsCount == MAX_BUTTONS)
+ if (nButtonsCount == MAX_BUTTONS)
return -1;
i = nButtonsCount;
- memset(&but, 0, sizeof(but));
-
- if (((TTBButton*)wParam)->cbSize == sizeof(TTBButton))
+ TTBButtonV2 but = { 0 };
+ if (((TTBButton*)wParam)->cbSize == sizeof(TTBButton))
memcpy(&but, (void*)wParam, sizeof(TTBButton));
- if (((TTBButton*)wParam)->cbSize == sizeof(TTBButtonV2))
+ if (((TTBButton*)wParam)->cbSize == sizeof(TTBButtonV2))
memcpy(&but, (void*)wParam, sizeof(TTBButtonV2));
- if ( but.name == NULL|| nameexists(but.name)) {
+ if ( but.name == NULL|| nameexists(but.name)) {
ulockbut();
return -1;
}
@@ -363,18 +362,18 @@ INT_PTR TTBAddButton(WPARAM wParam, LPARAM lParam) Buttons[i].hIconDn = LoadIconFromLibrary("TopToolBar", buf, buf, but.hIconUp, TRUE, NULL);
}
- Buttons[i].hwndTip = CreateWindowEx(0, TOOLTIPS_CLASS, NULL,
+ Buttons[i].hwndTip = CreateWindowEx(0, TOOLTIPS_CLASS, NULL,
WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,
- CW_USEDEFAULT, CW_USEDEFAULT,
- CW_USEDEFAULT, CW_USEDEFAULT,
- hwndTopToolBar, NULL, hInst,
+ CW_USEDEFAULT, CW_USEDEFAULT,
+ CW_USEDEFAULT, CW_USEDEFAULT,
+ hwndTopToolBar, NULL, hInst,
NULL);
- SetWindowPos(Buttons[i].hwndTip, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
+ SetWindowPos(Buttons[i].hwndTip, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
TOOLINFO ti = { 0 };
ti.cbSize = sizeof(ti);
- ti.lpszText = "";
+ ti.lpszText = _T("");
ti.hinst = hInst;
ti.uFlags = TTF_IDISHWND|TTF_SUBCLASS ;
ti.uId = (UINT_PTR)Buttons[i].hwnd;
@@ -463,7 +462,7 @@ int ArrangeButtons() int i;
int newheight, cnt, perline;
- if (StopArrange == TRUE)
+ if (StopArrange == TRUE)
return 0;
BUTTHEIGHT = DBGetContactSettingByte(0, TTB_OPTDIR, "BUTTHEIGHT", 16);
@@ -492,11 +491,11 @@ int ArrangeButtons() visbut++;
}
- if (winrc.left == 0)
+ if (winrc.left == 0)
return 0;
perline = winrc.left/(BUTTWIDTH+1);
- if (perline == 0)
+ if (perline == 0)
perline = 1;
cnt = (visbut)/perline;
@@ -522,7 +521,7 @@ int ArrangeButtons() InvalidateRect(Buttons[arrangedbuts[i].oldpos].hwnd, NULL, TRUE);
//lastxpos += BUTTWIDTH+1;
- if (i == v-1)
+ if (i == v-1)
break;
if ( !(Buttons[arrangedbuts[i+1].oldpos].dwFlags & TTBBF_VISIBLE))
continue;
@@ -553,7 +552,7 @@ int ArrangeButtons() int SetButtBitmap(int pos)
{
int t = IMAGE_BITMAP;
- char *curname = (Buttons[pos].bPushed)?(Buttons[pos].UserDefinedbmDown):(Buttons[pos].UserDefinedbmUp);
+ TCHAR *curname = (Buttons[pos].bPushed)?(Buttons[pos].UserDefinedbmDown):(Buttons[pos].UserDefinedbmUp);
int curstyle = GetWindowLongPtr(Buttons[pos].hwnd, GWL_STYLE);
curstyle &= (~SS_BITMAP);
@@ -561,20 +560,20 @@ int SetButtBitmap(int pos) if (!UseIcoLib||(Buttons[pos].dwFlags&TTBBF_ISSEPARATOR)) {
if (curname != NULL) {
- if (strstr(curname, ".ico"))
+ if ( _tcsstr(curname, _T(".ico")))
t = IMAGE_ICON;
- curstyle |= (t == IMAGE_ICON || UseIcoLib) ? SS_ICON : SS_BITMAP;
+ curstyle |= (t == IMAGE_ICON || UseIcoLib) ? SS_ICON : SS_BITMAP;
SetWindowLongPtr(Buttons[pos].hwnd, GWL_STYLE, curstyle);
}
- else SetWindowLongPtr(Buttons[pos].hwnd, GWL_STYLE, curstyle|(Buttons[pos].hbBitmapDown == NULL?SS_ICON:SS_BITMAP));
+ else SetWindowLongPtr(Buttons[pos].hwnd, GWL_STYLE, curstyle|(Buttons[pos].hbBitmapDown == NULL?SS_ICON:SS_BITMAP));
}
else if (GetWindowLongPtr(Buttons[pos].hwnd, GWL_STYLE)&SS_ICON)
SetWindowLongPtr(Buttons[pos].hwnd, GWL_STYLE, curstyle|SS_ICON);
if ( !UseIcoLib||(Buttons[pos].dwFlags & TTBBF_ISSEPARATOR)) {
if (!(Buttons[pos].dwFlags & TTBBF_DRAWBORDER)) {
- if (Buttons[pos].hbBitmapDown == NULL) {
+ if (Buttons[pos].hbBitmapDown == NULL) {
t = IMAGE_ICON;
SendMessage(Buttons[pos].hwnd, STM_SETIMAGE, t, (LPARAM)((Buttons[pos].bPushed)?(Buttons[pos].hIconDn):(Buttons[pos].hIconUp)));
SendMessage(Buttons[pos].hwnd, BM_SETIMAGE, t, (LPARAM)((Buttons[pos].bPushed)?(Buttons[pos].hIconDn):(Buttons[pos].hIconUp)));
@@ -618,7 +617,7 @@ INT_PTR TTBGetState(WPARAM wParam, LPARAM lParam) return -1;
}
- int retval = (Buttons[pos].bPushed == TRUE) ? TTBST_PUSHED : TTBST_RELEASED;
+ int retval = (Buttons[pos].bPushed == TRUE) ? TTBST_PUSHED : TTBST_RELEASED;
ulockbut();
return retval;
}
@@ -693,7 +692,7 @@ INT_PTR TTBSetOptions(WPARAM wParam, LPARAM lParam) switch(LOWORD(wParam)) {
case TTBO_FLAGS:
- if (Buttons[pos].dwFlags == lParam)
+ if (Buttons[pos].dwFlags == lParam)
break;
Buttons[pos].dwFlags = lParam;
@@ -722,11 +721,11 @@ INT_PTR TTBSetOptions(WPARAM wParam, LPARAM lParam) break;
case TTBO_TIPNAME:
- if (lParam == 0)
+ if (lParam == 0)
break;
if (Buttons[pos].tooltip != NULL)
free(Buttons[pos].tooltip);
- Buttons[pos].tooltip = _strdup((LPCSTR)lParam);
+ Buttons[pos].tooltip = _tcsdup((LPCTSTR)lParam);
UpdateToolTip(pos);
retval = 1;
break;
@@ -780,7 +779,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) return TRUE;
}
-LRESULT CALLBACK TopToolBarProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
+LRESULT CALLBACK TopToolBarProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg) {
case WM_CREATE:
@@ -817,7 +816,7 @@ LRESULT CALLBACK TopToolBarProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP rcPaint = &(paintst.rcPaint);
GetClientRect(hwnd, &clRect);
- if (rcPaint == NULL) rcPaint = &clRect;
+ if (rcPaint == NULL) rcPaint = &clRect;
y = -yScroll;
hdcMem = CreateCompatibleDC(hdc);
hBmpOsb = CreateBitmap(clRect.right, clRect.bottom, 1, GetDeviceCaps(hdc, BITSPIXEL), NULL);
@@ -910,7 +909,7 @@ LRESULT CALLBACK TopToolBarProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP if (DBGetContactSettingByte(NULL, "CLUI", "ClientAreaDrag", 0)) {
POINT pt;
GetCursorPos(&pt);
- return SendMessage(GetParent(hwnd), WM_SYSCOMMAND, SC_MOVE|HTCAPTION, MAKELPARAM(pt.x, pt.y));
+ return SendMessage(GetParent(hwnd), WM_SYSCOMMAND, SC_MOVE|HTCAPTION, MAKELPARAM(pt.x, pt.y));
}
return 0;
@@ -918,7 +917,7 @@ LRESULT CALLBACK TopToolBarProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP return 0;
case WM_COMMAND:
- if ((HIWORD(wParam) == STN_CLICKED|| HIWORD(wParam) == STN_DBLCLK)) {
+ if ((HIWORD(wParam) == STN_CLICKED|| HIWORD(wParam) == STN_DBLCLK)) {
int id = GetWindowLongPtr((HWND)lParam, GWLP_USERDATA);
if (id != 0) {
lockbut();
@@ -950,15 +949,15 @@ LRESULT CALLBACK TopToolBarProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP break;
default:
- return DefWindowProc(hwnd, msg, wParam, lParam);
+ return DefWindowProc(hwnd, msg, wParam, lParam);
}
return(TRUE);
}
+static TCHAR pluginname[] = _T("TopToolBar");
+
int addTopToolBarWindow(HWND parent)
{
- char pluginname[] = "TopToolBar";
-
WNDCLASS wndclass;
wndclass.style = 0;
wndclass.lpfnWndProc = TopToolBarProc;
@@ -966,7 +965,7 @@ int addTopToolBarWindow(HWND parent) wndclass.cbWndExtra = 0;
wndclass.hInstance = hInst;
wndclass.hIcon = NULL;
- wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
+ wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1);//NULL;//(HBRUSH)(COLOR_3DFACE+1);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = pluginname;
@@ -978,31 +977,26 @@ int addTopToolBarWindow(HWND parent) ttbOptionsChanged();
CLISTFrame Frame = { 0 };
- Frame.name = (char *)malloc(255);
- memset(Frame.name, 0, 255);
- memcpy(Frame.name, pluginname, sizeof(pluginname));
Frame.cbSize = sizeof(Frame);
+ Frame.tname = pluginname;
Frame.hWnd = pluginwind;
Frame.align = alTop;
- Frame.Flags = F_VISIBLE|F_NOBORDER|F_LOCKED;
+ Frame.Flags = F_VISIBLE | F_NOBORDER | F_LOCKED | F_TCHAR;
Frame.height = 18;
-
- int retval = CallService(MS_CLIST_FRAMES_ADDFRAME, (WPARAM)&Frame, 0);
- free(Frame.name);
- return retval;
+ return (int)CallService(MS_CLIST_FRAMES_ADDFRAME, (WPARAM)&Frame, 0);
}
VOID CALLBACK TimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
{
KillTimer(0, idEvent);
- NotifyEventHooks(hHookTTBModuleLoaded, 0, 0);
+ NotifyEventHooks(hHookTTBModuleLoaded, 0, 0);
}
static INT_PTR OnEventFire(WPARAM wParam, LPARAM lParam)
{
CallService(MS_SYSTEM_REMOVEWAIT, wParam, 0);
StopArrange = FALSE;
- NotifyEventHooks(hHookTTBModuleLoaded, 0, 0);
+ NotifyEventHooks(hHookTTBModuleLoaded, 0, 0);
return 0;
}
@@ -1031,23 +1025,12 @@ static int OnBGChange(WPARAM wParam, LPARAM lParam) static int OnmodulesLoad(WPARAM wParam, LPARAM lParam)
{
- int ex = 0;
-
- hwndContactList = (HWND)CallService(MS_CLUI_GETHWND, 0, 0);
-
if (!ServiceExists(MS_CLIST_FRAMES_ADDFRAME)) {
- MessageBox(0, "Frames Services not found - plugin disabled.You need MultiWindow plugin.", "TopToolBar", 0);
- return 0;
- ex = 1;
- }
- if (!ServiceExists(MS_CLUI_GETHWNDTREE)) {
- MessageBox(0, "MS_CLUI_GETHWNDTREE Service not found - plugin disabled", "TopToolBar", 0);
+ MessageBox(0, TranslateT("Frames Services not found - plugin disabled.You need MultiWindow plugin."), _T("TopToolBar"), 0);
return 0;
- ex = 1;
}
- if (ex == 1)
- return 0;
+ hwndContactList = (HWND)CallService(MS_CLUI_GETHWND, 0, 0);
OptionsOpened = false;
CreateServiceFunction(MS_TTB_ADDBUTTON, TTBAddButton);
@@ -1092,7 +1075,7 @@ static int OnmodulesLoad(WPARAM wParam, LPARAM lParam) /////////////////////////////////////////////////////////////////////////////////////////
-static const MUUID interfaces[] = {MIID_TTB, MIID_LAST};
+static const MUUID interfaces[] = {MIID_TTB, MIID_LAST};
extern "C" __declspec(dllexport) const MUUID* MirandaPluginInterfaces(void)
{
diff --git a/plugins/TopToolBar/main.rc b/plugins/TopToolBar/main.rc index 077a62be21..72857524c4 100644 --- a/plugins/TopToolBar/main.rc +++ b/plugins/TopToolBar/main.rc @@ -17,7 +17,7 @@ #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
#ifdef _WIN32
-LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
+LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#pragma code_page(1251)
#endif //_WIN32
@@ -26,9 +26,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL // Dialog
//
-IDD_OPT_BUTORDER DIALOGEX 0, 0, 300, 231
+IDD_OPT_BUTORDER DIALOGEX 0, 0, 300, 231
STYLE DS_SETFONT | WS_CHILD
-FONT 8, "MS Sans Serif", 0, 0, 0x1
+FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
GROUPBOX "Buttons Order && Visibility", IDC_STATIC, 10, 0, 150, 180
CONTROL "Tree1", IDC_BUTTONORDERTREE, "SysTreeView32", TVS_NOTOOLTIPS | WS_BORDER | WS_TABSTOP, 20, 25, 132, 100
@@ -71,18 +71,18 @@ END #ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
- IDD_OPT_BUTORDER, DIALOG
+ IDD_OPT_BUTORDER, DIALOG
BEGIN
- VERTGUIDE, 8
- VERTGUIDE, 140
- VERTGUIDE, 158
- VERTGUIDE, 290
- VERTGUIDE, 297
- BOTTOMMARGIN, 229
- HORZGUIDE, 17
- HORZGUIDE, 38
- HORZGUIDE, 133
- HORZGUIDE, 138
+ VERTGUIDE, 8
+ VERTGUIDE, 140
+ VERTGUIDE, 158
+ VERTGUIDE, 290
+ VERTGUIDE, 297
+ BOTTOMMARGIN, 229
+ HORZGUIDE, 17
+ HORZGUIDE, 38
+ HORZGUIDE, 133
+ HORZGUIDE, 138
END
END
#endif // APSTUDIO_INVOKED
@@ -96,7 +96,7 @@ END #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
#ifdef _WIN32
-LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
+LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
#pragma code_page(1251)
#endif //_WIN32
@@ -105,9 +105,9 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT // Dialog
//
-IDD_FRAMEPLUG2 DIALOG 0, 0, 211, 11
+IDD_FRAMEPLUG2 DIALOG 0, 0, 211, 11
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN
-FONT 8, "MS Sans Serif"
+FONT 8, "MS Sans Serif"
BEGIN
CONTROL 262, IDC_P2ONLINEBUTT, "Static", SS_BITMAP | SS_NOTIFY | NOT WS_VISIBLE, 55, 0, 13, 10
CONTROL 269, IDC_P2GROUPBUTT, "Static", SS_BITMAP | SS_NOTIFY | NOT WS_VISIBLE, 70, 0, 13, 10
@@ -122,10 +122,10 @@ END #ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
- IDD_FRAMEPLUG2, DIALOG
+ IDD_FRAMEPLUG2, DIALOG
BEGIN
- RIGHTMARGIN, 197
- BOTTOMMARGIN, 10
+ RIGHTMARGIN, 197
+ BOTTOMMARGIN, 10
END
END
#endif // APSTUDIO_INVOKED
@@ -210,18 +210,18 @@ BEGIN BEGIN
BLOCK "041904b0"
BEGIN
- VALUE "FileDescription", "ToptoolBar adds buttons in top frame for fast access."
- VALUE "FileVersion", "0.7.3.1"
- VALUE "InternalName", "TopToolBar"
- VALUE "LegalCopyright", "© 2003-2008 Bethoven"
- VALUE "OriginalFilename", "TopToolbar.dll"
- VALUE "ProductName", "TopToolBar"
- VALUE "ProductVersion", "0.7.3.1"
+ VALUE "FileDescription", "ToptoolBar adds buttons in top frame for fast access."
+ VALUE "FileVersion", "0.7.3.1"
+ VALUE "InternalName", "TopToolBar"
+ VALUE "LegalCopyright", "© 2003-2008 Bethoven"
+ VALUE "OriginalFilename", "TopToolbar.dll"
+ VALUE "ProductName", "TopToolBar"
+ VALUE "ProductVersion", "0.7.3.1"
END
END
BLOCK "VarFileInfo"
BEGIN
- VALUE "Translation", 0x419, 1200
+ VALUE "Translation", 0x419, 1200
END
END
@@ -234,7 +234,7 @@ END #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
#pragma code_page(1252)
#endif //_WIN32
@@ -256,7 +256,7 @@ IDI_TICK ICON "icos\\notick1.ico" #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENC)
#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
#pragma code_page(1252)
#endif //_WIN32
@@ -265,10 +265,10 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN // Dialog
//
-IDD_OPT_TTBBKG DIALOGEX 0, 0, 235, 132
+IDD_OPT_TTBBKG DIALOGEX 0, 0, 235, 132
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE
EXSTYLE WS_EX_CONTROLPARENT
-FONT 8, "MS Shell Dlg", 0, 0, 0x1
+FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
GROUPBOX "TopToolBar Background", IDC_STATIC, 4, 4, 227, 124
LTEXT "Background colour:", IDC_STATIC, 12, 20, 72, 8, NOT WS_GROUP
@@ -295,21 +295,21 @@ END #ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
- IDD_OPT_TTBBKG, DIALOG
+ IDD_OPT_TTBBKG, DIALOG
BEGIN
- LEFTMARGIN, 4
- RIGHTMARGIN, 231
- VERTGUIDE, 12
- VERTGUIDE, 22
- VERTGUIDE, 122
- TOPMARGIN, 4
- BOTTOMMARGIN, 128
- HORZGUIDE, 24
- HORZGUIDE, 40
- HORZGUIDE, 73
- HORZGUIDE, 89
- HORZGUIDE, 102
- HORZGUIDE, 115
+ LEFTMARGIN, 4
+ RIGHTMARGIN, 231
+ VERTGUIDE, 12
+ VERTGUIDE, 22
+ VERTGUIDE, 122
+ TOPMARGIN, 4
+ BOTTOMMARGIN, 128
+ HORZGUIDE, 24
+ HORZGUIDE, 40
+ HORZGUIDE, 73
+ HORZGUIDE, 89
+ HORZGUIDE, 102
+ HORZGUIDE, 115
END
END
#endif // APSTUDIO_INVOKED
diff --git a/plugins/TopToolBar/separators.cpp b/plugins/TopToolBar/separators.cpp index 28cd67857e..ae122b1b71 100644 --- a/plugins/TopToolBar/separators.cpp +++ b/plugins/TopToolBar/separators.cpp @@ -13,7 +13,7 @@ int InsertSeparator(int id) HBITMAP Separator = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_SEP));
char buf[255];
- wsprintf(buf, "%s %d", Translate("Separator"), id);
+ wsprintfA(buf, "%s %d", Translate("Separator"), id);
TTBButton ttb = { 0 };
ttb.cbSize = sizeof(ttb);
@@ -57,7 +57,7 @@ int LoadAllSeparators() _itoa(i, buf1, 10);
int id = DBGetContactSettingWord(0, TTB_OPTDIR, AS(buf, "Sep", buf1), -1);
- if (id == i)
+ if (id == i)
Separators[i] = InsertSeparator(i);
}
return 0;
@@ -86,7 +86,7 @@ INT_PTR InsertNewFreeSeparator(WPARAM wParam, LPARAM lParam) {
if (SeparatorCnt < MAXSEPS) {
for (int i = 0; i < MAXSEPS; i++) {
- if (Separators[i] == 0) {
+ if (Separators[i] == 0) {
Separators[i] = InsertSeparator(i);
SaveAllSeparators();
return 0;
diff --git a/plugins/TopToolBar/ttbopt.cpp b/plugins/TopToolBar/ttbopt.cpp index aea347c2fe..6167f3e19e 100644 --- a/plugins/TopToolBar/ttbopt.cpp +++ b/plugins/TopToolBar/ttbopt.cpp @@ -2,7 +2,7 @@ #include <shlobj.h>
#pragma hdrstop
-static BOOL CALLBACK DlgProcTTBBkgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
+static INT_PTR CALLBACK DlgProcTTBBkgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
extern int ttbOptionsChanged();
extern HINSTANCE hInst;
@@ -20,42 +20,41 @@ struct OrderData HTREEITEM hDragItem;
};
-char *SetEndSlash(char *str)
+TCHAR *SetEndSlash(TCHAR *str)
{
- if (str == NULL || *str == 0)
+ if (str == NULL || *str == 0)
return NULL;
- char *outs = str;
- if (str[strlen(str)-1] != '\\') {
- outs = (char*)malloc(strlen(str)+3);
- memset(outs, 0, strlen(str)+3);
- strcat(outs, str);
- outs[strlen(str)] = '\\';
+ TCHAR *outs = str;
+ if (str[_tcslen(str)-1] != '\\') {
+ outs = (TCHAR*)calloc( sizeof(TCHAR), _tcslen(str)+3);
+ _tcscat(outs, str);
+ outs[_tcslen(str)] = '\\';
}
return outs;
}
-bool FileExists(char *fname)
+bool FileExists(TCHAR *fname)
{
WIN32_FIND_DATA wfd = { 0 };
HANDLE h = FindFirstFile(fname, &wfd);
- if (h == INVALID_HANDLE_VALUE)
+ if (h == INVALID_HANDLE_VALUE)
return FALSE;
FindClose(h);
return TRUE;
}
-char *ReplaceBadChar(char *str, char bad, char toreplace)
+TCHAR *ReplaceBadChar(TCHAR *str, TCHAR bad, TCHAR toreplace)
{
- for (int i = 0; i < strlen(str); i++)
- if (str[i] == bad)
+ for (int i = 0; str[i] != 0; i++)
+ if (str[i] == bad)
str[i] = toreplace;
return str;
}
-char *ReplaceAll(char *str)
+TCHAR *ReplaceAll(TCHAR *str)
{
ReplaceBadChar(str, '\\', '_');
ReplaceBadChar(str, '/', '_');
@@ -69,42 +68,42 @@ char *ReplaceAll(char *str) return str;
}
-void AssignBitmapsFromDir(char *dir)
+void AssignBitmapsFromDir(TCHAR *dir)
{
- if (dir == NULL || *dir == 0 )
+ if (dir == NULL || *dir == 0 )
return;
dir = SetEndSlash(dir);
lockbut();
for (int i = 0; i < nButtonsCount; i++) {
- char curnameUP[512], curnameDN[512], ChangedName[512];
- strcpy(ChangedName, Buttons[i].name);
+ TCHAR curnameUP[512], curnameDN[512], ChangedName[512];
+ _tcscpy(ChangedName, _A2T(Buttons[i].name));
ReplaceAll(ChangedName);
- wsprintf(curnameUP, "%s%s_UP.bmp", dir, ChangedName);
- wsprintf(curnameDN, "%s%s_DN.bmp", dir, ChangedName);
+ wsprintf(curnameUP, _T("%s%s_UP.bmp"), dir, ChangedName);
+ wsprintf(curnameDN, _T("%s%s_DN.bmp"), dir, ChangedName);
if ( FileExists(curnameUP)) {
if (Buttons[i].UserDefinedbmUp != NULL){free(Buttons[i].UserDefinedbmUp);}
- Buttons[i].UserDefinedbmUp = _strdup(curnameUP);
+ Buttons[i].UserDefinedbmUp = _tcsdup(curnameUP);
}
if ( FileExists(curnameDN)) {
if (Buttons[i].UserDefinedbmDown != NULL){free(Buttons[i].UserDefinedbmDown);}
- Buttons[i].UserDefinedbmDown = _strdup(curnameDN);
+ Buttons[i].UserDefinedbmDown = _tcsdup(curnameDN);
}
- wsprintf(curnameUP, "%s%s_UP.ico", dir, ChangedName);
- wsprintf(curnameDN, "%s%s_DN.ico", dir, ChangedName);
+ wsprintf(curnameUP, _T("%s%s_UP.ico"), dir, ChangedName);
+ wsprintf(curnameDN, _T("%s%s_DN.ico"), dir, ChangedName);
if ( FileExists(curnameUP)) {
if (Buttons[i].UserDefinedbmUp != NULL){free(Buttons[i].UserDefinedbmUp);}
- Buttons[i].UserDefinedbmUp = _strdup(curnameUP);
+ Buttons[i].UserDefinedbmUp = _tcsdup(curnameUP);
}
if ( FileExists(curnameDN)) {
if (Buttons[i].UserDefinedbmDown != NULL){free(Buttons[i].UserDefinedbmDown);}
- Buttons[i].UserDefinedbmDown = _strdup(curnameDN);
+ Buttons[i].UserDefinedbmDown = _tcsdup(curnameDN);
}
}
@@ -115,20 +114,19 @@ void AssignBitmapsFromDir(char *dir) void ApplyNewDir(HWND hwnd)
{
- char buf[512];
- char *buf2;
- GetDlgItemText(hwnd, IDC_IMGDIR, buf, 512);
- buf2 = DBGetString(0, TTB_OPTDIR, "ImgDir");
- if ( buf2 == NULL || strcmp(buf, buf2)) {
- DBWriteContactSettingString(0, TTB_OPTDIR, "ImgDir", buf);
+ TCHAR buf[512], *buf2;
+ GetDlgItemText(hwnd, IDC_IMGDIR, buf, SIZEOF(buf));
+ buf2 = DBGetStringT(0, TTB_OPTDIR, "ImgDir");
+ if ( buf2 == NULL || lstrcmp(buf, buf2)) {
+ DBWriteContactSettingTString(0, TTB_OPTDIR, "ImgDir", buf);
AssignBitmapsFromDir(buf);
}
}
int BuildTree(HWND hwndDlg)
{
- PostMessage(GetDlgItem(hwndDlg, IDC_BMPUP), STM_SETIMAGE, IMAGE_BITMAP, 0);
- PostMessage(GetDlgItem(hwndDlg, IDC_BMPDN), STM_SETIMAGE, IMAGE_BITMAP, 0);
+ PostMessage(GetDlgItem(hwndDlg, IDC_BMPUP), STM_SETIMAGE, IMAGE_BITMAP, 0);
+ PostMessage(GetDlgItem(hwndDlg, IDC_BMPDN), STM_SETIMAGE, IMAGE_BITMAP, 0);
OrderData *dat = (struct OrderData*)GetWindowLongPtr(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), GWLP_USERDATA);
@@ -138,19 +136,19 @@ int BuildTree(HWND hwndDlg) tvis.item.mask = TVIF_PARAM|TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
TreeView_DeleteAllItems(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE));
- if (nButtonsCount == 0)
+ if (nButtonsCount == 0)
return FALSE;
for (int i = 0; i < nButtonsCount; i++) {
ButtonOptData *PD = (ButtonOptData*)malloc(sizeof(ButtonOptData));
-
PD->name = Buttons[arrangedbuts[i].oldpos].name;
PD->show = Buttons[arrangedbuts[i].oldpos].dwFlags&TTBBF_VISIBLE?TRUE:FALSE;
PD->pos = arrangedbuts[i].oldpos;
tvis.item.lParam = (LPARAM)PD;
- tvis.item.pszText = Translate(PD->name);
+ tvis.item.pszText = TranslateTS( mir_a2t( PD->name));
tvis.item.iImage = tvis.item.iSelectedImage = PD->show;
TreeView_InsertItem(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), &tvis);
+ mir_free( tvis.item.pszText );
tvis.item.iImage = tvis.item.iSelectedImage = PD->show;
}
@@ -185,7 +183,7 @@ int SaveTree(HWND hwndDlg) int pos = ((ButtonOptData *)tvi.lParam)->pos;
if (pos >= 0 && pos < nButtonsCount) {
Buttons[pos].dwFlags &= ~(TTBBF_VISIBLE);
- Buttons[pos].dwFlags |= (((ButtonOptData *)tvi.lParam)->show == TRUE ) ? TTBBF_VISIBLE : 0;
+ Buttons[pos].dwFlags |= (((ButtonOptData *)tvi.lParam)->show == TRUE ) ? TTBBF_VISIBLE : 0;
Buttons[pos].arrangedpos = count;
}
@@ -202,41 +200,41 @@ void SetImagesForCurrent (HWND hwndDlg, int curselect) {
int t = IMAGE_BITMAP;
- PostMessage(GetDlgItem(hwndDlg, IDC_BMPUP), STM_SETIMAGE, t, 0);
- PostMessage(GetDlgItem(hwndDlg, IDC_BMPDN), STM_SETIMAGE, t, 0);
+ PostMessage(GetDlgItem(hwndDlg, IDC_BMPUP), STM_SETIMAGE, t, 0);
+ PostMessage(GetDlgItem(hwndDlg, IDC_BMPDN), STM_SETIMAGE, t, 0);
- char *curname = Buttons[curselect].UserDefinedbmUp;
+ TCHAR *curname = Buttons[curselect].UserDefinedbmUp;
if (curname != NULL) {
- if (strstr(curname, ".ico"))
+ if ( _tcsstr(curname, _T(".ico")))
t = IMAGE_ICON;
int st = WS_CHILDWINDOW | SS_NOTIFY | WS_VISIBLE;
- st |= (t == IMAGE_ICON) ? SS_ICON : SS_BITMAP;
+ st |= (t == IMAGE_ICON) ? SS_ICON : SS_BITMAP;
SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_BMPUP), GWL_STYLE, st);
}
else {
- SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_BMPUP), GWL_STYLE, WS_CHILDWINDOW|WS_VISIBLE|SS_NOTIFY|(Buttons[curselect].hbBitmapDown == NULL?SS_ICON:SS_BITMAP));
+ SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_BMPUP), GWL_STYLE, WS_CHILDWINDOW|WS_VISIBLE|SS_NOTIFY|(Buttons[curselect].hbBitmapDown == NULL?SS_ICON:SS_BITMAP));
t = IMAGE_ICON;
}
- PostMessage(GetDlgItem(hwndDlg, IDC_BMPUP), STM_SETIMAGE, t, (Buttons[curselect].hbBitmapUp == NULL) ? (LPARAM)Buttons[curselect].hIconUp : (LPARAM)Buttons[curselect].hbBitmapUp);
+ PostMessage(GetDlgItem(hwndDlg, IDC_BMPUP), STM_SETIMAGE, t, (Buttons[curselect].hbBitmapUp == NULL) ? (LPARAM)Buttons[curselect].hIconUp : (LPARAM)Buttons[curselect].hbBitmapUp);
curname = Buttons[curselect].UserDefinedbmDown;
if (curname != NULL) {
- if (strstr(curname, ".ico"))
+ if ( _tcsstr(curname, _T(".ico")))
t = IMAGE_ICON;
int st = WS_CHILDWINDOW | SS_NOTIFY | WS_VISIBLE;
- st |= (t == IMAGE_ICON) ? SS_ICON : SS_BITMAP;
+ st |= (t == IMAGE_ICON) ? SS_ICON : SS_BITMAP;
SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_BMPDN), GWL_STYLE, st);
}
else {
- SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_BMPDN), GWL_STYLE, WS_CHILDWINDOW|WS_VISIBLE|SS_NOTIFY|(Buttons[curselect].hbBitmapDown == NULL?SS_ICON:SS_BITMAP));
+ SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_BMPDN), GWL_STYLE, WS_CHILDWINDOW|WS_VISIBLE|SS_NOTIFY|(Buttons[curselect].hbBitmapDown == NULL?SS_ICON:SS_BITMAP));
t = IMAGE_ICON;
}
- PostMessage(GetDlgItem(hwndDlg, IDC_BMPDN), STM_SETIMAGE, t, (Buttons[curselect].hbBitmapDown == NULL) ? (LPARAM)Buttons[curselect].hIconDn : (LPARAM)Buttons[curselect].hbBitmapDown);
+ PostMessage(GetDlgItem(hwndDlg, IDC_BMPDN), STM_SETIMAGE, t, (Buttons[curselect].hbBitmapDown == NULL) ? (LPARAM)Buttons[curselect].hIconDn : (LPARAM)Buttons[curselect].hbBitmapDown);
}
-static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+static INT_PTR CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
struct OrderData *dat = (struct OrderData*)GetWindowLongPtr(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), GWLP_USERDATA);
@@ -257,8 +255,8 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR TreeView_SetImageList(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), himlCheckBoxes, TVSIL_NORMAL);
}
- PostMessage(GetDlgItem(hwndDlg, IDC_BMPUP), STM_SETIMAGE, IMAGE_BITMAP, 0);
- PostMessage(GetDlgItem(hwndDlg, IDC_BMPDN), STM_SETIMAGE, IMAGE_BITMAP, 0);
+ PostMessage(GetDlgItem(hwndDlg, IDC_BMPUP), STM_SETIMAGE, IMAGE_BITMAP, 0);
+ PostMessage(GetDlgItem(hwndDlg, IDC_BMPDN), STM_SETIMAGE, IMAGE_BITMAP, 0);
SetDlgItemInt(hwndDlg, IDC_BUTTHEIGHT, DBGetContactSettingByte(0, TTB_OPTDIR, "BUTTHEIGHT", 16), FALSE);
SetDlgItemInt(hwndDlg, IDC_BUTTWIDTH, DBGetContactSettingByte(0, TTB_OPTDIR, "BUTTWIDTH", 20), FALSE);
CheckDlgButton(hwndDlg, IDC_USEMIRANDABUTTON, DBGetContactSettingByte(0, TTB_OPTDIR, "UseMirandaButtonClass", UseMirandaButtonClassDefaultValue));
@@ -275,7 +273,7 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR EnableWindow(GetDlgItem(hwndDlg, IDC_EPATH), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_DELLBUTTON), FALSE);
- SetDlgItemText(hwndDlg, IDC_IMGDIR, DBGetString(0, TTB_OPTDIR, "ImgDir"));
+ SetDlgItemText(hwndDlg, IDC_IMGDIR, DBGetStringT(0, TTB_OPTDIR, "ImgDir"));
SendMessage(hwndDlg, WM_COMMAND, 0, 0);
OptionshWnd = hwndDlg;
}
@@ -292,40 +290,37 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR EnableWindow(GetDlgItem(hwndDlg, IDC_USEFLAT), IsDlgButtonChecked(hwndDlg, IDC_USEMIRANDABUTTON));
- if (HIWORD(wParam) == EN_CHANGE ) {
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ if (HIWORD(wParam) == EN_CHANGE ) {
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
break;
}
- if ((HIWORD(wParam) == BN_CLICKED|| HIWORD(wParam) == BN_DBLCLK)) {
+ if ((HIWORD(wParam) == BN_CLICKED|| HIWORD(wParam) == BN_DBLCLK)) {
int ctrlid = LOWORD(wParam);
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
-
- if (ctrlid == IDC_OPENIMGDIR) {
- char buf[512];
- PCIDLIST_ABSOLUTE res;
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
- BROWSEINFO bi;
- memset(&bi, 0, sizeof(bi));
+ if (ctrlid == IDC_OPENIMGDIR) {
+ TCHAR buf[512];
+ BROWSEINFO bi = { 0 };
bi.hwndOwner = hwndDlg;
bi.pszDisplayName = buf;
- bi.lpszTitle = Translate("Select Directory");
+ bi.lpszTitle = TranslateT("Select Directory");
bi.ulFlags = BIF_RETURNONLYFSDIRS;
- res = SHBrowseForFolder(&bi);
+ PCIDLIST_ABSOLUTE res = SHBrowseForFolder(&bi);
if (res != NULL) {
- if (SHGetPathFromIDList(res, buf) == TRUE) {
- SetDlgItemText(hwndDlg, IDC_IMGDIR, (LPCSTR)&buf);
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ if (SHGetPathFromIDList(res, buf) == TRUE) {
+ SetDlgItemText(hwndDlg, IDC_IMGDIR, buf);
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
}
}
break;
}
- if (ctrlid == IDC_LBUTTONSET) {
+ if (ctrlid == IDC_LBUTTONSET) {
int curselect;
TVITEM tvi;
tvi.hItem = TreeView_GetSelection(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE));
- if (tvi.hItem == NULL){break;}
+ if (tvi.hItem == NULL){break;}
tvi.mask = TVIF_PARAM;
TreeView_GetItem(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), &tvi);
@@ -333,12 +328,12 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR curselect = ((ButtonOptData *)tvi.lParam)->pos;
if (Buttons[curselect].dwFlags & TTBBF_ISLBUTTON) {
LBUTOPT lbo = { 0 };
- char buf[256];
+ TCHAR buf[256];
GetDlgItemText(hwndDlg, IDC_ENAME, buf, 255);
- lbo.name = _strdup(buf);
+ lbo.name = _strdup( _T2A(buf));
GetDlgItemText(hwndDlg, IDC_EPATH, buf, 255);
- lbo.lpath = _strdup(buf);
+ lbo.lpath = _tcsdup(buf);
CallService(TTB_MODIFYLBUTTON, Buttons[curselect].lParamDown, (LPARAM)&lbo);
free(lbo.name);
@@ -347,19 +342,19 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR break;
}
- if (ctrlid == IDC_ADDLBUTTON) {
- if (CallService(TTB_ADDLBUTTON, 0, 0) == 0) {
+ if (ctrlid == IDC_ADDLBUTTON) {
+ if (CallService(TTB_ADDLBUTTON, 0, 0) == 0) {
// BuildTree(hwndDlg);
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
}
break;
}
- if (ctrlid == IDC_DELLBUTTON) {
+ if (ctrlid == IDC_DELLBUTTON) {
int curselect;
TVITEM tvi;
tvi.hItem = TreeView_GetSelection(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE));
- if (tvi.hItem == NULL)
+ if (tvi.hItem == NULL)
break;
tvi.mask = TVIF_PARAM;
@@ -371,29 +366,29 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR EnableWindow(GetDlgItem(hwndDlg, IDC_ENAME), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_EPATH), FALSE);
BuildTree(hwndDlg);
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
}
}
- if (ctrlid == IDC_ADDSEP) {
- if (CallService(TTB_ADDSEPARATOR, 0, 0) == 0) {
+ if (ctrlid == IDC_ADDSEP) {
+ if (CallService(TTB_ADDSEPARATOR, 0, 0) == 0) {
// BuildTree(hwndDlg);
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
}
break;
}
- if (ctrlid == IDC_REMOVESEP) {
+ if (ctrlid == IDC_REMOVESEP) {
TVITEM tvi;
memset(&tvi, 0, sizeof(tvi));
tvi.hItem = TreeView_GetSelection(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE));
- if (tvi.hItem == NULL){break;}
+ if (tvi.hItem == NULL){break;}
//MessageBoxA(0, "GetSelItem", "log", 0);
tvi.mask = TVIF_PARAM;
TreeView_GetItem(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), &tvi);
- if (tvi.lParam == 0)
+ if (tvi.lParam == 0)
break;
if ( IsBadCodePtr(( FARPROC )tvi.lParam)) {
@@ -404,17 +399,17 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR int curselect = ((ButtonOptData *)tvi.lParam)->pos;
if ( curselect >= 0 && curselect < nButtonsCount ) {
if (Buttons[curselect].dwFlags&TTBBF_ISSEPARATOR) {
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
CallService(TTB_REMOVESEPARATOR, Buttons[curselect].lParamDown, 0);
}
}
break;
}
- if (ctrlid == IDC_DEFAULT) {
+ if (ctrlid == IDC_DEFAULT) {
TVITEM tvi;
tvi.hItem = TreeView_GetSelection(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE));
- if (tvi.hItem == NULL)
+ if (tvi.hItem == NULL)
break;
tvi.mask = TVIF_PARAM;
@@ -431,21 +426,21 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR SetImagesForCurrent(hwndDlg, curselect);
ulockbut();
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
}
}
- if ((HIWORD(wParam) == STN_CLICKED|| HIWORD(wParam) == STN_DBLCLK)) {
+ if ((HIWORD(wParam) == STN_CLICKED|| HIWORD(wParam) == STN_DBLCLK)) {
int ctrlid = LOWORD(wParam);
- if (ctrlid == IDC_BMPUP||ctrlid == IDC_BMPDN) {
+ if (ctrlid == IDC_BMPUP||ctrlid == IDC_BMPDN) {
TVITEM tvi;
tvi.hItem = TreeView_GetSelection(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE));
- if (tvi.hItem == NULL)
+ if (tvi.hItem == NULL)
break;
tvi.mask = TVIF_PARAM;
TreeView_GetItem(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), &tvi);
- if (tvi.lParam == 0)
+ if (tvi.lParam == 0)
break;
int curselect = ((ButtonOptData *)tvi.lParam)->pos;
@@ -476,23 +471,23 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
ofn.nMaxFile = sizeof(filename);
ofn.nMaxFileTitle = MAX_PATH;
- ofn.lpstrDefExt = "bmp";
- ofn.lpstrTitle = (ctrlid == IDC_BMPUP)?Translate("Select Up Bitmap"):Translate("Select Down Bitmap");
+ ofn.lpstrDefExt = _T("bmp");
+ ofn.lpstrTitle = (ctrlid == IDC_BMPUP) ? TranslateT("Select Up Bitmap") : TranslateT("Select Down Bitmap");
if (GetOpenFileName(&ofn)) {
lockbut();
- if (ctrlid == IDC_BMPUP){
+ if (ctrlid == IDC_BMPUP){
if (Buttons[curselect].UserDefinedbmUp != NULL){free(Buttons[curselect].UserDefinedbmUp);}
- Buttons[curselect].UserDefinedbmUp = _strdup(ofn.lpstrFile);
+ Buttons[curselect].UserDefinedbmUp = _tcsdup(ofn.lpstrFile);
}
- if (ctrlid == IDC_BMPDN){
+ if (ctrlid == IDC_BMPDN){
if (Buttons[curselect].UserDefinedbmDown != NULL){free(Buttons[curselect].UserDefinedbmDown);}
- Buttons[curselect].UserDefinedbmDown = _strdup(ofn.lpstrFile);
+ Buttons[curselect].UserDefinedbmDown = _tcsdup(ofn.lpstrFile);
}
applyuserbitmaps(curselect);
SetImagesForCurrent(hwndDlg, curselect);
ulockbut();
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
}
}
}
@@ -542,7 +537,7 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR tvi.iImage = tvi.iSelectedImage = !tvi.iImage;
((ButtonOptData *)tvi.lParam)->show = tvi.iImage;
TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom, &tvi);
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
}
}
}
@@ -554,7 +549,7 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR HTREEITEM hti;
hti = TreeView_GetSelection(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE));
- if (hti == NULL){break;}
+ if (hti == NULL){break;}
tvi.mask = TVIF_HANDLE|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_PARAM;
tvi.hItem = hti;
TreeView_GetItem(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), &tvi);
@@ -565,8 +560,8 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR EnableWindow(GetDlgItem(hwndDlg, IDC_BMPDN), FALSE);
SetImagesForCurrent(hwndDlg, ((ButtonOptData *)tvi.lParam)->pos);
- //PostMessage(GetDlgItem(hwndDlg, IDC_BMPUP), STM_SETIMAGE, IMAGE_BITMAP, Buttons[((ButtonOptData *)tvi.lParam)->pos].hbBitmapUp);
- //PostMessage(GetDlgItem(hwndDlg, IDC_BMPDN), STM_SETIMAGE, IMAGE_BITMAP, Buttons[((ButtonOptData *)tvi.lParam)->pos].hbBitmapDown);
+ //PostMessage(GetDlgItem(hwndDlg, IDC_BMPUP), STM_SETIMAGE, IMAGE_BITMAP, Buttons[((ButtonOptData *)tvi.lParam)->pos].hbBitmapUp);
+ //PostMessage(GetDlgItem(hwndDlg, IDC_BMPDN), STM_SETIMAGE, IMAGE_BITMAP, Buttons[((ButtonOptData *)tvi.lParam)->pos].hbBitmapDown);
EnableWindow(GetDlgItem(hwndDlg, IDC_REMOVESEP), FALSE);
if (Buttons[((ButtonOptData *)tvi.lParam)->pos].dwFlags&TTBBF_ISSEPARATOR)
@@ -580,8 +575,8 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR EnableWindow(GetDlgItem(hwndDlg, IDC_EPATH), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_DELLBUTTON), FALSE);
EnableWindow(GetDlgItem(hwndDlg, IDC_LBUTTONSET), FALSE);
- {SetDlgItemText(hwndDlg, IDC_ENAME, "");}
- {SetDlgItemText(hwndDlg, IDC_EPATH, "");}
+ SetDlgItemTextA(hwndDlg, IDC_ENAME, "");
+ SetDlgItemTextA(hwndDlg, IDC_EPATH, "");
if (Buttons[((ButtonOptData *)tvi.lParam)->pos].dwFlags & TTBBF_ISLBUTTON) {
LBUTOPT lbo = { 0 };
@@ -592,8 +587,10 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR EnableWindow(GetDlgItem(hwndDlg, IDC_DELLBUTTON), TRUE);
EnableWindow(GetDlgItem(hwndDlg, IDC_LBUTTONSET), TRUE);
- if (lbo.name != NULL){SetDlgItemText(hwndDlg, IDC_ENAME, lbo.name);}
- if (lbo.lpath != NULL){SetDlgItemText(hwndDlg, IDC_EPATH, lbo.lpath);}
+ if (lbo.name != NULL)
+ SetDlgItemTextA(hwndDlg, IDC_ENAME, lbo.name);
+ if (lbo.lpath != NULL)
+ SetDlgItemText(hwndDlg, IDC_EPATH, lbo.lpath);
}
}
@@ -643,17 +640,17 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR ScreenToClient(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), &hti.pt);
hti.pt.y -= TreeView_GetItemHeight(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE))/2;
TreeView_HitTest(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), &hti);
- if (dat->hDragItem == hti.hItem) break;
+ if (dat->hDragItem == hti.hItem) break;
tvi.mask = TVIF_HANDLE|TVIF_PARAM;
tvi.hItem = hti.hItem;
TreeView_GetItem(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), &tvi);
if (hti.flags&(TVHT_ONITEM|TVHT_ONITEMRIGHT)) {
TVINSERTSTRUCT tvis;
- char name[128];
+ TCHAR name[128];
tvis.item.mask = TVIF_HANDLE|TVIF_PARAM|TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
tvis.item.stateMask = 0xFFFFFFFF;
tvis.item.pszText = name;
- tvis.item.cchTextMax = sizeof(name);
+ tvis.item.cchTextMax = SIZEOF(name);
tvis.item.hItem = dat->hDragItem;
//
tvis.item.iImage = tvis.item.iSelectedImage = ((ButtonOptData *)tvi.lParam)->show;
@@ -664,7 +661,7 @@ static BOOL CALLBACK ButOrderOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR tvis.hParent = NULL;
tvis.hInsertAfter = hti.hItem;
TreeView_SelectItem(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), TreeView_InsertItem(GetDlgItem(hwndDlg, IDC_BUTTONORDERTREE), &tvis));
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
SaveTree(hwndDlg);
}
}
@@ -682,7 +679,7 @@ int TTBOptInit(WPARAM wParam, LPARAM lParam) odp.pszGroup = Translate("TopToolBar");
if ( !ServiceExists(MS_BACKGROUNDCONFIG_REGISTER)) {
- odp.pszTemplate = MAKEINTRESOURCE(IDD_OPT_TTBBKG);
+ odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_TTBBKG);
odp.pszTitle = Translate("TTBBackground");
odp.pfnDlgProc = DlgProcTTBBkgOpts;
odp.flags = ODPF_BOLDGROUPS;
@@ -693,7 +690,7 @@ int TTBOptInit(WPARAM wParam, LPARAM lParam) odp.cbSize = sizeof(odp);
odp.position = -1000000000;
odp.hInstance = hInst;//GetModuleHandle(NULL);
- odp.pszTemplate = MAKEINTRESOURCE(IDD_OPT_BUTORDER);
+ odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_BUTORDER);
odp.pszGroup = Translate("TopToolBar");
odp.pszTitle = Translate("Buttons");
odp.pfnDlgProc = ButOrderOpts;
@@ -702,7 +699,7 @@ int TTBOptInit(WPARAM wParam, LPARAM lParam) return 0;
}
-static BOOL CALLBACK DlgProcTTBBkgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+static INT_PTR CALLBACK DlgProcTTBBkgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg) {
case WM_INITDIALOG:
@@ -715,12 +712,11 @@ static BOOL CALLBACK DlgProcTTBBkgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, SendDlgItemMessage(hwndDlg, IDC_SELCOLOUR, CPM_SETCOLOUR, 0, DBGetContactSettingDword(NULL, TTB_OPTDIR, "SelBkColour", TTBDEFAULT_SELBKCOLOUR));
{
DBVARIANT dbv;
- if (!DBGetContactSetting(NULL, TTB_OPTDIR, "BkBitmap", &dbv)) {
- SetDlgItemText(hwndDlg, IDC_FILENAME, dbv.pszVal);
+ if ( !DBGetContactSetting(NULL, TTB_OPTDIR, "BkBitmap", &dbv)) {
+ SetDlgItemText(hwndDlg, IDC_FILENAME, dbv.ptszVal);
DBFreeVariant(&dbv);
}
- }
- {
+
WORD bmpUse = DBGetContactSettingWord(NULL, TTB_OPTDIR, "BkBmpUse", TTBDEFAULT_BKBMPUSE);
CheckDlgButton(hwndDlg, IDC_STRETCHH, bmpUse&CLB_STRETCHH?BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_STRETCHV, bmpUse&CLB_STRETCHV?BST_CHECKED:BST_UNCHECKED);
@@ -728,11 +724,11 @@ static BOOL CALLBACK DlgProcTTBBkgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, CheckDlgButton(hwndDlg, IDC_TILEV, bmpUse&CLBF_TILEV?BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_SCROLL, bmpUse&CLBF_SCROLL?BST_CHECKED:BST_UNCHECKED);
CheckDlgButton(hwndDlg, IDC_PROPORTIONAL, bmpUse&CLBF_PROPORTIONAL?BST_CHECKED:BST_UNCHECKED);
- }
- {
+
HRESULT (STDAPICALLTYPE *MySHAutoComplete)(HWND, DWORD);
- MySHAutoComplete = (HRESULT (STDAPICALLTYPE*)(HWND, DWORD))GetProcAddress(GetModuleHandle("shlwapi"), "SHAutoComplete");
- if (MySHAutoComplete) MySHAutoComplete(GetDlgItem(hwndDlg, IDC_FILENAME), 1);
+ MySHAutoComplete = (HRESULT (STDAPICALLTYPE*)(HWND, DWORD))GetProcAddress(GetModuleHandleA("shlwapi"), "SHAutoComplete");
+ if (MySHAutoComplete)
+ MySHAutoComplete(GetDlgItem(hwndDlg, IDC_FILENAME), 1);
}
return TRUE;
@@ -748,7 +744,7 @@ static BOOL CALLBACK DlgProcTTBBkgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, break;
case WM_COMMAND:
- if (LOWORD(wParam) == IDC_BROWSE) {
+ if (LOWORD(wParam) == IDC_BROWSE) {
TCHAR str[MAX_PATH];
OPENFILENAME ofn = {0};
TCHAR filter[512];
@@ -763,18 +759,18 @@ static BOOL CALLBACK DlgProcTTBBkgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
ofn.nMaxFile = sizeof(str);
ofn.nMaxFileTitle = MAX_PATH;
- ofn.lpstrDefExt = "bmp";
+ ofn.lpstrDefExt = _T("bmp");
if (!GetOpenFileName(&ofn))
break;
SetDlgItemText(hwndDlg, IDC_FILENAME, str);
}
- else if (LOWORD(wParam) == IDC_FILENAME && HIWORD(wParam) != EN_CHANGE)
+ else if (LOWORD(wParam) == IDC_FILENAME && HIWORD(wParam) != EN_CHANGE)
break;
- if (LOWORD(wParam) == IDC_BITMAP) SendMessage(hwndDlg, WM_USER+10, 0, 0);
- if (LOWORD(wParam) == IDC_FILENAME && (HIWORD(wParam) != EN_CHANGE || (HWND)lParam != GetFocus())) return 0;
- SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
+ if (LOWORD(wParam) == IDC_BITMAP) SendMessage(hwndDlg, WM_USER+10, 0, 0);
+ if (LOWORD(wParam) == IDC_FILENAME && (HIWORD(wParam) != EN_CHANGE || (HWND)lParam != GetFocus())) return 0;
+ SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0);
break;
case WM_NOTIFY:
@@ -785,22 +781,20 @@ static BOOL CALLBACK DlgProcTTBBkgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, DBWriteContactSettingByte(NULL, TTB_OPTDIR, "UseBitmap", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_BITMAP));
{
COLORREF col = SendDlgItemMessage(hwndDlg, IDC_BKGCOLOUR, CPM_GETCOLOUR, 0, 0);
- if (col == TTBDEFAULT_BKCOLOUR)
+ if (col == TTBDEFAULT_BKCOLOUR)
DBDeleteContactSetting(NULL, TTB_OPTDIR, "BkColour");
else
DBWriteContactSettingDword(NULL, TTB_OPTDIR, "BkColour", col);
col = SendDlgItemMessage(hwndDlg, IDC_SELCOLOUR, CPM_GETCOLOUR, 0, 0);
- if (col == TTBDEFAULT_SELBKCOLOUR)
+ if (col == TTBDEFAULT_SELBKCOLOUR)
DBDeleteContactSetting(NULL, TTB_OPTDIR, "SelBkColour");
else
DBWriteContactSettingDword(NULL, TTB_OPTDIR, "SelBkColour", col);
- }
- {
+
TCHAR str[MAX_PATH];
GetDlgItemText(hwndDlg, IDC_FILENAME, str, SIZEOF(str));
- DBWriteContactSettingString(NULL, TTB_OPTDIR, "BkBitmap", str);
- }
- {
+ DBWriteContactSettingTString(NULL, TTB_OPTDIR, "BkBitmap", str);
+
WORD flags = 0;
if (IsDlgButtonChecked(hwndDlg, IDC_STRETCHH)) flags |= CLB_STRETCHH;
if (IsDlgButtonChecked(hwndDlg, IDC_STRETCHV)) flags |= CLB_STRETCHV;
|