From 095608f5e98292aa7fe82a075e7e867fc4dcd467 Mon Sep 17 00:00:00 2001 From: George Hazan <george.hazan@gmail.com> Date: Tue, 28 Jan 2014 18:08:17 +0000 Subject: initial settings for clist_mw & clist_nicer git-svn-id: http://svn.miranda-ng.org/main/trunk@7935 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Clist_mw/src/clcfonts.cpp | 110 +++++++++++++++--------------------- plugins/Clist_mw/src/clistopts.cpp | 2 +- plugins/Clist_mw/src/clui.cpp | 4 +- plugins/Clist_mw/src/cluiopts.cpp | 2 +- plugins/Clist_mw/src/groupmenu.cpp | 4 +- plugins/Clist_nicer/src/clcopts.cpp | 4 +- plugins/Clist_nicer/src/clui.cpp | 95 +++++++++++++++---------------- 7 files changed, 98 insertions(+), 123 deletions(-) (limited to 'plugins') diff --git a/plugins/Clist_mw/src/clcfonts.cpp b/plugins/Clist_mw/src/clcfonts.cpp index 90b7afb9f8..d3f09a2f2e 100644 --- a/plugins/Clist_mw/src/clcfonts.cpp +++ b/plugins/Clist_mw/src/clcfonts.cpp @@ -24,35 +24,24 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "commonheaders.h" - -static const TCHAR *szClistFontIdDescr[FONTID_MAX+1] = +struct { - LPGENT( "Standard contacts"), - LPGENT( "Online contacts to whom you have a different visibility"), - LPGENT( "Offline contacts"), - LPGENT( "Contacts which are 'not on list'"), - LPGENT( "Groups"), - LPGENT( "Group member counts"), - LPGENT( "Dividers"), - LPGENT( "Offline contacts to whom you have a different visibility"), - LPGENT( "Status messages"), - LPGENT( "Group Closed"), - LPGENT( "Hover Contacts") -}; - -static int fontListOrder[FONTID_MAX + 1] = + const TCHAR *tszName; + int iMask; +} +static clistFontDescr[] = { - FONTID_CONTACTS, - FONTID_INVIS, - FONTID_OFFLINE, - FONTID_NOTONLIST, - FONTID_GROUPS, - FONTID_GROUPCOUNTS, - FONTID_DIVIDERS, - FONTID_OFFINVIS, - FONTID_STATUSMSG, - FONTID_GROUPSCLOSED, - FONTID_CONTACTSHOVER + { LPGENT("Standard contacts"), FIDF_CLASSGENERAL }, + { LPGENT("Online contacts to whom you have a different visibility"), FIDF_CLASSGENERAL }, + { LPGENT("Offline contacts"), FIDF_CLASSGENERAL }, + { LPGENT("Contacts which are 'not on list'"), FIDF_CLASSGENERAL }, + { LPGENT("Groups"), FIDF_CLASSHEADER }, + { LPGENT("Group member counts"), FIDF_CLASSHEADER }, + { LPGENT("Dividers"), FIDF_CLASSSMALL }, + { LPGENT("Offline contacts to whom you have a different visibility"), FIDF_CLASSGENERAL }, + { LPGENT("Status messages"), FIDF_CLASSGENERAL }, + { LPGENT("Group Closed"), FIDF_CLASSGENERAL }, + { LPGENT("Hover Contacts"), FIDF_CLASSGENERAL } }; #define CLCDEFAULT_BKCOLOUR GetSysColor(COLOR_3DFACE) @@ -66,52 +55,43 @@ static int FS_FontsChanged(WPARAM wParam, LPARAM lParam) void RegisterCListFonts() { - FontIDT fontid = {0}; - ColourIDT colourid = {0}; - char idstr[10]; - int i; - - fontid.cbSize = sizeof(FontIDT); - fontid.flags = FIDF_ALLOWREREGISTER | FIDF_APPENDNAME | FIDF_NOAS | FIDF_SAVEPOINTSIZE | FIDF_ALLOWEFFECTS; - - for (i = 0; i <= FONTID_MAX; i++) { - switch (fontListOrder[i]) { - case FONTID_GROUPS: - case FONTID_GROUPCOUNTS: - fontid.flags &= ~FIDF_CLASSMASK; - fontid.flags |= FIDF_CLASSHEADER; - break; - - case FONTID_DIVIDERS: - fontid.flags &= ~FIDF_CLASSMASK; - fontid.flags |= FIDF_CLASSSMALL; - break; - - default: - fontid.flags &= ~FIDF_CLASSMASK; - fontid.flags |= FIDF_CLASSGENERAL; - break; - } - - if (fontListOrder[i] != 0 || i == 0) { - strncpy(fontid.dbSettingsGroup, "CLC", sizeof(fontid.dbSettingsGroup)); - _tcsncpy(fontid.group, _T("Contact List"), SIZEOF(fontid.group)); - _tcsncpy(fontid.name, szClistFontIdDescr[fontListOrder[i]], SIZEOF(fontid.name)); - mir_snprintf(idstr, SIZEOF(idstr), "Font%d", fontListOrder[i]); - strncpy(fontid.prefix, idstr, SIZEOF(fontid.prefix)); - fontid.order = fontListOrder[i]; - FontRegisterT(&fontid); - } + FontIDT fontid = { sizeof(fontid) }; + fontid.flags = FIDF_DEFAULTVALID | FIDF_ALLOWREREGISTER | FIDF_APPENDNAME | FIDF_NOAS | FIDF_SAVEPOINTSIZE | FIDF_ALLOWEFFECTS; + strncpy(fontid.dbSettingsGroup, "CLC", sizeof(fontid.dbSettingsGroup)); + _tcsncpy(fontid.group, _T("Contact list"), SIZEOF(fontid.group)); + + HDC hdc = GetDC(NULL); + for (int i = 0; i < SIZEOF(clistFontDescr); i++) { + LOGFONT lf; + pcli->pfnGetFontSetting(i, &lf, &fontid.deffontsettings.colour); + lf.lfHeight = -MulDiv(lf.lfHeight, GetDeviceCaps(hdc, LOGPIXELSY), 72); + + _tcsncpy_s(fontid.deffontsettings.szFace, SIZEOF(fontid.deffontsettings.szFace), lf.lfFaceName, _TRUNCATE); + fontid.deffontsettings.charset = lf.lfCharSet; + fontid.deffontsettings.size = (char)lf.lfHeight; + fontid.deffontsettings.style = (lf.lfWeight >= FW_BOLD ? DBFONTF_BOLD : 0) | (lf.lfItalic ? DBFONTF_ITALIC : 0); + + fontid.flags &= ~FIDF_CLASSMASK; + fontid.flags |= clistFontDescr[i].iMask; + + _tcsncpy(fontid.name, clistFontDescr[i].tszName, SIZEOF(fontid.name)); + + char idstr[10]; + mir_snprintf(idstr, SIZEOF(idstr), "Font%d", i); + strncpy(fontid.prefix, idstr, SIZEOF(fontid.prefix)); + fontid.order = i; + FontRegisterT(&fontid); } + ReleaseDC(NULL, hdc); // and colours - colourid.cbSize = sizeof(ColourIDT); + ColourIDT colourid = { sizeof(colourid) }; colourid.order = 0; strncpy(colourid.dbSettingsGroup, "CLC", sizeof(colourid.dbSettingsGroup)); strncpy(colourid.setting, "BkColour", sizeof(colourid.setting)); _tcsncpy(colourid.name, LPGENT("Background"), SIZEOF(colourid.name)); - _tcsncpy(colourid.group, LPGENT("Contact List"), SIZEOF(colourid.group)); + _tcsncpy(colourid.group, LPGENT("Contact list"), SIZEOF(colourid.group)); colourid.defcolour = CLCDEFAULT_BKCOLOUR; ColourRegisterT(&colourid); diff --git a/plugins/Clist_mw/src/clistopts.cpp b/plugins/Clist_mw/src/clistopts.cpp index 42c146af88..bccc015bc2 100644 --- a/plugins/Clist_mw/src/clistopts.cpp +++ b/plugins/Clist_mw/src/clistopts.cpp @@ -38,7 +38,7 @@ int CListOptInit(WPARAM wParam,LPARAM lParam) odp.position = -1000000000; odp.hInstance = g_hInst; odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_CLIST); - odp.pszTitle = LPGEN("Contact List"); + odp.pszTitle = LPGEN("Contact list"); odp.pfnDlgProc = DlgProcGenOpts; odp.flags = ODPF_BOLDGROUPS; Options_AddPage(wParam, &odp); diff --git a/plugins/Clist_mw/src/clui.cpp b/plugins/Clist_mw/src/clui.cpp index 9e8882ec55..c87b62c6ae 100644 --- a/plugins/Clist_mw/src/clui.cpp +++ b/plugins/Clist_mw/src/clui.cpp @@ -209,7 +209,7 @@ void RegisterProtoIcons (char *protoname) for (i = 0;i<8;i++) { mir_snprintf(buf, SIZEOF(buf), "%s #%d", protoname, i); - mir_snprintf(buf2, SIZEOF(buf2), "Contact List/Connection Icons %s", protoname); + mir_snprintf(buf2, SIZEOF(buf2), "Contact list/Connection Icons %s", protoname); LoadIconFromExternalFile(NULL,i,TRUE,TRUE,buf,buf2,buf,0,GetConnectingIconForProto_DLL(protoname,i)); } @@ -269,7 +269,7 @@ HICON GetConnectingIconForProto(char *szProto,int b) char buf[256]; mir_snprintf(buf, SIZEOF(buf), "%s #%d", szProto, b); - hIcon = LoadIconFromExternalFile(NULL,b,TRUE,FALSE,buf,"Contact List/Connection Icons",buf,0,NULL); + hIcon = LoadIconFromExternalFile(NULL,b,TRUE,FALSE,buf,"Contact list/Connection icons",buf,0,NULL); if (hIcon == NULL) return (GetConnectingIconForProto_DLL(szProto,b)); return (CopyIcon(hIcon)); } diff --git a/plugins/Clist_mw/src/cluiopts.cpp b/plugins/Clist_mw/src/cluiopts.cpp index be38c3ef31..1e8aab4792 100644 --- a/plugins/Clist_mw/src/cluiopts.cpp +++ b/plugins/Clist_mw/src/cluiopts.cpp @@ -39,7 +39,7 @@ int CluiOptInit(WPARAM wParam,LPARAM lParam) odp.hInstance = g_hInst; odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_CLUI); odp.pszTitle = LPGEN("Window"); - odp.pszGroup = LPGEN("Contact List"); + odp.pszGroup = LPGEN("Contact list"); odp.pfnDlgProc = DlgProcCluiOpts; odp.flags = ODPF_BOLDGROUPS; Options_AddPage(wParam, &odp); diff --git a/plugins/Clist_mw/src/groupmenu.cpp b/plugins/Clist_mw/src/groupmenu.cpp index fdd3af5b08..cd64420626 100644 --- a/plugins/Clist_mw/src/groupmenu.cpp +++ b/plugins/Clist_mw/src/groupmenu.cpp @@ -222,7 +222,7 @@ static int OnBuildGroupMenu(WPARAM wParam,LPARAM lParam) int static OnIconLibIconChanged(WPARAM wParam,LPARAM lParam) { - HICON hicon = LoadIconFromExternalFile("clisticons.dll",2,TRUE,FALSE,"NewGroup","Contact List","New Group",-IDI_NEWGROUP,0); + HICON hicon = LoadIconFromExternalFile("clisticons.dll",2,TRUE,FALSE,"NewGroup","Contact list","New Group",-IDI_NEWGROUP,0); NewGroupIconidx = ImageList_ReplaceIcon(hCListImages,NewGroupIconidx,hicon); CLISTMENUITEM mi = { sizeof(mi) }; @@ -235,7 +235,7 @@ int static OnIconLibIconChanged(WPARAM wParam,LPARAM lParam) void InitGroupMenus(void) { - HICON hicon = LoadIconFromExternalFile("clisticons.dll",2,TRUE,TRUE,"NewGroup","Contact List","New Group",-IDI_NEWGROUP2,0); + HICON hicon = LoadIconFromExternalFile("clisticons.dll",2,TRUE,TRUE,"NewGroup","Contact list","New Group",-IDI_NEWGROUP2,0); NewGroupIconidx = ImageList_AddIcon(hCListImages,hicon ); CreateServiceFunction("CLISTMENUSGroup/ExecService",GroupMenuExecService); diff --git a/plugins/Clist_nicer/src/clcopts.cpp b/plugins/Clist_nicer/src/clcopts.cpp index cc9fc0dc3b..f9b9cec494 100644 --- a/plugins/Clist_nicer/src/clcopts.cpp +++ b/plugins/Clist_nicer/src/clcopts.cpp @@ -531,7 +531,7 @@ int ClcOptInit(WPARAM wParam, LPARAM lParam) odp.position = -1000000000; odp.flags = ODPF_BOLDGROUPS; - odp.pszTitle = LPGEN("Contact List"); + odp.pszTitle = LPGEN("Contact list"); odp.pszTab = LPGEN("General"); odp.pfnDlgProc = DlgProcGenOpts; odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_CLIST); @@ -561,7 +561,7 @@ int ClcOptInit(WPARAM wParam, LPARAM lParam) // Contact rows tabs odp.position = 0; - odp.pszGroup = LPGEN("Contact List"); + odp.pszGroup = LPGEN("Contact list"); odp.pszTitle = LPGEN("Contact rows"); odp.pszTab = LPGEN("Contacts"); odp.pfnDlgProc = DlgProcDspItems; diff --git a/plugins/Clist_nicer/src/clui.cpp b/plugins/Clist_nicer/src/clui.cpp index afe7abbc24..9a3f756193 100644 --- a/plugins/Clist_nicer/src/clui.cpp +++ b/plugins/Clist_nicer/src/clui.cpp @@ -1987,63 +1987,58 @@ void OnCreateClc() PreCreateCLC(pcli->hwndContactList); } -static struct { - UINT id; - TCHAR *name; -} _tagFSINFO[] = { - FONTID_CONTACTS, LPGENT( "Standard contacts"), - FONTID_INVIS, LPGENT( "Online contacts to whom you have a different visibility"), - FONTID_OFFLINE, LPGENT( "Offline contacts"), - FONTID_OFFINVIS, LPGENT( "Offline contacts to whom you have a different visibility" ), - FONTID_NOTONLIST, LPGENT( "Contacts which are 'not on list'"), - FONTID_GROUPS, LPGENT( "Groups"), - FONTID_GROUPCOUNTS, LPGENT( "Group member counts"), - FONTID_DIVIDERS, LPGENT( "Dividers"), - FONTID_STATUS, LPGENT("Status mode"), - FONTID_FRAMETITLE, LPGENT("Frame titles"), - FONTID_EVENTAREA, LPGENT("Event area"), - FONTID_TIMESTAMP, LPGENT("Contact list local time"), - 0, NULL +struct +{ + const TCHAR *tszName; + int iMask; +} +static clistFontDescr[] = +{ + { LPGENT("Standard contacts"), FIDF_CLASSGENERAL }, + { LPGENT("Online contacts to whom you have a different visibility"), FIDF_CLASSGENERAL }, + { LPGENT("Offline contacts"), FIDF_CLASSGENERAL }, + { LPGENT("Contacts which are 'not on list'"), FIDF_CLASSGENERAL }, + { LPGENT("Groups"), FIDF_CLASSHEADER }, + { LPGENT("Group member counts"), FIDF_CLASSHEADER }, + { LPGENT("Dividers"), FIDF_CLASSSMALL }, + { LPGENT("Offline contacts to whom you have a different visibility"), FIDF_CLASSGENERAL }, + { LPGENT("Status mode"), FIDF_CLASSGENERAL }, + { LPGENT("Frame titles"), FIDF_CLASSGENERAL }, + { LPGENT("Event area"), FIDF_CLASSGENERAL }, + { LPGENT("Contact list local time"), FIDF_CLASSGENERAL } }; void FS_RegisterFonts() { - FontIDT fid = {0}; - char szTemp[50]; - DBVARIANT dbv; - int j = 0; - - fid.cbSize = sizeof(fid); - _tcsncpy(fid.group, LPGENT("Contact List"), SIZEOF(fid.group)); + FontIDT fid = { sizeof(fid) }; + _tcsncpy(fid.group, LPGENT("Contact list"), SIZEOF(fid.group)); strncpy(fid.dbSettingsGroup, "CLC", 5); fid.flags = FIDF_DEFAULTVALID | FIDF_ALLOWEFFECTS | FIDF_APPENDNAME | FIDF_SAVEPOINTSIZE; - while (_tagFSINFO[j].name != 0) { - mir_snprintf(szTemp, sizeof(szTemp), "Font%d", _tagFSINFO[j].id); - strncpy(fid.prefix, szTemp, sizeof(fid.prefix)); - fid.order = _tagFSINFO[j].id; - _tcsncpy(fid.backgroundGroup, LPGENT("Contact List"), SIZEOF(fid.backgroundGroup)); - _tcsncpy(fid.backgroundName, LPGENT("Background"), SIZEOF(fid.backgroundName)); - _tcsncpy(fid.name, _tagFSINFO[j].name, SIZEOF(fid.name)); - mir_snprintf(szTemp, sizeof(szTemp), "Font%dCol", _tagFSINFO[j].id); - fid.deffontsettings.colour = (COLORREF)cfg::getDword("CLC", szTemp, GetSysColor(COLOR_WINDOWTEXT)); - - mir_snprintf(szTemp, sizeof(szTemp), "Font%dSize", _tagFSINFO[j].id); - fid.deffontsettings.size = (BYTE)cfg::getByte("CLC", szTemp, 8); - - mir_snprintf(szTemp, sizeof(szTemp), "Font%dSty", _tagFSINFO[j].id); - fid.deffontsettings.style = cfg::getByte("CLC", szTemp, 0); - mir_snprintf(szTemp, sizeof(szTemp), "Font%dSet", _tagFSINFO[j].id); - fid.deffontsettings.charset = cfg::getByte("CLC", szTemp, DEFAULT_CHARSET); - mir_snprintf(szTemp, sizeof(szTemp), "Font%dName", _tagFSINFO[j].id); - if (cfg::getTString(NULL, "CLC", szTemp, &dbv)) - lstrcpyn(fid.deffontsettings.szFace, _T("Arial"), LF_FACESIZE); - else { - lstrcpyn(fid.deffontsettings.szFace, dbv.ptszVal, LF_FACESIZE); - db_free(&dbv); - } + + HDC hdc = GetDC(NULL); + for (int i = 0; i < SIZEOF(clistFontDescr); i++) { + LOGFONT lf; + pcli->pfnGetFontSetting(i, &lf, &fid.deffontsettings.colour); + lf.lfHeight = -MulDiv(lf.lfHeight, GetDeviceCaps(hdc, LOGPIXELSY), 72); + + _tcsncpy_s(fid.deffontsettings.szFace, SIZEOF(fid.deffontsettings.szFace), lf.lfFaceName, _TRUNCATE); + fid.deffontsettings.charset = lf.lfCharSet; + fid.deffontsettings.size = (char)lf.lfHeight; + fid.deffontsettings.style = (lf.lfWeight >= FW_BOLD ? DBFONTF_BOLD : 0) | (lf.lfItalic ? DBFONTF_ITALIC : 0); + + fid.flags &= ~FIDF_CLASSMASK; + fid.flags |= clistFontDescr[i].iMask; + + _tcsncpy(fid.name, clistFontDescr[i].tszName, SIZEOF(fid.name)); + + char idstr[10]; + mir_snprintf(idstr, SIZEOF(idstr), "Font%d", i); + strncpy(fid.prefix, idstr, SIZEOF(fid.prefix)); + fid.order = i; FontRegisterT(&fid); - j++; } + ReleaseDC(NULL, hdc); + // and colours ColourIDT colourid = {0}; colourid.cbSize = sizeof(colourid); @@ -2052,7 +2047,7 @@ void FS_RegisterFonts() strncpy(colourid.setting, "BkColour", sizeof(colourid.setting)); _tcsncpy(colourid.name, LPGENT("Background"), SIZEOF(colourid.name)); - _tcsncpy(colourid.group, LPGENT("Contact List"), SIZEOF(colourid.group)); + _tcsncpy(colourid.group, LPGENT("Contact list"), SIZEOF(colourid.group)); colourid.defcolour = CLCDEFAULT_BKCOLOUR; ColourRegisterT(&colourid); -- cgit v1.2.3