From fd67a89688262e4e58337c33728488f5f29196a8 Mon Sep 17 00:00:00 2001 From: Szymon Tokarz Date: Wed, 17 Oct 2012 21:05:02 +0000 Subject: Tlen protocol adopted - code moved to trunk\protocols folder - update project files (based on rev: 27, 228, 204, 350, 279, 280, 1374, 278) - changed code organisation to c++ convention (based on rev: 1092, 503, 504) - changed code to Miranda NG convention (based on rev: 49, 54, 312, 401, 321, 358, 410, 441, 477, 483, 496, 507, 515, 644, 652, 743, 956, 1206, 667, 1040, 1590, 1857) - folders restructurization (based on rev: 1890) - code cleaning (based on rev: 270, 398, 409) - this commit includes adopted sources of tlen_czaty.dll (former mucc.dll) plugin witch is now deprecated and will be removed -- wsx22{at}o2.pl git-svn-id: http://svn.miranda-ng.org/main/trunk@1972 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/!NotAdopted/Tlen/tlen_czaty/Options.cpp | 789 ------------------------ 1 file changed, 789 deletions(-) delete mode 100644 plugins/!NotAdopted/Tlen/tlen_czaty/Options.cpp (limited to 'plugins/!NotAdopted/Tlen/tlen_czaty/Options.cpp') diff --git a/plugins/!NotAdopted/Tlen/tlen_czaty/Options.cpp b/plugins/!NotAdopted/Tlen/tlen_czaty/Options.cpp deleted file mode 100644 index 8e0f093ddd..0000000000 --- a/plugins/!NotAdopted/Tlen/tlen_czaty/Options.cpp +++ /dev/null @@ -1,789 +0,0 @@ -/* - -MUCC Group Chat GUI Plugin for Miranda IM -Copyright (C) 2004 Piotr Piastucki - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -*/ - -#include "mucc.h" -#include "Options.h" -#include "ChatWindow.h" -#include "Utils.h" -#include "resource.h" -#include -#include "m_ieview.h" - -static INT_PTR CALLBACK MUCCOptDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); -//static INT_PTR CALLBACK MUCCLogOptDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); -//static INT_PTR CALLBACK MUCCPopupsDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - - -COLORREF Options::colorListBg, Options::colorInputBg, Options::colorLogBg, Options::chatWindowFontColor; -HBRUSH Options::brushListBg=NULL, Options::brushInputBg=NULL, Options::brushLogBg=NULL; -int Options::logLimit, Options::chatWindowOptions, Options::chatContainerOptions; -int Options::chatWindowFont, Options::chatWindowFontSize, Options::chatWindowFontStyle; - -void Options::setListBgColor(COLORREF c) { - colorListBg = c; - if (brushListBg != NULL) { - DeleteObject(brushListBg); - } - brushListBg = CreateSolidBrush(colorListBg); -} - -void Options::setInputBgColor(COLORREF c) { - colorInputBg = c; - if (brushInputBg!= NULL) { - DeleteObject(brushInputBg); - } - brushInputBg = CreateSolidBrush(colorInputBg); -} - -void Options::setLogBgColor(COLORREF c) { - colorLogBg = c; - if (brushLogBg!= NULL) { - DeleteObject(brushLogBg); - } - brushLogBg = CreateSolidBrush(colorLogBg); -} - -COLORREF Options::getListBgColor() { - return colorListBg; -} - -COLORREF Options::getInputBgColor() { - return colorInputBg; -} - -COLORREF Options::getLogBgColor() { - return colorLogBg; -} - -HBRUSH Options::getListBgBrush() { - return brushListBg; -} - -HBRUSH Options::getInputBgBrush() { - return brushInputBg; -} - -HBRUSH Options::getLogBgBrush() { - return brushLogBg; -} - -void Options::setLogLimit(int l) { - logLimit = l; -} - -int Options::getLogLimit() { - return logLimit; -} - -void Options::setChatWindowFont(int o) { - chatWindowFont = o; -} - -int Options::getChatWindowFont() { - return chatWindowFont; -} - -void Options::setChatWindowFontSize(int o) { - chatWindowFontSize = o; -} - -int Options::getChatWindowFontSize() { - return chatWindowFontSize; -} - -void Options::setChatWindowFontStyle(int o) { - chatWindowFontStyle = o; -} - -int Options::getChatWindowFontStyle() { - return chatWindowFontStyle; -} - -void Options::setChatWindowFontColor(COLORREF o) { - chatWindowFontColor = o; -} - -COLORREF Options::getChatWindowFontColor() { - return chatWindowFontColor; -} - -void Options::setChatWindowOptions(int o) { - chatWindowOptions = o; -} - -int Options::getChatWindowOptions() { - return chatWindowOptions; -} - -void Options::setChatContainerOptions(int o) { - chatContainerOptions = o; -} - -int Options::getChatContainerOptions() { - return chatContainerOptions; -} - -void Options::setExpandFlags(int o) { - DBWriteContactSettingDword(NULL, muccModuleName, "ExpandFlags", o); -} - -int Options::getExpandFlags() { - return DBGetContactSettingDword(NULL, muccModuleName, "ExpandFlags", 0xFFFFFFFF); -} - -void Options::loadSettings() { - FontList::loadSettings(); - setLogBgColor((COLORREF)DBGetContactSettingDword(NULL, muccModuleName, "BackgroundLog", 0xFFFFFF)); - setListBgColor((COLORREF)DBGetContactSettingDword(NULL, muccModuleName, "BackgroundList", 0xFFFFFF)); - setInputBgColor((COLORREF)DBGetContactSettingDword(NULL, muccModuleName, "BackgroundTyping", 0xFFFFFF)); - setLogLimit(DBGetContactSettingDword(NULL, muccModuleName, "LogSizeLimit", 100)); - setChatContainerOptions(DBGetContactSettingDword(NULL, muccModuleName, "ChatContainerOptions", ChatContainer::getDefaultOptions())); - setChatWindowOptions(DBGetContactSettingDword(NULL, muccModuleName, "ChatWindowOptions", ChatWindow::getDefaultOptions())); - setChatWindowFont(DBGetContactSettingDword(NULL, muccModuleName, "ChatWindowFont", 0)); - setChatWindowFontSize(DBGetContactSettingDword(NULL, muccModuleName, "ChatWindowFontSize", 5)); - setChatWindowFontStyle(DBGetContactSettingDword(NULL, muccModuleName, "ChatWindowFontStyle", 0)); - setChatWindowFontColor(DBGetContactSettingDword(NULL, muccModuleName, "ChatWindowFontColor", 0)); -} - -void Options::saveSettings() { - FontList::saveSettings(); - DBWriteContactSettingDword(NULL, muccModuleName, "BackgroundLog", colorLogBg); - DBWriteContactSettingDword(NULL, muccModuleName, "BackgroundList", colorListBg); - DBWriteContactSettingDword(NULL, muccModuleName, "BackgroundTyping", colorInputBg); - DBWriteContactSettingDword(NULL, muccModuleName, "LogSizeLimit", logLimit); - DBWriteContactSettingDword(NULL, muccModuleName, "ChatContainerOptions", chatContainerOptions); - DBWriteContactSettingDword(NULL, muccModuleName, "ChatWindowOptions", chatWindowOptions); - DBWriteContactSettingDword(NULL, muccModuleName, "ChatWindowFont", chatWindowFont); - DBWriteContactSettingDword(NULL, muccModuleName, "ChatWindowFontSize", chatWindowFontSize); - DBWriteContactSettingDword(NULL, muccModuleName, "ChatWindowFontStyle", chatWindowFontStyle); - DBWriteContactSettingDword(NULL, muccModuleName, "ChatWindowFontColor", chatWindowFontColor); -} - -void Options::init() -{ - FontList::init(); - loadSettings(); -} - -int MUCCOptInit(WPARAM wParam, LPARAM lParam) -{ - OPTIONSDIALOGPAGE odp; - - ZeroMemory(&odp, sizeof(odp)); - odp.cbSize = sizeof(odp); - odp.position = 0; - odp.hInstance = hInst; - odp.pszGroup = Translate("Network"); - odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPTIONS); -// odp.pszTitle = muccModuleName; - odp.pszTitle = "Tlen czaty"; - odp.flags = ODPF_BOLDGROUPS; - odp.pfnDlgProc = MUCCOptDlgProc; - odp.nIDBottomSimpleControl = 0; - CallService(MS_OPT_ADDPAGE, wParam, (LPARAM) &odp); - - /* - odp.pszTemplate = MAKEINTRESOURCE(IDD_OPTIONS_LOG); - _snprintf(str, sizeof(str), "%s %s", muccModuleName, Translate("Log")); - str[sizeof(str)-1] = '\0'; - odp.pszTitle = str; - odp.pfnDlgProc = MUCCLLogOptDlgProc; - odp.flags = ODPF_BOLDGROUPS|ODPF_EXPERTONLY; - odp.nIDBottomSimpleControl = 0; - CallService(MS_OPT_ADDPAGE, wParam, (LPARAM) &odp); - if (ServiceExists(MS_POPUP_ADDPOPUP)) { - ZeroMemory(&odp,sizeof(odp)); - odp.cbSize = sizeof(odp); - odp.position = 100000000; - odp.hInstance = hInst; - odp.pszGroup = Translate("PopUps"); - odp.pszTemplate = MAKEINTRESOURCE(IDD_OPTIONS_POPUPS); - odp.pszTitle = jabberModuleName; - odp.flags=ODPF_BOLDGROUPS; - odp.pfnDlgProc = TlenPopupsDlgProc; - odp.nIDBottomSimpleControl = 0; - CallService(MS_OPT_ADDPAGE,wParam,(LPARAM)&odp); - } - -*/ - return 0; -} - - -static int getOptions(HWND hTreeControl, HTREEITEM hItem, int flags) { - TVITEM tvi = {0}; - tvi.mask = TVIF_HANDLE | TVIF_STATE | TVIF_PARAM; - tvi.stateMask = TVIS_STATEIMAGEMASK; - tvi.hItem = hItem; - TreeView_GetItem(hTreeControl, &tvi); - if ((tvi.state>>12) == 2) { - flags |= tvi.lParam; - } else { - flags &= ~tvi.lParam; - } - tvi.hItem = TreeView_GetChild(hTreeControl, hItem); - if (tvi.hItem != NULL) { - flags = getOptions(hTreeControl, tvi.hItem, flags); - } - tvi.hItem=TreeView_GetNextSibling(hTreeControl, hItem); - if (tvi.hItem != NULL) { - flags = getOptions(hTreeControl, tvi.hItem, flags); - } - return flags; - -} - -static int getExpandFlags(HWND hTreeControl) { - TVITEM tvi = {0}; - int flags =0, mask = 1; - tvi.mask = TVIF_HANDLE | TVIF_STATE; - tvi.stateMask = TVIS_EXPANDED; - tvi.hItem = TreeView_GetRoot(hTreeControl); - while (tvi.hItem != NULL) { - TreeView_GetItem(hTreeControl, &tvi); - if (tvi.state & TVIS_EXPANDED) { - flags |= mask; - } - mask <<= 1; - tvi.hItem=TreeView_GetNextSibling(hTreeControl, tvi.hItem); - } - return flags; -} - - -static int addOption(HWND hTreeControl, HTREEITEM hParent, const char *text, int flag) { - TVINSERTSTRUCT tvis; - tvis.hInsertAfter = TVI_LAST; - tvis.hParent = hParent; - tvis.item.mask = TVIF_TEXT | TVIF_STATE | TVIF_PARAM; - char* textA = Translate(text); - LPTSTR textT = Utils::mucc_mir_a2t(textA); - tvis.item.pszText = textT; - tvis.item.lParam = flag; - tvis.item.stateMask = TVIS_STATEIMAGEMASK; - tvis.item.state = Options::getChatWindowOptions() & flag ? INDEXTOSTATEIMAGEMASK(2) : INDEXTOSTATEIMAGEMASK(1); - TreeView_InsertItem(hTreeControl, &tvis); - Utils::mucc_mir_free(textT); - return (Options::getChatWindowOptions() & flag) != 0; - -} - -static INT_PTR CALLBACK MUCCOptDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) -{ - int i; - char *pszText; - switch (msg) { - case WM_INITDIALOG: - { - TVINSERTSTRUCT tvis; - TVITEM tvi; - HWND hTreeControl; - HTREEITEM hItem; - int bCheckParent, expandFlags; - - TranslateDialogDefault(hwndDlg); - Options::loadSettings(); - for (i=0;igetColor()); - SendDlgItemMessage(hwndDlg, IDC_COLORBKG, CPM_SETCOLOUR, 0, Options::getLogBgColor()); - SendDlgItemMessage(hwndDlg, IDC_COLORLIST, CPM_SETCOLOUR, 0, Options::getListBgColor()); - SendDlgItemMessage(hwndDlg, IDC_COLORINPUT, CPM_SETCOLOUR, 0, Options::getInputBgColor()); - SendDlgItemMessage(hwndDlg, IDC_LOGLIMITSPIN, UDM_SETRANGE, 0, MAKELONG(1000,20)); - SendDlgItemMessage(hwndDlg, IDC_LOGLIMITSPIN, UDM_SETPOS, 0, MAKELONG(Options::getLogLimit(), 0)); - - SetWindowLong(GetDlgItem(hwndDlg,IDC_TREELIST),GWL_STYLE,GetWindowLong(GetDlgItem(hwndDlg,IDC_TREELIST),GWL_STYLE)|TVS_NOHSCROLL|TVS_CHECKBOXES); - - - hTreeControl = GetDlgItem(hwndDlg, IDC_TREELIST); - expandFlags = Options::getExpandFlags(); - tvis.hInsertAfter = TVI_LAST; - tvis.item.mask = TVIF_TEXT | TVIF_PARAM; - tvis.hParent = NULL; - tvis.item.lParam = 0; - - tvi.mask = TVIF_HANDLE | TVIF_STATE; - tvi.stateMask = TVIS_STATEIMAGEMASK; - - tvis.item.pszText = TranslateT("Default Log Appearence"); - hItem = TreeView_InsertItem(hTreeControl, &tvis); - bCheckParent = 1; - bCheckParent &= addOption(hTreeControl, hItem, "Show nicknames", ChatWindow::FLAG_SHOW_NICKNAMES); - bCheckParent &= addOption(hTreeControl, hItem, "Show message on a new line", ChatWindow::FLAG_MSGINNEWLINE); - tvi.state = (bCheckParent ? INDEXTOSTATEIMAGEMASK(2) : INDEXTOSTATEIMAGEMASK(1)); - tvi.hItem = hItem; - TreeView_SetItem(hTreeControl, &tvi); - if (expandFlags & 1) { - TreeView_Expand(hTreeControl, hItem, TVE_EXPAND); - } - - tvis.item.pszText = TranslateT("Default Timestamp Settings"); - hItem = TreeView_InsertItem(hTreeControl, &tvis); - bCheckParent = 1; - bCheckParent &= addOption(hTreeControl, hItem, "Show date", ChatWindow::FLAG_SHOW_DATE); - bCheckParent &= addOption(hTreeControl, hItem, "Show timestamp", ChatWindow::FLAG_SHOW_TIMESTAMP); - bCheckParent &= addOption(hTreeControl, hItem, "Show seconds", ChatWindow::FLAG_SHOW_SECONDS); - bCheckParent &= addOption(hTreeControl, hItem, "Use long date format", ChatWindow::FLAG_LONG_DATE); - tvi.state = (bCheckParent ? INDEXTOSTATEIMAGEMASK(2) : INDEXTOSTATEIMAGEMASK(1)); - tvi.hItem = hItem; - TreeView_SetItem(hTreeControl, &tvi); - if (expandFlags & 2) { - TreeView_Expand(hTreeControl, hItem, TVE_EXPAND); - } - - tvis.item.pszText = TranslateT("Default Text Formatting Filter"); - hItem = TreeView_InsertItem(hTreeControl, &tvis); - bCheckParent = 1; - bCheckParent &= addOption(hTreeControl, hItem, "Font name", ChatWindow::FLAG_FORMAT_FONT); - bCheckParent &= addOption(hTreeControl, hItem, "Font size", ChatWindow::FLAG_FORMAT_SIZE); - bCheckParent &= addOption(hTreeControl, hItem, "Font style", ChatWindow::FLAG_FORMAT_STYLE); - bCheckParent &= addOption(hTreeControl, hItem, "Font color", ChatWindow::FLAG_FORMAT_COLOR); - tvi.state = (bCheckParent ? INDEXTOSTATEIMAGEMASK(2) : INDEXTOSTATEIMAGEMASK(1)); - tvi.hItem = hItem; - TreeView_SetItem(hTreeControl, &tvi); - if (expandFlags & 4) { - TreeView_Expand(hTreeControl, hItem, TVE_EXPAND); - } - - tvis.item.pszText = TranslateT("Default Event Filter"); - hItem = TreeView_InsertItem(hTreeControl, &tvis); - bCheckParent = 1; - bCheckParent &= addOption(hTreeControl, hItem, "Messages", ChatWindow::FLAG_LOG_MESSAGES); - bCheckParent &= addOption(hTreeControl, hItem, "User has joined", ChatWindow::FLAG_LOG_JOINED); - bCheckParent &= addOption(hTreeControl, hItem, "User has left", ChatWindow::FLAG_LOG_LEFT); - bCheckParent &= addOption(hTreeControl, hItem, "Topic changes", ChatWindow::FLAG_LOG_TOPIC); - tvi.state = (bCheckParent ? INDEXTOSTATEIMAGEMASK(2) : INDEXTOSTATEIMAGEMASK(1)); - tvi.hItem = hItem; - TreeView_SetItem(hTreeControl, &tvi); - if (expandFlags & 8) { - TreeView_Expand(hTreeControl, hItem, TVE_EXPAND); - } - - tvis.item.pszText = TranslateT("Default Window Flashing"); - hItem = TreeView_InsertItem(hTreeControl, &tvis); - bCheckParent = 1; - bCheckParent &= addOption(hTreeControl, hItem, "Messages", ChatWindow::FLAG_FLASH_MESSAGES); - bCheckParent &= addOption(hTreeControl, hItem, "User has joined", ChatWindow::FLAG_FLASH_JOINED); - bCheckParent &= addOption(hTreeControl, hItem, "User has left", ChatWindow::FLAG_FLASH_LEFT); - bCheckParent &= addOption(hTreeControl, hItem, "Topic changes", ChatWindow::FLAG_FLASH_TOPIC); - tvi.state = (bCheckParent ? INDEXTOSTATEIMAGEMASK(2) : INDEXTOSTATEIMAGEMASK(1)); - tvi.hItem = hItem; - TreeView_SetItem(hTreeControl, &tvi); - if (expandFlags & 16) { - TreeView_Expand(hTreeControl, hItem, TVE_EXPAND); - } - - CheckDlgButton(hwndDlg, IDC_SENDONENTER, Options::getChatWindowOptions() & ChatWindow::FLAG_OPT_SENDONENTER); - CheckDlgButton(hwndDlg, IDC_ENABLEIEVIEW, Options::getChatWindowOptions() & ChatWindow::FLAG_OPT_ENABLEIEVIEW); - if (!ServiceExists(MS_IEVIEW_WINDOW)) { - EnableWindow(GetDlgItem(hwndDlg, IDC_ENABLEIEVIEW), FALSE); - } - CheckDlgButton(hwndDlg, IDC_USETABS, Options::getChatContainerOptions() & ChatContainer::FLAG_USE_TABS); - - } - case WM_MEASUREITEM: - if (wParam == IDC_FONTLIST) { - MEASUREITEMSTRUCT *lpMis = (MEASUREITEMSTRUCT *) lParam; - HFONT hFont, hoFont; - HDC hDC; - SIZE fontSize; - int iItem = lpMis->itemData - 1; - Font *font = Options::getFontSettings(iItem); - if (font != NULL) { - - LPTSTR lps1 = Utils::mucc_mir_a2t(font->getFace()); - hFont = CreateFont(font->getSize(), 0, 0, 0, - font->getStyle() & Font::BOLD ? FW_BOLD : FW_NORMAL, - font->getStyle() & Font::ITALIC ? 1 : 0, 0, 0, - font->getCharSet(), - OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, lps1); - Utils::mucc_mir_free(lps1); - - hDC = GetDC(GetDlgItem(hwndDlg, lpMis->CtlID)); - hoFont = (HFONT) SelectObject(hDC, hFont); - pszText = Translate(Options::getFontSettings(iItem)->getName()); - LPTSTR pszTextT1 = Utils::mucc_mir_a2t(pszText); - GetTextExtentPoint32(hDC, pszTextT1, lstrlen(pszTextT1), &fontSize); - Utils::mucc_mir_free(pszTextT1); - SelectObject(hDC, hoFont); - ReleaseDC(GetDlgItem(hwndDlg, lpMis->CtlID), hDC); - DeleteObject(hFont); - lpMis->itemWidth = fontSize.cx; - lpMis->itemHeight = fontSize.cy; - return TRUE; - } - break; - } - case WM_DRAWITEM: - if (wParam == IDC_FONTLIST) { - DRAWITEMSTRUCT *lpDis = (DRAWITEMSTRUCT *) lParam; - HFONT hFont; - HBRUSH hBrush; - int iItem = lpDis->itemData - 1; - Font *font = Options::getFontSettings(iItem); - if (font != NULL) { - COLORREF color = (COLORREF) SendDlgItemMessage(hwndDlg, IDC_COLORBKG, CPM_GETCOLOUR, 0, 0); - if (iItem == Options::FONT_USERLIST || iItem == Options::FONT_USERLISTGROUP) { - color = (COLORREF) SendDlgItemMessage(hwndDlg, IDC_COLORLIST, CPM_GETCOLOUR, 0, 0); - } else if (iItem == Options::FONT_TYPING) { - color = (COLORREF) SendDlgItemMessage(hwndDlg, IDC_COLORINPUT, CPM_GETCOLOUR, 0, 0); - } - hBrush = CreateSolidBrush(color); - - LPTSTR lps2 = Utils::mucc_mir_a2t(font->getFace()); - hFont = CreateFont(font->getSize(), 0, 0, 0, - font->getStyle() & Font::BOLD ? FW_BOLD : FW_NORMAL, - font->getStyle() & Font::ITALIC ? 1 : 0, - font->getStyle() & Font::UNDERLINE ? 1 : 0, 0, - font->getCharSet(), - OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, - lps2); - Utils::mucc_mir_free(lps2); - - hFont = (HFONT) SelectObject(lpDis->hDC, hFont); - SetBkMode(lpDis->hDC, TRANSPARENT); - FillRect(lpDis->hDC, &lpDis->rcItem, hBrush); - if (lpDis->itemState & ODS_SELECTED) { - FrameRect(lpDis->hDC, &lpDis->rcItem, GetSysColorBrush(COLOR_HIGHLIGHT)); - } - SetTextColor(lpDis->hDC, font->getColor()); - pszText = Translate(font->getName()); - LPTSTR pszTextT2 = Utils::mucc_mir_a2t(pszText); - TextOut(lpDis->hDC, lpDis->rcItem.left, lpDis->rcItem.top, pszTextT2, lstrlen(pszTextT2)); - Utils::mucc_mir_free(pszTextT2); - hFont = (HFONT) SelectObject(lpDis->hDC, hFont); - DeleteObject(hBrush); - DeleteObject(hFont); - } - return TRUE; - } - case WM_COMMAND: - switch (LOWORD(wParam)) { - case IDC_COLORTXT: - { - int totalCount = SendDlgItemMessage(hwndDlg, IDC_FONTLIST, LB_GETCOUNT, 0, 0); - int *selItems= new int[totalCount]; - int selCount = SendDlgItemMessage(hwndDlg, IDC_FONTLIST, LB_GETSELITEMS, totalCount, (LPARAM) selItems); - COLORREF color = (COLORREF) SendDlgItemMessage(hwndDlg, IDC_COLORTXT, CPM_GETCOLOUR, 0, 0); - for (int i=0; isetColor(color); - } - } - delete selItems; - InvalidateRect(GetDlgItem(hwndDlg, IDC_FONTLIST), NULL, FALSE); - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - } - break; - case IDC_LOGLIMIT: - if (HIWORD(wParam) == EN_CHANGE && (HWND)lParam==GetFocus()) { - i = GetDlgItemInt(hwndDlg, IDC_LOGLIMIT, NULL, FALSE); - // if (i>1000) { - // i = 1000; - // SetDlgItemInt(hwndDlg, IDC_LOGLIMIT, i, FALSE); - // } - if (i!=Options::getLogLimit()) { - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - } - } - break; - case IDC_COLORBKG: - case IDC_COLORLIST: - case IDC_COLORINPUT: - InvalidateRect(GetDlgItem(hwndDlg, IDC_FONTLIST), NULL, FALSE); - case IDC_SENDONENTER: - case IDC_USETABS: - case IDC_ENABLEIEVIEW: - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - case IDC_FONTLIST: - if (HIWORD(wParam) == LBN_SELCHANGE) { - if (SendDlgItemMessage(hwndDlg, IDC_FONTLIST, LB_GETSELCOUNT, 0, 0) > 1) { - SendDlgItemMessage(hwndDlg, IDC_COLORTXT, CPM_SETCOLOUR, 0, GetSysColor(COLOR_3DFACE)); - SendDlgItemMessage(hwndDlg, IDC_COLORTXT, CPM_SETDEFAULTCOLOUR, 0, GetSysColor(COLOR_WINDOWTEXT)); - } - else { - int iItem = SendDlgItemMessage(hwndDlg, IDC_FONTLIST, LB_GETITEMDATA, - SendDlgItemMessage(hwndDlg, IDC_FONTLIST, LB_GETCURSEL, 0, 0), 0) - 1; - Font *font = Options::getFontSettings(iItem); - if (font != NULL) { - SendDlgItemMessage(hwndDlg, IDC_COLORTXT, CPM_SETCOLOUR, 0, font->getColor()); - SendDlgItemMessage(hwndDlg, IDC_COLORTXT, CPM_SETDEFAULTCOLOUR, 0, font->getColor()); - } - } - } - if (HIWORD(wParam) != LBN_DBLCLK) { - return TRUE; - } - case IDC_CHOOSEFONT: - { - CHOOSEFONT cf; - LOGFONT lf; - int iItem = SendDlgItemMessage(hwndDlg, IDC_FONTLIST, LB_GETITEMDATA, SendDlgItemMessage(hwndDlg, IDC_FONTLIST, LB_GETCURSEL, 0, 0), 0) - 1; - ZeroMemory(&cf, sizeof(cf)); - ZeroMemory(&lf, sizeof(lf)); - Font *font = Options::getFontSettings(iItem); - if (font != NULL) { - lf.lfHeight = font->getSize(); - lf.lfWeight = font->getStyle() & Font::BOLD ? FW_BOLD : FW_NORMAL; - lf.lfItalic = font->getStyle() & Font::ITALIC ? 1 : 0; - lf.lfCharSet = DEFAULT_CHARSET; - lf.lfOutPrecision = OUT_DEFAULT_PRECIS; - lf.lfClipPrecision = CLIP_DEFAULT_PRECIS; - lf.lfQuality = DEFAULT_QUALITY; - lf.lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE; - LPTSTR lps3 = Utils::mucc_mir_a2t(font->getFace()); - lstrcpy(lf.lfFaceName, lps3); - Utils::mucc_mir_free(lps3); - cf.lStructSize = sizeof(cf); - cf.hwndOwner = hwndDlg; - cf.lpLogFont = &lf; - cf.Flags = CF_FORCEFONTEXIST | CF_INITTOLOGFONTSTRUCT | CF_SCREENFONTS; - if (ChooseFont(&cf)) { - int totalCount = SendDlgItemMessage(hwndDlg, IDC_FONTLIST, LB_GETCOUNT, 0, 0); - int *selItems= new int[totalCount]; - int selCount = SendDlgItemMessage(hwndDlg, IDC_FONTLIST, LB_GETSELITEMS, totalCount, (LPARAM) selItems); - for (int i=0; isetStyle((lf.lfWeight >= FW_BOLD ? Font::BOLD : 0) | (lf.lfItalic ? Font::ITALIC : 0)); - font2->setCharSet(lf.lfCharSet); - font2->setSize(lf.lfHeight); - char* lps4 = Utils::mucc_mir_t2a(lf.lfFaceName); - font2->setFace(lps4); - Utils::mucc_mir_free(lps4); - MEASUREITEMSTRUCT mis; - ZeroMemory(&mis, sizeof(mis)); - mis.CtlID = IDC_FONTLIST; - mis.itemData = iItem + 1; - SendMessage(hwndDlg, WM_MEASUREITEM, (WPARAM)IDC_FONTLIST, (LPARAM) & mis); - SendDlgItemMessage(hwndDlg, IDC_FONTLIST, LB_SETITEMHEIGHT, selItems[i], mis.itemHeight); - } - } - delete selItems; - InvalidateRect(GetDlgItem(hwndDlg, IDC_FONTLIST), NULL, TRUE); - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - } - } - return TRUE; - } - break; - } - break; - case WM_DESTROY: - Options::setExpandFlags(getExpandFlags(GetDlgItem(hwndDlg, IDC_TREELIST))); - break; - case WM_NOTIFY: - { - switch (((LPNMHDR) lParam)->code) { - case PSN_APPLY: - COLORREF color; - color = (COLORREF) SendDlgItemMessage(hwndDlg, IDC_COLORLIST, CPM_GETCOLOUR, 0, 0); - Options::setListBgColor(color); - color = (COLORREF) SendDlgItemMessage(hwndDlg, IDC_COLORINPUT, CPM_GETCOLOUR, 0, 0); - Options::setInputBgColor(color); - color = (COLORREF) SendDlgItemMessage(hwndDlg, IDC_COLORBKG, CPM_GETCOLOUR, 0, 0); - Options::setLogBgColor(color); - Options::setLogLimit(SendDlgItemMessage(hwndDlg, IDC_LOGLIMITSPIN, UDM_GETPOS, 0, 0)); - Options::setChatWindowOptions(getOptions(GetDlgItem(hwndDlg, IDC_TREELIST), TreeView_GetRoot(GetDlgItem(hwndDlg, IDC_TREELIST)), 0)); - Options::setChatWindowOptions(Options::getChatWindowOptions() | (IsDlgButtonChecked(hwndDlg, IDC_SENDONENTER) ? ChatWindow::FLAG_OPT_SENDONENTER : 0)); - Options::setChatWindowOptions(Options::getChatWindowOptions() | (IsDlgButtonChecked(hwndDlg, IDC_ENABLEIEVIEW) ? ChatWindow::FLAG_OPT_ENABLEIEVIEW : 0)); - Options::setChatContainerOptions(IsDlgButtonChecked(hwndDlg, IDC_USETABS) ? ChatContainer::FLAG_USE_TABS : 0); - Options::saveSettings(); - ChatWindow::refreshSettings(1); - break; - case NM_CLICK: - /* Handle checking/unchecking options here - update children and parent appropriately */ - if(((LPNMHDR)lParam)->idFrom == IDC_TREELIST) { - 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 = {0}; - tvi.mask = TVIF_HANDLE | TVIF_STATE; - tvi.stateMask = TVIS_STATEIMAGEMASK; - tvi.hItem = hti.hItem; - TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom, &tvi); - tvi.state ^= INDEXTOSTATEIMAGEMASK(3); - tvi.hItem = TreeView_GetChild(((LPNMHDR)lParam)->hwndFrom, hti.hItem); - if (tvi.hItem!=NULL) { - while(tvi.hItem != NULL) { - TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom, &tvi); - tvi.hItem=TreeView_GetNextSibling(((LPNMHDR)lParam)->hwndFrom, tvi.hItem); - } - } else { - HTREEITEM hParent = TreeView_GetParent(((LPNMHDR)lParam)->hwndFrom, hti.hItem); - if (hParent != NULL) { - if ((tvi.state>>12) == 2) { - tvi.hItem = TreeView_GetNextSibling(((LPNMHDR)lParam)->hwndFrom, hti.hItem); - while(tvi.hItem != NULL) { - TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom, &tvi); - if ((tvi.state>>12) != 2) { - break; - } - tvi.hItem = TreeView_GetNextSibling(((LPNMHDR)lParam)->hwndFrom, tvi.hItem); - } - if ((tvi.state>>12) == 2) { - tvi.hItem = TreeView_GetPrevSibling(((LPNMHDR)lParam)->hwndFrom, hti.hItem); - while(tvi.hItem != NULL) { - TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom, &tvi); - if ((tvi.state>>12) != 2) { - break; - } - tvi.hItem = TreeView_GetPrevSibling(((LPNMHDR)lParam)->hwndFrom, tvi.hItem); - } - } - } - tvi.hItem = hParent; - TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom, &tvi); - } - } - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - } - } - } - break; - } - } - break; - } - return FALSE; -} - -/* -#define POPUP_DEFAULT_COLORBKG 0xDCBDA5 -#define POPUP_DEFAULT_COLORTXT 0x000000 -static void MailPopupPreview(DWORD colorBack, DWORD colorText, char *title, char *emailInfo, int delay) -{ - POPUPDATAEX ppd; - char * lpzContactName; - char * lpzText; - - lpzContactName = title; - lpzText = emailInfo; - ZeroMemory(&ppd, sizeof(ppd)); - ppd.lchContact = NULL; - ppd.lchIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_MAIL)); - lstrcpy(ppd.lpzContactName, lpzContactName); - lstrcpy(ppd.lpzText, lpzText); - ppd.colorBack = colorBack; - ppd.colorText = colorText; - ppd.PluginWindowProc = NULL; - ppd.PluginData=NULL; - if ( ServiceExists( MS_POPUP_ADDPOPUPEX )) { - ppd.iSeconds = delay; - CallService(MS_POPUP_ADDPOPUPEX, (WPARAM)&ppd, 0); - - } - else if ( ServiceExists( MS_POPUP_ADDPOPUP )) { - CallService(MS_POPUP_ADDPOPUP, (WPARAM)&ppd, 0); - } -} -*/ -//static INT_PTR CALLBACK MUCCPopupsDlgProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) -//{ - /* - switch (msg) { - case WM_INITDIALOG: - { - BYTE delayMode; - CheckDlgButton(hwndDlg, IDC_ENABLEPOPUP, DBGetContactSettingByte(NULL, jabberProtoName, "MailPopupEnabled", TRUE)); - SendDlgItemMessage(hwndDlg, IDC_COLORBKG, CPM_SETCOLOUR, 0, DBGetContactSettingDword(NULL, jabberProtoName, "MailPopupBack", POPUP_DEFAULT_COLORBKG)); - SendDlgItemMessage(hwndDlg, IDC_COLORTXT, CPM_SETCOLOUR, 0, DBGetContactSettingDword(NULL, jabberProtoName, "MailPopupText", POPUP_DEFAULT_COLORTXT)); - SetDlgItemInt(hwndDlg, IDC_DELAY, DBGetContactSettingDword(NULL, jabberProtoName, "MailPopupDelay", 4), FALSE); - delayMode = DBGetContactSettingByte(NULL, jabberProtoName, "MailPopupDelayMode", 0); - if (delayMode==1) { - CheckDlgButton(hwndDlg, IDC_DELAY_CUSTOM, TRUE); - } else if (delayMode==2) { - CheckDlgButton(hwndDlg, IDC_DELAY_PERMANENT, TRUE); - } else { - CheckDlgButton(hwndDlg, IDC_DELAY_POPUP, TRUE); - } - return TRUE; - } - case WM_COMMAND: - switch (LOWORD(wParam)) { - case IDC_COLORTXT: - case IDC_COLORBKG: - case IDC_ENABLEPOPUP: - case IDC_DELAY: - case IDC_DELAY_POPUP: - case IDC_DELAY_CUSTOM: - case IDC_DELAY_PERMANENT: - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - case IDC_PREVIEW: - { - int delay; - if (IsDlgButtonChecked(hwndDlg, IDC_DELAY_POPUP)) { - delay=0; - } else if (IsDlgButtonChecked(hwndDlg, IDC_DELAY_PERMANENT)) { - delay=-1; - } else { - delay=GetDlgItemInt(hwndDlg, IDC_DELAY, NULL, FALSE); - } - MailPopupPreview((DWORD) SendDlgItemMessage(hwndDlg,IDC_COLORBKG,CPM_GETCOLOUR,0,0), - (DWORD) SendDlgItemMessage(hwndDlg,IDC_COLORTXT,CPM_GETCOLOUR,0,0), - "New mail", - "From: test@test.test\nSubject: test", - delay); - } - - } - break; - - - case WM_NOTIFY: - switch (((LPNMHDR) lParam)->code) { - case PSN_APPLY: - { - BYTE delayMode; - DBWriteContactSettingByte(NULL, jabberProtoName, "MailPopupEnabled", (BYTE) IsDlgButtonChecked(hwndDlg, IDC_ENABLEPOPUP)); - DBWriteContactSettingDword(NULL, jabberProtoName, "MailPopupBack", (DWORD) SendDlgItemMessage(hwndDlg,IDC_COLORBKG,CPM_GETCOLOUR,0,0)); - DBWriteContactSettingDword(NULL, jabberProtoName, "MailPopupText", (DWORD) SendDlgItemMessage(hwndDlg,IDC_COLORTXT,CPM_GETCOLOUR,0,0)); - DBWriteContactSettingDword(NULL, jabberProtoName, "MailPopupDelay", (DWORD) GetDlgItemInt(hwndDlg,IDC_DELAY, NULL, FALSE)); - delayMode=0; - if (IsDlgButtonChecked(hwndDlg, IDC_DELAY_CUSTOM)) { - delayMode=1; - } else if (IsDlgButtonChecked(hwndDlg, IDC_DELAY_PERMANENT)) { - delayMode=2; - - } - DBWriteContactSettingByte(NULL, jabberProtoName, "MailPopupDelayMode", delayMode); - return TRUE; - } - } - break; - - }*/ -// return FALSE; -//} - -- cgit v1.2.3