From 03d88e9750c2d983318035dcd33da24875799b4c Mon Sep 17 00:00:00 2001 From: watcherhd Date: Wed, 11 Jan 2012 22:21:29 +0000 Subject: historylinklistplus: folder rename git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@257 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- historylinklistplus/linklist_dlg.c | 1002 ------------------------------------ 1 file changed, 1002 deletions(-) delete mode 100644 historylinklistplus/linklist_dlg.c (limited to 'historylinklistplus/linklist_dlg.c') diff --git a/historylinklistplus/linklist_dlg.c b/historylinklistplus/linklist_dlg.c deleted file mode 100644 index 3cd20ac..0000000 --- a/historylinklistplus/linklist_dlg.c +++ /dev/null @@ -1,1002 +0,0 @@ -// History Linklist Plus -// Copyright (C) 2010 Thomas Wendel, gureedo -// -// 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -#include -#include -#include "resource.h" -#ifdef _DEBUG -#include -#endif - -// Miranda SDK Includes -#pragma warning(disable:4996) -#pragma warning(disable:4100) -#include -#include -#include -#include -#include -#pragma warning(default:4100) -#pragma warning(default:4996) - -#include "linklist.h" -#include "linklist_dlg.h" -#include "linklist_fct.h" -#include "language.h" - -extern HINSTANCE hInst; -extern HANDLE hWindowList; -extern PLUGININFO pluginInfo; -extern HCURSOR splitCursor; - -MYCOLOURSET colourSet; -WNDPROC wndSplitterProc; -LISTOPTIONS options; -/* -MainDlgProc handles messages to the main dialog box -*/ -INT_PTR WINAPI MainDlgProc( HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam ) -{ - ENLINK* pENLink; - DIALOGPARAM *DlgParam; - HMENU listMenu = GetMenu(hDlg); - - DlgParam = (DIALOGPARAM *)GetWindowLongPtr(hDlg, GWLP_USERDATA); - switch ( msg ) - { - case WM_INITDIALOG: - { - HANDLE hContact; - TCHAR title[256]; - TCHAR filter[FILTERTEXT]; - RECT rc; - POINT pt; - - SetWindowLongPtr(hDlg, GWLP_USERDATA, lParam); - DlgParam = (DIALOGPARAM *)lParam; - TranslateDialogDefault(hDlg); - CallService(MS_LANGPACK_TRANSLATEMENU, (WPARAM)listMenu, 0); - - if ( DBGetContactSettingByte(NULL, LINKLIST_MODULE, LINKLIST_SAVESPECIAL, 0x00) == 0x00 ) - hContact = NULL; - else - hContact = DlgParam->hContact; - - if ( DBGetContactSettingByte(hContact, LINKLIST_MODULE, LINKLIST_FIRST, 0) == 0 ) - { - // First use of this plugin! Set default size! - DBWriteContactSettingDword(hContact, LINKLIST_MODULE, "LinklistWidth", 400); - DBWriteContactSettingDword(hContact, LINKLIST_MODULE, "LinklistHeight", 450); - DBWriteContactSettingDword(hContact, LINKLIST_MODULE, "LinklistX", 0); - DBWriteContactSettingDword(hContact, LINKLIST_MODULE, "LinklistY", 0); - - DBWriteContactSettingByte(hContact, LINKLIST_MODULE, LINKLIST_FIRST, 1); - } - - DlgParam->splitterPosNew = (int)DBGetContactSettingDword(hContact, LINKLIST_MODULE, LINKLIST_SPLITPOS, -1); - - GetWindowRect(GetDlgItem(hDlg, IDC_MAIN), &rc); - DlgParam->minSize.cx = rc.right - rc.left; - DlgParam->minSize.cy = rc.bottom - rc.top; - - GetWindowRect(GetDlgItem(hDlg, IDC_SPLITTER), &rc); - pt.y = (rc.top + rc.bottom) / 2; - pt.x = 0; - ScreenToClient(hDlg, &pt); - - DlgParam->splitterPosOld = rc.bottom - 20 - pt.y; - if(DlgParam->splitterPosNew == -1) - DlgParam->splitterPosNew = DlgParam->splitterPosOld; - - Utils_RestoreWindowPosition(hDlg, hContact, LINKLIST_MODULE, "Linklist"); - - SetClassLongPtr(hDlg, GCLP_HICON, (LONG_PTR)LoadIcon(hInst, MAKEINTRESOURCE(IDI_LINKLISTICON))); - WindowList_Add(hWindowList, hDlg, DlgParam->hContact); - mir_sntprintf(title, _countof(title), _T("%s [%s]"), TranslateT("Linklist Plugin"), (LPCTSTR)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)DlgParam->hContact, GCDNF_TCHAR)); - SetWindowText(hDlg, title); - GetFilterText(listMenu, filter, _countof(filter)); - SetDlgItemText(hDlg, IDC_STATUS, filter); - - wndSplitterProc = (WNDPROC)SetWindowLongPtr(GetDlgItem(hDlg, IDC_SPLITTER), GWLP_WNDPROC, (LONG_PTR)SplitterProc); - - SendDlgItemMessage( hDlg, IDC_MAIN, EM_SETEVENTMASK, 0, (LPARAM)ENM_LINK ); - SendDlgItemMessage( hDlg, IDC_MAIN, EM_AUTOURLDETECT, TRUE, 0 ); - // This is used in srmm... and I think he knew what he did... :) - SendDlgItemMessage(hDlg, IDC_MAIN, EM_LIMITTEXT, (WPARAM)-1, 0); - - WriteLinkList( hDlg, WLL_ALL, (LISTELEMENT *)DlgParam->listStart, NULL, 0); - - return TRUE; - } - - // open browser an load url if link is pressed - // found at - // http://www.tech-archive.net/Archive/Development/microsoft.public.win32.programmer.ui/2004-03/0133.html - // - // Popup menu on right mouse button is mainly taken from the miranda - // send/receive messaging plugin. - case WM_NOTIFY: - { - LPNMHDR lpNmhdr; - - lpNmhdr = (LPNMHDR)lParam; - if ( lpNmhdr->code == EN_LINK ) - { - LPTSTR link; - char shEvent[10+1]; - BYTE openNewWindow, mouseEvent; - - ZeroMemory(shEvent, _countof(shEvent)); - - pENLink = (ENLINK*)lpNmhdr; - - mouseEvent = DBGetContactSettingByte(NULL, LINKLIST_MODULE, LINKLIST_MOUSE_EVENT, 0xFF); - - if ( pENLink->msg == WM_MOUSEMOVE && mouseEvent == 0x01 ) - { - CopyMemory(&DlgParam->chrg, &pENLink->chrg, sizeof(CHARRANGE)); - SendDlgItemMessage(hDlg, IDC_MAIN, EM_EXSETSEL, 0, (LPARAM)&pENLink->chrg); - WriteMessage(hDlg, DlgParam->listStart, SendDlgItemMessage(hDlg, IDC_MAIN, EM_LINEFROMCHAR, -1, 0)); - } - else if ( pENLink->msg == WM_LBUTTONUP ) - { - link = (LPTSTR)malloc( (pENLink->chrg.cpMax-pENLink->chrg.cpMin+2)*sizeof(TCHAR) ); - SendDlgItemMessage(hDlg, IDC_MAIN, EM_EXSETSEL, 0, (LPARAM)(&pENLink->chrg)); - SendDlgItemMessage(hDlg, IDC_MAIN, EM_GETSELTEXT, 0, (LPARAM)link); - - if ( _tcsstr(link, _T("mailto:")) != NULL ) - ShellExecute(HWND_TOP, NULL, link, NULL, NULL, SW_SHOWNORMAL); - else - { - openNewWindow = DBGetContactSettingByte(NULL, LINKLIST_MODULE, LINKLIST_OPEN_WINDOW, 0xFF); - if ( openNewWindow == 0xFF ) - openNewWindow = 0; - - CallService(MS_UTILS_OPENURL, openNewWindow, (LPARAM)link); - } - free(link); - } - else if ( pENLink->msg == WM_RBUTTONDOWN ) - { - HMENU hPopup, hSubMenu; - POINT pt; - hPopup = LoadMenu(hInst, MAKEINTRESOURCE(IDR_MENU2)); - hSubMenu = GetSubMenu(hPopup, 0); - - // Disable Menuoption if "mouse over" events are active - mouseEvent = DBGetContactSettingByte(NULL, LINKLIST_MODULE, LINKLIST_MOUSE_EVENT, 0xFF); - if (mouseEvent == 0x01 ) - EnableMenuItem(hSubMenu, IDM_SHOWMESSAGE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); - - CallService(MS_LANGPACK_TRANSLATEMENU, (WPARAM)hSubMenu, 0); - - link = (LPTSTR)malloc( (pENLink->chrg.cpMax-pENLink->chrg.cpMin+2)*sizeof(TCHAR) ); - SendDlgItemMessage(hDlg, IDC_MAIN, EM_EXSETSEL, 0, (LPARAM)(&(pENLink->chrg))); - SendDlgItemMessage(hDlg, IDC_MAIN, EM_GETSELTEXT, 0, (LPARAM)link); - - pt.x = (short) LOWORD(((ENLINK *) lParam)->lParam); - pt.y = (short) HIWORD(((ENLINK *) lParam)->lParam); - ClientToScreen(((NMHDR *) lParam)->hwndFrom, &pt); - - switch ( TrackPopupMenu(hSubMenu, TPM_RETURNCMD, pt.x, pt.y, 0, hDlg, NULL) ) - { - case IDM_LINK_OPEN: - { - if ( _tcsstr(link, _T("mailto:")) != NULL ) - ShellExecute(HWND_TOP, NULL, link, NULL, NULL, SW_SHOWNORMAL); - else - CallService(MS_UTILS_OPENURL, 0, (LPARAM)link); - - break; - } - case IDM_LINK_OPENNEW: - { - if ( _tcsstr(link, _T("mailto:")) != NULL ) - ShellExecute(HWND_TOP, NULL, link, NULL, NULL, SW_SHOWNORMAL); - else - CallService(MS_UTILS_OPENURL, 1, (LPARAM)link); - - break; - } - case IDM_LINK_COPY: - { - size_t dataLen; - HGLOBAL hData; - if ( !OpenClipboard(hDlg) ) - break; - EmptyClipboard(); - - dataLen = (_tcslen(link)+1)*sizeof(TCHAR); - hData = GlobalAlloc(GMEM_MOVEABLE, dataLen); - _tcscpy_s((LPTSTR)GlobalLock(hData), dataLen/2, link); - GlobalUnlock(hData); - SetClipboardData(CF_TEXT, hData); - CloseClipboard(); - break; - } - case IDM_SHOWMESSAGE: - { - WriteMessage(hDlg, DlgParam->listStart, SendDlgItemMessage(hDlg, IDC_MAIN, EM_LINEFROMCHAR, -1, 0)); - break; - } - } - free(link); - DestroyMenu(hPopup); - } - } - break; - } - - case WM_COMMAND: - { - TCHAR filter[40]; - - // open Search Box - if( wParam == IDM_SEARCH ) - { - - HWND hWndSearchDlg; - if ( DlgParam != 0 ) - { - hWndSearchDlg = CreateDialogParam( hInst, MAKEINTRESOURCE(IDD_SEARCH_DLG), hDlg, SearchDlgProc, (LPARAM)DlgParam); - EnableMenuItem(listMenu, IDM_SEARCH, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); - ShowWindow(hWndSearchDlg, SW_SHOW); - SetFocus(GetDlgItem(hWndSearchDlg, IDC_SEARCHSTRING)); - } - - break; - } - // clear search results - else if ( wParam == IDM_CLEARSEARCH ) - { - GetFilterText(listMenu, filter, _countof(filter)); - SetDlgItemText(hDlg, IDC_STATUS, filter); - SetDlgItemText(hDlg, IDC_MAIN, _T("")); - WriteLinkList( hDlg, GetFlags(listMenu), DlgParam->listStart, NULL, 0); - } - // save button - else if ( wParam == IDM_SAVE ) - { - SaveEditAsStream(hDlg); - SetFocus(GetDlgItem( hDlg, IDC_MAIN )); - break; - } - // Esc or Close pressed - else if ( wParam == IDCANCEL || wParam == IDM_CLOSE ) - { - SendMessage(hDlg, WM_CLOSE, 0, 0); - break; - } - - // view only incoming messages - else if( wParam == IDM_DIR_IN ) - { - GetFilterText(listMenu, filter, _countof(filter)); - SetDlgItemText(hDlg, IDC_STATUS, filter); - - // not possible if search dialog is open - if ( !(GetMenuState(listMenu, IDM_SEARCH, MF_BYCOMMAND) & MF_DISABLED) ) - { - SetDlgItemText(hDlg, IDC_MAIN, _T("")); - - if ( GetMenuState(listMenu, IDM_DIR_IN, MF_BYCOMMAND) == MF_CHECKED ) - { - CheckMenuItem(listMenu, IDM_DIR_IN, MF_UNCHECKED); - WriteLinkList( hDlg, GetFlags(listMenu), DlgParam->listStart, NULL, 0); - } - else - { - CheckMenuItem(listMenu, IDM_DIR_IN, MF_CHECKED); - CheckMenuItem(listMenu, IDM_DIR_OUT, MF_UNCHECKED); - WriteLinkList( hDlg, GetFlags(listMenu), DlgParam->listStart, NULL, 0); - } - - GetFilterText(GetMenu(hDlg), filter, _countof(filter)); - SetDlgItemText(hDlg, IDC_STATUS, filter); - } - break; - } - - // view only outgoing messages - else if ( wParam == IDM_DIR_OUT ) - { - GetFilterText(listMenu, filter, _countof(filter)); - SetDlgItemText(hDlg, IDC_STATUS, filter); - - // not possible if search dialog is open - if ( !(GetMenuState(listMenu, IDM_SEARCH, MF_BYCOMMAND) & MF_DISABLED) ) - { - SetDlgItemText(hDlg, IDC_MAIN, _T("")); - if ( GetMenuState(listMenu, IDM_DIR_OUT, MF_BYCOMMAND) == MF_CHECKED ) - { - CheckMenuItem(listMenu, IDM_DIR_OUT, MF_UNCHECKED); - WriteLinkList( hDlg, GetFlags(listMenu), DlgParam->listStart, NULL, 0); - } - else - { - CheckMenuItem(listMenu, IDM_DIR_OUT, MF_CHECKED); - CheckMenuItem(listMenu, IDM_DIR_IN, MF_UNCHECKED); - WriteLinkList( hDlg, GetFlags(listMenu), DlgParam->listStart, NULL, 0); - } - - GetFilterText(listMenu, filter, _countof(filter)); - SetDlgItemText(hDlg, IDC_STATUS, filter); - } - break; - } - - // view only e-mailaddresses - else if ( wParam == IDM_TYPE_WEB ) - { - GetFilterText(listMenu, filter, _countof(filter)); - SetDlgItemText(hDlg, IDC_STATUS, filter); - - // not possible if search dialog is open - if ( !(GetMenuState(listMenu, IDM_SEARCH, MF_BYCOMMAND) & MF_DISABLED) ) - { - SetDlgItemText(hDlg, IDC_MAIN, _T("")); - if ( GetMenuState(listMenu, IDM_TYPE_WEB, MF_BYCOMMAND) == MF_CHECKED ) - { - CheckMenuItem(listMenu, IDM_TYPE_WEB, MF_UNCHECKED); - WriteLinkList( hDlg, GetFlags(listMenu), DlgParam->listStart, NULL, 0); - } - else - { - CheckMenuItem(listMenu, IDM_TYPE_WEB, MF_CHECKED); - CheckMenuItem(listMenu, IDM_TYPE_MAIL, MF_UNCHECKED); - WriteLinkList( hDlg, GetFlags(listMenu), DlgParam->listStart, NULL, 0); - } - - GetFilterText(listMenu, filter, _countof(filter)); - SetDlgItemText(hDlg, IDC_STATUS, filter); - } - break; - } - - // view only URLs - else if ( wParam == IDM_TYPE_MAIL ) - { - // not possible if search dialog is open - if ( !(GetMenuState(listMenu, IDM_SEARCH, MF_BYCOMMAND) & MF_DISABLED) ) - { - SetDlgItemText(hDlg, IDC_MAIN, _T("")); - if ( GetMenuState(listMenu, IDM_TYPE_MAIL, MF_BYCOMMAND) == MF_CHECKED ) - { - CheckMenuItem(listMenu, IDM_TYPE_MAIL, MF_UNCHECKED); - WriteLinkList( hDlg, GetFlags(listMenu), DlgParam->listStart, NULL, 0); - } - else - { - CheckMenuItem(listMenu, IDM_TYPE_MAIL, MF_CHECKED); - CheckMenuItem(listMenu, IDM_TYPE_WEB, MF_UNCHECKED); - WriteLinkList( hDlg, GetFlags(listMenu), DlgParam->listStart, NULL, 0); - } - - GetFilterText(listMenu, filter, _countof(filter)); - SetDlgItemText(hDlg, IDC_STATUS, filter); - } - break; - } - - - break; - } - - // Taken from srmm. - // Btw: The longer I searched the source of this plugin - // to learn how things work, the more I became a fan of - // the programmer! - case WM_GETMINMAXINFO: - { - MINMAXINFO *mmi = (MINMAXINFO *)lParam; - RECT rcWindow, rcMain; - GetWindowRect(hDlg, &rcWindow); - GetWindowRect(GetDlgItem(hDlg, IDC_MAIN), &rcMain); - mmi->ptMinTrackSize.x = rcWindow.right - rcWindow.left - ((rcMain.right - rcMain.left) - DlgParam->minSize.cx); - mmi->ptMinTrackSize.y = rcWindow.bottom - rcWindow.top - ((rcMain.bottom - rcMain.top) - DlgParam->minSize.cy); - return 0; - } - - case WM_SIZE: - { - UTILRESIZEDIALOG urd = {0}; - - urd.cbSize = sizeof(urd); - urd.hwndDlg = hDlg; - urd.hInstance = hInst; - urd.lpTemplate = MAKEINTRESOURCEA(IDD_MAIN_DLG); - urd.pfnResizer = LinklistResizer; - urd.lParam = (LPARAM)DlgParam; - CallService(MS_UTILS_RESIZEDIALOG, 0, (LPARAM)&urd); - - // To get some scrollbars if needed... - RedrawWindow(GetDlgItem(hDlg, IDC_MAIN), NULL, NULL, RDW_INVALIDATE); - RedrawWindow(GetDlgItem(hDlg, IDC_MESSAGE), NULL, NULL, RDW_INVALIDATE); - break; - } - - case DM_LINKSPLITTER: - { - POINT pt; - RECT rc; - int splitPosOld; - - GetClientRect(hDlg, &rc); - pt.x = 0; - pt.y = wParam; - ScreenToClient(hDlg, &pt); - - splitPosOld = DlgParam->splitterPosNew; - DlgParam->splitterPosNew = rc.bottom - pt.y; - - GetWindowRect(GetDlgItem(hDlg, IDC_MESSAGE), &rc); - if (rc.bottom - rc.top + (DlgParam->splitterPosNew - splitPosOld) < 0) - DlgParam->splitterPosNew = splitPosOld + 0 - (rc.bottom - rc.top); - - GetWindowRect(GetDlgItem(hDlg, IDC_MAIN), &rc); - if (rc.bottom - rc.top - (DlgParam->splitterPosNew - splitPosOld) < DlgParam->minSize.cy) - DlgParam->splitterPosNew = splitPosOld - DlgParam->minSize.cy + (rc.bottom - rc.top); - - SendMessage(hDlg, WM_SIZE, 0, 0); - break; - } - - case WM_CLOSE: - { - DestroyWindow(hDlg); - break; - } - - case WM_DESTROY: - { - HANDLE hContact; - if ( DBGetContactSettingByte(NULL, LINKLIST_MODULE, LINKLIST_SAVESPECIAL, 0x00) == 0x00 ) - hContact = NULL; - else - hContact = DlgParam->hContact; - Utils_SaveWindowPosition(hDlg, hContact, LINKLIST_MODULE, "Linklist"); - DBWriteContactSettingDword(NULL, LINKLIST_MODULE, LINKLIST_SPLITPOS, DlgParam->splitterPosNew); - RemoveList(DlgParam->listStart); - free(DlgParam); - // Remove entry from Window list - WindowList_Remove(hWindowList, hDlg); - break; - } - - } - return FALSE; -} - -/* -This function handles the search dialog messages -*/ -INT_PTR WINAPI SearchDlgProc( HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam ) -{ - HWND hListDlg; - DIALOGPARAM *DlgParam; - - DlgParam = (DIALOGPARAM *)GetWindowLongPtr(hDlg, GWLP_USERDATA); - switch( msg ) - { - case WM_INITDIALOG: - { - TranslateDialogDefault(hDlg); - SetWindowLongPtr(hDlg, GWLP_USERDATA, (LPARAM)lParam); - SetWindowText(hDlg, TranslateT(TXT_SEARCH)); - SendDlgItemMessage(hDlg, IDC_DIR_ALL, BM_SETCHECK, BST_CHECKED, 0); - SendDlgItemMessage(hDlg, IDC_TYPE_ALL, BM_SETCHECK, BST_CHECKED, 0); - return TRUE; - } - case WM_COMMAND: - { - HWND hWndMain; - hWndMain = WindowList_Find(hWindowList,DlgParam->hContact); - - if ( wParam == IDCLOSE || wParam == IDCANCEL ) - { - HMENU listMenu = GetMenu(hWndMain); - EnableMenuItem(listMenu, 101, MF_BYCOMMAND | MF_ENABLED); - DestroyWindow(hDlg); - return TRUE; - } - else if ( wParam == IDSEARCH ) - { - BYTE flags = 0x00; - TCHAR filter[FILTERTEXT]; - LPTSTR buffer; - int length; - - hListDlg = WindowList_Find(hWindowList, DlgParam->hContact); - if ( hListDlg ) - { - SetDlgItemText(hListDlg, IDC_MAIN, _T("")); - - if ( SendDlgItemMessage(hDlg, IDC_TYPE_WEB, BM_GETCHECK, 0, 0) == BST_UNCHECKED ) - flags = flags | WLL_MAIL; - - if ( SendDlgItemMessage(hDlg, IDC_TYPE_MAIL, BM_GETCHECK, 0, 0) == BST_UNCHECKED ) - flags = flags | WLL_URL; - - if ( SendDlgItemMessage(hDlg, IDC_DIR_IN, BM_GETCHECK, 0, 0) == BST_UNCHECKED ) - flags = flags | WLL_OUT; - - if ( SendDlgItemMessage(hDlg, IDC_DIR_OUT, BM_GETCHECK, 0, 0) == BST_UNCHECKED ) - flags = flags | WLL_IN; - - if ( SendDlgItemMessage(hDlg, IDC_WHOLE_MESSAGE, BM_GETCHECK, 0, 0) == BST_CHECKED ) - flags = flags | SLL_DEEP; - - length = GetWindowTextLength(GetDlgItem(hDlg, IDC_SEARCHSTRING))+1; - buffer = (LPTSTR)malloc( length*sizeof(TCHAR) ); - GetDlgItemText(hDlg, IDC_SEARCHSTRING, buffer, length); - WriteLinkList(hListDlg, flags, DlgParam->listStart, buffer, 0); - free(buffer); - - mir_sntprintf(filter, _countof(filter), _T("%s: %s"), TranslateT(TXT_FILTER), TranslateT(TXT_SEARCHFILTER)); - SetDlgItemText(hWndMain, IDC_STATUS, filter); - } - break; - } - } - } - return FALSE; -} - - -/* -This function handles the options dialog messages -*/ -INT_PTR CALLBACK OptionsDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) -{ - BYTE useDefault; - int mCol; - - switch(message) - { - case WM_INITDIALOG: - { - TranslateDialogDefault(hDlg); - useDefault = DBGetContactSettingByte(NULL, LINKLIST_MODULE, LINKLIST_USE_DEF, 0xFF); - if ( useDefault == 0x01 ) - { - mCol = GetMirandaColour(&colourSet); - if(mCol == 0) - { - SendDlgItemMessage(hDlg, IDC_CHECK1, BM_SETCHECK, BST_CHECKED, 0); - EnableWindow(GetDlgItem(hDlg, IDC_INCOMING), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_OUTGOING), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_BACKGROUND), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_TXT), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT_IN), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT_OUT), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT_BG), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT_TXT), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_TXTIN), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_TXTOUT), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_TXTBG), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_TXTTXT), FALSE); - } - else - useDefault = 0x00; - - } - if (useDefault == 0x00 ) - { - GetDBColour(&colourSet); - SendDlgItemMessage(hDlg, IDC_CHECK1, BM_SETCHECK, BST_UNCHECKED, 0); - SendDlgItemMessage(hDlg, IDC_INCOMING, CPM_SETCOLOUR, 0, colourSet.incoming); - SendDlgItemMessage(hDlg, IDC_OUTGOING, CPM_SETCOLOUR, 0, colourSet.outgoing); - SendDlgItemMessage(hDlg, IDC_BACKGROUND, CPM_SETCOLOUR, 0, colourSet.background); - SendDlgItemMessage(hDlg, IDC_TXT, CPM_SETCOLOUR, 0, colourSet.text); - } - - //Shifted to the end of this function - //WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text); - - // Init variables with current values from DB - GetListOptions(&options); - - if(options.openNewWindow == 0x00) - SendDlgItemMessage(hDlg, IDC_CHECK2, BM_SETCHECK, BST_UNCHECKED, 0); - if(options.openNewWindow == 0x01) - SendDlgItemMessage(hDlg, IDC_CHECK2, BM_SETCHECK, BST_CHECKED, 0); - - if(options.updateWindow == 0x00) - SendDlgItemMessage(hDlg, IDC_CHECK3, BM_SETCHECK, BST_UNCHECKED, 0); - if(options.updateWindow == 0x01) - SendDlgItemMessage(hDlg, IDC_CHECK3, BM_SETCHECK, BST_CHECKED, 0); - - if(options.mouseEvent == 0x00) - SendDlgItemMessage(hDlg, IDC_CHECK4, BM_SETCHECK, BST_UNCHECKED, 0); - if(options.mouseEvent == 0x01) - SendDlgItemMessage(hDlg, IDC_CHECK4, BM_SETCHECK, BST_CHECKED, 0); - - if(options.saveSpecial == 0x00) - SendDlgItemMessage(hDlg, IDC_CHECK5, BM_SETCHECK, BST_UNCHECKED, 0); - if(options.saveSpecial == 0x01) - SendDlgItemMessage(hDlg, IDC_CHECK5, BM_SETCHECK, BST_CHECKED, 0); - - if(options.showDate == 0x00) - SendDlgItemMessage(hDlg, IDC_CHECK6, BM_SETCHECK, BST_UNCHECKED, 0); - if(options.showDate == 0x01) - SendDlgItemMessage(hDlg, IDC_CHECK6, BM_SETCHECK, BST_CHECKED, 0); - - if(options.showLine == 0x00) - SendDlgItemMessage(hDlg, IDC_CHECK7, BM_SETCHECK, BST_UNCHECKED, 0); - if(options.showLine == 0x01) - SendDlgItemMessage(hDlg, IDC_CHECK7, BM_SETCHECK, BST_CHECKED, 0); - - if(options.showTime == 0x00) - SendDlgItemMessage(hDlg, IDC_CHECK8, BM_SETCHECK, BST_UNCHECKED, 0); - if(options.showTime == 0x01) - SendDlgItemMessage(hDlg, IDC_CHECK8, BM_SETCHECK, BST_CHECKED, 0); - - if(options.showDirection == 0x00) - SendDlgItemMessage(hDlg, IDC_CHECK9, BM_SETCHECK, BST_UNCHECKED, 0); - if(options.showDirection == 0x01) - SendDlgItemMessage(hDlg, IDC_CHECK9, BM_SETCHECK, BST_CHECKED, 0); - - if(options.showType == 0x00) - SendDlgItemMessage(hDlg, IDC_CHECK10, BM_SETCHECK, BST_UNCHECKED, 0); - if(options.showType == 0x01) - SendDlgItemMessage(hDlg, IDC_CHECK10, BM_SETCHECK, BST_CHECKED, 0); - - // Write example window - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - - return TRUE; - } - case WM_COMMAND: - { - if ( LOWORD(wParam) == IDC_DEFAULT_IN ) - { - colourSet.incoming = IN_COL_DEF; - SendDlgItemMessage(hDlg, IDC_INCOMING, CPM_SETCOLOUR, 0, colourSet.incoming); - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - break; - } - if ( LOWORD(wParam) == IDC_DEFAULT_OUT ) - { - colourSet.outgoing = OUT_COL_DEF; - SendDlgItemMessage(hDlg, IDC_OUTGOING, CPM_SETCOLOUR, 0, colourSet.outgoing); - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - break; - } - if ( LOWORD(wParam) == IDC_DEFAULT_BG ) - { - colourSet.background = BG_COL_DEF; - SendDlgItemMessage(hDlg, IDC_BACKGROUND, CPM_SETCOLOUR, 0, colourSet.background); - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - break; - } - if ( LOWORD(wParam) == IDC_DEFAULT_TXT ) - { - colourSet.text = TXT_COL_DEF; - SendDlgItemMessage(hDlg, IDC_TXT, CPM_SETCOLOUR, 0, colourSet.text); - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - break; - } - if ( LOWORD(wParam) == IDC_INCOMING ) - { - colourSet.incoming = SendDlgItemMessage(hDlg, IDC_INCOMING, CPM_GETCOLOUR, 0, 0); - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - break; - } - if ( LOWORD(wParam) == IDC_OUTGOING ) - { - colourSet.outgoing = SendDlgItemMessage(hDlg, IDC_OUTGOING, CPM_GETCOLOUR, 0, 0); - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - break; - } - if ( LOWORD(wParam) == IDC_BACKGROUND ) - { - colourSet.background = SendDlgItemMessage(hDlg, IDC_BACKGROUND, CPM_GETCOLOUR, 0, 0); - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - break; - } - if ( LOWORD(wParam) == IDC_TXT ) - { - colourSet.text = SendDlgItemMessage(hDlg, IDC_TXT, CPM_GETCOLOUR, 0, 0); - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - break; - } - if ( LOWORD(wParam) == IDC_CHECK1 ) - { - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - if ( SendDlgItemMessage(hDlg, IDC_CHECK1, BM_GETCHECK, 0, 0) == BST_UNCHECKED ) - { - EnableWindow(GetDlgItem(hDlg, IDC_INCOMING), TRUE); - EnableWindow(GetDlgItem(hDlg, IDC_OUTGOING), TRUE); - EnableWindow(GetDlgItem(hDlg, IDC_BACKGROUND), TRUE); - EnableWindow(GetDlgItem(hDlg, IDC_TXT), TRUE); - EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT_IN), TRUE); - EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT_OUT), TRUE); - EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT_BG), TRUE); - EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT_TXT), TRUE); - EnableWindow(GetDlgItem(hDlg, IDC_TXTIN), TRUE); - EnableWindow(GetDlgItem(hDlg, IDC_TXTOUT), TRUE); - EnableWindow(GetDlgItem(hDlg, IDC_TXTBG), TRUE); - EnableWindow(GetDlgItem(hDlg, IDC_TXTTXT), TRUE); - GetDBColour(&colourSet); - SendDlgItemMessage(hDlg, IDC_INCOMING, CPM_SETCOLOUR, 0, colourSet.incoming); - SendDlgItemMessage(hDlg, IDC_OUTGOING, CPM_SETCOLOUR, 0, colourSet.outgoing); - SendDlgItemMessage(hDlg, IDC_BACKGROUND, CPM_SETCOLOUR, 0, colourSet.background); - SendDlgItemMessage(hDlg, IDC_TXT, CPM_SETCOLOUR, 0, colourSet.text); - } - else - { - mCol = GetMirandaColour(&colourSet); - if(mCol == 1) - { - MessageBox(NULL, TranslateT(TXT_NOSETTING), TranslateT(TXT_ERROR), MB_OK | MB_ICONEXCLAMATION); - SendDlgItemMessage(hDlg, IDC_CHECK1, BM_SETCHECK, BST_UNCHECKED, 0); - break; - } - else - { - EnableWindow(GetDlgItem(hDlg, IDC_INCOMING), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_OUTGOING), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_BACKGROUND), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_TXT), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT_IN), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT_OUT), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT_BG), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_DEFAULT_TXT), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_TXTIN), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_TXTOUT), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_TXTBG), FALSE); - EnableWindow(GetDlgItem(hDlg, IDC_TXTTXT), FALSE); - } - } - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - break; - } - - if ( wParam == IDC_CHECK2 ) - { - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - if ( SendDlgItemMessage(hDlg, IDC_CHECK2, BM_GETCHECK, 0, 0) == BST_UNCHECKED ) - options.openNewWindow = 0; - else - options.openNewWindow = 1; - - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - - break; - } - if ( wParam == IDC_CHECK3 ) - { - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - if ( SendDlgItemMessage(hDlg, IDC_CHECK3, BM_GETCHECK, 0, 0) == BST_UNCHECKED ) - options.updateWindow = 0; - else - options.updateWindow = 1; - - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - - break; - } - - if ( wParam == IDC_CHECK4 ) - { - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - if ( SendDlgItemMessage(hDlg, IDC_CHECK4, BM_GETCHECK, 0, 0) == BST_UNCHECKED ) - options.mouseEvent = 0; - else - options.mouseEvent = 1; - - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - - break; - } - - if ( wParam == IDC_CHECK5 ) - { - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - if(SendDlgItemMessage(hDlg, IDC_CHECK5, BM_GETCHECK, 0, 0) == BST_UNCHECKED) - options.saveSpecial = 0; - else - options.saveSpecial = 1; - - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - - break; - } - - if ( wParam == IDC_CHECK6 ) - { - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - if(SendDlgItemMessage(hDlg, IDC_CHECK6, BM_GETCHECK, 0, 0) == BST_UNCHECKED) - options.showDate = 0; - else - options.showDate = 1; - - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - - break; - } - - if ( wParam == IDC_CHECK7 ) - { - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - if(SendDlgItemMessage(hDlg, IDC_CHECK7, BM_GETCHECK, 0, 0) == BST_UNCHECKED) - options.showLine = 0; - else - options.showLine = 1; - - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - - break; - } - - if ( wParam == IDC_CHECK8 ) - { - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - if(SendDlgItemMessage(hDlg, IDC_CHECK8, BM_GETCHECK, 0, 0) == BST_UNCHECKED) - options.showTime = 0; - else - options.showTime = 1; - - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - //DBWriteContactSettingByte(NULL, LINKLIST_MODULE, LINKLIST_SHOW_TIME, 0x01); - - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - break; - } - - if ( wParam == IDC_CHECK9 ) - { - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - if(SendDlgItemMessage(hDlg, IDC_CHECK9, BM_GETCHECK, 0, 0) == BST_UNCHECKED) - options.showDirection = 0; - else - options.showDirection = 1; - - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - //DBWriteContactSettingByte(NULL, LINKLIST_MODULE, LINKLIST_SHOW_DIRECTION, 0x01); - - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - break; - } - - if ( wParam == IDC_CHECK10 ) - { - SendMessage(GetParent(hDlg), PSM_CHANGED, 0, 0); - if(SendDlgItemMessage(hDlg, IDC_CHECK10, BM_GETCHECK, 0, 0) == BST_UNCHECKED) - options.showType = 0; - else - options.showType = 1; - - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - //DBWriteContactSettingByte(NULL, LINKLIST_MODULE, LINKLIST_SHOW_TYPE, 0x01); - - WriteOptionExample(hDlg, colourSet.incoming, colourSet.outgoing, colourSet.background, colourSet.text, &options); - break; - } - - } - - case WM_NOTIFY: - { - if ( ((LPNMHDR)lParam)->code == PSN_APPLY ) - { - // Write Settings to Database - if ( SendDlgItemMessage(hDlg, IDC_CHECK1, BM_GETCHECK, 0, 0) == BST_CHECKED ) - DBWriteContactSettingByte(NULL, LINKLIST_MODULE, LINKLIST_USE_DEF, 0x01); - else - { - DBWriteContactSettingByte(NULL, LINKLIST_MODULE, LINKLIST_USE_DEF, 0x00); - colourSet.incoming = SendDlgItemMessage(hDlg, IDC_INCOMING, CPM_GETCOLOUR, 0, 0); - colourSet.outgoing = SendDlgItemMessage(hDlg, IDC_OUTGOING, CPM_GETCOLOUR, 0, 0); - colourSet.background = SendDlgItemMessage(hDlg, IDC_BACKGROUND, CPM_GETCOLOUR, 0, 0); - colourSet.text = SendDlgItemMessage(hDlg, IDC_TXT, CPM_GETCOLOUR, 0, 0); - SetDBColour(&colourSet); - } - - SetListOptions(&options); - - // Write temporary values to Database - - - - - } - } - } - return FALSE; -} - - -/* -Progressbar -*/ -LRESULT CALLBACK ProgressBarDlg(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) -{ - static HWND hwndBN_OK, hwndBN_Cancel, hwndEdit, hwndPB; - static int cxChar, cyChar; - - switch ( message ) - { - case WM_CREATE: - { - cxChar = LOWORD(GetDialogBaseUnits()); - cyChar = HIWORD(GetDialogBaseUnits()); - InitCommonControls(); - hwndPB = CreateWindowEx(0, PROGRESS_CLASS, _T(""), WS_CHILD | WS_VISIBLE, 0, 2, 343, 17, hwnd, NULL, hInst, NULL); - SendMessage(hwndPB, PBM_SETRANGE, 0, MAKELPARAM (0, 100)); - return 0; - } - case WM_COMMAND: - { - if ( wParam == 100 ) - SendMessage(hwndPB, PBM_SETPOS, (WPARAM)lParam, 0); - return 0; - } - case WM_DESTROY: - return 0; - } - return DefWindowProc(hwnd, message, wParam, lParam); -} - - - -/* -Splitter function. -Taken from srmm-plugin.... -*/ -LRESULT CALLBACK SplitterProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) -{ - switch(msg) - { - case WM_NCHITTEST: - return HTCLIENT; - - case WM_SETCURSOR: - { - RECT rc; - GetClientRect(hWnd, &rc); - SetCursor(splitCursor); - return TRUE; - } - - case WM_LBUTTONDOWN: - SetCapture(hWnd); - return 0; - - case WM_MOUSEMOVE: - if ( GetCapture() == hWnd ) - { - RECT rc; - GetClientRect(hWnd, &rc); - SendMessage( GetParent(hWnd), DM_LINKSPLITTER, (WPARAM)(HIWORD(GetMessagePos()) + rc.bottom / 2), (LPARAM)hWnd); - } - return 0; - - case WM_LBUTTONUP: - ReleaseCapture(); - return 0; - } - return CallWindowProc(wndSplitterProc, hWnd, msg, wParam, lParam); -} \ No newline at end of file -- cgit v1.2.3