summaryrefslogtreecommitdiff
path: root/plugins/TabSRMM
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/TabSRMM')
-rw-r--r--plugins/TabSRMM/src/commonheaders.h1
-rw-r--r--plugins/TabSRMM/src/container.cpp8
-rw-r--r--plugins/TabSRMM/src/generic_msghandlers.cpp14
-rw-r--r--plugins/TabSRMM/src/globals.cpp3
-rw-r--r--plugins/TabSRMM/src/globals.h1
-rw-r--r--plugins/TabSRMM/src/msgdialog.cpp160
-rw-r--r--plugins/TabSRMM/src/msgdlgutils.cpp214
7 files changed, 86 insertions, 315 deletions
diff --git a/plugins/TabSRMM/src/commonheaders.h b/plugins/TabSRMM/src/commonheaders.h
index 99f5890497..79da8bf610 100644
--- a/plugins/TabSRMM/src/commonheaders.h
+++ b/plugins/TabSRMM/src/commonheaders.h
@@ -89,7 +89,6 @@
#include <m_nudge.h>
#include <m_folders.h>
#include <m_msg_buttonsbar.h>
-#include <m_flash.h>
#include <m_smileyadd.h>
#define TSAPI __stdcall
diff --git a/plugins/TabSRMM/src/container.cpp b/plugins/TabSRMM/src/container.cpp
index d76bb0021c..efe384d9fb 100644
--- a/plugins/TabSRMM/src/container.cpp
+++ b/plugins/TabSRMM/src/container.cpp
@@ -1747,14 +1747,6 @@ panel_found:
return 0;
case WM_DESTROY:
- if (PluginConfig.g_FlashAvatarAvail) { // destroy own flash avatar
- FLASHAVATAR fa = {0};
- TWindowData *dat = (TWindowData*)GetWindowLongPtr(pContainer->hwndActive, GWLP_USERDATA);
-
- fa.id = 25367;
- fa.cProto = dat ? dat->szProto : NULL;
- CallService(MS_FAVATAR_DESTROY, (WPARAM)&fa, 0);
- }
pContainer->hwnd = 0;
pContainer->hwndActive = 0;
pContainer->hMenuContext = 0;
diff --git a/plugins/TabSRMM/src/generic_msghandlers.cpp b/plugins/TabSRMM/src/generic_msghandlers.cpp
index 3a08715d5d..3294c0b866 100644
--- a/plugins/TabSRMM/src/generic_msghandlers.cpp
+++ b/plugins/TabSRMM/src/generic_msghandlers.cpp
@@ -1826,20 +1826,6 @@ void TSAPI DM_UpdateTitle(TWindowData *dat, WPARAM wParam, LPARAM lParam)
dat->Panel->Invalidate();
if (dat->pWnd)
dat->pWnd->Invalidate();
-
- if (PluginConfig.g_FlashAvatarAvail) {
- FLASHAVATAR fa = {0};
-
- fa.hContact = dat->hContact;
- fa.hWindow = 0;
- fa.id = 25367;
- fa.cProto = dat->szProto;
-
- CallService(MS_FAVATAR_GETINFO, (WPARAM)&fa, 0);
- dat->hwndFlash = fa.hWindow;
- if (dat->hwndFlash)
- SetParent(dat->hwndFlash, dat->Panel->isActive() ? dat->hwndPanelPicParent : GetDlgItem(hwndDlg, IDC_CONTACTPIC));
- }
}
// care about MetaContacts and update the statusbar icon with the currently "most online" contact...
if (dat->bIsMeta) {
diff --git a/plugins/TabSRMM/src/globals.cpp b/plugins/TabSRMM/src/globals.cpp
index c2216f2caa..b2c5a7efa7 100644
--- a/plugins/TabSRMM/src/globals.cpp
+++ b/plugins/TabSRMM/src/globals.cpp
@@ -123,9 +123,6 @@ void CGlobals::reloadSystemModulesChanged()
HookEvent(ME_SMILEYADD_OPTIONSCHANGED, ::SmileyAddOptionsChanged);
}
- // Flashavatars
- g_FlashAvatarAvail = (ServiceExists(MS_FAVATAR_GETINFO) ? 1 : 0);
-
// ieView
BOOL bIEView = ServiceExists(MS_IEVIEW_WINDOW);
if (bIEView) {
diff --git a/plugins/TabSRMM/src/globals.h b/plugins/TabSRMM/src/globals.h
index f0b031c50f..c2d41ae5b1 100644
--- a/plugins/TabSRMM/src/globals.h
+++ b/plugins/TabSRMM/src/globals.h
@@ -72,7 +72,6 @@ public:
HCURSOR hCurSplitNS, hCurSplitWE, hCurHyperlinkHand;
HBITMAP g_hbmUnknown;
int g_SmileyAddAvail, g_WantIEView, g_PopupAvail, g_WantHPP;
- int g_FlashAvatarAvail;
HIMAGELIST g_hImageList;
HICON g_IconMsgEvent, g_IconTypingEvent, g_IconFileEvent, g_IconSend;
HICON g_IconMsgEventBig, g_IconTypingEventBig;
diff --git a/plugins/TabSRMM/src/msgdialog.cpp b/plugins/TabSRMM/src/msgdialog.cpp
index 43b46f8818..f94d5e955e 100644
--- a/plugins/TabSRMM/src/msgdialog.cpp
+++ b/plugins/TabSRMM/src/msgdialog.cpp
@@ -52,7 +52,8 @@ tooltips[] =
{ IDC_TOGGLESIDEBAR, LPGENT("Expand or collapse the side bar") }
};
-static struct {
+static struct
+{
int id;
HICON *pIcon;
}
@@ -65,7 +66,6 @@ buttonicons[] =
static void _clrMsgFilter(LPARAM lParam)
{
MSGFILTER *m = reinterpret_cast<MSGFILTER *>(lParam);
-
m->msg = 0;
m->lParam = 0;
m->wParam = 0;
@@ -80,24 +80,21 @@ BOOL TSAPI IsUtfSendAvailable(MCONTACT hContact)
return (CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_4, 0) & PF4_IMSENDUTF) ? TRUE : FALSE;
}
-/**
- * show a modified context menu for the richedit control(s)
- * @param dat message window data
- * @param idFrom dlg ctrl id
- * @param hwndFrom src window handle
- * @param pt mouse pointer position
- */
+/////////////////////////////////////////////////////////////////////////////////////////
+// show a modified context menu for the richedit control(s)
+// @param dat message window data
+// @param idFrom dlg ctrl id
+// @param hwndFrom src window handle
+// @param pt mouse pointer position
+
static void ShowPopupMenu(TWindowData *dat, int idFrom, HWND hwndFrom, POINT pt)
{
- HMENU hMenu, hSubMenu;
- CHARRANGE sel, all = { 0, -1};
- int iSelection;
- unsigned oldCodepage = dat->codePage;
- int iPrivateBG = M.GetByte(dat->hContact, "private_bg", 0);
- MessageWindowPopupData mwpd;
- HWND hwndDlg = dat->hwnd;
+ CHARRANGE sel, all = { 0, -1};
+ int oldCodepage = dat->codePage;
+ int iPrivateBG = M.GetByte(dat->hContact, "private_bg", 0);
+ HWND hwndDlg = dat->hwnd;
- hMenu = LoadMenu(g_hInst, MAKEINTRESOURCE(IDR_CONTEXT));
+ HMENU hSubMenu, hMenu = LoadMenu(g_hInst, MAKEINTRESOURCE(IDR_CONTEXT));
if (idFrom == IDC_LOG)
hSubMenu = GetSubMenu(hMenu, 0);
else {
@@ -111,27 +108,26 @@ static void ShowPopupMenu(TWindowData *dat, int idFrom, HWND hwndFrom, POINT pt)
SendMessage(hwndFrom, EM_EXGETSEL, 0, (LPARAM)&sel);
if (sel.cpMin == sel.cpMax) {
EnableMenuItem(hSubMenu, IDM_COPY, MF_BYCOMMAND | MF_GRAYED);
- //MAD
EnableMenuItem(hSubMenu, IDM_QUOTE, MF_BYCOMMAND | MF_GRAYED);
- //MAD_
if (idFrom == IDC_MESSAGE)
EnableMenuItem(hSubMenu, IDM_CUT, MF_BYCOMMAND | MF_GRAYED);
}
if (idFrom == IDC_LOG) {
- int i;
- //MAD: quote mod
InsertMenuA(hSubMenu, 6/*5*/, MF_BYPOSITION | MF_SEPARATOR, 0, 0);
InsertMenu(hSubMenu, 7/*6*/, MF_BYPOSITION | MF_POPUP, (UINT_PTR) PluginConfig.g_hMenuEncoding, TranslateT("Character Encoding"));
- for (i=0; i < GetMenuItemCount(PluginConfig.g_hMenuEncoding); i++)
+ for (int i=0; i < GetMenuItemCount(PluginConfig.g_hMenuEncoding); i++)
CheckMenuItem(PluginConfig.g_hMenuEncoding, i, MF_BYPOSITION | MF_UNCHECKED);
+
if (dat->codePage == CP_ACP)
CheckMenuItem(PluginConfig.g_hMenuEncoding, 0, MF_BYPOSITION | MF_CHECKED);
else
CheckMenuItem(PluginConfig.g_hMenuEncoding, dat->codePage, MF_BYCOMMAND | MF_CHECKED);
+
CheckMenuItem(hSubMenu, ID_LOG_FREEZELOG, MF_BYCOMMAND | (dat->dwFlagsEx & MWF_SHOW_SCROLLINGDISABLED ? MF_CHECKED : MF_UNCHECKED));
}
+ MessageWindowPopupData mwpd;
if (idFrom == IDC_LOG || idFrom == IDC_MESSAGE) {
// First notification
mwpd.cbSize = sizeof(mwpd);
@@ -145,7 +141,7 @@ static void ShowPopupMenu(TWindowData *dat, int idFrom, HWND hwndFrom, POINT pt)
NotifyEventHooks(PluginConfig.m_event_MsgPopup, 0, (LPARAM)&mwpd);
}
- iSelection = TrackPopupMenu(hSubMenu, TPM_RETURNCMD, pt.x, pt.y, 0, hwndDlg, NULL);
+ int iSelection = TrackPopupMenu(hSubMenu, TPM_RETURNCMD, pt.x, pt.y, 0, hwndDlg, NULL);
if (idFrom == IDC_LOG || idFrom == IDC_MESSAGE) {
// Second notification
@@ -154,7 +150,7 @@ static void ShowPopupMenu(TWindowData *dat, int idFrom, HWND hwndFrom, POINT pt)
NotifyEventHooks(PluginConfig.m_event_MsgPopup, 0, (LPARAM)&mwpd);
}
- if (((iSelection > 800 && iSelection < 1400) || iSelection == 20866) && idFrom == IDC_LOG) {
+ if (((iSelection > 800 && iSelection < 1400) || iSelection == 20866) && idFrom == IDC_LOG) {
dat->codePage = iSelection;
db_set_dw(dat->hContact, SRMSGMOD_T, "ANSIcodepage", dat->codePage);
}
@@ -247,9 +243,8 @@ LRESULT CALLBACK IEViewSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM l
return mir_callNextSubclass(hwnd, IEViewSubclassProc, msg, wParam, lParam);
}
-/*
- * sublassing procedure for the h++ based message log viewer
- */
+/////////////////////////////////////////////////////////////////////////////////////////
+// sublassing procedure for the h++ based message log viewer
LRESULT CALLBACK HPPKFSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
@@ -258,7 +253,7 @@ LRESULT CALLBACK HPPKFSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
BOOL isCtrl, isShift, isAlt;
KbdState(mwdat, isShift, isCtrl, isAlt);
- switch(msg) {
+ switch (msg) {
case WM_NCCALCSIZE:
return CSkin::NcCalcRichEditFrame(hwnd, mwdat, ID_EXTBKHISTORY, msg, wParam, lParam, HPPKFSubclassProc);
case WM_NCPAINT:
@@ -269,10 +264,11 @@ LRESULT CALLBACK HPPKFSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
if (wParam != VK_PRIOR && wParam != VK_NEXT && wParam != VK_DELETE &&
wParam != VK_MENU && wParam != VK_END && wParam != VK_HOME &&
wParam != VK_UP && wParam != VK_DOWN && wParam != VK_LEFT &&
- wParam != VK_RIGHT && wParam != VK_TAB && wParam != VK_SPACE) {
- SetFocus(GetDlgItem(mwdat->hwnd,IDC_MESSAGE));
- keybd_event((BYTE)wParam, (BYTE)MapVirtualKey(wParam,0), KEYEVENTF_EXTENDEDKEY | 0, 0);
- return 0;
+ wParam != VK_RIGHT && wParam != VK_TAB && wParam != VK_SPACE)
+ {
+ SetFocus(GetDlgItem(mwdat->hwnd, IDC_MESSAGE));
+ keybd_event((BYTE)wParam, (BYTE)MapVirtualKey(wParam, 0), KEYEVENTF_EXTENDEDKEY | 0, 0);
+ return 0;
}
break;
}
@@ -281,14 +277,13 @@ LRESULT CALLBACK HPPKFSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
return mir_callNextSubclass(hwnd, HPPKFSubclassProc, msg, wParam, lParam);
}
-/*
- * update state of the container - this is called whenever a tab becomes active, no matter how and
- * deals with various things like updating the title bar, removing flashing icons, updating the
- * session list, switching the keyboard layout (autolocale active) and the general container status.
- *
- * it protects itself from being called more than once per session activation and is valid for
- * normal IM sessions *only*. Group chat sessions have their own activation handler (see chat/window.c)
-*/
+/////////////////////////////////////////////////////////////////////////////////////////
+// update state of the container - this is called whenever a tab becomes active, no matter how and
+// deals with various things like updating the title bar, removing flashing icons, updating the
+// session list, switching the keyboard layout (autolocale active) and the general container status.
+//
+// it protects itself from being called more than once per session activation and is valid for
+// normal IM sessions *only*. Group chat sessions have their own activation handler (see chat/window.c)
static void MsgWindowUpdateState(TWindowData *dat, UINT msg)
{
@@ -389,8 +384,8 @@ static void MsgWindowUpdateState(TWindowData *dat, UINT msg)
if (dat->hwndIEView) {
if (M.GetByte("subclassIEView", 0)) {
mir_subclassWindow(dat->hwndIEView, IEViewSubclassProc);
- SetWindowPos(dat->hwndIEView, 0, 0, 0, 0, 0, SWP_FRAMECHANGED|SWP_NOMOVE|SWP_NOSIZE|SWP_NOZORDER|SWP_DRAWFRAME);
- RedrawWindow(dat->hwndIEView, 0, 0, RDW_FRAME|RDW_INVALIDATE|RDW_UPDATENOW);
+ SetWindowPos(dat->hwndIEView, 0, 0, 0, 0, 0, SWP_FRAMECHANGED | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DRAWFRAME);
+ RedrawWindow(dat->hwndIEView, 0, 0, RDW_FRAME | RDW_INVALIDATE | RDW_UPDATENOW);
}
}
dat->hwndIWebBrowserControl = WindowFromPoint(pt);
@@ -419,8 +414,7 @@ static void MsgWindowUpdateState(TWindowData *dat, UINT msg)
void TSAPI ShowMultipleControls(HWND hwndDlg, const UINT *controls, int cControls, int state)
{
- int i;
- for (i=0; i < cControls; i++)
+ for (int i = 0; i < cControls; i++)
Utils::showDlgControl(hwndDlg, controls[i], state);
}
@@ -475,8 +469,7 @@ void TSAPI SetDialogToType(HWND hwndDlg)
SendMessage(hwndDlg, DM_UPDATETITLE, 0, 1);
SendMessage(hwndDlg, WM_SIZE, 0, 0);
- if (!PluginConfig.g_FlashAvatarAvail)
- Utils::enableDlgControl(hwndDlg, IDC_CONTACTPIC, FALSE);
+ Utils::enableDlgControl(hwndDlg, IDC_CONTACTPIC, FALSE);
dat->Panel->Configure();
}
@@ -571,10 +564,8 @@ static LRESULT CALLBACK MessageEditSubclassProc(HWND hwnd, UINT msg, WPARAM wPar
if (mwdat == NULL)
return 0;
- /*
- * prevent the rich edit from switching text direction or keyboard layout when
- * using hotkeys with ctrl-shift or alt-shift modifiers
- */
+ // prevent the rich edit from switching text direction or keyboard layout when
+ // using hotkeys with ctrl-shift or alt-shift modifiers
if (mwdat->fkeyProcessed && (msg == WM_KEYUP)) {
GetKeyboardState(mwdat->kstate);
if (mwdat->kstate[VK_CONTROL] & 0x80 || mwdat->kstate[VK_SHIFT] & 0x80)
@@ -807,9 +798,9 @@ static LRESULT CALLBACK MessageEditSubclassProc(HWND hwnd, UINT msg, WPARAM wPar
case WM_USER + 100:
SetFocus(hwnd);
break;
+
case WM_CONTEXTMENU:
POINT pt;
-
if (lParam == 0xFFFFFFFF) {
CHARRANGE sel;
SendMessage(hwnd, EM_EXGETSEL, 0, (LPARAM)&sel);
@@ -827,6 +818,7 @@ static LRESULT CALLBACK MessageEditSubclassProc(HWND hwnd, UINT msg, WPARAM wPar
return mir_callNextSubclass(hwnd, MessageEditSubclassProc, msg, wParam, lParam);
}
+/////////////////////////////////////////////////////////////////////////////////////////
// subclasses the avatar display controls, needed for skinning and to prevent
// it from flickering during resize/move operations.
@@ -850,6 +842,7 @@ LRESULT CALLBACK SplitterSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM
switch (msg) {
case WM_NCHITTEST:
return HTCLIENT;
+
case WM_SETCURSOR:
GetClientRect(hwnd, &rc);
SetCursor(rc.right > rc.bottom ? PluginConfig.hCurSplitNS : PluginConfig.hCurSplitWE);
@@ -987,9 +980,8 @@ LRESULT CALLBACK SplitterSubclassProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM
return mir_callNextSubclass(hwnd, SplitterSubclassProc, msg, wParam, lParam);
}
-/*
- * resizer proc for the "new" layout.
- */
+/////////////////////////////////////////////////////////////////////////////////////////
+// resizer proc for the "new" layout.
static int MessageDialogResize(HWND hwndDlg, LPARAM lParam, UTILRESIZECONTROL * urc)
{
@@ -1066,15 +1058,6 @@ static int MessageDialogResize(HWND hwndDlg, LPARAM lParam, UTILRESIZECONTROL *
SetWindowPos(dat->hwndContactPic, HWND_TOP, 1, ((urc->rcItem.bottom - urc->rcItem.top) - (dat->pic.cy)) / 2 + 1, //resizes it
dat->pic.cx - 2, dat->pic.cy - 2, SWP_SHOWWINDOW);
- if (PluginConfig.g_FlashAvatarAvail) {
- RECT rc = { urc->rcItem.left, urc->rcItem.top, urc->rcItem.right, urc->rcItem.bottom };
- FLASHAVATAR fa = { 0 };
-
- fa.hContact = !bInfoPanel ? dat->hContact : NULL;
- fa.id = 25367;
- fa.cProto = dat->szProto;
- CallService(MS_FAVATAR_RESIZE, (WPARAM)&fa, (LPARAM)&rc);
- }
return RD_ANCHORX_RIGHT | RD_ANCHORY_BOTTOM;
case IDC_SPLITTER:
@@ -1656,16 +1639,6 @@ INT_PTR CALLBACK DlgProcMessage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP
rc.right = cx;
rc.bottom--;
- if (PluginConfig.g_FlashAvatarAvail) {
- RECT rc1 = { 0, 0, rc.right - rc.left, rc.bottom - rc.top };
- if (dat->Panel->isActive()) {
- FLASHAVATAR fa = { 0 };
- fa.hContact = dat->hContact;
- fa.id = 25367;
- fa.cProto = dat->szProto;
- CallService(MS_FAVATAR_RESIZE, (WPARAM)&fa, (LPARAM)&rc1);
- }
- }
if (dat->showInfoPic && (dat->hwndPanelPic || dat->hwndFlash)) {
SetWindowPos(dat->hwndPanelPicParent, HWND_TOP, rc.left - 2, rc.top, rc.right - rc.left, (rc.bottom - rc.top) + 1, 0);
ShowWindow(dat->hwndPanelPicParent, (dat->panelWidth == -1) || !dat->Panel->isActive() ? SW_HIDE : SW_SHOW);
@@ -1951,14 +1924,11 @@ INT_PTR CALLBACK DlgProcMessage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP
}
else {
if (((NMHDR*)lParam)->idFrom == IDC_MESSAGE) {
- if (GetSendButtonState(hwndDlg) != PBS_DISABLED && !(dat->pContainer->dwFlags & CNT_HIDETOOLBAR)) {
+ if (GetSendButtonState(hwndDlg) != PBS_DISABLED && !(dat->pContainer->dwFlags & CNT_HIDETOOLBAR))
SetFocus(GetDlgItem(hwndDlg, IDOK));
- return(_dlgReturn(hwndDlg, 1));
- }
- else {
+ else
SetFocus(GetDlgItem(hwndDlg, IDC_LOG));
- return(_dlgReturn(hwndDlg, 1));
- }
+ return(_dlgReturn(hwndDlg, 1));
}
if (((NMHDR*)lParam)->idFrom == IDC_LOG) {
SetFocus(GetDlgItem(hwndDlg, IDC_MESSAGE));
@@ -2217,12 +2187,11 @@ INT_PTR CALLBACK DlgProcMessage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP
return 0;
case DM_LOADBUTTONBARICONS:
- {
- for (int i=0; i < SIZEOF(buttonicons); i++) {
- SendDlgItemMessage(hwndDlg, buttonicons[i].id, BM_SETIMAGE, IMAGE_ICON, (LPARAM)*buttonicons[i].pIcon);
- SendDlgItemMessage(hwndDlg, buttonicons[i].id, BUTTONSETCONTAINER, (LPARAM)m_pContainer, 0);
- }
+ for (int i=0; i < SIZEOF(buttonicons); i++) {
+ SendDlgItemMessage(hwndDlg, buttonicons[i].id, BM_SETIMAGE, IMAGE_ICON, (LPARAM)*buttonicons[i].pIcon);
+ SendDlgItemMessage(hwndDlg, buttonicons[i].id, BUTTONSETCONTAINER, (LPARAM)m_pContainer, 0);
}
+
BB_UpdateIcons(hwndDlg, dat);
SendMessage(hwndDlg, DM_UPDATEWINICON, 0, 0);
return 0;
@@ -2253,20 +2222,6 @@ INT_PTR CALLBACK DlgProcMessage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP
return 0;
case WM_SETFOCUS:
- if (PluginConfig.g_FlashAvatarAvail) { // own avatar draw
- FLASHAVATAR fa = { 0 };
- fa.cProto = dat->szProto;
- fa.id = 25367;
-
- CallService(MS_FAVATAR_GETINFO, (WPARAM)&fa, 0);
- if (fa.hWindow) {
- if (dat->Panel->isActive()) {
- SetParent(fa.hWindow, GetDlgItem(hwndDlg, IDC_CONTACTPIC));
- ShowWindow(fa.hWindow, SW_SHOW);
- }
- else ShowWindow(fa.hWindow, SW_HIDE);
- }
- }
MsgWindowUpdateState(dat, WM_SETFOCUS);
SetFocus(GetDlgItem(hwndDlg, IDC_MESSAGE));
return 1;
@@ -2485,7 +2440,6 @@ INT_PTR CALLBACK DlgProcMessage(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lP
// for single message sends: basevalue (TIMERID_MSGSEND) + send queue index
if (wParam >= TIMERID_MSGSEND) {
int iIndex = wParam - TIMERID_MSGSEND;
-
if (iIndex < SendQueue::NR_SENDJOBS) { // single sendjob timer
SendJob *job = sendQueue->getJobByIndex(iIndex);
KillTimer(hwndDlg, wParam);
@@ -3352,14 +3306,6 @@ quote_from_last:
if (!dat)
break;
- if (PluginConfig.g_FlashAvatarAvail) {
- FLASHAVATAR fa = { 0 };
- fa.hContact = dat->hContact;
- fa.id = 25367;
- fa.cProto = dat->szProto;
- CallService(MS_FAVATAR_DESTROY, (WPARAM)&fa, 0);
- }
-
if (dat->hwndContactPic)
DestroyWindow(dat->hwndContactPic);
diff --git a/plugins/TabSRMM/src/msgdlgutils.cpp b/plugins/TabSRMM/src/msgdlgutils.cpp
index 42af46825d..13672ea199 100644
--- a/plugins/TabSRMM/src/msgdlgutils.cpp
+++ b/plugins/TabSRMM/src/msgdlgutils.cpp
@@ -223,19 +223,8 @@ void TSAPI CalcDynamicAvatarSize(TWindowData *dat, BITMAP *bminfo)
BOOL bBottomToolBar = dat->pContainer->dwFlags & CNT_BOTTOMTOOLBAR;
BOOL bToolBar = dat->pContainer->dwFlags & CNT_HIDETOOLBAR ? 0 : 1;
bool bInfoPanel = dat->Panel->isActive();
- int iSplitOffset = dat->bIsAutosizingInput ? 1 : 0;
-
- if (PluginConfig.g_FlashAvatarAvail) {
- FLASHAVATAR fa = { 0 };
- fa.cProto = dat->szProto;
- fa.id = 25367;
- fa.hContact = bInfoPanel ? NULL : dat->hContact;
- CallService(MS_FAVATAR_GETINFO, (WPARAM)&fa, 0);
- if (fa.hWindow) {
- bminfo->bmHeight = FAVATAR_HEIGHT;
- bminfo->bmWidth = FAVATAR_WIDTH;
- }
- }
+ int iSplitOffset = dat->bIsAutosizingInput ? 1 : 0;
+
GetClientRect(dat->hwnd, &rc);
if (dat->dwFlags & MWF_WASBACKGROUNDCREATE || dat->pContainer->dwFlags & CNT_DEFERREDCONFIGURE || dat->pContainer->dwFlags & CNT_CREATE_MINIMIZED || IsIconic(dat->pContainer->hwnd))
@@ -566,22 +555,8 @@ int TSAPI GetAvatarVisibility(HWND hwndDlg, TWindowData *dat)
if (bOwnAvatarMode)
dat->showPic = FALSE;
else {
- FLASHAVATAR fa = { 0 };
- if (PluginConfig.g_FlashAvatarAvail) {
- fa.cProto = dat->szProto;
- fa.id = 25367;
- fa.hParentWindow = GetDlgItem(hwndDlg, IDC_CONTACTPIC);
-
- CallService(MS_FAVATAR_MAKE, (WPARAM)&fa, 0);
- if (fa.hWindow != NULL&&dat->hwndContactPic) {
- DestroyWindow(dat->hwndContactPic);
- dat->hwndContactPic = NULL;
- }
- dat->showPic = ((dat->hOwnPic && dat->hOwnPic != PluginConfig.g_hbmUnknown) || (fa.hWindow != NULL)) ? 1 : 0;
- }
- else dat->showPic = (dat->hOwnPic && dat->hOwnPic != PluginConfig.g_hbmUnknown) ? 1 : 0;
-
- if (!PluginConfig.g_bDisableAniAvatars && fa.hWindow == NULL && !dat->hwndContactPic)
+ dat->showPic = (dat->hOwnPic && dat->hOwnPic != PluginConfig.g_hbmUnknown) ? 1 : 0;
+ if (!PluginConfig.g_bDisableAniAvatars && !dat->hwndContactPic)
dat->hwndContactPic = CreateWindowEx(WS_EX_TOPMOST, AVATAR_CONTROL_CLASS, _T(""), WS_VISIBLE | WS_CHILD, 1, 1, 1, 1, GetDlgItem(hwndDlg, IDC_CONTACTPIC), (HMENU)0, NULL, NULL);
}
@@ -592,7 +567,6 @@ int TSAPI GetAvatarVisibility(HWND hwndDlg, TWindowData *dat)
case 0:
dat->showInfoPic = 1;
case 1:
- FLASHAVATAR fa = { 0 };
HBITMAP hbm = ((dat->ace && !(dat->ace->dwFlags & AVS_HIDEONCLIST)) ? dat->ace->hbmPic : 0);
if (0 == hbm && 0 == bAvatarMode && !PluginConfig.g_bDisableAniAvatars) {
@@ -600,31 +574,14 @@ int TSAPI GetAvatarVisibility(HWND hwndDlg, TWindowData *dat)
break;
}
- if (PluginConfig.g_FlashAvatarAvail) {
- fa.cProto = dat->szProto;
- fa.id = 25367;
- fa.hContact = dat->hContact;
- fa.hParentWindow = dat->hwndPanelPicParent;
-
- CallService(MS_FAVATAR_MAKE, (WPARAM)&fa, 0);
- if (fa.hWindow != NULL && dat->hwndPanelPic) {
- DestroyWindow(dat->hwndPanelPic);
- dat->hwndPanelPic = NULL;
- ShowWindow(dat->hwndPanelPicParent, SW_SHOW);
- EnableWindow(dat->hwndPanelPicParent, TRUE);
- }
- }
- if (!PluginConfig.g_bDisableAniAvatars && fa.hWindow == NULL && !dat->hwndPanelPic) {
+ if (!PluginConfig.g_bDisableAniAvatars && !dat->hwndPanelPic) {
dat->hwndPanelPic = CreateWindowEx(WS_EX_TOPMOST, AVATAR_CONTROL_CLASS, _T(""), WS_VISIBLE | WS_CHILD, 1, 1, 1, 1, dat->hwndPanelPicParent, (HMENU)7000, NULL, NULL);
if (dat->hwndPanelPic)
SendMessage(dat->hwndPanelPic, AVATAR_SETAEROCOMPATDRAWING, 0, TRUE);
}
- if (bAvatarMode != 0) {
- if ((hbm && hbm != PluginConfig.g_hbmUnknown) || (fa.hWindow != NULL))
- dat->showInfoPic = 1;
- else
- dat->showInfoPic = 0;
- }
+
+ if (bAvatarMode != 0)
+ dat->showInfoPic = (hbm && hbm != PluginConfig.g_hbmUnknown);
break;
}
@@ -660,27 +617,11 @@ int TSAPI GetAvatarVisibility(HWND hwndDlg, TWindowData *dat)
case 3: // on, if present
case 1:
HBITMAP hbm = (dat->ace && !(dat->ace->dwFlags & AVS_HIDEONCLIST)) ? dat->ace->hbmPic : 0;
- FLASHAVATAR fa = { 0 };
-
- if (PluginConfig.g_FlashAvatarAvail) {
- fa.cProto = dat->szProto;
- fa.id = 25367;
- fa.hContact = dat->hContact;
- fa.hParentWindow = GetDlgItem(hwndDlg, IDC_CONTACTPIC);
- CallService(MS_FAVATAR_MAKE, (WPARAM)&fa, 0);
-
- if (fa.hWindow != NULL&&dat->hwndContactPic) {
- DestroyWindow(dat->hwndContactPic);
- dat->hwndContactPic = NULL;
- }
- }
- if (!PluginConfig.g_bDisableAniAvatars && fa.hWindow == NULL && !dat->hwndContactPic)
+
+ if (!PluginConfig.g_bDisableAniAvatars && !dat->hwndContactPic)
dat->hwndContactPic = CreateWindowEx(WS_EX_TOPMOST, AVATAR_CONTROL_CLASS, _T(""), WS_VISIBLE | WS_CHILD, 1, 1, 1, 1, GetDlgItem(hwndDlg, IDC_CONTACTPIC), (HMENU)0, NULL, NULL);
- if ((hbm && hbm != PluginConfig.g_hbmUnknown) || (fa.hWindow != NULL))
- dat->showPic = 1;
- else
- dat->showPic = 0;
+ dat->showPic = (hbm && hbm != PluginConfig.g_hbmUnknown);
break;
}
@@ -691,7 +632,7 @@ int TSAPI GetAvatarVisibility(HWND hwndDlg, TWindowData *dat)
// reloads avatars
if (dat->showPic)
- if (dat->hwndPanelPic) //shows contact or user picture, depending on panel visibility
+ if (dat->hwndPanelPic) // shows contact or user picture, depending on panel visibility
SendMessage(dat->hwndContactPic, AVATAR_SETPROTOCOL, 0, (LPARAM)dat->szProto);
if (dat->hwndContactPic)
@@ -783,38 +724,9 @@ void TSAPI AdjustBottomAvatarDisplay(TWindowData *dat)
{
if (dat) {
bool bInfoPanel = dat->Panel->isActive();
- HBITMAP hbm = (bInfoPanel && dat->pContainer->avatarMode != 3) ? dat->hOwnPic : (dat->ace ? dat->ace->hbmPic : PluginConfig.g_hbmUnknown);
HWND hwndDlg = dat->hwnd;
- if (PluginConfig.g_FlashAvatarAvail) {
- FLASHAVATAR fa = { 0 };
-
- fa.hContact = dat->hContact;
- fa.hWindow = 0;
- fa.id = 25367;
- fa.cProto = dat->szProto;
- CallService(MS_FAVATAR_GETINFO, (WPARAM)&fa, 0);
- if (fa.hWindow) {
- dat->hwndFlash = fa.hWindow;
- SetParent(dat->hwndFlash, bInfoPanel ? dat->hwndPanelPicParent : GetDlgItem(dat->hwnd, IDC_CONTACTPIC));
- }
- fa.hContact = 0;
- fa.hWindow = 0;
- if (bInfoPanel) {
- fa.hParentWindow = GetDlgItem(hwndDlg, IDC_CONTACTPIC);
- CallService(MS_FAVATAR_MAKE, (WPARAM)&fa, 0);
- if (fa.hWindow) {
- SetParent(fa.hWindow, GetDlgItem(hwndDlg, IDC_CONTACTPIC));
- ShowWindow(fa.hWindow, SW_SHOW);
- }
- }
- else {
- CallService(MS_FAVATAR_GETINFO, (WPARAM)&fa, 0);
- if (fa.hWindow)
- ShowWindow(fa.hWindow, SW_HIDE);
- }
- }
-
+ HBITMAP hbm = (bInfoPanel && dat->pContainer->avatarMode != 3) ? dat->hOwnPic : (dat->ace ? dat->ace->hbmPic : PluginConfig.g_hbmUnknown);
if (hbm) {
dat->showPic = GetAvatarVisibility(hwndDlg, dat);
if (dat->dynaSplitter == 0 || dat->splitterY == 0)
@@ -1701,68 +1613,19 @@ int TSAPI MsgWindowDrawHandler(WPARAM wParam, LPARAM lParam, TWindowData *dat)
}
if ((dis->hwndItem == GetDlgItem(hwndDlg, IDC_CONTACTPIC) && (dat->ace ? dat->ace->hbmPic : PluginConfig.g_hbmUnknown) && dat->showPic) || (dis->hwndItem == hwndDlg && dat->Panel->isActive() && (dat->ace ? dat->ace->hbmPic : PluginConfig.g_hbmUnknown))) {
- HBRUSH hOldBrush;
- BITMAP bminfo;
- double dAspect = 0, dNewWidth = 0, dNewHeight = 0;
- DWORD iMaxHeight = 0, top, cx, cy;
- RECT rc, rcClient, rcFrame;
- HDC hdcDraw;
- HBITMAP hbmDraw, hbmOld;
- BOOL bPanelPic = dis->hwndItem == hwndDlg;
- DWORD aceFlags = 0;
- HPEN hPenBorder = 0, hPenOld = 0;
- HRGN clipRgn = 0;
- int iRad = PluginConfig.m_WinVerMajor >= 5 ? 4 : 6;
- BOOL flashAvatar = FALSE;
- bool bInfoPanel = dat->Panel->isActive();
-
- if (PluginConfig.g_FlashAvatarAvail && (!bPanelPic || (bPanelPic && dat->showInfoPic == 1))) {
- FLASHAVATAR fa = { 0 };
-
- fa.id = 25367;
- fa.cProto = dat->szProto;
- if (!bPanelPic && bInfoPanel) {
- fa.hParentWindow = GetDlgItem(hwndDlg, IDC_CONTACTPIC);
- CallService(MS_FAVATAR_MAKE, (WPARAM)&fa, 0);
- Utils::enableDlgControl(hwndDlg, IDC_CONTACTPIC, fa.hWindow != 0);
- }
- else {
- fa.hContact = dat->hContact;
- fa.hParentWindow = bInfoPanel ? dat->hwndPanelPicParent : GetDlgItem(hwndDlg, IDC_CONTACTPIC);
- CallService(MS_FAVATAR_MAKE, (WPARAM)&fa, 0);
- if (bInfoPanel) {
- if (fa.hWindow != NULL&&dat->hwndPanelPic) {
- DestroyWindow(dat->hwndPanelPic);
- dat->hwndPanelPic = NULL;
- }
- if (!PluginConfig.g_bDisableAniAvatars && fa.hWindow == 0 && dat->hwndPanelPic == 0) {
- dat->hwndPanelPic = CreateWindowEx(WS_EX_TOPMOST, AVATAR_CONTROL_CLASS, _T(""), WS_VISIBLE | WS_CHILD, 1, 1, 1, 1, dat->hwndPanelPicParent, (HMENU)7000, NULL, NULL);
- Utils::setAvatarContact(dat->hwndPanelPic, dat->hContact);
- }
- }
- else {
- if (fa.hWindow != NULL && dat->hwndContactPic) {
- DestroyWindow(dat->hwndContactPic);
- dat->hwndContactPic = NULL;
- }
- if (!PluginConfig.g_bDisableAniAvatars && fa.hWindow == 0 && dat->hwndContactPic == 0) {
- dat->hwndContactPic = CreateWindowEx(WS_EX_TOPMOST, AVATAR_CONTROL_CLASS, _T(""), WS_VISIBLE | WS_CHILD, 1, 1, 1, 1, GetDlgItem(hwndDlg, IDC_CONTACTPIC), (HMENU)0, NULL, NULL);
- Utils::setAvatarContact(dat->hwndContactPic, dat->hContact);
- }
- }
- dat->hwndFlash = fa.hWindow;
- }
- if (fa.hWindow != 0) {
- bminfo.bmHeight = FAVATAR_HEIGHT;
- bminfo.bmWidth = FAVATAR_WIDTH;
- CallService(MS_FAVATAR_SETBKCOLOR, (WPARAM)&fa, (LPARAM)GetSysColor(COLOR_3DFACE));
- flashAvatar = TRUE;
- }
- }
+ BITMAP bminfo;
+ double dAspect = 0, dNewWidth = 0, dNewHeight = 0;
+ DWORD iMaxHeight = 0, top, cx, cy;
+ RECT rc, rcClient, rcFrame;
+ BOOL bPanelPic = dis->hwndItem == hwndDlg;
+ DWORD aceFlags = 0;
+ HPEN hPenBorder = 0, hPenOld = 0;
+ HRGN clipRgn = 0;
+ int iRad = PluginConfig.m_WinVerMajor >= 5 ? 4 : 6;
+ bool bInfoPanel = dat->Panel->isActive();
if (bPanelPic) {
- if (!flashAvatar)
- GetObject(dat->ace ? dat->ace->hbmPic : PluginConfig.g_hbmUnknown, sizeof(bminfo), &bminfo);
+ GetObject(dat->ace ? dat->ace->hbmPic : PluginConfig.g_hbmUnknown, sizeof(bminfo), &bminfo);
if ((dat->ace && dat->showInfoPic && !(dat->ace->dwFlags & AVS_HIDEONCLIST)) || dat->showInfoPic)
aceFlags = dat->ace ? dat->ace->dwFlags : 0;
@@ -1824,7 +1687,6 @@ int TSAPI MsgWindowDrawHandler(WPARAM wParam, LPARAM lParam, TWindowData *dat)
}
}
else {
-
if (bminfo.bmHeight > 0)
dAspect = (double)dat->iRealAvatarHeight / (double)bminfo.bmHeight;
else
@@ -1835,19 +1697,13 @@ int TSAPI MsgWindowDrawHandler(WPARAM wParam, LPARAM lParam, TWindowData *dat)
iMaxHeight = dat->iRealAvatarHeight;
}
- if (flashAvatar) {
- SetWindowPos(dat->hwndPanelPicParent, HWND_TOP, rcClient.left, rcClient.top,
- (int)dNewWidth, (int)dNewHeight, SWP_SHOWWINDOW | SWP_NOCOPYBITS);
- return TRUE;
- }
+ HDC hdcDraw = CreateCompatibleDC(dis->hDC);
+ HBITMAP hbmDraw = CreateCompatibleBitmap(dis->hDC, cx, cy);
+ HBITMAP hbmOld = (HBITMAP)SelectObject(hdcDraw, hbmDraw);
- hdcDraw = CreateCompatibleDC(dis->hDC);
- hbmDraw = CreateCompatibleBitmap(dis->hDC, cx, cy);
- hbmOld = (HBITMAP)SelectObject(hdcDraw, hbmDraw);
+ bool bAero = M.isAero();
- bool bAero = M.isAero();
-
- hOldBrush = (HBRUSH)SelectObject(hdcDraw, bAero ? (HBRUSH)GetStockObject(HOLLOW_BRUSH) : GetSysColorBrush(COLOR_3DFACE));
+ HBRUSH hOldBrush = (HBRUSH)SelectObject(hdcDraw, bAero ? (HBRUSH)GetStockObject(HOLLOW_BRUSH) : GetSysColorBrush(COLOR_3DFACE));
rcFrame = rcClient;
if (!bPanelPic) {
@@ -1914,10 +1770,8 @@ int TSAPI MsgWindowDrawHandler(WPARAM wParam, LPARAM lParam, TWindowData *dat)
rcFrame.top += height_off;
rcFrame.bottom += height_off;
- /*
- * prepare border drawing (if avatar is rendered by ACC, the parent control will be responsible for
- * the border, so skip it here)
- */
+ // prepare border drawing (if avatar is rendered by ACC, the parent control will be responsible for
+ // the border, so skip it here)
if (dat->hwndPanelPic == 0) {
OffsetRect(&rcClient, -2, 0);
if (CSkin::m_bAvatarBorderType == 1)
@@ -1931,9 +1785,7 @@ int TSAPI MsgWindowDrawHandler(WPARAM wParam, LPARAM lParam, TWindowData *dat)
}
if (dat->hwndPanelPic) {
- /*
- * paint avatar using ACC
- */
+ // paint avatar using ACC
SendMessage(dat->hwndPanelPic, AVATAR_SETAEROCOMPATDRAWING, 0, bAero ? TRUE : FALSE);
SetWindowPos(dat->hwndPanelPic, HWND_TOP, rcFrame.left + border_off, rcFrame.top + border_off,
rb.max_width, rb.max_height, SWP_SHOWWINDOW | SWP_ASYNCWINDOWPOS | SWP_DEFERERASE | SWP_NOSENDCHANGING);
@@ -2100,7 +1952,7 @@ void TSAPI LoadOverrideTheme(TContainerData *pContainer)
void TSAPI ConfigureSmileyButton(TWindowData *dat)
{
- HWND hwndDlg = dat->hwnd;
+ HWND hwndDlg = dat->hwnd;
int nrSmileys = 0;
int showToolbar = dat->pContainer->dwFlags & CNT_HIDETOOLBAR ? 0 : 1;
int iItemID = IDC_SMILEYBTN;