From 54dec7a74c313ee61437386bd667f9a7653351fd Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 19 Jun 2012 14:52:53 +0000 Subject: fixes for the options page translation git-svn-id: http://svn.miranda-ng.org/main/trunk@479 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Clist_nicer/SRC/clcitems.cpp | 12 +- plugins/Clist_nicer/SRC/clcopts.cpp | 2653 ++++++++++++++--------------- plugins/Clist_nicer/SRC/clcpaint.cpp | 2 +- plugins/Clist_nicer/SRC/config.cpp | 2 +- plugins/Clist_nicer/SRC/contact.cpp | 2 +- plugins/Clist_nicer/SRC/extBackg.cpp | 20 +- plugins/Clist_nicer/SRC/init.cpp | 6 +- plugins/Clist_nicer/SRC/statusbar.cpp | 4 +- plugins/Clist_nicer/SRC/statusfloater.cpp | 4 +- plugins/Clist_nicer/SRC/viewmodes.cpp | 28 +- plugins/Clist_nicer/coolsb/coolsblib.cpp | 8 +- plugins/Clist_nicer/coolsb/coolscroll.cpp | 10 +- 12 files changed, 1332 insertions(+), 1419 deletions(-) (limited to 'plugins/Clist_nicer') diff --git a/plugins/Clist_nicer/SRC/clcitems.cpp b/plugins/Clist_nicer/SRC/clcitems.cpp index 009a57a36d..9e759946e9 100644 --- a/plugins/Clist_nicer/SRC/clcitems.cpp +++ b/plugins/Clist_nicer/SRC/clcitems.cpp @@ -328,7 +328,7 @@ BYTE GetCachedStatusMsg(int iExtraCacheEntry, char *szProto) if(cEntry->bStatusMsgValid > STATUSMSG_XSTATUSNAME) { int j = 0, i; cEntry->statusMsg = (TCHAR *)realloc(cEntry->statusMsg, (lstrlen(dbv.ptszVal) + 2) * sizeof(TCHAR)); - for(i = 0; dbv.ptszVal[i]; i++) { + for (i = 0; dbv.ptszVal[i]; i++) { if(dbv.ptszVal[i] == (TCHAR)0x0d) continue; cEntry->statusMsg[j] = dbv.ptszVal[i] == (wchar_t)0x0a ? (wchar_t)' ' : dbv.ptszVal[i]; @@ -348,7 +348,7 @@ BYTE GetCachedStatusMsg(int iExtraCacheEntry, char *szProto) iLen = min(lstrlenW(cEntry->statusMsg), 10); GetStringTypeW(CT_CTYPE2, cEntry->statusMsg, iLen, infoTypeC2); cEntry->dwCFlags &= ~ECF_RTLSTATUSMSG; - for(i = 0; i < 10; i++) { + for (i = 0; i < 10; i++) { if(infoTypeC2[i] == C2_RIGHTTOLEFT) { cEntry->dwCFlags |= ECF_RTLSTATUSMSG; break; @@ -416,7 +416,7 @@ void RTL_DetectAndSet(struct ClcContact *contact, HANDLE hContact) iLen = min(lstrlenW(szText), 10); GetStringTypeW(CT_CTYPE2, szText, iLen, infoTypeC2); cfg::eCache[index].dwCFlags &= ~ECF_RTLNICK; - for(i = 0; i < 10; i++) { + for (i = 0; i < 10; i++) { if(infoTypeC2[i] == C2_RIGHTTOLEFT) { cfg::eCache[index].dwCFlags |= ECF_RTLNICK; return; @@ -436,7 +436,7 @@ void RTL_DetectGroupName(struct ClcContact *group) if(group->szText) { iLen = min(lstrlenW(group->szText), 10); GetStringTypeW(CT_CTYPE2, group->szText, iLen, infoTypeC2); - for(i = 0; i < 10; i++) { + for (i = 0; i < 10; i++) { if(infoTypeC2[i] == C2_RIGHTTOLEFT) { group->isRtl = 1; return; @@ -561,7 +561,7 @@ void ReloadSkinItemsToCache() int i; char *szProto; - for(i = 0; i < cfg::nextCacheEntry; i++) { + for (i = 0; i < cfg::nextCacheEntry; i++) { szProto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM)cfg::eCache[i].hContact, 0); if(szProto) LoadSkinItemToCache(&cfg::eCache[i], szProto); @@ -574,7 +574,7 @@ DWORD CalcXMask(HANDLE hContact) int i; DWORD dwResult = cfg::dat.dwExtraImageMask, bForced, bHidden; - for(i = 0; i <= 10; i++) { + for (i = 0; i <= 10; i++) { bForced = (dwXMask & (1 << (2 * i))); bHidden = (dwXMask & (1 << (2 * i + 1))); if(bForced == 0 && bHidden == 0) diff --git a/plugins/Clist_nicer/SRC/clcopts.cpp b/plugins/Clist_nicer/SRC/clcopts.cpp index 3a243e6084..b4b8128eea 100644 --- a/plugins/Clist_nicer/SRC/clcopts.cpp +++ b/plugins/Clist_nicer/SRC/clcopts.cpp @@ -128,35 +128,6 @@ static DWORD MakeCheckBoxTreeFlags(HWND hwndTree) return flags; } -/* - * functions to enumerate display profiles - */ - -/* -int DSP_EnumProc(const char *szSetting, LPARAM lParam) -{ - pfnEnumCallback EnumCallback = (pfnEnumCallback)lParam; - if (szSetting != NULL) - EnumCallback((char *)szSetting); - return(0); -} - -void DSP_EnumModes(pfnEnumCallback EnumCallback) -{ - static UINT uID_max; - - DBCONTACTENUMSETTINGS dbces; - - uID_max = 0; - - dbces.pfnEnumProc = DSP_EnumProc; - dbces.szModule = DSP_PROFILES_MODULE; - dbces.ofsSettings = 0; - dbces.lParam = (LPARAM)EnumCallback; - CallService(MS_DB_CONTACT_ENUMSETTINGS,0,(LPARAM)&dbces); -} - - */ /* * write a display profile to the db * p->uID must contain the (valid) identifier @@ -164,66 +135,65 @@ void DSP_EnumModes(pfnEnumCallback EnumCallback) static void DSP_Write(DISPLAYPROFILESET *p) { - char szBuf[256], szKey[256]; - int i = 0, j; - DWORD dwFlags = 0; - DISPLAYPROFILE *dp; - - _snprintf(szKey, 256, "[%u]", p->uID); - cfg::writeTString(NULL, DSP_PROFILES_MODULE, szKey, p->tszName); - - for(j = 0; j < 4; j++) { - - dp = &p->dp[i]; - i = 0; - - /* - * dword values - */ - - _snprintf(szBuf, 256, "%u,%u,%d,%u,%u", dp->dwFlags, dp->dwExtraImageMask, dp->avatarBorder, dp->clcExStyle, dp->clcOfflineModes); - szBuf[255] = 0; - _snprintf(szKey, 256, "{dw_%u_%u}", p->uID, j); - cfg::writeString(NULL, DSP_PROFILES_MODULE, szKey, szBuf); - - _snprintf(szKey, 256, "{b_%u_%u}", p->uID, j); - - /* - * byte values - */ - - szBuf[i++] = (BYTE)dp->exIconScale; - szBuf[i++] = (BYTE)dp->dualRowMode; - szBuf[i++] = (BYTE)dp->avatarRadius; - szBuf[i++] = (BYTE)dp->avatarSize; - szBuf[i++] = (BYTE)dp->sortOrder[0];szBuf[i++] = (BYTE)dp->sortOrder[1];szBuf[i++] = (BYTE)dp->sortOrder[2]; - szBuf[i++] = dp->bUseDCMirroring; - szBuf[i++] = dp->bGroupAlign; - szBuf[i++] = dp->avatarPadding; - szBuf[i++] = dp->bLeftMargin; szBuf[i++] = dp->bRightMargin; szBuf[i++] = dp->bRowSpacing; - szBuf[i++] = dp->bGroupIndent; szBuf[i++] = dp->bRowHeight; szBuf[i++] = dp->bGroupRowHeight; - szBuf[i++] = 0; - - cfg::writeString(NULL, DSP_PROFILES_MODULE, szKey, szBuf); - - /* - * bool values (convert to bitflags - */ - - _snprintf(szKey, 256, "{f_%u_%u}", p->uID, j); - dwFlags = ((dp->bCenterStatusIcons ? DSPF_CENTERSTATUSICON : 0) | - (dp->bDimIdle ? DSPF_DIMIDLE : 0) | - (dp->bNoOfflineAvatars ? DSPF_NOFFLINEAVATARS : 0) | - (dp->bShowLocalTime ? DSPF_SHOWLOCALTIME : 0) | - (dp->bShowLocalTimeSelective ? DSPF_LOCALTIMESELECTIVE : 0) | - (dp->bDontSeparateOffline ? DSPF_DONTSEPARATEOFFLINE : 0) | - (dp->bCenterGroupNames ? DSPF_CENTERGROUPNAMES : 0)); - - cfg::writeDword(NULL, DSP_PROFILES_MODULE, szKey, dwFlags); - } + char szBuf[256], szKey[256]; + int i = 0, j; + DWORD dwFlags = 0; + DISPLAYPROFILE *dp; + + _snprintf(szKey, 256, "[%u]", p->uID); + cfg::writeTString(NULL, DSP_PROFILES_MODULE, szKey, p->tszName); + + for (j = 0; j < 4; j++) { + + dp = &p->dp[i]; + i = 0; + + /* + * dword values + */ + + _snprintf(szBuf, 256, "%u,%u,%d,%u,%u", dp->dwFlags, dp->dwExtraImageMask, dp->avatarBorder, dp->clcExStyle, dp->clcOfflineModes); + szBuf[255] = 0; + _snprintf(szKey, 256, "{dw_%u_%u}", p->uID, j); + cfg::writeString(NULL, DSP_PROFILES_MODULE, szKey, szBuf); + + _snprintf(szKey, 256, "{b_%u_%u}", p->uID, j); + + /* + * byte values + */ + + szBuf[i++] = (BYTE)dp->exIconScale; + szBuf[i++] = (BYTE)dp->dualRowMode; + szBuf[i++] = (BYTE)dp->avatarRadius; + szBuf[i++] = (BYTE)dp->avatarSize; + szBuf[i++] = (BYTE)dp->sortOrder[0];szBuf[i++] = (BYTE)dp->sortOrder[1];szBuf[i++] = (BYTE)dp->sortOrder[2]; + szBuf[i++] = dp->bUseDCMirroring; + szBuf[i++] = dp->bGroupAlign; + szBuf[i++] = dp->avatarPadding; + szBuf[i++] = dp->bLeftMargin; szBuf[i++] = dp->bRightMargin; szBuf[i++] = dp->bRowSpacing; + szBuf[i++] = dp->bGroupIndent; szBuf[i++] = dp->bRowHeight; szBuf[i++] = dp->bGroupRowHeight; + szBuf[i++] = 0; + + cfg::writeString(NULL, DSP_PROFILES_MODULE, szKey, szBuf); + + /* + * bool values (convert to bitflags + */ + + _snprintf(szKey, 256, "{f_%u_%u}", p->uID, j); + dwFlags = ((dp->bCenterStatusIcons ? DSPF_CENTERSTATUSICON : 0) | + (dp->bDimIdle ? DSPF_DIMIDLE : 0) | + (dp->bNoOfflineAvatars ? DSPF_NOFFLINEAVATARS : 0) | + (dp->bShowLocalTime ? DSPF_SHOWLOCALTIME : 0) | + (dp->bShowLocalTimeSelective ? DSPF_LOCALTIMESELECTIVE : 0) | + (dp->bDontSeparateOffline ? DSPF_DONTSEPARATEOFFLINE : 0) | + (dp->bCenterGroupNames ? DSPF_CENTERGROUPNAMES : 0)); + + cfg::writeDword(NULL, DSP_PROFILES_MODULE, szKey, dwFlags); + } } - /* * read a profile from the DB * p->uID must contain the (valid) identifier @@ -231,80 +201,80 @@ static void DSP_Write(DISPLAYPROFILESET *p) static int DSP_Read(DISPLAYPROFILESET *p) { - char szBuf[256], szKey[256]; - int i = 0, j; - DWORD dwFlags = 0; - DBVARIANT dbv = {0}; - DISPLAYPROFILE *dp; - - _snprintf(szKey, 256, "[%u]", p->uID); - - if(cfg::getTString(NULL, DSP_PROFILES_MODULE, szKey, &dbv)) - return 0; - - mir_sntprintf(p->tszName, 60, dbv.ptszVal); - DBFreeVariant(&dbv); - - for(j = 0; j < 4; j++) { - - dp = &p->dp[j]; - i = 0; - /* - * dword values - */ - - mir_snprintf(szKey, 256, "{dw_%u_%u}", p->uID, j); - if (!cfg::getString(NULL, DSP_PROFILES_MODULE, szKey, &dbv)) { - sscanf(dbv.pszVal, "%u,%u,%u,%u,%u", dp->dwFlags, dp->dwExtraImageMask, dp->avatarBorder, dp->clcExStyle, dp->clcOfflineModes); - DBFreeVariant(&dbv); - } - else - return 0; - - /* - * byte values - */ - - _snprintf(szKey, 256, "{b_%u_%u}", p->uID, j); - if (!cfg::getString(NULL, DSP_PROFILES_MODULE, szKey, &dbv)) { - if(lstrlenA(dbv.pszVal) >= 16) { - dp->exIconScale = (int)szBuf[i++]; - dp->dualRowMode = szBuf[i++]; - dp->avatarRadius = szBuf[i++]; - dp->avatarSize = szBuf[i++]; - dp->sortOrder[0] = szBuf[i++]; dp->sortOrder[1] = szBuf[i++]; dp->sortOrder[2] = szBuf[i++]; - dp->bUseDCMirroring = szBuf[i++]; - dp->bGroupAlign = szBuf[i++]; - dp->avatarPadding = szBuf[i++]; - dp->bLeftMargin = szBuf[i++]; dp->bRightMargin = szBuf[i++]; dp->bRowSpacing = szBuf[i++]; - dp->bGroupIndent = szBuf[i++]; dp->bRowHeight = szBuf[i++]; dp->bGroupRowHeight = szBuf[i++]; - } - else { - DBFreeVariant(&dbv); - return 0; - } - DBFreeVariant(&dbv); - } - else - return 0; - - /* - * bool values (convert to bitflags - */ - - _snprintf(szKey, 256, "{f_%u_%u}", p->uID, j); - dwFlags = cfg::getDword(DSP_PROFILES_MODULE, szKey, 0); - - dp->bCenterStatusIcons = dwFlags & DSPF_CENTERSTATUSICON ? 1 : 0; - dp->bDimIdle = dwFlags & DSPF_DIMIDLE ? 1 : 0; - dp->bNoOfflineAvatars = dwFlags & DSPF_NOFFLINEAVATARS ? 1 : 0; - dp->bShowLocalTime = dwFlags & DSPF_SHOWLOCALTIME ? 1 : 0; - dp->bShowLocalTimeSelective = dwFlags & DSPF_LOCALTIMESELECTIVE ? 1 : 0; - dp->bDontSeparateOffline = dwFlags & DSPF_DONTSEPARATEOFFLINE ? 1 : 0; - dp->bCenterGroupNames = dwFlags & DSPF_CENTERGROUPNAMES ? 1 : 0; - } + char szBuf[256], szKey[256]; + int i = 0, j; + DWORD dwFlags = 0; + DBVARIANT dbv = {0}; + DISPLAYPROFILE *dp; + + _snprintf(szKey, 256, "[%u]", p->uID); + + if (cfg::getTString(NULL, DSP_PROFILES_MODULE, szKey, &dbv)) + return 0; + + mir_sntprintf(p->tszName, 60, dbv.ptszVal); + DBFreeVariant(&dbv); + + for (j = 0; j < 4; j++) { + + dp = &p->dp[j]; + i = 0; + /* + * dword values + */ + + mir_snprintf(szKey, 256, "{dw_%u_%u}", p->uID, j); + if (!cfg::getString(NULL, DSP_PROFILES_MODULE, szKey, &dbv)) { + sscanf(dbv.pszVal, "%u,%u,%u,%u,%u", dp->dwFlags, dp->dwExtraImageMask, dp->avatarBorder, dp->clcExStyle, dp->clcOfflineModes); + DBFreeVariant(&dbv); + } + else + return 0; + + /* + * byte values + */ + + _snprintf(szKey, 256, "{b_%u_%u}", p->uID, j); + if (!cfg::getString(NULL, DSP_PROFILES_MODULE, szKey, &dbv)) { + if (lstrlenA(dbv.pszVal) >= 16) { + dp->exIconScale = (int)szBuf[i++]; + dp->dualRowMode = szBuf[i++]; + dp->avatarRadius = szBuf[i++]; + dp->avatarSize = szBuf[i++]; + dp->sortOrder[0] = szBuf[i++]; dp->sortOrder[1] = szBuf[i++]; dp->sortOrder[2] = szBuf[i++]; + dp->bUseDCMirroring = szBuf[i++]; + dp->bGroupAlign = szBuf[i++]; + dp->avatarPadding = szBuf[i++]; + dp->bLeftMargin = szBuf[i++]; dp->bRightMargin = szBuf[i++]; dp->bRowSpacing = szBuf[i++]; + dp->bGroupIndent = szBuf[i++]; dp->bRowHeight = szBuf[i++]; dp->bGroupRowHeight = szBuf[i++]; + } + else { + DBFreeVariant(&dbv); + return 0; + } + DBFreeVariant(&dbv); + } + else + return 0; - return 1; + /* + * bool values (convert to bitflags + */ + + _snprintf(szKey, 256, "{f_%u_%u}", p->uID, j); + dwFlags = cfg::getDword(DSP_PROFILES_MODULE, szKey, 0); + + dp->bCenterStatusIcons = dwFlags & DSPF_CENTERSTATUSICON ? 1 : 0; + dp->bDimIdle = dwFlags & DSPF_DIMIDLE ? 1 : 0; + dp->bNoOfflineAvatars = dwFlags & DSPF_NOFFLINEAVATARS ? 1 : 0; + dp->bShowLocalTime = dwFlags & DSPF_SHOWLOCALTIME ? 1 : 0; + dp->bShowLocalTimeSelective = dwFlags & DSPF_LOCALTIMESELECTIVE ? 1 : 0; + dp->bDontSeparateOffline = dwFlags & DSPF_DONTSEPARATEOFFLINE ? 1 : 0; + dp->bCenterGroupNames = dwFlags & DSPF_CENTERGROUPNAMES ? 1 : 0; + } + + return 1; } /* @@ -313,36 +283,36 @@ static int DSP_Read(DISPLAYPROFILESET *p) static void DSP_LoadFromDefaults(DISPLAYPROFILE *p) { - p->dwExtraImageMask = cfg::dat.dwExtraImageMask; - p->exIconScale = cfg::dat.exIconScale; - p->bCenterStatusIcons = cfg::dat.bCenterStatusIcons; - p->dwFlags = cfg::dat.dwFlags; - p->bDimIdle = cfg::getByte("CLC", "ShowIdle", CLCDEFAULT_SHOWIDLE); - p->avatarBorder = cfg::dat.avatarBorder; - p->avatarSize = cfg::dat.avatarSize; - p->avatarRadius = cfg::dat.avatarRadius; - p->dualRowMode = cfg::dat.dualRowMode; - p->bNoOfflineAvatars = cfg::dat.bNoOfflineAvatars; - p->bShowLocalTime = cfg::dat.bShowLocalTime; - p->bShowLocalTimeSelective = cfg::dat.bShowLocalTimeSelective; - p->clcExStyle = cfg::getDword("CLC", "ExStyle", pcli->pfnGetDefaultExStyle()); - p->clcOfflineModes = cfg::getDword("CLC", "OfflineModes", CLCDEFAULT_OFFLINEMODES); - p->bDontSeparateOffline = cfg::dat.bDontSeparateOffline; - p->sortOrder[0] = cfg::dat.sortOrder[0]; - p->sortOrder[1] = cfg::dat.sortOrder[1]; - p->sortOrder[2] = cfg::dat.sortOrder[2]; - p->bUseDCMirroring = cfg::dat.bUseDCMirroring; - p->bCenterGroupNames = cfg::getByte("CLCExt", "EXBK_CenterGroupnames", 0); - p->bGroupAlign = cfg::dat.bGroupAlign; - p->avatarPadding = cfg::dat.avatarPadding; - - p->bLeftMargin = cfg::getByte("CLC", "LeftMargin", CLCDEFAULT_LEFTMARGIN); - p->bRightMargin = cfg::getByte("CLC", "RightMargin", CLCDEFAULT_LEFTMARGIN); - p->bRowSpacing = cfg::dat.bRowSpacing; - p->bGroupIndent = cfg::getByte("CLC", "GroupIndent", CLCDEFAULT_GROUPINDENT); - p->bRowHeight = cfg::getByte("CLC", "RowHeight", CLCDEFAULT_ROWHEIGHT); - p->bGroupRowHeight = cfg::getByte("CLC", "GRowHeight", CLCDEFAULT_ROWHEIGHT); - CopyMemory(p->exIconOrder, cfg::dat.exIconOrder, EXICON_COUNT); + p->dwExtraImageMask = cfg::dat.dwExtraImageMask; + p->exIconScale = cfg::dat.exIconScale; + p->bCenterStatusIcons = cfg::dat.bCenterStatusIcons; + p->dwFlags = cfg::dat.dwFlags; + p->bDimIdle = cfg::getByte("CLC", "ShowIdle", CLCDEFAULT_SHOWIDLE); + p->avatarBorder = cfg::dat.avatarBorder; + p->avatarSize = cfg::dat.avatarSize; + p->avatarRadius = cfg::dat.avatarRadius; + p->dualRowMode = cfg::dat.dualRowMode; + p->bNoOfflineAvatars = cfg::dat.bNoOfflineAvatars; + p->bShowLocalTime = cfg::dat.bShowLocalTime; + p->bShowLocalTimeSelective = cfg::dat.bShowLocalTimeSelective; + p->clcExStyle = cfg::getDword("CLC", "ExStyle", pcli->pfnGetDefaultExStyle()); + p->clcOfflineModes = cfg::getDword("CLC", "OfflineModes", CLCDEFAULT_OFFLINEMODES); + p->bDontSeparateOffline = cfg::dat.bDontSeparateOffline; + p->sortOrder[0] = cfg::dat.sortOrder[0]; + p->sortOrder[1] = cfg::dat.sortOrder[1]; + p->sortOrder[2] = cfg::dat.sortOrder[2]; + p->bUseDCMirroring = cfg::dat.bUseDCMirroring; + p->bCenterGroupNames = cfg::getByte("CLCExt", "EXBK_CenterGroupnames", 0); + p->bGroupAlign = cfg::dat.bGroupAlign; + p->avatarPadding = cfg::dat.avatarPadding; + + p->bLeftMargin = cfg::getByte("CLC", "LeftMargin", CLCDEFAULT_LEFTMARGIN); + p->bRightMargin = cfg::getByte("CLC", "RightMargin", CLCDEFAULT_LEFTMARGIN); + p->bRowSpacing = cfg::dat.bRowSpacing; + p->bGroupIndent = cfg::getByte("CLC", "GroupIndent", CLCDEFAULT_GROUPINDENT); + p->bRowHeight = cfg::getByte("CLC", "RowHeight", CLCDEFAULT_ROWHEIGHT); + p->bGroupRowHeight = cfg::getByte("CLC", "GRowHeight", CLCDEFAULT_ROWHEIGHT); + CopyMemory(p->exIconOrder, cfg::dat.exIconOrder, EXICON_COUNT); } /* @@ -351,128 +321,128 @@ static void DSP_LoadFromDefaults(DISPLAYPROFILE *p) void DSP_Apply(DISPLAYPROFILE *p) { - int oldexIconScale = cfg::dat.exIconScale; - DWORD oldMask = cfg::dat.dwExtraImageMask; - int i; - DWORD exStyle; - char temp[EXICON_COUNT + 1]; - /* - * icons page - */ - cfg::dat.dwFlags &= ~(CLUI_FRAME_STATUSICONS | CLUI_SHOWVISI | CLUI_USEMETAICONS | CLUI_FRAME_USEXSTATUSASSTATUS | CLUI_FRAME_OVERLAYICONS | CLUI_FRAME_SELECTIVEICONS); - cfg::dat.dwExtraImageMask = p->dwExtraImageMask; - cfg::dat.exIconScale = p->exIconScale; - cfg::dat.bCenterStatusIcons = p->bCenterStatusIcons; - - cfg::writeDword("CLUI", "ximgmask", cfg::dat.dwExtraImageMask); - cfg::writeByte("CLC", "ExIconScale", (BYTE)cfg::dat.exIconScale); - cfg::writeByte("CLC", "si_centered", (BYTE)cfg::dat.bCenterStatusIcons); - cfg::writeByte("CLC", "ShowIdle", (BYTE)p->bDimIdle); - - CopyMemory(cfg::dat.exIconOrder, p->exIconOrder, EXICON_COUNT); - CopyMemory(temp, p->exIconOrder, EXICON_COUNT); - temp[EXICON_COUNT] = 0; - cfg::writeString(NULL, "CLUI", "exIconOrder", temp); - - /* - * advanced (avatars & 2nd row) - */ - - cfg::dat.dwFlags &= ~(CLUI_FRAME_AVATARSLEFT | CLUI_FRAME_AVATARSRIGHT | CLUI_FRAME_AVATARSRIGHTWITHNICK | - CLUI_FRAME_AVATARS | CLUI_FRAME_AVATARBORDER | CLUI_FRAME_ROUNDAVATAR | - CLUI_FRAME_ALWAYSALIGNNICK | CLUI_FRAME_SHOWSTATUSMSG | CLUI_FRAME_GDIPLUS); - - cfg::dat.avatarSize = p->avatarSize; - cfg::dat.avatarBorder = p->avatarBorder; - cfg::dat.avatarRadius = p->avatarRadius; - cfg::dat.dualRowMode = p->dualRowMode; - cfg::dat.bNoOfflineAvatars = p->bNoOfflineAvatars; - cfg::dat.bShowLocalTime = p->bShowLocalTime; - cfg::dat.bShowLocalTimeSelective = p->bShowLocalTimeSelective; - - if(cfg::dat.hBrushAvatarBorder) - DeleteObject(cfg::dat.hBrushAvatarBorder); - cfg::dat.hBrushAvatarBorder = CreateSolidBrush(cfg::dat.avatarBorder); - - /* - * items page - */ - - cfg::dat.dwFlags &= ~CLUI_STICKYEVENTS; - - cfg::dat.sortOrder[0] = p->sortOrder[0]; - cfg::dat.sortOrder[1] = p->sortOrder[1]; - cfg::dat.sortOrder[2] = p->sortOrder[2]; - cfg::dat.bDontSeparateOffline = p->bDontSeparateOffline; - cfg::writeByte("CList", "DontSeparateOffline", (BYTE)cfg::dat.bDontSeparateOffline); - cfg::writeDword("CLC", "OfflineModes", p->clcOfflineModes); - - cfg::writeDword("CList", "SortOrder", - MAKELONG(MAKEWORD(cfg::dat.sortOrder[0], cfg::dat.sortOrder[1]), - MAKEWORD(cfg::dat.sortOrder[2], 0))); - - cfg::dat.bUseDCMirroring = p->bUseDCMirroring; - cfg::writeByte("CLC", "MirrorDC", cfg::dat.bUseDCMirroring); - - /* - * groups page - */ - - cfg::dat.dwFlags &= ~CLUI_FRAME_NOGROUPICON; - cfg::dat.bGroupAlign = p->bGroupAlign; - cfg::writeByte("CLC", "GroupAlign", cfg::dat.bGroupAlign); - cfg::writeByte("CLCExt", "EXBK_CenterGroupnames", (BYTE)p->bCenterGroupNames); - - exStyle = cfg::getDword("CLC", "ExStyle", pcli->pfnGetDefaultExStyle()); - for (i = 0; i < sizeof(checkBoxToGroupStyleEx) / sizeof(checkBoxToGroupStyleEx[0]); i++) - exStyle &= ~(checkBoxToGroupStyleEx[i].flag); - - exStyle |= p->clcExStyle; - cfg::writeDword("CLC", "ExStyle", exStyle); - cfg::dat.avatarPadding = p->avatarPadding; - cfg::writeByte("CList", "AvatarPadding", cfg::dat.avatarPadding); - - cfg::dat.bRowSpacing = p->bRowSpacing; - cfg::writeByte("CLC", "RowGap", cfg::dat.bRowSpacing); - - cfg::writeByte("CLC", "LeftMargin", (BYTE)p->bLeftMargin); - cfg::writeByte("CLC", "RightMargin", (BYTE)p->bRightMargin); - cfg::writeByte("CLC", "GroupIndent", (BYTE)p->bGroupIndent); - cfg::writeByte("CLC", "RowHeight", (BYTE)p->bRowHeight); - cfg::writeByte("CLC", "GRowHeight", (BYTE)p->bGroupRowHeight); - - if(cfg::dat.sortOrder[0] == SORTBY_LASTMSG || cfg::dat.sortOrder[1] == SORTBY_LASTMSG || cfg::dat.sortOrder[2] == SORTBY_LASTMSG) { - int i; - - for(i = 0; i < cfg::nextCacheEntry; i++) - cfg::eCache[i].dwLastMsgTime = INTSORT_GetLastMsgTime(cfg::eCache[i].hContact); - } + int oldexIconScale = cfg::dat.exIconScale; + DWORD oldMask = cfg::dat.dwExtraImageMask; + int i; + DWORD exStyle; + char temp[EXICON_COUNT + 1]; + /* + * icons page + */ + cfg::dat.dwFlags &= ~(CLUI_FRAME_STATUSICONS | CLUI_SHOWVISI | CLUI_USEMETAICONS | CLUI_FRAME_USEXSTATUSASSTATUS | CLUI_FRAME_OVERLAYICONS | CLUI_FRAME_SELECTIVEICONS); + cfg::dat.dwExtraImageMask = p->dwExtraImageMask; + cfg::dat.exIconScale = p->exIconScale; + cfg::dat.bCenterStatusIcons = p->bCenterStatusIcons; + + cfg::writeDword("CLUI", "ximgmask", cfg::dat.dwExtraImageMask); + cfg::writeByte("CLC", "ExIconScale", (BYTE)cfg::dat.exIconScale); + cfg::writeByte("CLC", "si_centered", (BYTE)cfg::dat.bCenterStatusIcons); + cfg::writeByte("CLC", "ShowIdle", (BYTE)p->bDimIdle); + + CopyMemory(cfg::dat.exIconOrder, p->exIconOrder, EXICON_COUNT); + CopyMemory(temp, p->exIconOrder, EXICON_COUNT); + temp[EXICON_COUNT] = 0; + cfg::writeString(NULL, "CLUI", "exIconOrder", temp); + + /* + * advanced (avatars & 2nd row) + */ + + cfg::dat.dwFlags &= ~(CLUI_FRAME_AVATARSLEFT | CLUI_FRAME_AVATARSRIGHT | CLUI_FRAME_AVATARSRIGHTWITHNICK | + CLUI_FRAME_AVATARS | CLUI_FRAME_AVATARBORDER | CLUI_FRAME_ROUNDAVATAR | + CLUI_FRAME_ALWAYSALIGNNICK | CLUI_FRAME_SHOWSTATUSMSG | CLUI_FRAME_GDIPLUS); + + cfg::dat.avatarSize = p->avatarSize; + cfg::dat.avatarBorder = p->avatarBorder; + cfg::dat.avatarRadius = p->avatarRadius; + cfg::dat.dualRowMode = p->dualRowMode; + cfg::dat.bNoOfflineAvatars = p->bNoOfflineAvatars; + cfg::dat.bShowLocalTime = p->bShowLocalTime; + cfg::dat.bShowLocalTimeSelective = p->bShowLocalTimeSelective; + + if (cfg::dat.hBrushAvatarBorder) + DeleteObject(cfg::dat.hBrushAvatarBorder); + cfg::dat.hBrushAvatarBorder = CreateSolidBrush(cfg::dat.avatarBorder); + + /* + * items page + */ + + cfg::dat.dwFlags &= ~CLUI_STICKYEVENTS; + + cfg::dat.sortOrder[0] = p->sortOrder[0]; + cfg::dat.sortOrder[1] = p->sortOrder[1]; + cfg::dat.sortOrder[2] = p->sortOrder[2]; + cfg::dat.bDontSeparateOffline = p->bDontSeparateOffline; + cfg::writeByte("CList", "DontSeparateOffline", (BYTE)cfg::dat.bDontSeparateOffline); + cfg::writeDword("CLC", "OfflineModes", p->clcOfflineModes); + + cfg::writeDword("CList", "SortOrder", + MAKELONG(MAKEWORD(cfg::dat.sortOrder[0], cfg::dat.sortOrder[1]), + MAKEWORD(cfg::dat.sortOrder[2], 0))); + + cfg::dat.bUseDCMirroring = p->bUseDCMirroring; + cfg::writeByte("CLC", "MirrorDC", cfg::dat.bUseDCMirroring); + + /* + * groups page + */ + + cfg::dat.dwFlags &= ~CLUI_FRAME_NOGROUPICON; + cfg::dat.bGroupAlign = p->bGroupAlign; + cfg::writeByte("CLC", "GroupAlign", cfg::dat.bGroupAlign); + cfg::writeByte("CLCExt", "EXBK_CenterGroupnames", (BYTE)p->bCenterGroupNames); + + exStyle = cfg::getDword("CLC", "ExStyle", pcli->pfnGetDefaultExStyle()); + for (i = 0; i < sizeof(checkBoxToGroupStyleEx) / sizeof(checkBoxToGroupStyleEx[0]); i++) + exStyle &= ~(checkBoxToGroupStyleEx[i].flag); + + exStyle |= p->clcExStyle; + cfg::writeDword("CLC", "ExStyle", exStyle); + cfg::dat.avatarPadding = p->avatarPadding; + cfg::writeByte("CList", "AvatarPadding", cfg::dat.avatarPadding); + + cfg::dat.bRowSpacing = p->bRowSpacing; + cfg::writeByte("CLC", "RowGap", cfg::dat.bRowSpacing); + + cfg::writeByte("CLC", "LeftMargin", (BYTE)p->bLeftMargin); + cfg::writeByte("CLC", "RightMargin", (BYTE)p->bRightMargin); + cfg::writeByte("CLC", "GroupIndent", (BYTE)p->bGroupIndent); + cfg::writeByte("CLC", "RowHeight", (BYTE)p->bRowHeight); + cfg::writeByte("CLC", "GRowHeight", (BYTE)p->bGroupRowHeight); + + if (cfg::dat.sortOrder[0] == SORTBY_LASTMSG || cfg::dat.sortOrder[1] == SORTBY_LASTMSG || cfg::dat.sortOrder[2] == SORTBY_LASTMSG) { + int i; + + for (i = 0; i < cfg::nextCacheEntry; i++) + cfg::eCache[i].dwLastMsgTime = INTSORT_GetLastMsgTime(cfg::eCache[i].hContact); + } - cfg::writeByte("CLC", "ShowLocalTime", (BYTE)cfg::dat.bShowLocalTime); - cfg::writeByte("CLC", "SelectiveLocalTime", (BYTE)cfg::dat.bShowLocalTimeSelective); - cfg::writeDword("CLC", "avatarborder", cfg::dat.avatarBorder); - cfg::writeDword("CLC", "avatarradius", cfg::dat.avatarRadius); - cfg::writeWord(NULL, "CList", "AvatarSize", (WORD)cfg::dat.avatarSize); - cfg::writeByte("CLC", "DualRowMode", cfg::dat.dualRowMode); - cfg::writeByte("CList", "NoOfflineAV", (BYTE)cfg::dat.bNoOfflineAvatars); + cfg::writeByte("CLC", "ShowLocalTime", (BYTE)cfg::dat.bShowLocalTime); + cfg::writeByte("CLC", "SelectiveLocalTime", (BYTE)cfg::dat.bShowLocalTimeSelective); + cfg::writeDword("CLC", "avatarborder", cfg::dat.avatarBorder); + cfg::writeDword("CLC", "avatarradius", cfg::dat.avatarRadius); + cfg::writeWord(NULL, "CList", "AvatarSize", (WORD)cfg::dat.avatarSize); + cfg::writeByte("CLC", "DualRowMode", cfg::dat.dualRowMode); + cfg::writeByte("CList", "NoOfflineAV", (BYTE)cfg::dat.bNoOfflineAvatars); - KillTimer(pcli->hwndContactTree, TIMERID_REFRESH); - if(cfg::dat.bShowLocalTime) - SetTimer(pcli->hwndContactTree, TIMERID_REFRESH, 65000, NULL); + KillTimer(pcli->hwndContactTree, TIMERID_REFRESH); + if (cfg::dat.bShowLocalTime) + SetTimer(pcli->hwndContactTree, TIMERID_REFRESH, 65000, NULL); - cfg::dat.dwFlags |= p->dwFlags; - cfg::writeDword("CLUI", "Frameflags", cfg::dat.dwFlags); + cfg::dat.dwFlags |= p->dwFlags; + cfg::writeDword("CLUI", "Frameflags", cfg::dat.dwFlags); - for(i = 0; i < cfg::nextCacheEntry; i++) - cfg::eCache[i].dwXMask = CalcXMask(cfg::eCache[i].hContact); + for (i = 0; i < cfg::nextCacheEntry; i++) + cfg::eCache[i].dwXMask = CalcXMask(cfg::eCache[i].hContact); - if(oldexIconScale != cfg::dat.exIconScale) { - ImageList_RemoveAll(himlExtraImages); - ImageList_SetIconSize(himlExtraImages, cfg::dat.exIconScale, cfg::dat.exIconScale); - IcoLibReloadIcons(); - } - pcli->pfnClcOptionsChanged(); - pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0); + if (oldexIconScale != cfg::dat.exIconScale) { + ImageList_RemoveAll(himlExtraImages); + ImageList_SetIconSize(himlExtraImages, cfg::dat.exIconScale, cfg::dat.exIconScale); + IcoLibReloadIcons(); + } + pcli->pfnClcOptionsChanged(); + pcli->pfnClcBroadcast(CLM_AUTOREBUILD, 0, 0); } void GetDefaultFontSetting(int i, LOGFONT *lf, COLORREF *colour) @@ -504,196 +474,190 @@ static INT_PTR CALLBACK DlgProcDspGroups(HWND hwndDlg, UINT msg, WPARAM wParam, switch (msg) { case WM_INITDIALOG: { - int i = 0; - TranslateDialogDefault(hwndDlg); - SendDlgItemMessage(hwndDlg, IDC_GROUPALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Always Left")); - SendDlgItemMessage(hwndDlg, IDC_GROUPALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Always Right")); - SendDlgItemMessage(hwndDlg, IDC_GROUPALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Automatic (RTL)")); - return TRUE; + int i = 0; + TranslateDialogDefault(hwndDlg); + SendDlgItemMessage(hwndDlg, IDC_GROUPALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Always Left")); + SendDlgItemMessage(hwndDlg, IDC_GROUPALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Always Right")); + SendDlgItemMessage(hwndDlg, IDC_GROUPALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Automatic (RTL)")); } - case WM_COMMAND: - if ((LOWORD(wParam) == IDC_ROWHEIGHT || LOWORD(wParam) == IDC_AVATARPADDING || LOWORD(wParam) == IDC_ROWGAP || LOWORD(wParam) == IDC_RIGHTMARGIN || LOWORD(wParam) == IDC_LEFTMARGIN || LOWORD(wParam) == IDC_SMOOTHTIME || LOWORD(wParam) == IDC_GROUPINDENT || LOWORD(wParam) == IDC_GROUPROWHEIGHT) - && (HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus())) - return 0; - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - case WM_USER + 100: - { - DISPLAYPROFILE *p = (DISPLAYPROFILE *)lParam; - if(p) { - DWORD exStyle = p->clcExStyle; + return TRUE; + + case WM_COMMAND: + if ((LOWORD(wParam) == IDC_ROWHEIGHT || LOWORD(wParam) == IDC_AVATARPADDING || LOWORD(wParam) == IDC_ROWGAP || LOWORD(wParam) == IDC_RIGHTMARGIN || LOWORD(wParam) == IDC_LEFTMARGIN || LOWORD(wParam) == IDC_SMOOTHTIME || LOWORD(wParam) == IDC_GROUPINDENT || LOWORD(wParam) == IDC_GROUPROWHEIGHT) + && (HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus())) + return 0; + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; + + case WM_USER + 100: + { + DISPLAYPROFILE *p = (DISPLAYPROFILE *)lParam; + if (p) { + DWORD exStyle = p->clcExStyle; int i; - for (i = 0; i < sizeof(checkBoxToGroupStyleEx) / sizeof(checkBoxToGroupStyleEx[0]); i++) - CheckDlgButton(hwndDlg, checkBoxToGroupStyleEx[i].id, (exStyle & checkBoxToGroupStyleEx[i].flag) ^ (checkBoxToGroupStyleEx[i].flag * checkBoxToGroupStyleEx[i].not_t) ? BST_CHECKED : BST_UNCHECKED); - - CheckDlgButton(hwndDlg, IDC_NOGROUPICON, (p->dwFlags & CLUI_FRAME_NOGROUPICON) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_CENTERGROUPNAMES, p->bCenterGroupNames); - SendDlgItemMessage(hwndDlg, IDC_GROUPALIGN, CB_SETCURSEL, p->bGroupAlign, 0); - SendDlgItemMessage(hwndDlg, IDC_AVATARPADDINGSPIN, UDM_SETRANGE, 0, MAKELONG(10, 0)); - SendDlgItemMessage(hwndDlg, IDC_AVATARPADDINGSPIN, UDM_SETPOS, 0, p->avatarPadding); - - SendDlgItemMessage(hwndDlg, IDC_LEFTMARGINSPIN, UDM_SETRANGE, 0, MAKELONG(64, 0)); - SendDlgItemMessage(hwndDlg, IDC_LEFTMARGINSPIN, UDM_SETPOS, 0, p->bLeftMargin); - SendDlgItemMessage(hwndDlg, IDC_RIGHTMARGINSPIN, UDM_SETRANGE, 0, MAKELONG(64, 0)); - SendDlgItemMessage(hwndDlg, IDC_RIGHTMARGINSPIN, UDM_SETPOS, 0, p->bRightMargin); - SendDlgItemMessage(hwndDlg, IDC_ROWGAPSPIN, UDM_SETRANGE, 0, MAKELONG(10, 0)); - SendDlgItemMessage(hwndDlg, IDC_ROWGAPSPIN, UDM_SETPOS, 0, p->bRowSpacing); - SendDlgItemMessage(hwndDlg, IDC_GROUPINDENTSPIN, UDM_SETRANGE, 0, MAKELONG(50, 0)); - SendDlgItemMessage(hwndDlg, IDC_GROUPINDENTSPIN, UDM_SETPOS, 0, p->bGroupIndent); - SendDlgItemMessage(hwndDlg, IDC_ROWHEIGHTSPIN, UDM_SETRANGE, 0, MAKELONG(255, 8)); - SendDlgItemMessage(hwndDlg, IDC_ROWHEIGHTSPIN, UDM_SETPOS, 0, p->bRowHeight); - SendDlgItemMessage(hwndDlg, IDC_GROUPROWHEIGHTSPIN, UDM_SETRANGE, 0, MAKELONG(255, 8)); - SendDlgItemMessage(hwndDlg, IDC_GROUPROWHEIGHTSPIN, UDM_SETPOS, 0, p->bGroupRowHeight); - } - return 0; - } - case WM_USER + 200: - { - DISPLAYPROFILE *p = (DISPLAYPROFILE *)lParam; - if(p) { - int i; - DWORD exStyle = 0; - LRESULT curSel; - BOOL translated; - - for (i = 0; i < sizeof(checkBoxToGroupStyleEx) / sizeof(checkBoxToGroupStyleEx[0]); i++) { - if ((IsDlgButtonChecked(hwndDlg, checkBoxToGroupStyleEx[i].id) == 0) == checkBoxToGroupStyleEx[i].not_t) - exStyle |= checkBoxToGroupStyleEx[i].flag; - } - p->clcExStyle = exStyle; - p->dwFlags |= (IsDlgButtonChecked(hwndDlg, IDC_NOGROUPICON) ? CLUI_FRAME_NOGROUPICON : 0); - p->bCenterGroupNames = IsDlgButtonChecked(hwndDlg, IDC_CENTERGROUPNAMES) ? 1 : 0; - curSel = SendDlgItemMessage(hwndDlg, IDC_GROUPALIGN, CB_GETCURSEL, 0, 0); - if(curSel != CB_ERR) - p->bGroupAlign = (BYTE)curSel; - - p->avatarPadding = (BYTE)GetDlgItemInt(hwndDlg, IDC_AVATARPADDING, &translated, FALSE); - p->bLeftMargin = (BYTE)SendDlgItemMessage(hwndDlg, IDC_LEFTMARGINSPIN, UDM_GETPOS, 0, 0); - p->bRightMargin = (BYTE)SendDlgItemMessage(hwndDlg, IDC_RIGHTMARGINSPIN, UDM_GETPOS, 0, 0); - p->bRowSpacing = (BYTE)SendDlgItemMessage(hwndDlg, IDC_ROWGAPSPIN, UDM_GETPOS, 0, 0); - p->bGroupIndent = (BYTE)SendDlgItemMessage(hwndDlg, IDC_GROUPINDENTSPIN, UDM_GETPOS, 0, 0); - p->bRowHeight = (BYTE)SendDlgItemMessage(hwndDlg, IDC_ROWHEIGHTSPIN, UDM_GETPOS, 0, 0); - p->bGroupRowHeight = (BYTE)SendDlgItemMessage(hwndDlg, IDC_GROUPROWHEIGHTSPIN, UDM_GETPOS, 0, 0); - } - return 0; - } - case WM_NOTIFY: - switch (((LPNMHDR) lParam)->idFrom) { - case 0: - switch (((LPNMHDR) lParam)->code) { - case PSN_APPLY: - { - return TRUE; - } - } - break; - } - break; + for (i = 0; i < sizeof(checkBoxToGroupStyleEx) / sizeof(checkBoxToGroupStyleEx[0]); i++) + CheckDlgButton(hwndDlg, checkBoxToGroupStyleEx[i].id, (exStyle & checkBoxToGroupStyleEx[i].flag) ^ (checkBoxToGroupStyleEx[i].flag * checkBoxToGroupStyleEx[i].not_t) ? BST_CHECKED : BST_UNCHECKED); + + CheckDlgButton(hwndDlg, IDC_NOGROUPICON, (p->dwFlags & CLUI_FRAME_NOGROUPICON) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_CENTERGROUPNAMES, p->bCenterGroupNames); + SendDlgItemMessage(hwndDlg, IDC_GROUPALIGN, CB_SETCURSEL, p->bGroupAlign, 0); + SendDlgItemMessage(hwndDlg, IDC_AVATARPADDINGSPIN, UDM_SETRANGE, 0, MAKELONG(10, 0)); + SendDlgItemMessage(hwndDlg, IDC_AVATARPADDINGSPIN, UDM_SETPOS, 0, p->avatarPadding); + + SendDlgItemMessage(hwndDlg, IDC_LEFTMARGINSPIN, UDM_SETRANGE, 0, MAKELONG(64, 0)); + SendDlgItemMessage(hwndDlg, IDC_LEFTMARGINSPIN, UDM_SETPOS, 0, p->bLeftMargin); + SendDlgItemMessage(hwndDlg, IDC_RIGHTMARGINSPIN, UDM_SETRANGE, 0, MAKELONG(64, 0)); + SendDlgItemMessage(hwndDlg, IDC_RIGHTMARGINSPIN, UDM_SETPOS, 0, p->bRightMargin); + SendDlgItemMessage(hwndDlg, IDC_ROWGAPSPIN, UDM_SETRANGE, 0, MAKELONG(10, 0)); + SendDlgItemMessage(hwndDlg, IDC_ROWGAPSPIN, UDM_SETPOS, 0, p->bRowSpacing); + SendDlgItemMessage(hwndDlg, IDC_GROUPINDENTSPIN, UDM_SETRANGE, 0, MAKELONG(50, 0)); + SendDlgItemMessage(hwndDlg, IDC_GROUPINDENTSPIN, UDM_SETPOS, 0, p->bGroupIndent); + SendDlgItemMessage(hwndDlg, IDC_ROWHEIGHTSPIN, UDM_SETRANGE, 0, MAKELONG(255, 8)); + SendDlgItemMessage(hwndDlg, IDC_ROWHEIGHTSPIN, UDM_SETPOS, 0, p->bRowHeight); + SendDlgItemMessage(hwndDlg, IDC_GROUPROWHEIGHTSPIN, UDM_SETRANGE, 0, MAKELONG(255, 8)); + SendDlgItemMessage(hwndDlg, IDC_GROUPROWHEIGHTSPIN, UDM_SETPOS, 0, p->bGroupRowHeight); + } + } + return 0; + + case WM_USER + 200: + { + DISPLAYPROFILE *p = (DISPLAYPROFILE *)lParam; + if (p) { + int i; + DWORD exStyle = 0; + LRESULT curSel; + BOOL translated; + + for (i = 0; i < sizeof(checkBoxToGroupStyleEx) / sizeof(checkBoxToGroupStyleEx[0]); i++) { + if ((IsDlgButtonChecked(hwndDlg, checkBoxToGroupStyleEx[i].id) == 0) == checkBoxToGroupStyleEx[i].not_t) + exStyle |= checkBoxToGroupStyleEx[i].flag; + } + p->clcExStyle = exStyle; + p->dwFlags |= (IsDlgButtonChecked(hwndDlg, IDC_NOGROUPICON) ? CLUI_FRAME_NOGROUPICON : 0); + p->bCenterGroupNames = IsDlgButtonChecked(hwndDlg, IDC_CENTERGROUPNAMES) ? 1 : 0; + curSel = SendDlgItemMessage(hwndDlg, IDC_GROUPALIGN, CB_GETCURSEL, 0, 0); + if (curSel != CB_ERR) + p->bGroupAlign = (BYTE)curSel; + + p->avatarPadding = (BYTE)GetDlgItemInt(hwndDlg, IDC_AVATARPADDING, &translated, FALSE); + p->bLeftMargin = (BYTE)SendDlgItemMessage(hwndDlg, IDC_LEFTMARGINSPIN, UDM_GETPOS, 0, 0); + p->bRightMargin = (BYTE)SendDlgItemMessage(hwndDlg, IDC_RIGHTMARGINSPIN, UDM_GETPOS, 0, 0); + p->bRowSpacing = (BYTE)SendDlgItemMessage(hwndDlg, IDC_ROWGAPSPIN, UDM_GETPOS, 0, 0); + p->bGroupIndent = (BYTE)SendDlgItemMessage(hwndDlg, IDC_GROUPINDENTSPIN, UDM_GETPOS, 0, 0); + p->bRowHeight = (BYTE)SendDlgItemMessage(hwndDlg, IDC_ROWHEIGHTSPIN, UDM_GETPOS, 0, 0); + p->bGroupRowHeight = (BYTE)SendDlgItemMessage(hwndDlg, IDC_GROUPROWHEIGHTSPIN, UDM_GETPOS, 0, 0); + } + return 0; + } + + case WM_NOTIFY: + switch (((LPNMHDR) lParam)->idFrom) { + case 0: + switch (((LPNMHDR) lParam)->code) { + case PSN_APPLY: + return TRUE; + } + break; + } + break; } return FALSE; } static INT_PTR CALLBACK DlgProcDspItems(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { + DISPLAYPROFILE *p; + switch (msg) { case WM_INITDIALOG: { - int i = 0; - HIMAGELIST himlOld; - - TranslateDialogDefault(hwndDlg); - if(himlCheckBoxes == 0) - CreateStateImageList(); - - himlOld = TreeView_SetImageList(GetDlgItem(hwndDlg, IDC_HIDEOFFLINEOPTS), himlCheckBoxes, TVSIL_STATE); - ImageList_Destroy(himlOld); - - for(i = 0; sortCtrlIDs[i] != 0; i++) { - SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_INSERTSTRING, -1, (LPARAM)TranslateT("Nothing")); - SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_INSERTSTRING, -1, (LPARAM)TranslateT("Name")); - SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_INSERTSTRING, -1, (LPARAM)TranslateT("Protocol")); - SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_INSERTSTRING, -1, (LPARAM)TranslateT("Status")); - SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_INSERTSTRING, -1, (LPARAM)TranslateT("Last Message")); - SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_INSERTSTRING, -1, (LPARAM)TranslateT("Message Frequency")); - } - SendDlgItemMessage(hwndDlg, IDC_CLISTALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Never")); - SendDlgItemMessage(hwndDlg, IDC_CLISTALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Always")); - SendDlgItemMessage(hwndDlg, IDC_CLISTALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("For RTL only")); - SendDlgItemMessage(hwndDlg, IDC_CLISTALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("RTL TEXT only")); - return TRUE; + int i = 0; + HIMAGELIST himlOld; + + TranslateDialogDefault(hwndDlg); + if (himlCheckBoxes == 0) + CreateStateImageList(); + + himlOld = TreeView_SetImageList(GetDlgItem(hwndDlg, IDC_HIDEOFFLINEOPTS), himlCheckBoxes, TVSIL_STATE); + ImageList_Destroy(himlOld); + + for (i = 0; sortCtrlIDs[i] != 0; i++) { + SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_INSERTSTRING, -1, (LPARAM)TranslateT("Nothing")); + SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_INSERTSTRING, -1, (LPARAM)TranslateT("Name")); + SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_INSERTSTRING, -1, (LPARAM)TranslateT("Protocol")); + SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_INSERTSTRING, -1, (LPARAM)TranslateT("Status")); + SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_INSERTSTRING, -1, (LPARAM)TranslateT("Last Message")); + SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_INSERTSTRING, -1, (LPARAM)TranslateT("Message Frequency")); + } + SendDlgItemMessage(hwndDlg, IDC_CLISTALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Never")); + SendDlgItemMessage(hwndDlg, IDC_CLISTALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Always")); + SendDlgItemMessage(hwndDlg, IDC_CLISTALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("For RTL only")); + SendDlgItemMessage(hwndDlg, IDC_CLISTALIGN, CB_INSERTSTRING, -1, (LPARAM)TranslateT("RTL TEXT only")); + } + return TRUE; + + case WM_COMMAND: + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; + + case WM_USER + 100: + p = (DISPLAYPROFILE *)lParam; + if (p) { + FillCheckBoxTree(GetDlgItem(hwndDlg, IDC_HIDEOFFLINEOPTS), offlineValues, sizeof(offlineValues) / sizeof(offlineValues[0]), p->clcOfflineModes); + CheckDlgButton(hwndDlg, IDC_EVENTSONTOP, (p->dwFlags & CLUI_STICKYEVENTS) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_DONTSEPARATE, p->bDontSeparateOffline); + for (int i = 0; sortCtrlIDs[i] != 0; i++) + SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_SETCURSEL, p->sortOrder[i], 0); + + SendDlgItemMessage(hwndDlg, IDC_CLISTALIGN, CB_SETCURSEL, p->bUseDCMirroring, 0); + } + return 0; + + case WM_USER + 200: + p = (DISPLAYPROFILE *)lParam; + if (p) { + for (int i = 0; sortCtrlIDs[i] != 0; i++) { + LRESULT curSel = SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_GETCURSEL, 0, 0); + if (curSel == 0 || curSel == CB_ERR) + p->sortOrder[i] = 0; + else + p->sortOrder[i] = (BYTE)curSel; + } + p->bDontSeparateOffline = IsDlgButtonChecked(hwndDlg, IDC_DONTSEPARATE) ? 1 : 0; + p->dwFlags |= IsDlgButtonChecked(hwndDlg, IDC_EVENTSONTOP) ? CLUI_STICKYEVENTS : 0; + p->clcOfflineModes = MakeCheckBoxTreeFlags(GetDlgItem(hwndDlg, IDC_HIDEOFFLINEOPTS)); + p->bUseDCMirroring = (BYTE)SendDlgItemMessage(hwndDlg, IDC_CLISTALIGN, CB_GETCURSEL, 0, 0); + } + return 0; + + case WM_NOTIFY: + switch (((LPNMHDR) lParam)->idFrom) { + case IDC_HIDEOFFLINEOPTS: + if (((LPNMHDR) lParam)->code == NM_CLICK) { + TVHITTESTINFO hti; + hti.pt.x = (short) LOWORD(GetMessagePos()); + hti.pt.y = (short) HIWORD(GetMessagePos()); + ScreenToClient(((LPNMHDR) lParam)->hwndFrom, &hti.pt); + if (TreeView_HitTest(((LPNMHDR) lParam)->hwndFrom, &hti)) + if (hti.flags & TVHT_ONITEMSTATEICON) { + TVITEM tvi; + tvi.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE; + tvi.hItem = hti.hItem; + TreeView_GetItem(((LPNMHDR) lParam)->hwndFrom, &tvi); + tvi.iImage = tvi.iSelectedImage = tvi.iImage == 1 ? 2 : 1; + TreeView_SetItem(((LPNMHDR) lParam)->hwndFrom, &tvi); + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + } + } + break; + case 0: + switch (((LPNMHDR) lParam)->code) { + case PSN_APPLY: + return TRUE; + } + break; } - case WM_COMMAND: - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - case WM_USER + 100: - { - DISPLAYPROFILE *p = (DISPLAYPROFILE *)lParam; - if(p) { - int i; - FillCheckBoxTree(GetDlgItem(hwndDlg, IDC_HIDEOFFLINEOPTS), offlineValues, sizeof(offlineValues) / sizeof(offlineValues[0]), p->clcOfflineModes); - CheckDlgButton(hwndDlg, IDC_EVENTSONTOP, (p->dwFlags & CLUI_STICKYEVENTS) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_DONTSEPARATE, p->bDontSeparateOffline); - for(i = 0; sortCtrlIDs[i] != 0; i++) - SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_SETCURSEL, p->sortOrder[i], 0); - - SendDlgItemMessage(hwndDlg, IDC_CLISTALIGN, CB_SETCURSEL, p->bUseDCMirroring, 0); - } - return 0; - } - case WM_USER + 200: - { - DISPLAYPROFILE *p = (DISPLAYPROFILE *)lParam; - if(p) { - int i; - LRESULT curSel; - - for(i = 0; sortCtrlIDs[i] != 0; i++) { - curSel = SendDlgItemMessage(hwndDlg, sortCtrlIDs[i], CB_GETCURSEL, 0, 0); - if(curSel == 0 || curSel == CB_ERR) - p->sortOrder[i] = 0; - else - p->sortOrder[i] = (BYTE)curSel; - } - p->bDontSeparateOffline = IsDlgButtonChecked(hwndDlg, IDC_DONTSEPARATE) ? 1 : 0; - p->dwFlags |= IsDlgButtonChecked(hwndDlg, IDC_EVENTSONTOP) ? CLUI_STICKYEVENTS : 0; - p->clcOfflineModes = MakeCheckBoxTreeFlags(GetDlgItem(hwndDlg, IDC_HIDEOFFLINEOPTS)); - p->bUseDCMirroring = (BYTE)SendDlgItemMessage(hwndDlg, IDC_CLISTALIGN, CB_GETCURSEL, 0, 0); - } - return 0; - } - case WM_NOTIFY: - switch (((LPNMHDR) lParam)->idFrom) { - case IDC_HIDEOFFLINEOPTS: - if (((LPNMHDR) lParam)->code == NM_CLICK) { - TVHITTESTINFO hti; - hti.pt.x = (short) LOWORD(GetMessagePos()); - hti.pt.y = (short) HIWORD(GetMessagePos()); - ScreenToClient(((LPNMHDR) lParam)->hwndFrom, &hti.pt); - if (TreeView_HitTest(((LPNMHDR) lParam)->hwndFrom, &hti)) - if (hti.flags & TVHT_ONITEMSTATEICON) { - TVITEM tvi; - tvi.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE; - tvi.hItem = hti.hItem; - TreeView_GetItem(((LPNMHDR) lParam)->hwndFrom, &tvi); - tvi.iImage = tvi.iSelectedImage = tvi.iImage == 1 ? 2 : 1; - TreeView_SetItem(((LPNMHDR) lParam)->hwndFrom, &tvi); - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - } - } - break; - case 0: - switch (((LPNMHDR) lParam)->code) { - case PSN_APPLY: - { - return TRUE; - } - } - break; - } - case WM_DESTROY: { - break; - } - break; } return FALSE; } @@ -701,136 +665,138 @@ static INT_PTR CALLBACK DlgProcDspItems(HWND hwndDlg, UINT msg, WPARAM wParam, L static UINT avatar_controls[] = { IDC_ALIGNMENT, IDC_AVATARSBORDER, IDC_AVATARSROUNDED, IDC_AVATARBORDERCLR, IDC_ALWAYSALIGNNICK, IDC_AVATARHEIGHT, IDC_AVATARSIZESPIN, 0 }; static INT_PTR CALLBACK DlgProcDspAdvanced(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { + DISPLAYPROFILE *p; + switch (msg) { case WM_INITDIALOG: { - int i = 0; - - TranslateDialogDefault(hwndDlg); - SendDlgItemMessage(hwndDlg, IDC_DUALROWMODE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Never")); - SendDlgItemMessage(hwndDlg, IDC_DUALROWMODE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Always")); - SendDlgItemMessage(hwndDlg, IDC_DUALROWMODE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("When space allows it")); - SendDlgItemMessage(hwndDlg, IDC_DUALROWMODE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("When needed")); - - SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_INSERTSTRING, -1, (LPARAM)TranslateT("With Nickname - left")); - SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Far left")); - SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Far right")); - SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_INSERTSTRING, -1, (LPARAM)TranslateT("With Nickname - right")); - - if(cfg::dat.bAvatarServiceAvail) { - Utils::enableDlgControl(hwndDlg, IDC_CLISTAVATARS, TRUE); - while(avatar_controls[i] != 0) - Utils::enableDlgControl(hwndDlg, avatar_controls[i++], TRUE); - } - else { - Utils::enableDlgControl(hwndDlg, IDC_CLISTAVATARS, FALSE); - while(avatar_controls[i] != 0) - Utils::enableDlgControl(hwndDlg, avatar_controls[i++], FALSE); - } + int i = 0; + + TranslateDialogDefault(hwndDlg); + SendDlgItemMessage(hwndDlg, IDC_DUALROWMODE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Never")); + SendDlgItemMessage(hwndDlg, IDC_DUALROWMODE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Always")); + SendDlgItemMessage(hwndDlg, IDC_DUALROWMODE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("When space allows it")); + SendDlgItemMessage(hwndDlg, IDC_DUALROWMODE, CB_INSERTSTRING, -1, (LPARAM)TranslateT("When needed")); + + SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_INSERTSTRING, -1, (LPARAM)TranslateT("With Nickname - left")); + SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Far left")); + SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_INSERTSTRING, -1, (LPARAM)TranslateT("Far right")); + SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_INSERTSTRING, -1, (LPARAM)TranslateT("With Nickname - right")); + + if (cfg::dat.bAvatarServiceAvail) { + Utils::enableDlgControl(hwndDlg, IDC_CLISTAVATARS, TRUE); + while(avatar_controls[i] != 0) + Utils::enableDlgControl(hwndDlg, avatar_controls[i++], TRUE); + } + else { + Utils::enableDlgControl(hwndDlg, IDC_CLISTAVATARS, FALSE); + while(avatar_controls[i] != 0) + Utils::enableDlgControl(hwndDlg, avatar_controls[i++], FALSE); + } return TRUE; } - case WM_COMMAND: - switch(LOWORD(wParam)) { - case IDC_CLISTAVATARS: - if ((HWND)lParam != GetFocus()) - return 0; - break; - case IDC_SHOWLOCALTIME: - Utils::enableDlgControl(hwndDlg, IDC_SHOWLOCALTIMEONLYWHENDIFFERENT, IsDlgButtonChecked(hwndDlg, IDC_SHOWLOCALTIME)); - break; - case IDC_AVATARSROUNDED: - Utils::enableDlgControl(hwndDlg, IDC_RADIUS, IsDlgButtonChecked(hwndDlg, IDC_AVATARSROUNDED) ? TRUE : FALSE); - Utils::enableDlgControl(hwndDlg, IDC_RADIUSSPIN, IsDlgButtonChecked(hwndDlg, IDC_AVATARSROUNDED) ? TRUE : FALSE); - break; - case IDC_AVATARSBORDER: - Utils::enableDlgControl(hwndDlg, IDC_AVATARBORDERCLR, IsDlgButtonChecked(hwndDlg, IDC_AVATARSBORDER) ? TRUE : FALSE); - break; - } - if ((LOWORD(wParam) == IDC_RADIUS || LOWORD(wParam) == IDC_AVATARHEIGHT) && (HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus())) - return 0; - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - case WM_USER + 100: - { - DISPLAYPROFILE *p = (DISPLAYPROFILE *)lParam; - if(p) { - CheckDlgButton(hwndDlg, IDC_NOAVATARSOFFLINE, p->bNoOfflineAvatars); - SendDlgItemMessage(hwndDlg, IDC_DUALROWMODE, CB_SETCURSEL, (WPARAM)p->dualRowMode, 0); - CheckDlgButton(hwndDlg, IDC_CLISTAVATARS, (p->dwFlags & CLUI_FRAME_AVATARS) ? BST_CHECKED : BST_UNCHECKED); - - CheckDlgButton(hwndDlg, IDC_AVATARSBORDER, (p->dwFlags & CLUI_FRAME_AVATARBORDER) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_AVATARSROUNDED, (p->dwFlags & CLUI_FRAME_ROUNDAVATAR) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_ALWAYSALIGNNICK, (p->dwFlags & CLUI_FRAME_ALWAYSALIGNNICK) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_SHOWSTATUSMSG, (p->dwFlags & CLUI_FRAME_SHOWSTATUSMSG) ? BST_CHECKED : BST_UNCHECKED); - - SendDlgItemMessage(hwndDlg, IDC_AVATARBORDERCLR, CPM_SETCOLOUR, 0, p->avatarBorder); - - SendDlgItemMessage(hwndDlg, IDC_RADIUSSPIN, UDM_SETRANGE, 0, MAKELONG(10, 2)); - SendDlgItemMessage(hwndDlg, IDC_RADIUSSPIN, UDM_SETPOS, 0, p->avatarRadius); - - SendDlgItemMessage(hwndDlg, IDC_AVATARSIZESPIN, UDM_SETRANGE, 0, MAKELONG(100, 16)); - SendDlgItemMessage(hwndDlg, IDC_AVATARSIZESPIN, UDM_SETPOS, 0, p->avatarSize); - - Utils::enableDlgControl(hwndDlg, IDC_RADIUS, IsDlgButtonChecked(hwndDlg, IDC_AVATARSROUNDED) ? TRUE : FALSE); - Utils::enableDlgControl(hwndDlg, IDC_RADIUSSPIN, IsDlgButtonChecked(hwndDlg, IDC_AVATARSROUNDED) ? TRUE : FALSE); - Utils::enableDlgControl(hwndDlg, IDC_AVATARBORDERCLR, IsDlgButtonChecked(hwndDlg, IDC_AVATARSBORDER) ? TRUE : FALSE); - - CheckDlgButton(hwndDlg, IDC_SHOWLOCALTIME, p->bShowLocalTime ? 1 : 0); - CheckDlgButton(hwndDlg, IDC_SHOWLOCALTIMEONLYWHENDIFFERENT, p->bShowLocalTimeSelective ? 1 : 0); - Utils::enableDlgControl(hwndDlg, IDC_SHOWLOCALTIMEONLYWHENDIFFERENT, IsDlgButtonChecked(hwndDlg, IDC_SHOWLOCALTIME)); - - if(p->dwFlags & CLUI_FRAME_AVATARSLEFT) - SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_SETCURSEL, 1, 0); - else if(p->dwFlags & CLUI_FRAME_AVATARSRIGHT) - SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_SETCURSEL, 2, 0); - else if(p->dwFlags & CLUI_FRAME_AVATARSRIGHTWITHNICK) - SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_SETCURSEL, 3, 0); - else - SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_SETCURSEL, 0, 0); - } - return 0; - } - case WM_USER + 200: - { - DISPLAYPROFILE *p = (DISPLAYPROFILE *)lParam; - if(p) { - LRESULT sel = SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_GETCURSEL, 0, 0); - BOOL translated; + case WM_COMMAND: + switch(LOWORD(wParam)) { + case IDC_CLISTAVATARS: + if ((HWND)lParam != GetFocus()) + return 0; + break; + + case IDC_SHOWLOCALTIME: + Utils::enableDlgControl(hwndDlg, IDC_SHOWLOCALTIMEONLYWHENDIFFERENT, IsDlgButtonChecked(hwndDlg, IDC_SHOWLOCALTIME)); + break; + + case IDC_AVATARSROUNDED: + Utils::enableDlgControl(hwndDlg, IDC_RADIUS, IsDlgButtonChecked(hwndDlg, IDC_AVATARSROUNDED) ? TRUE : FALSE); + Utils::enableDlgControl(hwndDlg, IDC_RADIUSSPIN, IsDlgButtonChecked(hwndDlg, IDC_AVATARSROUNDED) ? TRUE : FALSE); + break; + + case IDC_AVATARSBORDER: + Utils::enableDlgControl(hwndDlg, IDC_AVATARBORDERCLR, IsDlgButtonChecked(hwndDlg, IDC_AVATARSBORDER) ? TRUE : FALSE); + break; + } + if ((LOWORD(wParam) == IDC_RADIUS || LOWORD(wParam) == IDC_AVATARHEIGHT) && (HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus())) + return 0; + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; - if(sel != CB_ERR) { - if(sel == 1) - p->dwFlags |= CLUI_FRAME_AVATARSLEFT; - else if(sel == 2) - p->dwFlags |= CLUI_FRAME_AVATARSRIGHT; - else if(sel == 3) - p->dwFlags |= CLUI_FRAME_AVATARSRIGHTWITHNICK; - } - - p->dwFlags |= ((IsDlgButtonChecked(hwndDlg, IDC_CLISTAVATARS) ? CLUI_FRAME_AVATARS : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_AVATARSBORDER) ? CLUI_FRAME_AVATARBORDER : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_AVATARSROUNDED) ? CLUI_FRAME_ROUNDAVATAR : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_ALWAYSALIGNNICK) ? CLUI_FRAME_ALWAYSALIGNNICK : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_SHOWSTATUSMSG) ? CLUI_FRAME_SHOWSTATUSMSG : 0)); - - p->avatarBorder = SendDlgItemMessage(hwndDlg, IDC_AVATARBORDERCLR, CPM_GETCOLOUR, 0, 0); - p->avatarRadius = GetDlgItemInt(hwndDlg, IDC_RADIUS, &translated, FALSE); - p->avatarSize = GetDlgItemInt(hwndDlg, IDC_AVATARHEIGHT, &translated, FALSE); - p->bNoOfflineAvatars = IsDlgButtonChecked(hwndDlg, IDC_NOAVATARSOFFLINE) ? TRUE : FALSE; - p->bShowLocalTime = IsDlgButtonChecked(hwndDlg, IDC_SHOWLOCALTIME) ? 1 : 0; - p->bShowLocalTimeSelective = IsDlgButtonChecked(hwndDlg, IDC_SHOWLOCALTIMEONLYWHENDIFFERENT) ? 1 : 0; - - p->dualRowMode = (BYTE)SendDlgItemMessage(hwndDlg, IDC_DUALROWMODE, CB_GETCURSEL, 0, 0); - if(p->dualRowMode == CB_ERR) - p->dualRowMode = 0; - } - return 0; - } - case WM_NOTIFY: + case WM_USER + 100: + p = (DISPLAYPROFILE *)lParam; + if (p) { + CheckDlgButton(hwndDlg, IDC_NOAVATARSOFFLINE, p->bNoOfflineAvatars); + SendDlgItemMessage(hwndDlg, IDC_DUALROWMODE, CB_SETCURSEL, (WPARAM)p->dualRowMode, 0); + CheckDlgButton(hwndDlg, IDC_CLISTAVATARS, (p->dwFlags & CLUI_FRAME_AVATARS) ? BST_CHECKED : BST_UNCHECKED); + + CheckDlgButton(hwndDlg, IDC_AVATARSBORDER, (p->dwFlags & CLUI_FRAME_AVATARBORDER) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_AVATARSROUNDED, (p->dwFlags & CLUI_FRAME_ROUNDAVATAR) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_ALWAYSALIGNNICK, (p->dwFlags & CLUI_FRAME_ALWAYSALIGNNICK) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SHOWSTATUSMSG, (p->dwFlags & CLUI_FRAME_SHOWSTATUSMSG) ? BST_CHECKED : BST_UNCHECKED); + + SendDlgItemMessage(hwndDlg, IDC_AVATARBORDERCLR, CPM_SETCOLOUR, 0, p->avatarBorder); + + SendDlgItemMessage(hwndDlg, IDC_RADIUSSPIN, UDM_SETRANGE, 0, MAKELONG(10, 2)); + SendDlgItemMessage(hwndDlg, IDC_RADIUSSPIN, UDM_SETPOS, 0, p->avatarRadius); + + SendDlgItemMessage(hwndDlg, IDC_AVATARSIZESPIN, UDM_SETRANGE, 0, MAKELONG(100, 16)); + SendDlgItemMessage(hwndDlg, IDC_AVATARSIZESPIN, UDM_SETPOS, 0, p->avatarSize); + + Utils::enableDlgControl(hwndDlg, IDC_RADIUS, IsDlgButtonChecked(hwndDlg, IDC_AVATARSROUNDED) ? TRUE : FALSE); + Utils::enableDlgControl(hwndDlg, IDC_RADIUSSPIN, IsDlgButtonChecked(hwndDlg, IDC_AVATARSROUNDED) ? TRUE : FALSE); + Utils::enableDlgControl(hwndDlg, IDC_AVATARBORDERCLR, IsDlgButtonChecked(hwndDlg, IDC_AVATARSBORDER) ? TRUE : FALSE); + + CheckDlgButton(hwndDlg, IDC_SHOWLOCALTIME, p->bShowLocalTime ? 1 : 0); + CheckDlgButton(hwndDlg, IDC_SHOWLOCALTIMEONLYWHENDIFFERENT, p->bShowLocalTimeSelective ? 1 : 0); + Utils::enableDlgControl(hwndDlg, IDC_SHOWLOCALTIMEONLYWHENDIFFERENT, IsDlgButtonChecked(hwndDlg, IDC_SHOWLOCALTIME)); + + if (p->dwFlags & CLUI_FRAME_AVATARSLEFT) + SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_SETCURSEL, 1, 0); + else if (p->dwFlags & CLUI_FRAME_AVATARSRIGHT) + SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_SETCURSEL, 2, 0); + else if (p->dwFlags & CLUI_FRAME_AVATARSRIGHTWITHNICK) + SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_SETCURSEL, 3, 0); + else + SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_SETCURSEL, 0, 0); + } + return 0; + + case WM_USER + 200: + p = (DISPLAYPROFILE *)lParam; + if (p) { + LRESULT sel = SendDlgItemMessage(hwndDlg, IDC_ALIGNMENT, CB_GETCURSEL, 0, 0); + BOOL translated; + + if (sel != CB_ERR) { + if (sel == 1) + p->dwFlags |= CLUI_FRAME_AVATARSLEFT; + else if (sel == 2) + p->dwFlags |= CLUI_FRAME_AVATARSRIGHT; + else if (sel == 3) + p->dwFlags |= CLUI_FRAME_AVATARSRIGHTWITHNICK; + } + + p->dwFlags |= ((IsDlgButtonChecked(hwndDlg, IDC_CLISTAVATARS) ? CLUI_FRAME_AVATARS : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_AVATARSBORDER) ? CLUI_FRAME_AVATARBORDER : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_AVATARSROUNDED) ? CLUI_FRAME_ROUNDAVATAR : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_ALWAYSALIGNNICK) ? CLUI_FRAME_ALWAYSALIGNNICK : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_SHOWSTATUSMSG) ? CLUI_FRAME_SHOWSTATUSMSG : 0)); + + p->avatarBorder = SendDlgItemMessage(hwndDlg, IDC_AVATARBORDERCLR, CPM_GETCOLOUR, 0, 0); + p->avatarRadius = GetDlgItemInt(hwndDlg, IDC_RADIUS, &translated, FALSE); + p->avatarSize = GetDlgItemInt(hwndDlg, IDC_AVATARHEIGHT, &translated, FALSE); + p->bNoOfflineAvatars = IsDlgButtonChecked(hwndDlg, IDC_NOAVATARSOFFLINE) ? TRUE : FALSE; + p->bShowLocalTime = IsDlgButtonChecked(hwndDlg, IDC_SHOWLOCALTIME) ? 1 : 0; + p->bShowLocalTimeSelective = IsDlgButtonChecked(hwndDlg, IDC_SHOWLOCALTIMEONLYWHENDIFFERENT) ? 1 : 0; + + p->dualRowMode = (BYTE)SendDlgItemMessage(hwndDlg, IDC_DUALROWMODE, CB_GETCURSEL, 0, 0); + if (p->dualRowMode == CB_ERR) + p->dualRowMode = 0; + } + return 0; + + case WM_NOTIFY: switch (((LPNMHDR) lParam)->code) { case PSN_APPLY: - { - return TRUE; - } + return TRUE; } break; } @@ -847,9 +813,9 @@ ORDERTREEDATA OrderTreeData[]= {EXTRA_ICON_ADV2, _T("Advanced #2"), 4, TRUE, 0}, {EXTRA_ICON_WEB, _T("Homepage"), 1, TRUE, 0}, {EXTRA_ICON_CLIENT, _T("Client (fingerprint required)"), 10, TRUE, 0}, - {EXTRA_ICON_RES2, _T("Reserved #2"), 8, TRUE, 0}, - {EXTRA_ICON_ADV3, _T("Advanced #3"), 5, TRUE, 0}, - {EXTRA_ICON_ADV4, _T("Advanced #4"), 6, TRUE, 0}, + {EXTRA_ICON_RES2, _T("Reserved #2"), 8, TRUE, 0}, + {EXTRA_ICON_ADV3, _T("Advanced #3"), 5, TRUE, 0}, + {EXTRA_ICON_ADV4, _T("Advanced #4"), 6, TRUE, 0}, }; static int dragging=0; @@ -857,81 +823,66 @@ static HTREEITEM hDragItem=NULL; static int FillOrderTree(HWND hwndDlg, HWND hwndTree, BYTE *exIconOrder, unsigned dwExtraImageMask) { - int i = 0; TVINSERTSTRUCT tvis = {0}; TreeView_DeleteAllItems(hwndTree); tvis.hInsertAfter = TVI_LAST; tvis.item.mask = TVIF_PARAM | TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE; - for (i = 0; i < EXICON_COUNT; i++) { - int iIndex = (int)(exIconOrder[i] - 1); + for (int i = 0; i < EXICON_COUNT; i++) { + int iIndex = (int)(exIconOrder[i] - 1); tvis.item.lParam=(LPARAM)(&(OrderTreeData[iIndex])); tvis.item.pszText = TranslateTS(OrderTreeData[iIndex].Name); - OrderTreeData[iIndex].Visible = (dwExtraImageMask & (1 << OrderTreeData[iIndex].ID)) != 0; + OrderTreeData[iIndex].Visible = (dwExtraImageMask & (1 << OrderTreeData[iIndex].ID)) != 0; tvis.item.iImage = tvis.item.iSelectedImage = OrderTreeData[iIndex].Visible; TreeView_InsertItem(hwndTree, &tvis); } - /* - { - TVSORTCB sort={0}; - sort.hParent=NULL; - sort.lParam=0; - sort.lpfnCompare=CompareFunc; - TreeView_SortChildrenCB(Tree,&sort,0); - } - */ + return 0; } static int SaveOrderTree(HWND hwndDlg, HWND hwndTree, DISPLAYPROFILE *p) { - HTREEITEM ht; TVITEM tvi = {0}; - int iIndex = 0; - tvi.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_PARAM; - ht = TreeView_GetRoot(hwndTree); - p->dwExtraImageMask = 0; + p->dwExtraImageMask = 0; - do { - ORDERTREEDATA *it = NULL; + HTREEITEM ht = TreeView_GetRoot(hwndTree); + for (int iIndex = 0; ht != NULL; iIndex++) { tvi.hItem = ht; TreeView_GetItem(hwndTree, &tvi); - it = (ORDERTREEDATA *)(tvi.lParam); - p->exIconOrder[iIndex] = it->ID + 1; - p->dwExtraImageMask |= (it->Visible ? (1 << it->ID) : 0); + ORDERTREEDATA *it = (ORDERTREEDATA *)(tvi.lParam); + p->exIconOrder[iIndex] = it->ID + 1; + p->dwExtraImageMask |= (it->Visible ? (1 << it->ID) : 0); ht = TreeView_GetNextSibling(hwndTree, ht); - iIndex++; - } while (ht); + } + return 0; } static INT_PTR CALLBACK DlgProcXIcons(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { + DISPLAYPROFILE *p; + switch (msg) { case WM_INITDIALOG: - { - TranslateDialogDefault(hwndDlg); - SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_EXTRAORDER), GWL_STYLE, GetWindowLongPtr(GetDlgItem(hwndDlg,IDC_EXTRAORDER),GWL_STYLE)|TVS_NOHSCROLL); - { - if(himlCheckBoxes == 0) { - CreateStateImageList(); - } - TreeView_SetImageList(GetDlgItem(hwndDlg,IDC_EXTRAORDER), himlCheckBoxes, TVSIL_NORMAL); - } - return TRUE; - } + TranslateDialogDefault(hwndDlg); + SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_EXTRAORDER), GWL_STYLE, GetWindowLongPtr(GetDlgItem(hwndDlg,IDC_EXTRAORDER),GWL_STYLE)|TVS_NOHSCROLL); + + if (himlCheckBoxes == 0) + CreateStateImageList(); + + TreeView_SetImageList(GetDlgItem(hwndDlg,IDC_EXTRAORDER), himlCheckBoxes, TVSIL_NORMAL); + return TRUE; + case WM_COMMAND: if ((LOWORD(wParam) == IDC_EXICONSCALE) && (HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus())) return 0; - if(IDC_RESETXICONS == LOWORD(wParam)) - { + if (IDC_RESETXICONS == LOWORD(wParam)) { BYTE exIconOrder[EXICON_COUNT]; - for(int i = 0; i < EXICON_COUNT; i++) - { + for (int i = 0; i < EXICON_COUNT; i++) { OrderTreeData[i].Visible = TRUE; exIconOrder[i] = i + 1; } @@ -940,161 +891,147 @@ static INT_PTR CALLBACK DlgProcXIcons(HWND hwndDlg, UINT msg, WPARAM wParam, LPA SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); break; - case WM_USER + 100: - { - DISPLAYPROFILE *p = (DISPLAYPROFILE *)lParam; - if(p) { - CheckDlgButton(hwndDlg, IDC_XSTATUSASSTATUS, p->dwFlags & CLUI_FRAME_USEXSTATUSASSTATUS ? 1 : 0); - - CheckDlgButton(hwndDlg, IDC_SHOWSTATUSICONS, (p->dwFlags & CLUI_FRAME_STATUSICONS) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_SHOWVISIBILITY, (p->dwFlags & CLUI_SHOWVISI) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_SHOWMETA, (p->dwFlags & CLUI_USEMETAICONS) ? BST_CHECKED : BST_UNCHECKED); - - CheckDlgButton(hwndDlg, IDC_OVERLAYICONS, (p->dwFlags & CLUI_FRAME_OVERLAYICONS) ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_SELECTIVEICONS, (p->dwFlags & CLUI_FRAME_SELECTIVEICONS) ? BST_CHECKED : BST_UNCHECKED); - - CheckDlgButton(hwndDlg, IDC_STATUSICONSCENTERED, p->bCenterStatusIcons ? 1 : 0); - CheckDlgButton(hwndDlg, IDC_IDLE, p->bDimIdle ? BST_CHECKED : BST_UNCHECKED); - - SendDlgItemMessage(hwndDlg, IDC_EXICONSCALESPIN, UDM_SETRANGE, 0, MAKELONG(20, 8)); - SendDlgItemMessage(hwndDlg, IDC_EXICONSCALESPIN, UDM_SETPOS, 0, (LPARAM)p->exIconScale); - FillOrderTree(hwndDlg, GetDlgItem(hwndDlg, IDC_EXTRAORDER), p->exIconOrder, p->dwExtraImageMask); - } - return 0; - } - case WM_USER + 200: - { - DISPLAYPROFILE *p = (DISPLAYPROFILE *)lParam; - if(p) { - SaveOrderTree(hwndDlg, GetDlgItem(hwndDlg, IDC_EXTRAORDER), p); - - p->exIconScale = SendDlgItemMessage(hwndDlg, IDC_EXICONSCALESPIN, UDM_GETPOS, 0, 0); - p->exIconScale = (p->exIconScale < 8 || p->exIconScale > 20) ? 16 : p->exIconScale; - - p->dwFlags |= ((IsDlgButtonChecked(hwndDlg, IDC_SHOWSTATUSICONS) ? CLUI_FRAME_STATUSICONS : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_SHOWVISIBILITY) ? CLUI_SHOWVISI : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_SHOWMETA) ? CLUI_USEMETAICONS : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_OVERLAYICONS) ? CLUI_FRAME_OVERLAYICONS : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_XSTATUSASSTATUS) ? CLUI_FRAME_USEXSTATUSASSTATUS : 0) | - (IsDlgButtonChecked(hwndDlg, IDC_SELECTIVEICONS) ? CLUI_FRAME_SELECTIVEICONS : 0)); - - p->bDimIdle = IsDlgButtonChecked(hwndDlg, IDC_IDLE) ? 1 : 0; - p->bCenterStatusIcons = IsDlgButtonChecked(hwndDlg, IDC_STATUSICONSCENTERED) ? 1 : 0; - } - return 0; - } - case WM_NOTIFY: - if (((LPNMHDR) lParam)->idFrom == IDC_EXTRAORDER) { - switch (((LPNMHDR)lParam)->code) { - case TVN_BEGINDRAGA: - case TVN_BEGINDRAGW: - SetCapture(hwndDlg); - dragging=1; - hDragItem=((LPNMTREEVIEWA)lParam)->itemNew.hItem; - TreeView_SelectItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),hDragItem); - break; - case NM_CLICK: - { - TVHITTESTINFO hti; - hti.pt.x=(short)LOWORD(GetMessagePos()); - hti.pt.y=(short)HIWORD(GetMessagePos()); - ScreenToClient(((LPNMHDR)lParam)->hwndFrom,&hti.pt); - if(TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom,&hti)) - if(hti.flags&TVHT_ONITEMICON) - { - TVITEMA tvi; - tvi.mask=TVIF_HANDLE|TVIF_IMAGE|TVIF_SELECTEDIMAGE; - tvi.hItem=hti.hItem; - TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom,&tvi); - tvi.iImage=tvi.iSelectedImage=!tvi.iImage; - ((ORDERTREEDATA *)tvi.lParam)->Visible=tvi.iImage; - TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom,&tvi); - SendMessage((GetParent(hwndDlg)), PSM_CHANGED, (WPARAM)hwndDlg, 0); - } - - } - } - break; - } + case WM_USER + 100: + p = (DISPLAYPROFILE *)lParam; + if (p) { + CheckDlgButton(hwndDlg, IDC_XSTATUSASSTATUS, p->dwFlags & CLUI_FRAME_USEXSTATUSASSTATUS ? 1 : 0); + + CheckDlgButton(hwndDlg, IDC_SHOWSTATUSICONS, (p->dwFlags & CLUI_FRAME_STATUSICONS) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SHOWVISIBILITY, (p->dwFlags & CLUI_SHOWVISI) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SHOWMETA, (p->dwFlags & CLUI_USEMETAICONS) ? BST_CHECKED : BST_UNCHECKED); + + CheckDlgButton(hwndDlg, IDC_OVERLAYICONS, (p->dwFlags & CLUI_FRAME_OVERLAYICONS) ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_SELECTIVEICONS, (p->dwFlags & CLUI_FRAME_SELECTIVEICONS) ? BST_CHECKED : BST_UNCHECKED); + + CheckDlgButton(hwndDlg, IDC_STATUSICONSCENTERED, p->bCenterStatusIcons ? 1 : 0); + CheckDlgButton(hwndDlg, IDC_IDLE, p->bDimIdle ? BST_CHECKED : BST_UNCHECKED); + + SendDlgItemMessage(hwndDlg, IDC_EXICONSCALESPIN, UDM_SETRANGE, 0, MAKELONG(20, 8)); + SendDlgItemMessage(hwndDlg, IDC_EXICONSCALESPIN, UDM_SETPOS, 0, (LPARAM)p->exIconScale); + FillOrderTree(hwndDlg, GetDlgItem(hwndDlg, IDC_EXTRAORDER), p->exIconOrder, p->dwExtraImageMask); + } + return 0; + + case WM_USER + 200: + p = (DISPLAYPROFILE *)lParam; + if (p) { + SaveOrderTree(hwndDlg, GetDlgItem(hwndDlg, IDC_EXTRAORDER), p); + + p->exIconScale = SendDlgItemMessage(hwndDlg, IDC_EXICONSCALESPIN, UDM_GETPOS, 0, 0); + p->exIconScale = (p->exIconScale < 8 || p->exIconScale > 20) ? 16 : p->exIconScale; + + p->dwFlags |= ((IsDlgButtonChecked(hwndDlg, IDC_SHOWSTATUSICONS) ? CLUI_FRAME_STATUSICONS : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_SHOWVISIBILITY) ? CLUI_SHOWVISI : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_SHOWMETA) ? CLUI_USEMETAICONS : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_OVERLAYICONS) ? CLUI_FRAME_OVERLAYICONS : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_XSTATUSASSTATUS) ? CLUI_FRAME_USEXSTATUSASSTATUS : 0) | + (IsDlgButtonChecked(hwndDlg, IDC_SELECTIVEICONS) ? CLUI_FRAME_SELECTIVEICONS : 0)); + + p->bDimIdle = IsDlgButtonChecked(hwndDlg, IDC_IDLE) ? 1 : 0; + p->bCenterStatusIcons = IsDlgButtonChecked(hwndDlg, IDC_STATUSICONSCENTERED) ? 1 : 0; + } + return 0; + + case WM_NOTIFY: + if (((LPNMHDR) lParam)->idFrom == IDC_EXTRAORDER) { + switch (((LPNMHDR)lParam)->code) { + case TVN_BEGINDRAGA: + case TVN_BEGINDRAGW: + SetCapture(hwndDlg); + dragging=1; + hDragItem=((LPNMTREEVIEWA)lParam)->itemNew.hItem; + TreeView_SelectItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),hDragItem); + break; + case NM_CLICK: + { + TVHITTESTINFO hti; + hti.pt.x=(short)LOWORD(GetMessagePos()); + hti.pt.y=(short)HIWORD(GetMessagePos()); + ScreenToClient(((LPNMHDR)lParam)->hwndFrom,&hti.pt); + if (TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom,&hti)) + if (hti.flags&TVHT_ONITEMICON) + { + TVITEMA tvi; + tvi.mask=TVIF_HANDLE|TVIF_IMAGE|TVIF_SELECTEDIMAGE; + tvi.hItem=hti.hItem; + TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom,&tvi); + tvi.iImage=tvi.iSelectedImage=!tvi.iImage; + ((ORDERTREEDATA *)tvi.lParam)->Visible=tvi.iImage; + TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom,&tvi); + SendMessage((GetParent(hwndDlg)), PSM_CHANGED, (WPARAM)hwndDlg, 0); + } + } + } + break; + } switch (((LPNMHDR) lParam)->code) { case PSN_APPLY: - { - return TRUE; - } + return TRUE; } break; case WM_MOUSEMOVE: - { - if (!dragging) - break; - { - TVHITTESTINFO hti; - hti.pt.x = (short)LOWORD(lParam); - hti.pt.y = (short)HIWORD(lParam); - ClientToScreen(hwndDlg, &hti.pt); - ScreenToClient(GetDlgItem(hwndDlg, IDC_EXTRAORDER), &hti.pt); - TreeView_HitTest(GetDlgItem(hwndDlg,IDC_EXTRAORDER), &hti); - if(hti.flags&(TVHT_ONITEM|TVHT_ONITEMRIGHT)) { - HTREEITEM it = hti.hItem; - hti.pt.y -= TreeView_GetItemHeight(GetDlgItem(hwndDlg, IDC_EXTRAORDER)) / 2; - TreeView_HitTest(GetDlgItem(hwndDlg, IDC_EXTRAORDER), &hti); - //TreeView_SetInsertMark(GetDlgItem(hwndDlg,IDC_EXTRAORDER),hti.hItem,1); - if (!(hti.flags & TVHT_ABOVE)) - TreeView_SetInsertMark(GetDlgItem(hwndDlg, IDC_EXTRAORDER), hti.hItem, 1); - else - TreeView_SetInsertMark(GetDlgItem(hwndDlg, IDC_EXTRAORDER), it, 0); - } - else { - if(hti.flags & TVHT_ABOVE) SendDlgItemMessage(hwndDlg,IDC_EXTRAORDER, WM_VSCROLL, MAKEWPARAM(SB_LINEUP, 0), 0); - if(hti.flags & TVHT_BELOW) SendDlgItemMessage(hwndDlg, IDC_EXTRAORDER, WM_VSCROLL, MAKEWPARAM(SB_LINEDOWN, 0), 0); - TreeView_SetInsertMark(GetDlgItem(hwndDlg, IDC_EXTRAORDER), NULL, 0); - } + if (dragging) { + TVHITTESTINFO hti; + hti.pt.x = (short)LOWORD(lParam); + hti.pt.y = (short)HIWORD(lParam); + ClientToScreen(hwndDlg, &hti.pt); + ScreenToClient(GetDlgItem(hwndDlg, IDC_EXTRAORDER), &hti.pt); + TreeView_HitTest(GetDlgItem(hwndDlg,IDC_EXTRAORDER), &hti); + if (hti.flags&(TVHT_ONITEM|TVHT_ONITEMRIGHT)) { + HTREEITEM it = hti.hItem; + hti.pt.y -= TreeView_GetItemHeight(GetDlgItem(hwndDlg, IDC_EXTRAORDER)) / 2; + TreeView_HitTest(GetDlgItem(hwndDlg, IDC_EXTRAORDER), &hti); + //TreeView_SetInsertMark(GetDlgItem(hwndDlg,IDC_EXTRAORDER),hti.hItem,1); + if (!(hti.flags & TVHT_ABOVE)) + TreeView_SetInsertMark(GetDlgItem(hwndDlg, IDC_EXTRAORDER), hti.hItem, 1); + else + TreeView_SetInsertMark(GetDlgItem(hwndDlg, IDC_EXTRAORDER), it, 0); + } + else { + if (hti.flags & TVHT_ABOVE) SendDlgItemMessage(hwndDlg,IDC_EXTRAORDER, WM_VSCROLL, MAKEWPARAM(SB_LINEUP, 0), 0); + if (hti.flags & TVHT_BELOW) SendDlgItemMessage(hwndDlg, IDC_EXTRAORDER, WM_VSCROLL, MAKEWPARAM(SB_LINEDOWN, 0), 0); + TreeView_SetInsertMark(GetDlgItem(hwndDlg, IDC_EXTRAORDER), NULL, 0); } } break; + case WM_LBUTTONUP: - { - if (!dragging) break; + if (dragging) { TreeView_SetInsertMark(GetDlgItem(hwndDlg,IDC_EXTRAORDER),NULL,0); dragging=0; ReleaseCapture(); - { - TVHITTESTINFO hti; - TVITEM tvi; - hti.pt.x=(short)LOWORD(lParam); - hti.pt.y=(short)HIWORD(lParam); - ClientToScreen(hwndDlg,&hti.pt); - ScreenToClient(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&hti.pt); - hti.pt.y-=TreeView_GetItemHeight(GetDlgItem(hwndDlg,IDC_EXTRAORDER))/2; - TreeView_HitTest(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&hti); - if(hDragItem==hti.hItem) break; - if (hti.flags&TVHT_ABOVE) hti.hItem=TVI_FIRST; - tvi.mask=TVIF_HANDLE|TVIF_PARAM; - tvi.hItem=hDragItem; - TreeView_GetItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&tvi); - if(hti.flags&(TVHT_ONITEM|TVHT_ONITEMRIGHT)||(hti.hItem==TVI_FIRST)) - { - TVINSERTSTRUCT tvis; - 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.hItem=hDragItem; - tvis.item.iImage=tvis.item.iSelectedImage=((ORDERTREEDATA *)tvi.lParam)->Visible; - TreeView_GetItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&tvis.item); - TreeView_DeleteItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),hDragItem); - tvis.hParent=NULL; - tvis.hInsertAfter=hti.hItem; - TreeView_SelectItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),TreeView_InsertItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&tvis)); - SendMessage((GetParent(hwndDlg)), PSM_CHANGED, (WPARAM)hwndDlg, 0); - } + + TVHITTESTINFO hti; + TVITEM tvi; + hti.pt.x=(short)LOWORD(lParam); + hti.pt.y=(short)HIWORD(lParam); + ClientToScreen(hwndDlg,&hti.pt); + ScreenToClient(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&hti.pt); + hti.pt.y-=TreeView_GetItemHeight(GetDlgItem(hwndDlg,IDC_EXTRAORDER))/2; + TreeView_HitTest(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&hti); + if (hDragItem==hti.hItem) break; + if (hti.flags&TVHT_ABOVE) hti.hItem=TVI_FIRST; + tvi.mask=TVIF_HANDLE|TVIF_PARAM; + tvi.hItem=hDragItem; + TreeView_GetItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&tvi); + if (hti.flags&(TVHT_ONITEM|TVHT_ONITEMRIGHT)||(hti.hItem==TVI_FIRST)) { + TVINSERTSTRUCT tvis; + 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.hItem=hDragItem; + tvis.item.iImage=tvis.item.iSelectedImage=((ORDERTREEDATA *)tvi.lParam)->Visible; + TreeView_GetItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&tvis.item); + TreeView_DeleteItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),hDragItem); + tvis.hParent=NULL; + tvis.hInsertAfter=hti.hItem; + TreeView_SelectItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),TreeView_InsertItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&tvis)); + SendMessage((GetParent(hwndDlg)), PSM_CHANGED, (WPARAM)hwndDlg, 0); } } - case WM_DESTROY: { - break; - } break; } return FALSE; @@ -1105,607 +1042,583 @@ static DISPLAYPROFILE dsp_current; static INT_PTR CALLBACK DlgProcDspProfiles(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { - static int iInit = TRUE; - static HWND hwndTab; - static int iTabCount; - - switch(msg) - { - case WM_INITDIALOG: - { - TCITEM tci; - RECT rcClient; - int oPage = cfg::getByte("CLUI", "opage_d", 0); - HWND hwndAdd; - DISPLAYPROFILE dsp_default; - - TranslateDialogDefault(hwnd); - hwndList = GetDlgItem(hwnd, IDC_PROFILELIST); - - hwndAdd = GetDlgItem(hwnd, IDC_DSP_ADD); - SendMessage(hwndAdd, BUTTONSETASFLATBTN, 0, 1); - SendMessage(hwndAdd, BUTTONSETASFLATBTN + 10, 0, 1); - SendMessage(hwndAdd, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ADDCONTACT), IMAGE_ICON, 16, 16, LR_SHARED)); - SetWindowText(hwndAdd, TranslateT("Add New...")); - - hwndAdd = GetDlgItem(hwnd, IDC_DSP_DELETE); - SendMessage(hwndAdd, BUTTONSETASFLATBTN, 0, 1); - SendMessage(hwndAdd, BUTTONSETASFLATBTN + 10, 0, 1); - SendMessage(hwndAdd, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_DELETE), IMAGE_ICON, 16, 16, LR_SHARED)); - SetWindowText(hwndAdd, TranslateT("Delete")); - - hwndAdd = GetDlgItem(hwnd, IDC_DSP_RENAME); - SendMessage(hwndAdd, BUTTONSETASFLATBTN, 0, 1); - SendMessage(hwndAdd, BUTTONSETASFLATBTN + 10, 0, 1); - SendMessage(hwndAdd, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_RENAME), IMAGE_ICON, 16, 16, LR_SHARED)); - SetWindowText(hwndAdd, TranslateT("Rename...")); - - hwndAdd = GetDlgItem(hwnd, IDC_DSP_APPLY); - SendMessage(hwndAdd, BUTTONSETASFLATBTN, 0, 1); - SendMessage(hwndAdd, BUTTONSETASFLATBTN + 10, 0, 1); - SendMessage(hwndAdd, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_OPTIONS), IMAGE_ICON, 16, 16, LR_SHARED)); - SetWindowText(hwndAdd, TranslateT("Apply this profile")); - - GetClientRect(hwnd, &rcClient); - hwndTab = GetDlgItem(hwnd, IDC_OPTIONSTAB); - iInit = TRUE; - tci.mask = TCIF_PARAM|TCIF_TEXT; - - tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_DSPITEMS), hwnd, DlgProcDspItems); - tci.pszText = TranslateT("Contacts"); - TabCtrl_InsertItem(hwndTab, 0, &tci); - MoveWindow((HWND)tci.lParam,64,25,rcClient.right-128,rcClient.bottom-67,1); - ShowWindow((HWND)tci.lParam, oPage == 0 ? SW_SHOW : SW_HIDE); - if(IS_THEMED) - API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); - - tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_DSPGROUPS), hwnd, DlgProcDspGroups); - tci.pszText = TranslateT("Groups and layout"); - TabCtrl_InsertItem(hwndTab, 1, &tci); - MoveWindow((HWND)tci.lParam,64,25,rcClient.right-128,rcClient.bottom-67,1); - ShowWindow((HWND)tci.lParam, oPage == 1 ? SW_SHOW : SW_HIDE); - if(IS_THEMED) - API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); - - tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_XICONS), hwnd, DlgProcXIcons); - tci.pszText = TranslateT("Icons"); - TabCtrl_InsertItem(hwndTab, 2, &tci); - MoveWindow((HWND)tci.lParam,64,25,rcClient.right-128,rcClient.bottom-67,1); - ShowWindow((HWND)tci.lParam, oPage == 2 ? SW_SHOW : SW_HIDE); - if(IS_THEMED) - API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); - - tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_DSPADVANCED), hwnd, DlgProcDspAdvanced); - tci.pszText = TranslateT("Advanced"); - TabCtrl_InsertItem(hwndTab, 3, &tci); - MoveWindow((HWND)tci.lParam,64,25,rcClient.right-128,rcClient.bottom-67,1); - ShowWindow((HWND)tci.lParam, oPage == 3 ? SW_SHOW : SW_HIDE); - if(IS_THEMED) - API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); - - TabCtrl_SetCurSel(GetDlgItem(hwnd, IDC_OPTIONSTAB), oPage); - - DSP_LoadFromDefaults(&dsp_default); - CopyMemory(&dsp_current, &dsp_default, sizeof(DISPLAYPROFILE)); - - iTabCount = TabCtrl_GetItemCount(hwndTab); - - SendMessage(hwnd, WM_USER + 100, 0, (LPARAM)&dsp_default); - SendMessage(hwndList, LB_INSERTSTRING, 0, (LPARAM)TranslateT("")); - - hwndList = GetDlgItem(hwnd, IDC_CLASSLIST); - SendMessage(hwndList, LB_INSERTSTRING, 0, (LPARAM)TranslateT("Default")); - SendMessage(hwndList, LB_INSERTSTRING, 1, (LPARAM)TranslateT("Offline contact")); - SendMessage(hwndList, LB_INSERTSTRING, 2, (LPARAM)TranslateT("Selected contact")); - SendMessage(hwndList, LB_INSERTSTRING, 3, (LPARAM)TranslateT("Hottracked contact")); - - iInit = FALSE; - return FALSE; - } - - /* - * distribute a WM_USER message to all child windows so they can update their pages from the - * display profile structure - * LPARAM = DISPLAYPROFILE * - */ - - case WM_USER + 100: - { - DISPLAYPROFILE *p = (DISPLAYPROFILE *)lParam; - - if(p) { - int i; - TCITEM item = {0}; - item.mask = TCIF_PARAM; - - for(i = 0; i < iTabCount; i++) { - TabCtrl_GetItem(hwndTab, i, &item); - if(item.lParam && IsWindow((HWND)item.lParam)) - SendMessage((HWND)item.lParam, WM_USER + 100, 0, (LPARAM)p); - } - } - return 0; - } - - /* - * collect the settings from the pages into a DISPLAYPROFILE struct - */ - case WM_USER + 200: - { - DISPLAYPROFILE *p = (DISPLAYPROFILE *)lParam; - int i; - TCITEM item = {0}; - item.mask = TCIF_PARAM; - - for(i = 0; i < iTabCount; i++) { - TabCtrl_GetItem(hwndTab, i, &item); - if(item.lParam && IsWindow((HWND)item.lParam)) - SendMessage((HWND)item.lParam, WM_USER + 200, 0, (LPARAM)p); - } - return 0; - } - - case PSM_CHANGED: // used so tabs dont have to call SendMessage(GetParent(GetParent(hwnd)), PSM_CHANGED, 0, 0); - if (!iInit) - SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); - break; - case WM_NOTIFY: - switch(((LPNMHDR)lParam)->idFrom) { - case 0: - switch (((LPNMHDR)lParam)->code) - { - case PSN_APPLY: - { - DISPLAYPROFILE p; - - ZeroMemory(&p, sizeof(DISPLAYPROFILE)); - SendMessage(hwnd, WM_USER + 200, 0, (LPARAM)&p); - DSP_Apply(&p); - } - break; - } - break; - case IDC_OPTIONSTAB: - switch (((LPNMHDR)lParam)->code) - { - case TCN_SELCHANGING: - { - TCITEM tci; - tci.mask = TCIF_PARAM; - TabCtrl_GetItem(GetDlgItem(hwnd,IDC_OPTIONSTAB),TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_OPTIONSTAB)),&tci); - ShowWindow((HWND)tci.lParam,SW_HIDE); - } - break; - case TCN_SELCHANGE: - { - TCITEM tci; - tci.mask = TCIF_PARAM; - TabCtrl_GetItem(GetDlgItem(hwnd,IDC_OPTIONSTAB),TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_OPTIONSTAB)),&tci); - ShowWindow((HWND)tci.lParam,SW_SHOW); - cfg::writeByte("CLUI", "opage_d", (BYTE)TabCtrl_GetCurSel(GetDlgItem(hwnd, IDC_OPTIONSTAB))); - } - break; - } - break; - - } - break; - } - return FALSE; + static int iInit = TRUE; + static HWND hwndTab; + static int iTabCount; + + DISPLAYPROFILE *p; + TCITEM tci; + + switch(msg) { + case WM_INITDIALOG: + TranslateDialogDefault(hwnd); + { + hwndList = GetDlgItem(hwnd, IDC_PROFILELIST); + + HWND hwndAdd = GetDlgItem(hwnd, IDC_DSP_ADD); + SendMessage(hwndAdd, BUTTONSETASFLATBTN, 0, 1); + SendMessage(hwndAdd, BUTTONSETASFLATBTN + 10, 0, 1); + SendMessage(hwndAdd, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ADDCONTACT), IMAGE_ICON, 16, 16, LR_SHARED)); + SetWindowText(hwndAdd, TranslateT("Add New...")); + + hwndAdd = GetDlgItem(hwnd, IDC_DSP_DELETE); + SendMessage(hwndAdd, BUTTONSETASFLATBTN, 0, 1); + SendMessage(hwndAdd, BUTTONSETASFLATBTN + 10, 0, 1); + SendMessage(hwndAdd, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_DELETE), IMAGE_ICON, 16, 16, LR_SHARED)); + SetWindowText(hwndAdd, TranslateT("Delete")); + + hwndAdd = GetDlgItem(hwnd, IDC_DSP_RENAME); + SendMessage(hwndAdd, BUTTONSETASFLATBTN, 0, 1); + SendMessage(hwndAdd, BUTTONSETASFLATBTN + 10, 0, 1); + SendMessage(hwndAdd, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_RENAME), IMAGE_ICON, 16, 16, LR_SHARED)); + SetWindowText(hwndAdd, TranslateT("Rename...")); + + hwndAdd = GetDlgItem(hwnd, IDC_DSP_APPLY); + SendMessage(hwndAdd, BUTTONSETASFLATBTN, 0, 1); + SendMessage(hwndAdd, BUTTONSETASFLATBTN + 10, 0, 1); + SendMessage(hwndAdd, BM_SETIMAGE, IMAGE_ICON, (LPARAM)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_OPTIONS), IMAGE_ICON, 16, 16, LR_SHARED)); + SetWindowText(hwndAdd, TranslateT("Apply this profile")); + + RECT rcClient; + GetClientRect(hwnd, &rcClient); + + hwndTab = GetDlgItem(hwnd, IDC_OPTIONSTAB); + iInit = TRUE; + + TCITEM tci; + tci.mask = TCIF_PARAM|TCIF_TEXT; + tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_DSPITEMS), hwnd, DlgProcDspItems); + tci.pszText = TranslateT("Contacts"); + TabCtrl_InsertItem(hwndTab, 0, &tci); + + int oPage = cfg::getByte("CLUI", "opage_d", 0); + MoveWindow((HWND)tci.lParam,64,25,rcClient.right-128,rcClient.bottom-67,1); + ShowWindow((HWND)tci.lParam, oPage == 0 ? SW_SHOW : SW_HIDE); + if (IS_THEMED) + API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); + + tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_DSPGROUPS), hwnd, DlgProcDspGroups); + tci.pszText = TranslateT("Groups and layout"); + TabCtrl_InsertItem(hwndTab, 1, &tci); + MoveWindow((HWND)tci.lParam,64,25,rcClient.right-128,rcClient.bottom-67,1); + ShowWindow((HWND)tci.lParam, oPage == 1 ? SW_SHOW : SW_HIDE); + if (IS_THEMED) + API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); + + tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_XICONS), hwnd, DlgProcXIcons); + tci.pszText = TranslateT("Icons"); + TabCtrl_InsertItem(hwndTab, 2, &tci); + MoveWindow((HWND)tci.lParam,64,25,rcClient.right-128,rcClient.bottom-67,1); + ShowWindow((HWND)tci.lParam, oPage == 2 ? SW_SHOW : SW_HIDE); + if (IS_THEMED) + API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); + + tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_DSPADVANCED), hwnd, DlgProcDspAdvanced); + tci.pszText = TranslateT("Advanced"); + TabCtrl_InsertItem(hwndTab, 3, &tci); + MoveWindow((HWND)tci.lParam,64,25,rcClient.right-128,rcClient.bottom-67,1); + ShowWindow((HWND)tci.lParam, oPage == 3 ? SW_SHOW : SW_HIDE); + if (IS_THEMED) + API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); + + TabCtrl_SetCurSel(GetDlgItem(hwnd, IDC_OPTIONSTAB), oPage); + + DISPLAYPROFILE dsp_default; + DSP_LoadFromDefaults(&dsp_default); + CopyMemory(&dsp_current, &dsp_default, sizeof(DISPLAYPROFILE)); + + iTabCount = TabCtrl_GetItemCount(hwndTab); + + SendMessage(hwnd, WM_USER + 100, 0, (LPARAM)&dsp_default); + SendMessage(hwndList, LB_INSERTSTRING, 0, (LPARAM)TranslateT("")); + + hwndList = GetDlgItem(hwnd, IDC_CLASSLIST); + SendMessage(hwndList, LB_INSERTSTRING, 0, (LPARAM)TranslateT("Default")); + SendMessage(hwndList, LB_INSERTSTRING, 1, (LPARAM)TranslateT("Offline contact")); + SendMessage(hwndList, LB_INSERTSTRING, 2, (LPARAM)TranslateT("Selected contact")); + SendMessage(hwndList, LB_INSERTSTRING, 3, (LPARAM)TranslateT("Hottracked contact")); + + iInit = FALSE; + return FALSE; + } + + /* + * distribute a WM_USER message to all child windows so they can update their pages from the + * display profile structure + * LPARAM = DISPLAYPROFILE * + */ + + case WM_USER + 100: + p = (DISPLAYPROFILE *)lParam; + if (p) { + int i; + TCITEM item = {0}; + item.mask = TCIF_PARAM; + + for (i = 0; i < iTabCount; i++) { + TabCtrl_GetItem(hwndTab, i, &item); + if (item.lParam && IsWindow((HWND)item.lParam)) + SendMessage((HWND)item.lParam, WM_USER + 100, 0, (LPARAM)p); + } + } + return 0; + + /* + * collect the settings from the pages into a DISPLAYPROFILE struct + */ + case WM_USER + 200: + p = (DISPLAYPROFILE *)lParam; + if (p) { + TCITEM item = {0}; + item.mask = TCIF_PARAM; + + for (int i = 0; i < iTabCount; i++) { + TabCtrl_GetItem(hwndTab, i, &item); + if (item.lParam && IsWindow((HWND)item.lParam)) + SendMessage((HWND)item.lParam, WM_USER + 200, 0, (LPARAM)p); + } + return 0; + } + + case PSM_CHANGED: // used so tabs dont have to call SendMessage(GetParent(GetParent(hwnd)), PSM_CHANGED, 0, 0); + if (!iInit) + SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); + break; + + case WM_NOTIFY: + switch(((LPNMHDR)lParam)->idFrom) { + case 0: + switch (((LPNMHDR)lParam)->code) { + case PSN_APPLY: + { + DISPLAYPROFILE p; + ZeroMemory(&p, sizeof(DISPLAYPROFILE)); + SendMessage(hwnd, WM_USER + 200, 0, (LPARAM)&p); + DSP_Apply(&p); + } + break; + } + break; + + case IDC_OPTIONSTAB: + switch (((LPNMHDR)lParam)->code) { + case TCN_SELCHANGING: + tci.mask = TCIF_PARAM; + TabCtrl_GetItem(GetDlgItem(hwnd,IDC_OPTIONSTAB),TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_OPTIONSTAB)),&tci); + ShowWindow((HWND)tci.lParam,SW_HIDE); + break; + + case TCN_SELCHANGE: + tci.mask = TCIF_PARAM; + TabCtrl_GetItem(GetDlgItem(hwnd,IDC_OPTIONSTAB),TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_OPTIONSTAB)),&tci); + ShowWindow((HWND)tci.lParam,SW_SHOW); + cfg::writeByte("CLUI", "opage_d", (BYTE)TabCtrl_GetCurSel(GetDlgItem(hwnd, IDC_OPTIONSTAB))); + break; + } + break; + } + break; + } + return FALSE; } static INT_PTR CALLBACK TabOptionsDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { - static int iInit = TRUE; - - switch(msg) - { - case WM_INITDIALOG: - { - TCITEM tci; - RECT rcClient; - int oPage = cfg::getByte("CLUI", "opage_m", 0); - - GetClientRect(hwnd, &rcClient); - iInit = TRUE; - tci.mask = TCIF_PARAM|TCIF_TEXT; - tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_CLIST), hwnd, DlgProcGenOpts); - tci.pszText = TranslateT("General"); - TabCtrl_InsertItem(GetDlgItem(hwnd, IDC_OPTIONSTAB), 0, &tci); - MoveWindow((HWND)tci.lParam,5,25,rcClient.right-9,rcClient.bottom-30,1); - ShowWindow((HWND)tci.lParam, oPage == 0 ? SW_SHOW : SW_HIDE); - if(IS_THEMED) - API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); - - tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_CLC), hwnd, DlgProcClcMainOpts); - tci.pszText = TranslateT("List layout"); - TabCtrl_InsertItem(GetDlgItem(hwnd, IDC_OPTIONSTAB), 1, &tci); - MoveWindow((HWND)tci.lParam,5,25,rcClient.right-9,rcClient.bottom-30,1); - ShowWindow((HWND)tci.lParam, oPage == 1 ? SW_SHOW : SW_HIDE); - if(IS_THEMED) - API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); - - tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_CLUI), hwnd, DlgProcCluiOpts); - tci.pszText = TranslateT("Window"); - TabCtrl_InsertItem(GetDlgItem(hwnd, IDC_OPTIONSTAB), 2, &tci); - MoveWindow((HWND)tci.lParam,5,25,rcClient.right-9,rcClient.bottom-30,1); - ShowWindow((HWND)tci.lParam, oPage == 2 ? SW_SHOW : SW_HIDE); - if(IS_THEMED) - API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); - - tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_CLCBKG), hwnd, DlgProcClcBkgOpts); - tci.pszText = TranslateT("Background"); - TabCtrl_InsertItem(GetDlgItem(hwnd, IDC_OPTIONSTAB), 3, &tci); - MoveWindow((HWND)tci.lParam,5,25,rcClient.right-9,rcClient.bottom-30,1); - ShowWindow((HWND)tci.lParam, oPage == 3 ? SW_SHOW : SW_HIDE); - if(IS_THEMED) - API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); - - tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_SBAR), hwnd, DlgProcSBarOpts); - tci.pszText = TranslateT("Status Bar"); - TabCtrl_InsertItem(GetDlgItem(hwnd, IDC_OPTIONSTAB), 4, &tci); - MoveWindow((HWND)tci.lParam,5,25,rcClient.right-9,rcClient.bottom-30,1); - ShowWindow((HWND)tci.lParam, oPage == 4 ? SW_SHOW : SW_HIDE); - if(IS_THEMED) - API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); - - TabCtrl_SetCurSel(GetDlgItem(hwnd, IDC_OPTIONSTAB), oPage); - iInit = FALSE; - return FALSE; - } - - case PSM_CHANGED: // used so tabs dont have to call SendMessage(GetParent(GetParent(hwnd)), PSM_CHANGED, 0, 0); - if (!iInit) - SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); - break; - case WM_NOTIFY: - switch(((LPNMHDR)lParam)->idFrom) { - case 0: - switch (((LPNMHDR)lParam)->code) - { - case PSN_APPLY: - { - TCITEM tci; - int i,count; - tci.mask = TCIF_PARAM; - count = TabCtrl_GetItemCount(GetDlgItem(hwnd,IDC_OPTIONSTAB)); - for (i=0;icode) - { - case TCN_SELCHANGING: - { - TCITEM tci; - tci.mask = TCIF_PARAM; - TabCtrl_GetItem(GetDlgItem(hwnd,IDC_OPTIONSTAB),TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_OPTIONSTAB)),&tci); - ShowWindow((HWND)tci.lParam,SW_HIDE); - } - break; - case TCN_SELCHANGE: - { - TCITEM tci; - tci.mask = TCIF_PARAM; - TabCtrl_GetItem(GetDlgItem(hwnd,IDC_OPTIONSTAB),TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_OPTIONSTAB)),&tci); - ShowWindow((HWND)tci.lParam,SW_SHOW); - cfg::writeByte("CLUI", "opage_m", (BYTE)TabCtrl_GetCurSel(GetDlgItem(hwnd, IDC_OPTIONSTAB))); - } - break; - } - break; - - } - break; - } - return FALSE; + TCITEM tci; + static int iInit = TRUE; + + switch(msg) { + case WM_INITDIALOG: + { + RECT rcClient; + int oPage = cfg::getByte("CLUI", "opage_m", 0); + + GetClientRect(hwnd, &rcClient); + iInit = TRUE; + tci.mask = TCIF_PARAM|TCIF_TEXT; + tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_CLIST), hwnd, DlgProcGenOpts); + tci.pszText = TranslateT("General"); + TabCtrl_InsertItem(GetDlgItem(hwnd, IDC_OPTIONSTAB), 0, &tci); + MoveWindow((HWND)tci.lParam,5,25,rcClient.right-9,rcClient.bottom-30,1); + ShowWindow((HWND)tci.lParam, oPage == 0 ? SW_SHOW : SW_HIDE); + if (IS_THEMED) + API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); + + tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_CLC), hwnd, DlgProcClcMainOpts); + tci.pszText = TranslateT("List layout"); + TabCtrl_InsertItem(GetDlgItem(hwnd, IDC_OPTIONSTAB), 1, &tci); + MoveWindow((HWND)tci.lParam,5,25,rcClient.right-9,rcClient.bottom-30,1); + ShowWindow((HWND)tci.lParam, oPage == 1 ? SW_SHOW : SW_HIDE); + if (IS_THEMED) + API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); + + tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_CLUI), hwnd, DlgProcCluiOpts); + tci.pszText = TranslateT("Window"); + TabCtrl_InsertItem(GetDlgItem(hwnd, IDC_OPTIONSTAB), 2, &tci); + MoveWindow((HWND)tci.lParam,5,25,rcClient.right-9,rcClient.bottom-30,1); + ShowWindow((HWND)tci.lParam, oPage == 2 ? SW_SHOW : SW_HIDE); + if (IS_THEMED) + API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); + + tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_CLCBKG), hwnd, DlgProcClcBkgOpts); + tci.pszText = TranslateT("Background"); + TabCtrl_InsertItem(GetDlgItem(hwnd, IDC_OPTIONSTAB), 3, &tci); + MoveWindow((HWND)tci.lParam,5,25,rcClient.right-9,rcClient.bottom-30,1); + ShowWindow((HWND)tci.lParam, oPage == 3 ? SW_SHOW : SW_HIDE); + if (IS_THEMED) + API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); + + tci.lParam = (LPARAM)CreateDialog(g_hInst,MAKEINTRESOURCE(IDD_OPT_SBAR), hwnd, DlgProcSBarOpts); + tci.pszText = TranslateT("Status Bar"); + TabCtrl_InsertItem(GetDlgItem(hwnd, IDC_OPTIONSTAB), 4, &tci); + MoveWindow((HWND)tci.lParam,5,25,rcClient.right-9,rcClient.bottom-30,1); + ShowWindow((HWND)tci.lParam, oPage == 4 ? SW_SHOW : SW_HIDE); + if (IS_THEMED) + API::pfnEnableThemeDialogTexture((HWND)tci.lParam, ETDT_ENABLETAB); + + TabCtrl_SetCurSel(GetDlgItem(hwnd, IDC_OPTIONSTAB), oPage); + iInit = FALSE; + } + return FALSE; + + case PSM_CHANGED: // used so tabs dont have to call SendMessage(GetParent(GetParent(hwnd)), PSM_CHANGED, 0, 0); + if (!iInit) + SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); + break; + + case WM_NOTIFY: + switch(((LPNMHDR)lParam)->idFrom) { + case 0: + switch (((LPNMHDR)lParam)->code) { + case PSN_APPLY: + tci.mask = TCIF_PARAM; + int count = TabCtrl_GetItemCount(GetDlgItem(hwnd,IDC_OPTIONSTAB)); + for (int i=0; i < count; i++) { + TabCtrl_GetItem(GetDlgItem(hwnd,IDC_OPTIONSTAB),i,&tci); + SendMessage((HWND)tci.lParam,WM_NOTIFY,0,lParam); + } + break; + } + break; + + case IDC_OPTIONSTAB: + switch (((LPNMHDR)lParam)->code) { + case TCN_SELCHANGING: + tci.mask = TCIF_PARAM; + TabCtrl_GetItem(GetDlgItem(hwnd,IDC_OPTIONSTAB),TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_OPTIONSTAB)),&tci); + ShowWindow((HWND)tci.lParam,SW_HIDE); + break; + + case TCN_SELCHANGE: + tci.mask = TCIF_PARAM; + TabCtrl_GetItem(GetDlgItem(hwnd,IDC_OPTIONSTAB),TabCtrl_GetCurSel(GetDlgItem(hwnd,IDC_OPTIONSTAB)),&tci); + ShowWindow((HWND)tci.lParam,SW_SHOW); + cfg::writeByte("CLUI", "opage_m", (BYTE)TabCtrl_GetCurSel(GetDlgItem(hwnd, IDC_OPTIONSTAB))); + break; + } + break; + } + break; + } + return FALSE; } int ClcOptInit(WPARAM wParam, LPARAM lParam) { - OPTIONSDIALOGPAGE odp; - - ZeroMemory(&odp, sizeof(odp)); - odp.cbSize = sizeof(odp); - odp.position = 0; - odp.hInstance = g_hInst; - odp.pszGroup = LPGEN("Contact List"); - - odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_DSPPROFILES); - odp.pszTitle = LPGEN("Contact rows"); - odp.pfnDlgProc = DlgProcDspProfiles; - odp.flags = ODPF_BOLDGROUPS | ODPF_EXPERTONLY; - Options_AddPage(wParam, &odp); - - odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_FLOATING); - odp.pszTitle = LPGEN("Floating contacts"); - odp.pfnDlgProc = DlgProcFloatingContacts; - odp.flags = ODPF_BOLDGROUPS | ODPF_EXPERTONLY; - Options_AddPage(wParam, &odp); - - odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT); - odp.pszGroup = LPGEN("Skins"); - odp.pszTitle = LPGEN("Contact list"); - odp.flags = ODPF_BOLDGROUPS; - odp.pfnDlgProc = OptionsDlgProc; - Options_AddPage(wParam, &odp); - - odp.position = -1000000000; - odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPTIONSDIALOG); - odp.pszGroup = NULL; - odp.pszTitle = LPGEN("Contact List"); - odp.pfnDlgProc = TabOptionsDlgProc; - odp.flags = ODPF_BOLDGROUPS; - odp.nIDBottomSimpleControl = 0; - Options_AddPage(wParam, &odp); - return 0; + OPTIONSDIALOGPAGE odp = { 0 }; + + ZeroMemory(&odp, sizeof(odp)); + odp.cbSize = sizeof(odp); + odp.position = 0; + odp.hInstance = g_hInst; + odp.pszGroup = LPGEN("Contact List"); + + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_DSPPROFILES); + odp.pszTitle = LPGEN("Contact rows"); + odp.pfnDlgProc = DlgProcDspProfiles; + odp.flags = ODPF_BOLDGROUPS | ODPF_EXPERTONLY; + Options_AddPage(wParam, &odp); + + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_FLOATING); + odp.pszTitle = LPGEN("Floating contacts"); + odp.pfnDlgProc = DlgProcFloatingContacts; + odp.flags = ODPF_BOLDGROUPS | ODPF_EXPERTONLY; + Options_AddPage(wParam, &odp); + + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT); + odp.pszGroup = LPGEN("Skins"); + odp.pszTitle = LPGEN("Contact list"); + odp.flags = ODPF_BOLDGROUPS; + odp.pfnDlgProc = OptionsDlgProc; + Options_AddPage(wParam, &odp); + + odp.position = -1000000000; + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPTIONSDIALOG); + odp.pszGroup = NULL; + odp.pszTitle = LPGEN("Contact List"); + odp.pfnDlgProc = TabOptionsDlgProc; + odp.flags = ODPF_BOLDGROUPS; + odp.nIDBottomSimpleControl = 0; + Options_AddPage(wParam, &odp); + return 0; } static int opt_clc_main_changed = 0; static INT_PTR CALLBACK DlgProcClcMainOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { - switch (msg) { - case WM_INITDIALOG: - TranslateDialogDefault(hwndDlg); - opt_clc_main_changed = 0; - SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_GREYOUTOPTS), GWL_STYLE, GetWindowLongPtr(GetDlgItem(hwndDlg, IDC_GREYOUTOPTS), GWL_STYLE) | TVS_NOHSCROLL | TVS_CHECKBOXES); - - { - int i; - DWORD exStyle = cfg::getDword("CLC", "ExStyle", pcli->pfnGetDefaultExStyle()); - UDACCEL accel[2] = { - {0,10}, {2,50} - }; - SendDlgItemMessage(hwndDlg, IDC_SMOOTHTIMESPIN, UDM_SETRANGE, 0, MAKELONG(999, 0)); - SendDlgItemMessage(hwndDlg, IDC_SMOOTHTIMESPIN, UDM_SETACCEL, sizeof(accel) / sizeof(accel[0]), (LPARAM) &accel); - SendDlgItemMessage(hwndDlg, IDC_SMOOTHTIMESPIN, UDM_SETPOS, 0, MAKELONG(cfg::getWord("CLC", "ScrollTime", CLCDEFAULT_SCROLLTIME), 0)); - - for (i = 0; i < sizeof(checkBoxToStyleEx) / sizeof(checkBoxToStyleEx[0]); i++) - CheckDlgButton(hwndDlg, checkBoxToStyleEx[i].id, (exStyle & checkBoxToStyleEx[i].flag) ^ (checkBoxToStyleEx[i].flag * checkBoxToStyleEx[i].not_t) ? BST_CHECKED : BST_UNCHECKED); - } - CheckDlgButton(hwndDlg, IDC_FULLROWSELECT, (cfg::dat.dwFlags & CLUI_FULLROWSELECT) ? BST_CHECKED : BST_UNCHECKED); - - CheckDlgButton(hwndDlg, IDC_DBLCLKAVATARS, cfg::dat.bDblClkAvatars); - CheckDlgButton(hwndDlg, IDC_GREYOUT, cfg::getDword("CLC", "GreyoutFlags", CLCDEFAULT_GREYOUTFLAGS) ? BST_CHECKED : BST_UNCHECKED); - Utils::enableDlgControl(hwndDlg, IDC_SMOOTHTIME, IsDlgButtonChecked(hwndDlg, IDC_NOTNOSMOOTHSCROLLING)); - Utils::enableDlgControl(hwndDlg, IDC_GREYOUTOPTS, IsDlgButtonChecked(hwndDlg, IDC_GREYOUT)); - FillCheckBoxTree(GetDlgItem(hwndDlg, IDC_GREYOUTOPTS), greyoutValues, sizeof(greyoutValues) / sizeof(greyoutValues[0]), cfg::getDword("CLC", "FullGreyoutFlags", CLCDEFAULT_FULLGREYOUTFLAGS)); - CheckDlgButton(hwndDlg, IDC_NOSCROLLBAR, cfg::getByte("CLC", "NoVScrollBar", 0) ? BST_CHECKED : BST_UNCHECKED); - - return TRUE; - case WM_VSCROLL: - opt_clc_main_changed = 1; - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - case WM_COMMAND: - if (LOWORD(wParam) == IDC_NOTNOSMOOTHSCROLLING) - Utils::enableDlgControl(hwndDlg, IDC_SMOOTHTIME, IsDlgButtonChecked(hwndDlg, IDC_NOTNOSMOOTHSCROLLING)); - if (LOWORD(wParam) == IDC_GREYOUT) - Utils::enableDlgControl(hwndDlg, IDC_GREYOUTOPTS, IsDlgButtonChecked(hwndDlg, IDC_GREYOUT)); - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - opt_clc_main_changed = 1; - break; - case WM_NOTIFY: - switch (((LPNMHDR) lParam)->idFrom) { - case IDC_GREYOUTOPTS: - if (((LPNMHDR) lParam)->code == NM_CLICK) { - TVHITTESTINFO hti; - hti.pt.x = (short) LOWORD(GetMessagePos()); - hti.pt.y = (short) HIWORD(GetMessagePos()); - ScreenToClient(((LPNMHDR) lParam)->hwndFrom, &hti.pt); - if (TreeView_HitTest(((LPNMHDR) lParam)->hwndFrom, &hti)) - if (hti.flags & TVHT_ONITEMSTATEICON) { - TVITEM tvi; - tvi.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE; - tvi.hItem = hti.hItem; - TreeView_GetItem(((LPNMHDR) lParam)->hwndFrom, &tvi); - tvi.iImage = tvi.iSelectedImage = tvi.iImage == 1 ? 2 : 1; - TreeView_SetItem(((LPNMHDR) lParam)->hwndFrom, &tvi); - opt_clc_main_changed = 1; - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - } - } - break; - case 0: - switch (((LPNMHDR) lParam)->code) { - case PSN_APPLY: - { - int i; - DWORD exStyle = cfg::getDword("CLC", "ExStyle", CLCDEFAULT_EXSTYLE); - - if (!opt_clc_main_changed) - return TRUE; - - for (i = 0; i < sizeof(checkBoxToStyleEx) / sizeof(checkBoxToStyleEx[0]); i++) - exStyle &= ~(checkBoxToStyleEx[i].flag); - - for (i = 0; i < sizeof(checkBoxToStyleEx) / sizeof(checkBoxToStyleEx[0]); i++) { - if ((IsDlgButtonChecked(hwndDlg, checkBoxToStyleEx[i].id) == 0) == checkBoxToStyleEx[i].not_t) - exStyle |= checkBoxToStyleEx[i].flag; - } - cfg::writeDword("CLC", "ExStyle", exStyle); - } { - DWORD fullGreyoutFlags = MakeCheckBoxTreeFlags(GetDlgItem(hwndDlg, IDC_GREYOUTOPTS)); - cfg::writeDword("CLC", "FullGreyoutFlags", fullGreyoutFlags); - if (IsDlgButtonChecked(hwndDlg, IDC_GREYOUT)) - cfg::writeDword("CLC", "GreyoutFlags", fullGreyoutFlags); - else - cfg::writeDword("CLC", "GreyoutFlags", 0); - } - cfg::writeWord("CLC", "ScrollTime", (WORD) SendDlgItemMessage(hwndDlg, IDC_SMOOTHTIMESPIN, UDM_GETPOS, 0, 0)); - cfg::writeByte("CLC", "NoVScrollBar", (BYTE) (IsDlgButtonChecked(hwndDlg, IDC_NOSCROLLBAR) ? 1 : 0)); - cfg::dat.dwFlags = IsDlgButtonChecked(hwndDlg, IDC_FULLROWSELECT) ? cfg::dat.dwFlags | CLUI_FULLROWSELECT : cfg::dat.dwFlags & ~CLUI_FULLROWSELECT; - cfg::dat.bDblClkAvatars = IsDlgButtonChecked(hwndDlg, IDC_DBLCLKAVATARS) ? TRUE : FALSE; - cfg::writeByte("CLC", "dblclkav", (BYTE)cfg::dat.bDblClkAvatars); - cfg::writeDword("CLUI", "Frameflags", cfg::dat.dwFlags); - - pcli->pfnClcOptionsChanged(); - CoolSB_SetupScrollBar(); - PostMessage(pcli->hwndContactList, CLUIINTM_REDRAW, 0, 0); - opt_clc_main_changed = 0; - return TRUE; - } - break; - } - break; - case WM_DESTROY: - ImageList_Destroy(TreeView_GetImageList(GetDlgItem(hwndDlg, IDC_GREYOUTOPTS), TVSIL_STATE)); - break; - } - return FALSE; + switch (msg) { + case WM_INITDIALOG: + TranslateDialogDefault(hwndDlg); + opt_clc_main_changed = 0; + SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_GREYOUTOPTS), GWL_STYLE, GetWindowLongPtr(GetDlgItem(hwndDlg, IDC_GREYOUTOPTS), GWL_STYLE) | TVS_NOHSCROLL | TVS_CHECKBOXES); + { + int i; + DWORD exStyle = cfg::getDword("CLC", "ExStyle", pcli->pfnGetDefaultExStyle()); + UDACCEL accel[2] = { + {0,10}, {2,50} + }; + SendDlgItemMessage(hwndDlg, IDC_SMOOTHTIMESPIN, UDM_SETRANGE, 0, MAKELONG(999, 0)); + SendDlgItemMessage(hwndDlg, IDC_SMOOTHTIMESPIN, UDM_SETACCEL, sizeof(accel) / sizeof(accel[0]), (LPARAM) &accel); + SendDlgItemMessage(hwndDlg, IDC_SMOOTHTIMESPIN, UDM_SETPOS, 0, MAKELONG(cfg::getWord("CLC", "ScrollTime", CLCDEFAULT_SCROLLTIME), 0)); + + for (i = 0; i < sizeof(checkBoxToStyleEx) / sizeof(checkBoxToStyleEx[0]); i++) + CheckDlgButton(hwndDlg, checkBoxToStyleEx[i].id, (exStyle & checkBoxToStyleEx[i].flag) ^ (checkBoxToStyleEx[i].flag * checkBoxToStyleEx[i].not_t) ? BST_CHECKED : BST_UNCHECKED); + } + CheckDlgButton(hwndDlg, IDC_FULLROWSELECT, (cfg::dat.dwFlags & CLUI_FULLROWSELECT) ? BST_CHECKED : BST_UNCHECKED); + + CheckDlgButton(hwndDlg, IDC_DBLCLKAVATARS, cfg::dat.bDblClkAvatars); + CheckDlgButton(hwndDlg, IDC_GREYOUT, cfg::getDword("CLC", "GreyoutFlags", CLCDEFAULT_GREYOUTFLAGS) ? BST_CHECKED : BST_UNCHECKED); + Utils::enableDlgControl(hwndDlg, IDC_SMOOTHTIME, IsDlgButtonChecked(hwndDlg, IDC_NOTNOSMOOTHSCROLLING)); + Utils::enableDlgControl(hwndDlg, IDC_GREYOUTOPTS, IsDlgButtonChecked(hwndDlg, IDC_GREYOUT)); + FillCheckBoxTree(GetDlgItem(hwndDlg, IDC_GREYOUTOPTS), greyoutValues, sizeof(greyoutValues) / sizeof(greyoutValues[0]), cfg::getDword("CLC", "FullGreyoutFlags", CLCDEFAULT_FULLGREYOUTFLAGS)); + CheckDlgButton(hwndDlg, IDC_NOSCROLLBAR, cfg::getByte("CLC", "NoVScrollBar", 0) ? BST_CHECKED : BST_UNCHECKED); + + return TRUE; + case WM_VSCROLL: + opt_clc_main_changed = 1; + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; + case WM_COMMAND: + if (LOWORD(wParam) == IDC_NOTNOSMOOTHSCROLLING) + Utils::enableDlgControl(hwndDlg, IDC_SMOOTHTIME, IsDlgButtonChecked(hwndDlg, IDC_NOTNOSMOOTHSCROLLING)); + if (LOWORD(wParam) == IDC_GREYOUT) + Utils::enableDlgControl(hwndDlg, IDC_GREYOUTOPTS, IsDlgButtonChecked(hwndDlg, IDC_GREYOUT)); + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + opt_clc_main_changed = 1; + break; + case WM_NOTIFY: + switch (((LPNMHDR) lParam)->idFrom) { + case IDC_GREYOUTOPTS: + if (((LPNMHDR) lParam)->code == NM_CLICK) { + TVHITTESTINFO hti; + hti.pt.x = (short) LOWORD(GetMessagePos()); + hti.pt.y = (short) HIWORD(GetMessagePos()); + ScreenToClient(((LPNMHDR) lParam)->hwndFrom, &hti.pt); + if (TreeView_HitTest(((LPNMHDR) lParam)->hwndFrom, &hti)) + if (hti.flags & TVHT_ONITEMSTATEICON) { + TVITEM tvi; + tvi.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE; + tvi.hItem = hti.hItem; + TreeView_GetItem(((LPNMHDR) lParam)->hwndFrom, &tvi); + tvi.iImage = tvi.iSelectedImage = tvi.iImage == 1 ? 2 : 1; + TreeView_SetItem(((LPNMHDR) lParam)->hwndFrom, &tvi); + opt_clc_main_changed = 1; + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + } + } + break; + case 0: + switch (((LPNMHDR) lParam)->code) { + case PSN_APPLY: + { + int i; + DWORD exStyle = cfg::getDword("CLC", "ExStyle", CLCDEFAULT_EXSTYLE); + + if (!opt_clc_main_changed) + return TRUE; + + for (i = 0; i < sizeof(checkBoxToStyleEx) / sizeof(checkBoxToStyleEx[0]); i++) + exStyle &= ~(checkBoxToStyleEx[i].flag); + + for (i = 0; i < sizeof(checkBoxToStyleEx) / sizeof(checkBoxToStyleEx[0]); i++) { + if ((IsDlgButtonChecked(hwndDlg, checkBoxToStyleEx[i].id) == 0) == checkBoxToStyleEx[i].not_t) + exStyle |= checkBoxToStyleEx[i].flag; + } + cfg::writeDword("CLC", "ExStyle", exStyle); + } { + DWORD fullGreyoutFlags = MakeCheckBoxTreeFlags(GetDlgItem(hwndDlg, IDC_GREYOUTOPTS)); + cfg::writeDword("CLC", "FullGreyoutFlags", fullGreyoutFlags); + if (IsDlgButtonChecked(hwndDlg, IDC_GREYOUT)) + cfg::writeDword("CLC", "GreyoutFlags", fullGreyoutFlags); + else + cfg::writeDword("CLC", "GreyoutFlags", 0); + } + cfg::writeWord("CLC", "ScrollTime", (WORD) SendDlgItemMessage(hwndDlg, IDC_SMOOTHTIMESPIN, UDM_GETPOS, 0, 0)); + cfg::writeByte("CLC", "NoVScrollBar", (BYTE) (IsDlgButtonChecked(hwndDlg, IDC_NOSCROLLBAR) ? 1 : 0)); + cfg::dat.dwFlags = IsDlgButtonChecked(hwndDlg, IDC_FULLROWSELECT) ? cfg::dat.dwFlags | CLUI_FULLROWSELECT : cfg::dat.dwFlags & ~CLUI_FULLROWSELECT; + cfg::dat.bDblClkAvatars = IsDlgButtonChecked(hwndDlg, IDC_DBLCLKAVATARS) ? TRUE : FALSE; + cfg::writeByte("CLC", "dblclkav", (BYTE)cfg::dat.bDblClkAvatars); + cfg::writeDword("CLUI", "Frameflags", cfg::dat.dwFlags); + + pcli->pfnClcOptionsChanged(); + CoolSB_SetupScrollBar(); + PostMessage(pcli->hwndContactList, CLUIINTM_REDRAW, 0, 0); + opt_clc_main_changed = 0; + return TRUE; + } + break; + } + break; + case WM_DESTROY: + ImageList_Destroy(TreeView_GetImageList(GetDlgItem(hwndDlg, IDC_GREYOUTOPTS), TVSIL_STATE)); + break; + } + return FALSE; } static int opt_clc_bkg_changed = 0; static INT_PTR CALLBACK DlgProcClcBkgOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { - switch (msg) { - case WM_INITDIALOG: - opt_clc_bkg_changed = 0; - TranslateDialogDefault(hwndDlg); - CheckDlgButton(hwndDlg, IDC_BITMAP, cfg::getByte("CLC", "UseBitmap", CLCDEFAULT_USEBITMAP) ? BST_CHECKED : BST_UNCHECKED); - SendMessage(hwndDlg, WM_USER + 10, 0, 0); - SendDlgItemMessage(hwndDlg, IDC_BKGCOLOUR, CPM_SETDEFAULTCOLOUR, 0, CLCDEFAULT_BKCOLOUR); - SendDlgItemMessage(hwndDlg, IDC_BKGCOLOUR, CPM_SETCOLOUR, 0, cfg::getDword("CLC", "BkColour", CLCDEFAULT_BKCOLOUR)); - CheckDlgButton(hwndDlg, IDC_WINCOLOUR, cfg::getByte("CLC", "UseWinColours", 0)); - CheckDlgButton(hwndDlg, IDC_SKINMODE, cfg::dat.bWallpaperMode); - SendMessage(hwndDlg, WM_USER + 11, 0, 0); { - DBVARIANT dbv; - - if (!cfg::getString(NULL, "CLC", "BkBitmap", &dbv)) { - if (ServiceExists(MS_UTILS_PATHTOABSOLUTE)) { - char szPath[MAX_PATH]; - - if (CallService(MS_UTILS_PATHTOABSOLUTE, (WPARAM) dbv.pszVal, (LPARAM) szPath)) - SetDlgItemTextA(hwndDlg, IDC_FILENAME, szPath); - } - DBFreeVariant(&dbv); - } - } { - WORD bmpUse = cfg::getWord("CLC", "BkBmpUse", CLCDEFAULT_BKBMPUSE); - CheckDlgButton(hwndDlg, IDC_STRETCHH, bmpUse & CLB_STRETCHH ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_STRETCHV, bmpUse & CLB_STRETCHV ? BST_CHECKED : BST_UNCHECKED); - CheckDlgButton(hwndDlg, IDC_TILEH, bmpUse & CLBF_TILEH ? BST_CHECKED : BST_UNCHECKED); - 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(GetModuleHandleA("shlwapi"), "SHAutoComplete"); - if (MySHAutoComplete) - MySHAutoComplete(GetDlgItem(hwndDlg, IDC_FILENAME), 1); - } - return TRUE; - case WM_USER+10: - Utils::enableDlgControl(hwndDlg, IDC_FILENAME, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); - Utils::enableDlgControl(hwndDlg, IDC_BROWSE, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); - Utils::enableDlgControl(hwndDlg, IDC_STRETCHH, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); - Utils::enableDlgControl(hwndDlg, IDC_STRETCHV, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); - Utils::enableDlgControl(hwndDlg, IDC_TILEH, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); - Utils::enableDlgControl(hwndDlg, IDC_TILEV, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); - Utils::enableDlgControl(hwndDlg, IDC_SCROLL, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); - Utils::enableDlgControl(hwndDlg, IDC_PROPORTIONAL, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); - break; - case WM_USER+11: - { - BOOL b = IsDlgButtonChecked(hwndDlg, IDC_WINCOLOUR); - Utils::enableDlgControl(hwndDlg, IDC_BKGCOLOUR, !b); - break; - } - case WM_COMMAND: - if (LOWORD(wParam) == IDC_BROWSE) { - char str[MAX_PATH]; - OPENFILENAMEA ofn = { - 0 - }; - char filter[512]; - - GetDlgItemTextA(hwndDlg, IDC_FILENAME, str, sizeof(str)); - ofn.lStructSize = OPENFILENAME_SIZE_VERSION_400; - ofn.hwndOwner = hwndDlg; - ofn.hInstance = NULL; - CallService(MS_UTILS_GETBITMAPFILTERSTRINGS, sizeof(filter), (LPARAM) filter); - ofn.lpstrFilter = filter; - ofn.lpstrFile = str; - ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY; - ofn.nMaxFile = sizeof(str); - ofn.nMaxFileTitle = MAX_PATH; - ofn.lpstrDefExt = "bmp"; - if (!GetOpenFileNameA(&ofn)) - break; - SetDlgItemTextA(hwndDlg, IDC_FILENAME, str); - } 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_WINCOLOUR) - SendMessage(hwndDlg, WM_USER + 11, 0, 0); - if (LOWORD(wParam) == IDC_FILENAME && (HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus())) - return 0; - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - opt_clc_bkg_changed = 1; - break; - case WM_NOTIFY: - switch (((LPNMHDR) lParam)->idFrom) { - case 0: - switch (((LPNMHDR) lParam)->code) { - case PSN_APPLY: - if (!opt_clc_bkg_changed) - return TRUE; - - cfg::writeByte("CLC", "UseBitmap", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); { - COLORREF col; - col = SendDlgItemMessage(hwndDlg, IDC_BKGCOLOUR, CPM_GETCOLOUR, 0, 0); - if (col == CLCDEFAULT_BKCOLOUR) - DBDeleteContactSetting(NULL, "CLC", "BkColour"); - else - cfg::writeDword("CLC", "BkColour", col); - cfg::writeByte("CLC", "UseWinColours", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_WINCOLOUR)); - } { - char str[MAX_PATH], strrel[MAX_PATH]; - - GetDlgItemTextA(hwndDlg, IDC_FILENAME, str, sizeof(str)); - if (CallService(MS_UTILS_PATHTORELATIVE, (WPARAM) str, (LPARAM) strrel)) - cfg::writeString(NULL, "CLC", "BkBitmap", strrel); - else - cfg::writeString(NULL, "CLC", "BkBitmap", str); - } { - WORD flags = 0; - if (IsDlgButtonChecked(hwndDlg, IDC_STRETCHH)) - flags |= CLB_STRETCHH; - if (IsDlgButtonChecked(hwndDlg, IDC_STRETCHV)) - flags |= CLB_STRETCHV; - if (IsDlgButtonChecked(hwndDlg, IDC_TILEH)) - flags |= CLBF_TILEH; - if (IsDlgButtonChecked(hwndDlg, IDC_TILEV)) - flags |= CLBF_TILEV; - if (IsDlgButtonChecked(hwndDlg, IDC_SCROLL)) - flags |= CLBF_SCROLL; - if (IsDlgButtonChecked(hwndDlg, IDC_PROPORTIONAL)) - flags |= CLBF_PROPORTIONAL; - cfg::writeWord("CLC", "BkBmpUse", flags); - cfg::dat.bWallpaperMode = IsDlgButtonChecked(hwndDlg, IDC_SKINMODE) ? 1 : 0; - cfg::writeByte("CLUI", "UseBkSkin", (BYTE)cfg::dat.bWallpaperMode); - } - pcli->pfnClcOptionsChanged(); - PostMessage(pcli->hwndContactList, CLUIINTM_REDRAW, 0, 0); - opt_clc_bkg_changed = 0; - return TRUE; - } - break; - } - break; - } - return FALSE; -} + switch (msg) { + case WM_INITDIALOG: + opt_clc_bkg_changed = 0; + TranslateDialogDefault(hwndDlg); + CheckDlgButton(hwndDlg, IDC_BITMAP, cfg::getByte("CLC", "UseBitmap", CLCDEFAULT_USEBITMAP) ? BST_CHECKED : BST_UNCHECKED); + SendMessage(hwndDlg, WM_USER + 10, 0, 0); + SendDlgItemMessage(hwndDlg, IDC_BKGCOLOUR, CPM_SETDEFAULTCOLOUR, 0, CLCDEFAULT_BKCOLOUR); + SendDlgItemMessage(hwndDlg, IDC_BKGCOLOUR, CPM_SETCOLOUR, 0, cfg::getDword("CLC", "BkColour", CLCDEFAULT_BKCOLOUR)); + CheckDlgButton(hwndDlg, IDC_WINCOLOUR, cfg::getByte("CLC", "UseWinColours", 0)); + CheckDlgButton(hwndDlg, IDC_SKINMODE, cfg::dat.bWallpaperMode); + SendMessage(hwndDlg, WM_USER + 11, 0, 0); + { + DBVARIANT dbv; + if (!cfg::getTString(NULL, "CLC", "BkBitmap", &dbv)) { + TCHAR szPath[MAX_PATH]; + if (CallService(MS_UTILS_PATHTOABSOLUTET, (WPARAM) dbv.ptszVal, (LPARAM)szPath)) + SetDlgItemText(hwndDlg, IDC_FILENAME, szPath); + DBFreeVariant(&dbv); + } + WORD bmpUse = cfg::getWord("CLC", "BkBmpUse", CLCDEFAULT_BKBMPUSE); + CheckDlgButton(hwndDlg, IDC_STRETCHH, bmpUse & CLB_STRETCHH ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_STRETCHV, bmpUse & CLB_STRETCHV ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton(hwndDlg, IDC_TILEH, bmpUse & CLBF_TILEH ? BST_CHECKED : BST_UNCHECKED); + 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(GetModuleHandleA("shlwapi"), "SHAutoComplete"); + if (MySHAutoComplete) + MySHAutoComplete(GetDlgItem(hwndDlg, IDC_FILENAME), 1); + } + return TRUE; + + case WM_USER+10: + Utils::enableDlgControl(hwndDlg, IDC_FILENAME, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); + Utils::enableDlgControl(hwndDlg, IDC_BROWSE, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); + Utils::enableDlgControl(hwndDlg, IDC_STRETCHH, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); + Utils::enableDlgControl(hwndDlg, IDC_STRETCHV, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); + Utils::enableDlgControl(hwndDlg, IDC_TILEH, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); + Utils::enableDlgControl(hwndDlg, IDC_TILEV, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); + Utils::enableDlgControl(hwndDlg, IDC_SCROLL, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); + Utils::enableDlgControl(hwndDlg, IDC_PROPORTIONAL, IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); + break; + case WM_USER+11: + { + BOOL b = IsDlgButtonChecked(hwndDlg, IDC_WINCOLOUR); + Utils::enableDlgControl(hwndDlg, IDC_BKGCOLOUR, !b); + break; + } + case WM_COMMAND: + if (LOWORD(wParam) == IDC_BROWSE) { + char str[MAX_PATH]; + OPENFILENAMEA ofn = { 0 }; + char filter[512]; + + GetDlgItemTextA(hwndDlg, IDC_FILENAME, str, sizeof(str)); + ofn.lStructSize = OPENFILENAME_SIZE_VERSION_400; + ofn.hwndOwner = hwndDlg; + ofn.hInstance = NULL; + CallService(MS_UTILS_GETBITMAPFILTERSTRINGS, sizeof(filter), (LPARAM) filter); + ofn.lpstrFilter = filter; + ofn.lpstrFile = str; + ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY; + ofn.nMaxFile = sizeof(str); + ofn.nMaxFileTitle = MAX_PATH; + ofn.lpstrDefExt = "bmp"; + if (!GetOpenFileNameA(&ofn)) + break; + SetDlgItemTextA(hwndDlg, IDC_FILENAME, str); + } + 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_WINCOLOUR) + SendMessage(hwndDlg, WM_USER + 11, 0, 0); + if (LOWORD(wParam) == IDC_FILENAME && (HIWORD(wParam) != EN_CHANGE || (HWND) lParam != GetFocus())) + return 0; + + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + opt_clc_bkg_changed = 1; + break; + case WM_NOTIFY: + switch (((LPNMHDR) lParam)->idFrom) { + case 0: + switch (((LPNMHDR) lParam)->code) { + case PSN_APPLY: + if (!opt_clc_bkg_changed) + return TRUE; + + cfg::writeByte("CLC", "UseBitmap", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_BITMAP)); { + COLORREF col; + col = SendDlgItemMessage(hwndDlg, IDC_BKGCOLOUR, CPM_GETCOLOUR, 0, 0); + if (col == CLCDEFAULT_BKCOLOUR) + DBDeleteContactSetting(NULL, "CLC", "BkColour"); + else + cfg::writeDword("CLC", "BkColour", col); + cfg::writeByte("CLC", "UseWinColours", (BYTE)IsDlgButtonChecked(hwndDlg, IDC_WINCOLOUR)); + } { + char str[MAX_PATH], strrel[MAX_PATH]; + + GetDlgItemTextA(hwndDlg, IDC_FILENAME, str, sizeof(str)); + if (CallService(MS_UTILS_PATHTORELATIVE, (WPARAM) str, (LPARAM) strrel)) + cfg::writeString(NULL, "CLC", "BkBitmap", strrel); + else + cfg::writeString(NULL, "CLC", "BkBitmap", str); + } { + WORD flags = 0; + if (IsDlgButtonChecked(hwndDlg, IDC_STRETCHH)) + flags |= CLB_STRETCHH; + if (IsDlgButtonChecked(hwndDlg, IDC_STRETCHV)) + flags |= CLB_STRETCHV; + if (IsDlgButtonChecked(hwndDlg, IDC_TILEH)) + flags |= CLBF_TILEH; + if (IsDlgButtonChecked(hwndDlg, IDC_TILEV)) + flags |= CLBF_TILEV; + if (IsDlgButtonChecked(hwndDlg, IDC_SCROLL)) + flags |= CLBF_SCROLL; + if (IsDlgButtonChecked(hwndDlg, IDC_PROPORTIONAL)) + flags |= CLBF_PROPORTIONAL; + cfg::writeWord("CLC", "BkBmpUse", flags); + cfg::dat.bWallpaperMode = IsDlgButtonChecked(hwndDlg, IDC_SKINMODE) ? 1 : 0; + cfg::writeByte("CLUI", "UseBkSkin", (BYTE)cfg::dat.bWallpaperMode); + } + pcli->pfnClcOptionsChanged(); + PostMessage(pcli->hwndContactList, CLUIINTM_REDRAW, 0, 0); + opt_clc_bkg_changed = 0; + return TRUE; + } + break; + } + break; + } + return FALSE; +} diff --git a/plugins/Clist_nicer/SRC/clcpaint.cpp b/plugins/Clist_nicer/SRC/clcpaint.cpp index ef7cf12932..8844972745 100644 --- a/plugins/Clist_nicer/SRC/clcpaint.cpp +++ b/plugins/Clist_nicer/SRC/clcpaint.cpp @@ -1010,7 +1010,7 @@ bgskipped: if(dwFlags & CLUI_FRAME_USEXSTATUSASSTATUS) cEntry->dwXMask &= ~EIMG_SHOW_ADV1; - for(i = EXICON_COUNT - 1; i >= 0; i--) { + for (i = EXICON_COUNT - 1; i >= 0; i--) { iIndex = cfg::dat.exIconOrder[i] - 1; if(iIndex >= 0 && iIndex < EXICON_COUNT) { id = OrderTreeData[iIndex].ID; diff --git a/plugins/Clist_nicer/SRC/config.cpp b/plugins/Clist_nicer/SRC/config.cpp index 04315a162a..85994a922c 100644 --- a/plugins/Clist_nicer/SRC/config.cpp +++ b/plugins/Clist_nicer/SRC/config.cpp @@ -206,7 +206,7 @@ int cfg::getCache(const HANDLE hContact, const char *szProto) { int i, iFound = -1; - for(i = 0; i < nextCacheEntry; i++) { + for (i = 0; i < nextCacheEntry; i++) { if(eCache[i].hContact == hContact) { iFound = i; break; diff --git a/plugins/Clist_nicer/SRC/contact.cpp b/plugins/Clist_nicer/SRC/contact.cpp index 1d8f90e5c2..f51672e52c 100644 --- a/plugins/Clist_nicer/SRC/contact.cpp +++ b/plugins/Clist_nicer/SRC/contact.cpp @@ -298,7 +298,7 @@ int CompareContacts(const struct ClcContact* c1, const struct ClcContact* c2) if(result) return result; - for(i = 0; i <= 2; i++) { + for (i = 0; i <= 2; i++) { if(cfg::dat.sortOrder[i]) { result = INTSORT_CompareContacts(c1, c2, cfg::dat.sortOrder[i]); if(result != 0) diff --git a/plugins/Clist_nicer/SRC/extBackg.cpp b/plugins/Clist_nicer/SRC/extBackg.cpp index 0aa2b32265..503c288d4e 100644 --- a/plugins/Clist_nicer/SRC/extBackg.cpp +++ b/plugins/Clist_nicer/SRC/extBackg.cpp @@ -259,7 +259,7 @@ StatusItems_t *GetProtocolStatusItem(const char *szProto) if(szProto == NULL) return NULL; - for(i = ID_EXTBK_LAST_D - ID_STATUS_OFFLINE + 1; i <= ID_EXTBK_LAST - ID_STATUS_OFFLINE; i++) { + for (i = ID_EXTBK_LAST_D - ID_STATUS_OFFLINE + 1; i <= ID_EXTBK_LAST - ID_STATUS_OFFLINE; i++) { if (!strcmp(StatusItems[i].szName[0] == '{' ? &StatusItems[i].szName[3] : StatusItems[i].szName, szProto)) return &StatusItems[i]; } @@ -281,7 +281,7 @@ void LoadExtBkSettingsFromDB() StatusItems = (StatusItems_t *)malloc(sizeof(StatusItems_t) * ((ID_EXTBK_LAST - ID_STATUS_OFFLINE) + protoCount + 2)); CopyMemory(StatusItems, _StatusItems, sizeof(_StatusItems)); - for(i = 0; i < protoCount; i++) { + for (i = 0; i < protoCount; i++) { ID_EXTBK_LAST++; CopyMemory(&StatusItems[ID_EXTBK_LAST - ID_STATUS_OFFLINE], &StatusItems[0], sizeof(StatusItems_t)); mir_snprintf(StatusItems[ID_EXTBK_LAST - ID_STATUS_OFFLINE].szDBname, 30, "EXBK_%s", accs[i]->szModuleName ); @@ -546,7 +546,7 @@ void extbk_export(char *file) WritePrivateProfileStructA("ExtBKSettings", buffer, &(StatusItems[n].BORDERSTYLE), sizeof(StatusItems[n].BORDERSTYLE), file); } } - for(n = 0; n <= FONTID_LAST; n++) { + for (n = 0; n <= FONTID_LAST; n++) { mir_snprintf(szSection, 255, "Font%d", n); mir_snprintf(szKey, 255, "Font%dName", n); @@ -769,7 +769,7 @@ static void ReadItem(StatusItems_t *this_item, char *szItem, char *file) if(strcmp(buffer, "None")) { int i; - for(i = 0; i <= ID_EXTBK_LAST - ID_STATUS_OFFLINE; i++) { + for (i = 0; i <= ID_EXTBK_LAST - ID_STATUS_OFFLINE; i++) { if (!_stricmp(StatusItems[i].szName[0] == '{' ? &StatusItems[i].szName[3] : StatusItems[i].szName, buffer)) { defaults = &StatusItems[i]; break; @@ -934,7 +934,7 @@ done_with_glyph: } goto imgread_done; } - for(n = 0;;n++) { + for (n = 0;;n++) { mir_snprintf(szItemNr, 30, "Item%d", n); GetPrivateProfileStringA(itemname, szItemNr, "None", buffer, 500, szFileName); if (!strcmp(buffer, "None")) @@ -960,7 +960,7 @@ done_with_glyph: } continue; } - for(i = 0; i <= ID_EXTBK_LAST - ID_STATUS_OFFLINE; i++) { + for (i = 0; i <= ID_EXTBK_LAST - ID_STATUS_OFFLINE; i++) { if (!_stricmp(StatusItems[i].szName[0] == '{' ? &StatusItems[i].szName[3] : StatusItems[i].szName, buffer)) { if (!alloced) { if (!(tmpItem.dwFlags & IMAGE_GLYPH)) @@ -1026,7 +1026,7 @@ void IMG_DeleteItems() } g_glyphItem = NULL; - for(i = 0; i <= ID_EXTBK_LAST - ID_STATUS_OFFLINE; i++) + for (i = 0; i <= ID_EXTBK_LAST - ID_STATUS_OFFLINE; i++) StatusItems[i].imageItem = NULL; } @@ -1140,7 +1140,7 @@ static void BTN_ReadItem(char *itemName, char *file) if(GetPrivateProfileIntA(itemName, "contact", 0, file) != 0) tmpItem.dwFlags |= BUTTON_DBACTIONONCONTACT; - for(n = 0; n <= 1; n++) { + for (n = 0; n <= 1; n++) { char szKey[20]; BYTE *pValue; @@ -1374,7 +1374,7 @@ void LoadPerContactSkins(TCHAR *tszFileName) UIN[0] = 0; break; } - for(j = 0; j < i - 1; j++) { + for (j = 0; j < i - 1; j++) { if (!strcmp(szProto, items[j].szName) && !strcmp(UIN, items[j].szDBname) && lstrlenA(szProto) == lstrlenA(items[j].szName) && lstrlenA(UIN) == lstrlenA(items[j].szDBname)) { @@ -1455,7 +1455,7 @@ void extbk_import(char *file, HWND hwndDlg) data = 0; GetPrivateProfileStructA("Global", "Version", &version, 4, file); if(version >= 2) { - for(n = 0; n <= FONTID_LAST; n++) { + for (n = 0; n <= FONTID_LAST; n++) { mir_snprintf(szSection, 255, "Font%d", n); mir_snprintf(szKey, 255, "Font%dName", n); diff --git a/plugins/Clist_nicer/SRC/init.cpp b/plugins/Clist_nicer/SRC/init.cpp index e606f3320f..35384d9d4f 100644 --- a/plugins/Clist_nicer/SRC/init.cpp +++ b/plugins/Clist_nicer/SRC/init.cpp @@ -293,10 +293,10 @@ extern "C" int __declspec(dllexport) CListInitialise(PLUGINLINK * link) if (!cfg::getString(NULL, "CLUI", "exIconOrder", &dbv)) { if(lstrlenA(dbv.pszVal) < EXICON_COUNT) { - for(i = 1; i <= EXICON_COUNT; i++) + for (i = 1; i <= EXICON_COUNT; i++) cfg::dat.exIconOrder[i - 1] = i; } else { - for(i = 0; i < EXICON_COUNT; i++) + for (i = 0; i < EXICON_COUNT; i++) if(dbv.pszVal[i] < EXICON_COUNT+1 && dbv.pszVal[i] >0) cfg::dat.exIconOrder[i] = dbv.pszVal[i]; else @@ -304,7 +304,7 @@ extern "C" int __declspec(dllexport) CListInitialise(PLUGINLINK * link) } DBFreeVariant(&dbv); } else { - for(i = 1; i <= EXICON_COUNT; i++) + for (i = 1; i <= EXICON_COUNT; i++) cfg::dat.exIconOrder[i - 1] = i; } ReloadThemedOptions(); diff --git a/plugins/Clist_nicer/SRC/statusbar.cpp b/plugins/Clist_nicer/SRC/statusbar.cpp index aba30d92a1..8d130cd866 100644 --- a/plugins/Clist_nicer/SRC/statusbar.cpp +++ b/plugins/Clist_nicer/SRC/statusbar.cpp @@ -129,7 +129,7 @@ LRESULT CALLBACK NewStatusBarWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM dis.hDC = hdcMem; dis.CtlType = 0; nParts = SendMessage(hwnd, SB_GETPARTS, 0, 0); - for(i = 0; i < nParts; i++) { + for (i = 0; i < nParts; i++) { SendMessage(hwnd, SB_GETRECT, i, (LPARAM)&dis.rcItem); OffsetRect(&dis.rcItem, 0, -b_offset); dis.itemData = SendMessage(hwnd, SB_GETTEXTA, i, 0); @@ -161,7 +161,7 @@ LRESULT CALLBACK NewStatusBarWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM ScreenToClient(hwnd, &pt); nParts = SendMessage(hwnd, SB_GETPARTS, 0, 0); - for(i = 0; i < nParts; i++) { + for (i = 0; i < nParts; i++) { SendMessage(hwnd, SB_GETRECT, i, (LPARAM)&rc); if(PtInRect(&rc,pt)) { ProtocolData *PD; diff --git a/plugins/Clist_nicer/SRC/statusfloater.cpp b/plugins/Clist_nicer/SRC/statusfloater.cpp index 860241afa6..d07196ee16 100644 --- a/plugins/Clist_nicer/SRC/statusfloater.cpp +++ b/plugins/Clist_nicer/SRC/statusfloater.cpp @@ -243,7 +243,7 @@ INT_PTR CALLBACK DlgProcFloatingContacts(HWND hwndDlg, UINT msg, WPARAM wParam, Utils::enableDlgControl(hwndDlg, IDC_FLT_SHOWTOOLTIPS, 0); } - for(i = 0; padctrlIDs[i] != 0; i++) + for (i = 0; padctrlIDs[i] != 0; i++) SendDlgItemMessage(hwndDlg, padctrlIDs[i], UDM_SETRANGE, 0, MAKELONG(20, 0)); SendDlgItemMessage(hwndDlg, IDC_FLT_WIDTHSPIN, UDM_SETRANGE, 0, MAKELONG(200, 50)); SendDlgItemMessage(hwndDlg, IDC_FLT_RADIUSSPIN, UDM_SETRANGE, 0, MAKELONG(20, 1)); @@ -897,7 +897,7 @@ void SFL_SetSize() hdc = GetDC(g_hwndSFL); oldFont = reinterpret_cast(SelectObject(hdc, GetStockObject(DEFAULT_GUI_FONT))); - for(i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { + for (i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { szStatusMode = Translate((char *)CallService(MS_CLIST_GETSTATUSMODEDESCRIPTION, (WPARAM)i, 0)); GetTextExtentPoint32A(hdc, szStatusMode, lstrlenA(szStatusMode), &sz); lWidth = max(lWidth, sz.cx + 16 + 8); diff --git a/plugins/Clist_nicer/SRC/viewmodes.cpp b/plugins/Clist_nicer/SRC/viewmodes.cpp index 184466b5a2..e19a0a89c2 100644 --- a/plugins/Clist_nicer/SRC/viewmodes.cpp +++ b/plugins/Clist_nicer/SRC/viewmodes.cpp @@ -130,7 +130,7 @@ static int UpdateClistItem(HANDLE hContact, DWORD mask) { int i; - for(i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) + for (i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) SendDlgItemMessage(clvmHwnd, IDC_CLIST, CLM_SETEXTRAIMAGE, (WPARAM)hContact, MAKELONG(i - ID_STATUS_OFFLINE, (1 << (i - ID_STATUS_OFFLINE)) & mask ? i - ID_STATUS_OFFLINE : nullImage)); @@ -142,7 +142,7 @@ static DWORD GetMaskForItem(HANDLE hItem) int i; DWORD dwMask = 0; - for(i = 0; i <= ID_STATUS_OUTTOLUNCH - ID_STATUS_OFFLINE; i++) + for (i = 0; i <= ID_STATUS_OUTTOLUNCH - ID_STATUS_OFFLINE; i++) dwMask |= (SendDlgItemMessage(clvmHwnd, IDC_CLIST, CLM_GETEXTRAIMAGE, (WPARAM)hItem, i) == nullImage ? 0 : 1 << i); return dwMask; @@ -167,13 +167,13 @@ static void UpdateStickies() { HANDLE hItem; - for(i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) + for (i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) SendDlgItemMessage(clvmHwnd, IDC_CLIST, CLM_SETEXTRAIMAGE, (WPARAM)hInfoItem, MAKELONG(i - ID_STATUS_OFFLINE, (1 << (i - ID_STATUS_OFFLINE)) & stickyStatusMask ? i - ID_STATUS_OFFLINE : ID_STATUS_OUTTOLUNCH - ID_STATUS_OFFLINE + 1)); hItem=(HANDLE)SendDlgItemMessage(clvmHwnd, IDC_CLIST, CLM_GETNEXTITEM,CLGN_ROOT,0); hItem=(HANDLE)SendDlgItemMessage(clvmHwnd, IDC_CLIST,CLM_GETNEXTITEM,CLGN_NEXTGROUP, (LPARAM)hItem); while(hItem) { - for(i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) + for (i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) SendDlgItemMessage(clvmHwnd, IDC_CLIST, CLM_SETEXTRAIMAGE, (WPARAM)hItem, MAKELONG(i - ID_STATUS_OFFLINE, nullImage)); hItem=(HANDLE)SendDlgItemMessage(clvmHwnd, IDC_CLIST,CLM_GETNEXTITEM,CLGN_NEXTGROUP,(LPARAM)hItem); } @@ -227,7 +227,7 @@ static int FillDialog(HWND hwnd) item.pszText = TranslateT("Ungrouped contacts"); newItem = SendMessage(hwndList, LVM_INSERTITEM, 0, (LPARAM)&item); - for(i = 0;;i++) { + for (i = 0;;i++) { mir_snprintf(buf, 20, "%d", i); if(cfg::getTString(NULL, "CListGroups", buf, &dbv)) break; @@ -244,7 +244,7 @@ static int FillDialog(HWND hwnd) lvc.mask = LVCF_FMT; lvc.fmt = LVCFMT_IMAGE | LVCFMT_LEFT; ListView_InsertColumn(hwndList, 0, &lvc); - for(i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { + for (i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { item.pszText = Translate((char *)CallService(MS_CLIST_GETSTATUSMODEDESCRIPTION, (WPARAM)i, 0)); item.iItem = i - ID_STATUS_OFFLINE; newItem = SendMessageA(hwndList, LVM_INSERTITEMA, 0, (LPARAM)&item); @@ -367,7 +367,7 @@ void SaveState() char szTemp[256]; hwndList = GetDlgItem(clvmHwnd, IDC_PROTOCOLS); - for(i = 0; i < ListView_GetItemCount(hwndList); i++) { + for (i = 0; i < ListView_GetItemCount(hwndList); i++) { if(ListView_GetCheckState(hwndList, i)) { item.mask = LVIF_TEXT; item.pszText = szTemp; @@ -389,7 +389,7 @@ void SaveState() operators |= ListView_GetCheckState(hwndList, 0) ? CLVM_INCLUDED_UNGROUPED : 0; - for(i = 0; i < ListView_GetItemCount(hwndList); i++) { + for (i = 0; i < ListView_GetItemCount(hwndList); i++) { if(ListView_GetCheckState(hwndList, i)) { item.mask = LVIF_TEXT; item.pszText = szTemp; @@ -403,7 +403,7 @@ void SaveState() } } hwndList = GetDlgItem(clvmHwnd, IDC_STATUSMODES); - for(i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { + for (i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { if(ListView_GetCheckState(hwndList, i - ID_STATUS_OFFLINE)) statusMask |= (1 << (i - ID_STATUS_OFFLINE)); } @@ -517,7 +517,7 @@ void UpdateFilters() item.pszText = szTemp; item.cchTextMax = 255; - for(i = 0; i < ListView_GetItemCount(hwndList); i++) { + for (i = 0; i < ListView_GetItemCount(hwndList); i++) { item.iItem = i; SendMessageA(hwndList, LVM_GETITEMA, 0, (LPARAM)&item); mir_snprintf(szMask, 256, "%s|", szTemp); @@ -540,7 +540,7 @@ void UpdateFilters() ListView_SetCheckState(hwndList, 0, dwFlags & CLVM_INCLUDED_UNGROUPED ? TRUE : FALSE); - for(i = 1; i < ListView_GetItemCount(hwndList); i++) { + for (i = 1; i < ListView_GetItemCount(hwndList); i++) { item.iItem = i; SendMessage(hwndList, LVM_GETITEM, 0, (LPARAM)&item); _sntprintf(szMask, 256, _T("%s|"), szTemp); @@ -554,7 +554,7 @@ void UpdateFilters() HWND hwndList = GetDlgItem(clvmHwnd, IDC_STATUSMODES); int i; - for(i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { + for (i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) { if ((1 << (i - ID_STATUS_OFFLINE)) & statusMask) ListView_SetCheckState(hwndList, i - ID_STATUS_OFFLINE, TRUE) else @@ -610,7 +610,7 @@ INT_PTR CALLBACK DlgProcViewModesSetup(HWND hwndDlg, UINT msg, WPARAM wParam, LP API::pfnEnableThemeDialogTexture(hwndDlg, ETDT_ENABLETAB); himlViewModes = ImageList_Create(16, 16, ILC_MASK | (IsWinVerXPPlus() ? ILC_COLOR32 : ILC_COLOR16), 12, 0); - for(i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) + for (i = ID_STATUS_OFFLINE; i <= ID_STATUS_OUTTOLUNCH; i++) ImageList_AddIcon(himlViewModes, LoadSkinnedProtoIcon(NULL, i)); hIcon = (HICON)LoadImage(g_hInst, MAKEINTRESOURCE(IDI_MINIMIZE), IMAGE_ICON, 16, 16, 0); @@ -1216,7 +1216,7 @@ void ApplyViewMode(const char *name) BYTE bSaved = cfg::dat.sortOrder[0]; cfg::dat.sortOrder[0] = SORTBY_LASTMSG; - for(i = 0; i < cfg::nextCacheEntry; i++) + for (i = 0; i < cfg::nextCacheEntry; i++) cfg::eCache[i].dwLastMsgTime = INTSORT_GetLastMsgTime(cfg::eCache[i].hContact); cfg::dat.sortOrder[0] = bSaved; diff --git a/plugins/Clist_nicer/coolsb/coolsblib.cpp b/plugins/Clist_nicer/coolsb/coolsblib.cpp index 3a90d0d070..42f74c4ca0 100644 --- a/plugins/Clist_nicer/coolsb/coolsblib.cpp +++ b/plugins/Clist_nicer/coolsb/coolsblib.cpp @@ -632,7 +632,7 @@ BOOL WINAPI CoolSB_InsertButton(HWND hwnd, int wSBflags, UINT nPos, SCROLLBUT *p else { //insert space for the button at the specified position - for(i = sbar->nButtons; i > nPos; i--) + for (i = sbar->nButtons; i > nPos; i--) { sbar->sbButtons[i] = sbar->sbButtons[i-1]; } @@ -718,7 +718,7 @@ BOOL WINAPI CoolSB_InsertButton(HWND hwnd, int wSBflags, UINT nPos, SCROLLBUT *p static SCROLLBUT *GetButtonFromId(SCROLLBAR *sbar, UINT uCmdId) { int i; - for(i = 0; i < sbar->nButtons; i++) + for (i = 0; i < sbar->nButtons; i++) { if(sbar->sbButtons[i].uCmdId == uCmdId) return &sbar->sbButtons[i]; @@ -798,7 +798,7 @@ BOOL WINAPI CoolSB_RemoveButton(HWND hwnd, int wSBflags, UINT uItem, BOOL fByCmd else if(fByCmd == TRUE) { //find the button with the specified command id - for(i = 0; i < sbar->nButtons; i++) + for (i = 0; i < sbar->nButtons; i++) { if(sbar->sbButtons[i].uCmdId == uItem) { @@ -813,7 +813,7 @@ BOOL WINAPI CoolSB_RemoveButton(HWND hwnd, int wSBflags, UINT uItem, BOOL fByCmd } //remove the button! - for(i = uItem; i < sbar->nButtons - 1; i++) + for (i = uItem; i < sbar->nButtons - 1; i++) { sbar->sbButtons[i] = sbar->sbButtons[i+1]; } diff --git a/plugins/Clist_nicer/coolsb/coolscroll.cpp b/plugins/Clist_nicer/coolsb/coolscroll.cpp index 7f4dbf95b5..882b91e8fd 100644 --- a/plugins/Clist_nicer/coolsb/coolscroll.cpp +++ b/plugins/Clist_nicer/coolsb/coolscroll.cpp @@ -513,7 +513,7 @@ static int GetButtonSize(SCROLLBAR *sbar, HWND hwnd, UINT uBeforeAfter) SCROLLBUT *sbut = sbar->sbButtons; - for(i = 0; i < sbar->nButtons; i++) + for (i = 0; i < sbar->nButtons; i++) { //only consider those buttons on the same side as nTopBottom says if(sbut[i].uPlacement == uBeforeAfter) @@ -1340,7 +1340,7 @@ static LRESULT DrawHorzButtons(SCROLLBAR *sbar, HDC hdc, const RECT *rect, int l xposl = rect->left - sbar->nButSizeBefore; xposr = rect->right; - for(i = 0; i < sbar->nButtons; i++) + for (i = 0; i < sbar->nButtons; i++) { if ((leftright & SBBP_LEFT) && sbut[i].uPlacement == SBBP_LEFT) { @@ -1776,7 +1776,7 @@ static UINT GetHorzButtonFromPt(SCROLLBAR *sb, RECT *rect, POINT pt, BOOL fRetur if(sb->fButVisibleAfter) rightpos -= sb->nButSizeAfter; - for(i = 0; i < sb->nButtons; i++) + for (i = 0; i < sb->nButtons; i++) { if(sb->fButVisibleBefore && sbut[i].uPlacement == SBBP_LEFT) { @@ -1868,7 +1868,7 @@ static UINT GetHorzButtonRectFromId(SCROLLBAR *sb, RECT *rect, UINT index) rightpos -= sb->nButSizeAfter; //find the particular button in question - for(i = 0; i < index; i++) + for (i = 0; i < index; i++) { if(sb->fButVisibleBefore && sbut[i].uPlacement == SBBP_LEFT) { @@ -2618,7 +2618,7 @@ static void ResizeButtonsToFit(SCROLLWND *sw, SCROLLBAR *sbar, HWND hwnd) //restore any resizable buttons to their user-defined sizes, //before shrinking them to fit. This means when we make the window //bigger, the buttons will restore to their initial sizes - for(i = 0; i < sbar->nButtons; i++) + for (i = 0; i < sbar->nButtons; i++) { sbut = &sbar->sbButtons[i]; if(sbut->uButType & SBBM_RESIZABLE) -- cgit v1.2.3