From 2bf7e3ba50b1bf547c726523cf842e9263d5db18 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 28 Jul 2013 18:37:34 +0000 Subject: first version of WebView that compiles in Unicode (but certaily doesn't work) git-svn-id: http://svn.miranda-ng.org/main/trunk@5516 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/WebView/src/webview.cpp | 1356 ++++++++++++--------------------------- 1 file changed, 400 insertions(+), 956 deletions(-) (limited to 'plugins/WebView/src/webview.cpp') diff --git a/plugins/WebView/src/webview.cpp b/plugins/WebView/src/webview.cpp index 6e693b5726..54107f0600 100644 --- a/plugins/WebView/src/webview.cpp +++ b/plugins/WebView/src/webview.cpp @@ -1,1083 +1,527 @@ /* - * A plugin for Miranda IM which displays web page text in a window Copyright - * (C) 2005 Vincent Joyce. - * - * Miranda IM: the free icq client for MS Windows Copyright (C) 2000-2 - * Richard Hughes, Roland Rabien & Tristan Van de Vreede - * - * 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. - */ +* A plugin for Miranda IM which displays web page text in a window Copyright +* (C) 2005 Vincent Joyce. +* +* Miranda IM: the free icq client for MS Windows Copyright (C) 2000-2 +* Richard Hughes, Roland Rabien & Tristan Van de Vreede +* +* 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 "stdafx.h" #include "webview.h" -static HANDLE hAddSite = NULL; -static HANDLE hAutoUpdate = NULL; -char*WndClass = "WEBWnd"; +char* WndClass = "WEBWnd"; WNDCLASSEX wincl; MSG messages; DWORD winheight; int StartUpDelay = 0; -/*************************/ +DWORD Xposition, Yposition; +DWORD BackgoundClr, TextClr; +DWORD WindowHeight, WindowWidth; + +UINT_PTR timerId; +UINT_PTR Countdown; +LOGFONT lf; +HFONT h_font; +HWND ContactHwnd; +HINSTANCE hInst; +HMENU hMenu; +int bpStatus; +HANDLE hMenuItem1; +HANDLE hMenuItemCountdown; +char optionsname[80]; + +/*****************************************************************************/ void ChangeMenuItem1() { - /* - * Enable or Disable auto updates - */ - ZeroMemory(&mi, sizeof(mi)); - mi.cbSize = sizeof(mi); - mi.flags = CMIM_NAME | CMIM_ICON; - mi.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_SITE)); - - if (!(db_get_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 0))) - mi.pszName = Translate("Auto Update Enabled"); - - if ((db_get_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 0))) - mi.pszName = Translate("Auto Update Disabled"); - - CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM) hMenuItem1, (LPARAM) & mi); -} + /* + * Enable or Disable auto updates + */ + + CLISTMENUITEM mi = { sizeof(mi) }; + mi.flags = CMIM_NAME | CMIM_ICON; + mi.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_SITE)); -/**********************/ + if ( !db_get_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 0)) + mi.pszName = Translate("Auto Update Enabled"); + else + mi.pszName = Translate("Auto Update Disabled"); + CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMenuItem1, (LPARAM)&mi); +} -/*************************/ +/*****************************************************************************/ void ChangeMenuItemCountdown() { - /* - * countdown - */ - - ZeroMemory(&mi, sizeof(mi)); - mi.cbSize = sizeof(mi); - mi.flags = CMIM_NAME | CMIM_ICON; - mi.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_UPDATEALL)); - - char countername[100]; - sprintf(countername, "%d Minutes to Update", db_get_dw(NULL, MODULENAME, COUNTDOWN_KEY, 0)); - mi.pszName = countername; - - CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM) hMenuItemCountdown, (LPARAM) & mi); -} + /* + * countdown + */ -/**********************/ + CLISTMENUITEM mi = { sizeof(mi) }; + mi.flags = CMIM_NAME | CMIM_ICON; + mi.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_UPDATEALL)); + char countername[100]; + sprintf(countername, "%d Minutes to Update", db_get_dw(NULL, MODULENAME, COUNTDOWN_KEY, 0)); + mi.pszName = countername; + CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMenuItemCountdown, (LPARAM)&mi); +} -/*********************/ +/*****************************************************************************/ static int CALLBACK EnumFontsProc(ENUMLOGFONTEX * lpelfe, NEWTEXTMETRICEX * lpntme, int FontType, LPARAM lParam) { - if (!IsWindow((HWND) lParam)) - return FALSE; - if (SendMessage((HWND) lParam, CB_FINDSTRINGEXACT, -1, (LPARAM) lpelfe->elfLogFont.lfFaceName) == CB_ERR) - SendMessage((HWND) lParam, CB_ADDSTRING, 0, (LPARAM) lpelfe->elfLogFont.lfFaceName); - return TRUE; + if (!IsWindow((HWND) lParam)) + return FALSE; + if (SendMessage((HWND) lParam, CB_FINDSTRINGEXACT, -1, (LPARAM) lpelfe->elfLogFont.lfFaceName) == CB_ERR) + SendMessage((HWND) lParam, CB_ADDSTRING, 0, (LPARAM) lpelfe->elfLogFont.lfFaceName); + return TRUE; } -/*******************/ -/**********************/ -void FillFontListThread(HWND hwndDlg) +void FillFontListThread(void *param) { - LOGFONT lf = {0}; - HDC hdc = GetDC(hwndDlg); - - lf.lfCharSet = DEFAULT_CHARSET; - lf.lfFaceName[0] = 0; - lf.lfPitchAndFamily = 0; - EnumFontFamiliesEx(hdc, &lf, (FONTENUMPROC) EnumFontsProc, (LPARAM) GetDlgItem(hwndDlg, IDC_TYPEFACE), 0); - ReleaseDC(hwndDlg, hdc); - return; + HDC hdc = GetDC((HWND)param); + + LOGFONT lf = {0}; + lf.lfCharSet = DEFAULT_CHARSET; + lf.lfFaceName[0] = 0; + lf.lfPitchAndFamily = 0; + EnumFontFamiliesEx(hdc, &lf, (FONTENUMPROC) EnumFontsProc, (LPARAM) GetDlgItem((HWND)param, IDC_TYPEFACE), 0); + ReleaseDC((HWND)param, hdc); } -/*********************/ - -/*******************************/ +/*****************************************************************************/ void TxtclrLoop() { - HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); - char*szProto; - - while (hContact != NULL) - { - szProto = (char *) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0); - // - if (szProto != NULL && !lstrcmp(MODULENAME, szProto)) - { - - HWND hwndDlg = (WindowList_Find(hWindowList, hContact)); - - SetDlgItemText(hwndDlg, IDC_DATA, ""); - InvalidateRect(hwndDlg, NULL, 1); - } - // - hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0); - } - + for (HANDLE hContact = db_find_first(MODULENAME); hContact != NULL; hContact = db_find_next(hContact, MODULENAME)) { + HWND hwndDlg = WindowList_Find(hWindowList, hContact); + SetDlgItemTextA(hwndDlg, IDC_DATA, ""); + InvalidateRect(hwndDlg, NULL, 1); + } } -/***************************/ -/*******************************/ +/*****************************************************************************/ void BGclrLoop() { - HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); - char*szProto; - - while (hContact != NULL) - { - szProto = (char *) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0); - // - if (szProto != NULL && !lstrcmp(MODULENAME, szProto)) - { - - HWND hwndDlg = (WindowList_Find(hWindowList, hContact)); - - SetDlgItemText(hwndDlg, IDC_DATA, ""); - SendMessage(GetDlgItem(hwndDlg, IDC_DATA), EM_SETBKGNDCOLOR, 0, BackgoundClr); - InvalidateRect(hwndDlg, NULL, 1); - } - // - hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0); - } - + for (HANDLE hContact = db_find_first(MODULENAME); hContact != NULL; hContact = db_find_next(hContact, MODULENAME)) { + HWND hwndDlg = (WindowList_Find(hWindowList, hContact)); + SetDlgItemTextA(hwndDlg, IDC_DATA, ""); + SendMessage(GetDlgItem(hwndDlg, IDC_DATA), EM_SETBKGNDCOLOR, 0, BackgoundClr); + InvalidateRect(hwndDlg, NULL, 1); + } } -/***************************/ +/*****************************************************************************/ void StartUpdate(void *dummy) { - HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); - char*szProto; - - StartUpDelay = 1; - - Sleep(((db_get_dw(NULL, MODULENAME, START_DELAY_KEY, 0)) * SECOND)); - - while (hContact != NULL) - { - szProto = (char *) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0); - // - if (szProto != NULL && !lstrcmp(MODULENAME, szProto)) - GetData(hContact); - // - hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0); - } - StartUpDelay = 0; + StartUpDelay = 1; + Sleep(((db_get_dw(NULL, MODULENAME, START_DELAY_KEY, 0)) * SECOND)); + + for (HANDLE hContact = db_find_first(MODULENAME); hContact != NULL; hContact = db_find_next(hContact, MODULENAME)) + GetData(hContact); + + StartUpDelay = 0; } -/*******************************/ +/*****************************************************************************/ void ContactLoop(void *dummy) { - HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); - char*szProto; - char galert[300]; - - if (StartUpDelay == 0) - { - - while (hContact != NULL) - { - szProto = (char *) CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM) hContact, 0); - // - if (szProto != NULL && !lstrcmp(MODULENAME, szProto)) - - GetData(hContact); - //forkthread(GetData, 0, hContact); - Sleep(10); // avoid 100% CPU - // - - hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0); - } - } - sprintf(galert, "%s", (Translate("All Webview sites have been updated."))); - WAlertPopup((WPARAM) NULL, galert); + if (StartUpDelay == 0) { + for (HANDLE hContact = db_find_first(MODULENAME); hContact != NULL; hContact = db_find_next(hContact, MODULENAME)) { + GetData(hContact); + Sleep(10); // avoid 100% CPU + } + } + + WAlertPopup(NULL, TranslateT("All Webview sites have been updated.")); } -/***************************/ - - -/****************************/ - /**********************/ -int MarkAllReadMenuCommand(WPARAM wParam, LPARAM lParam) +/*****************************************************************************/ +INT_PTR MarkAllReadMenuCommand(WPARAM wParam, LPARAM lParam) { - ChangeContactStatus(1); - return 0; + ChangeContactStatus(1); + return 0; } -/*************************/ - -/****************************/ - - - -/**********************/ +/*****************************************************************************/ void InitialiseGlobals(void) { + Xposition = db_get_dw(NULL, MODULENAME, Xpos_WIN_KEY, 0); + Yposition = db_get_dw(NULL, MODULENAME, Ypos_WIN_KEY, 0); - Xposition = db_get_dw(NULL, MODULENAME, Xpos_WIN_KEY, 0); + if (Yposition == -32000) + Yposition = 100; - Yposition = db_get_dw(NULL, MODULENAME, Ypos_WIN_KEY, 0); + if (Xposition == -32000) + Xposition = 100; - if (Yposition == -32000) - Yposition = 100; - - if (Xposition == -32000) - Xposition = 100; - - BackgoundClr = db_get_dw(NULL, MODULENAME, BG_COLOR_KEY, 0); - - TextClr = db_get_dw(NULL, MODULENAME, TXT_COLOR_KEY, 0); - - WindowHeight = db_get_dw(NULL, MODULENAME, WIN_HEIGHT_KEY, 0); - - WindowWidth = db_get_dw(NULL, MODULENAME, WIN_WIDTH_KEY, 0); + BackgoundClr = db_get_dw(NULL, MODULENAME, BG_COLOR_KEY, Def_color_bg); + TextClr = db_get_dw(NULL, MODULENAME, TXT_COLOR_KEY, Def_color_txt); + WindowHeight = db_get_dw(NULL, MODULENAME, WIN_HEIGHT_KEY, Def_win_height); + WindowWidth = db_get_dw(NULL, MODULENAME, WIN_WIDTH_KEY, Def_win_width); } -/********************************/ -/***************************/ +/*****************************************************************************/ int Doubleclick(WPARAM wParam, LPARAM lParam) { - DBVARIANT dbv; - char*szProto = NULL; - char url[300]; - - url[0] = '\0'; - - szProto = (char *) CallService(MS_PROTO_GETCONTACTBASEPROTO, wParam, 0); - -// write default values first time contact is double clicked - if (DBGetContactSetting((HANDLE) wParam, MODULENAME, DBLE_WIN_KEY, &dbv)) - { - if (!(lstrcmp(MODULENAME, szProto))) - db_set_b((HANDLE) wParam, MODULENAME, DBLE_WIN_KEY, 1); - } - - //szProto = (char *) CallService(MS_PROTO_GETCONTACTBASEPROTO, wParam, 0); - - if (szProto != NULL) - { - if (!(lstrcmp(MODULENAME, szProto))) - { - // - if (!(db_get_b((HANDLE) wParam, MODULENAME, DBLE_WIN_KEY, 0))) - { - DBGetContactSetting((HANDLE) wParam, MODULENAME, "URL", &dbv); - wsprintf(url, "%s", dbv.pszVal); - CallService(MS_UTILS_OPENURL, 1, (WPARAM) url); - DBFreeVariant(&dbv); - db_set_w((HANDLE) wParam, MODULENAME, "Status", ID_STATUS_ONLINE); - } - // - - if ((db_get_b((HANDLE) wParam, MODULENAME, DBLE_WIN_KEY, 0))) - { - HWND hwndDlg; - - if ((hwndDlg = (WindowList_Find(hWindowList, (HANDLE) wParam)))) - { - SetForegroundWindow(hwndDlg); - SetFocus(hwndDlg); - } else - { - hwndDlg = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_DISPLAY_DATA), NULL, DlgProcDisplayData, (LPARAM) (HANDLE) wParam); - - if (db_get_b((HANDLE) wParam, MODULENAME, ON_TOP_KEY, 0)) - { - SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_STICK), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0))); - - if ((db_get_b(NULL, MODULENAME, SAVE_INDIVID_POS_KEY, 0))) - { - SetWindowPos( - hwndDlg, - HWND_TOPMOST, - db_get_dw((HANDLE) wParam, MODULENAME, "WVx", 100), // Xposition, - db_get_dw((HANDLE) wParam, MODULENAME, "WVy", 100), // Yposition, - db_get_dw((HANDLE) wParam, MODULENAME, "WVwidth", 412), // WindowWidth, - db_get_dw((HANDLE) wParam, MODULENAME, "WVheight", 350), // WindowHeight, - 0); - } else - { - SetWindowPos( - hwndDlg, - HWND_TOPMOST, - Xposition, - Yposition, - WindowWidth, - WindowHeight, - 0); - } - - } - if (!(db_get_b((HANDLE) wParam, MODULENAME, ON_TOP_KEY, 0))) - {// - SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_UNSTICK), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0))); - - if ((db_get_b(NULL, MODULENAME, SAVE_INDIVID_POS_KEY, 0))) - { - SetWindowPos( - hwndDlg, - HWND_NOTOPMOST, - db_get_dw((HANDLE) wParam, MODULENAME, "WVx", 100), // Xposition, - db_get_dw((HANDLE) wParam, MODULENAME, "WVy", 100), // Yposition, - db_get_dw((HANDLE) wParam, MODULENAME, "WVwidth", 412), // WindowWidth, - db_get_dw((HANDLE) wParam, MODULENAME, "WVheight", 350), // WindowHeight, - 0); - } else - { - SetWindowPos( - hwndDlg, - HWND_NOTOPMOST, - Xposition, - Yposition, - WindowWidth, - WindowHeight, - 0); - } - - } - } - // - ShowWindow(hwndDlg, SW_SHOW); - SetActiveWindow(hwndDlg); - // - - if ((db_get_b(NULL, MODULENAME, UPDATE_ON_OPEN_KEY, 0))) - { - if ((db_get_b((HANDLE) wParam, MODULENAME, ENABLE_ALERTS_KEY, 0))) - forkthread(ReadFromFile, 0, (HANDLE) wParam); - else - forkthread(GetData, 0, (HANDLE) wParam); - db_set_w((HANDLE) wParam, MODULENAME, "Status", ID_STATUS_ONLINE); - } - } - // - return 1; - } - } - return 0; + HANDLE hContact = (HANDLE)wParam; + char *szProto = GetContactProto(hContact); + if ( lstrcmpA(MODULENAME, szProto)) + return 0; + + if ( db_get_b(hContact, MODULENAME, DBLE_WIN_KEY, 1)) { + ptrT url( db_get_tsa(hContact, MODULENAME, "URL")); + CallService(MS_UTILS_OPENURL, OUF_TCHAR, (WPARAM)url); + + db_set_w(hContact, MODULENAME, "Status", ID_STATUS_ONLINE); + } + + if ( db_get_b(hContact, MODULENAME, DBLE_WIN_KEY, 1)) { + HWND hwndDlg; + if (hwndDlg = WindowList_Find(hWindowList, hContact)) { + SetForegroundWindow(hwndDlg); + SetFocus(hwndDlg); + } + else { + hwndDlg = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_DISPLAY_DATA), NULL, DlgProcDisplayData, (LPARAM) hContact); + HWND hTopmost = db_get_b(hContact, MODULENAME, ON_TOP_KEY, 0) ? HWND_TOPMOST : HWND_NOTOPMOST; + SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_STICK), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0))); + + if ( db_get_b(NULL, MODULENAME, SAVE_INDIVID_POS_KEY, 0)) + SetWindowPos(hwndDlg, hTopmost, + db_get_dw(hContact, MODULENAME, "WVx", 100), // Xposition, + db_get_dw(hContact, MODULENAME, "WVy", 100), // Yposition, + db_get_dw(hContact, MODULENAME, "WVwidth", 412), // WindowWidth, + db_get_dw(hContact, MODULENAME, "WVheight", 350), 0); // WindowHeight, + else + SetWindowPos(hwndDlg, HWND_TOPMOST, Xposition, Yposition, WindowWidth, WindowHeight, 0); + } + + ShowWindow(hwndDlg, SW_SHOW); + SetActiveWindow(hwndDlg); + + if ( db_get_b(NULL, MODULENAME, UPDATE_ON_OPEN_KEY, 0)) { + if ( db_get_b(hContact, MODULENAME, ENABLE_ALERTS_KEY, 0)) + mir_forkthread(ReadFromFile, hContact); + else + mir_forkthread(GetData, hContact); + db_set_w(hContact, MODULENAME, "Status", ID_STATUS_ONLINE); + } + } + + return 1; } -/**************************/ -/***************************/ -//int SendToRichEdit(HWND hWindow, char *truncated, COLORREF rgbText, COLORREF rgbBack) -int SendToRichEdit(HWND hWindow, TCHAR *truncated, COLORREF rgbText, COLORREF rgbBack) +/*****************************************************************************/ +int SendToRichEdit(HWND hWindow, char *truncated, COLORREF rgbText, COLORREF rgbBack) { - - CHARFORMAT2 cfFM; - DBVARIANT dbv; - DWORD bold = 0; - DWORD italic = 0; - DWORD underline = 0; - - // - - // ////// - int len; - - //MessageBox(NULL, "Test", "0", MB_OK); - - - len = GetWindowTextLength(GetDlgItem(hWindow, IDC_DATA)); - - // - SetDlgItemText(hWindow, IDC_DATA, ""); - - //MessageBox(NULL, "Test", "1", MB_OK); - - // - ZeroMemory(&cfFM, sizeof(cfFM)); - // - - cfFM.cbSize = sizeof(CHARFORMAT2); - cfFM.dwMask = CFM_COLOR | CFM_CHARSET | CFM_FACE | ENM_LINK | ENM_MOUSEEVENTS | CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_SIZE; - - if ((db_get_b(NULL, MODULENAME, FONT_BOLD_KEY, 0))) - bold = CFE_BOLD; - - if ((db_get_b(NULL, MODULENAME, FONT_ITALIC_KEY, 0))) - italic = CFE_ITALIC; - - if ((db_get_b(NULL, MODULENAME, FONT_UNDERLINE_KEY, 0))) - underline = CFE_UNDERLINE; - - cfFM.dwEffects = bold | italic | underline; - - // ///////// - - //MessageBox(NULL, "Test", "2", MB_OK); - - /**/ - if (!DBGetContactSetting(NULL, MODULENAME, FONT_FACE_KEY, &dbv)) - { -/* -#ifdef UNICODE_VERISON - MultiByteToWideChar(CP_ACP, 0, (TCHAR *) cfFM.szFaceName, -1, (wchar_t *) dbv.pszVal, 200); -#endif -*/ -//#ifndef UNICODE_VERISON - lstrcpy(cfFM.szFaceName, dbv.pszVal); -//#endif - DBFreeVariant(&dbv); - } - /**/ - - //MessageBox(NULL, "Test", "3", MB_OK); -// - - HDC hDC; - hDC = GetDC(hWindow); - cfFM.yHeight = (BYTE) MulDiv(abs(lf.lfHeight), 120, GetDeviceCaps(GetDC(hWindow), LOGPIXELSY)) * (db_get_b(NULL, MODULENAME, FONT_SIZE_KEY, 0)); - ReleaseDC(hWindow, hDC); -// - cfFM.bCharSet = db_get_b(NULL, MODULENAME, FONT_SCRIPT_KEY, 1); - - cfFM.bPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE; - - cfFM.crTextColor = rgbText; - - cfFM.crBackColor = rgbBack; - - SendMessage(GetDlgItem(hWindow, IDC_DATA), EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM) & cfFM); - - //MessageBox(NULL, "Test", "4", MB_OK); - -// ////////////////////////// - - SendDlgItemMessage(hWindow, IDC_DATA, EM_SETSEL, 0, -1); - - // MessageBox(NULL, "Test", "5", MB_OK); -//// -#ifdef UNICODE_VERISON - - wchar_t tmp4[strlen(truncated)]; - - - int c = lstrlenA(truncated); - -MultiByteToWideChar(CP_UTF8, 0, (CHAR *)truncated, -1, tmp4, strlen(truncated)); - - - -//SetDlgItemTextW(hwndDlg, IDC_DATA, (wchar_t *)&tmp2); -//MessageBoxW(NULL, tmp2, L"OOOO", MB_OK); -SendDlgItemMessageW(hWindow, IDC_DATA, EM_REPLACESEL, FALSE, (LPARAM) tmp4); - #endif - -#ifndef UNICODE_VERISON - SendDlgItemMessage(hWindow, IDC_DATA, EM_REPLACESEL, FALSE, (LPARAM) truncated); - #endif -//// - // MessageBox(NULL, "Test", "6", MB_OK); - - SendMessage(GetDlgItem(hWindow, IDC_DATA), EM_SETCHARFORMAT, SCF_ALL, (LPARAM) & cfFM); - // MessageBox(NULL, "Test", "7", MB_OK); - - return 1; + DBVARIANT dbv; + DWORD bold = 0; + DWORD italic = 0; + DWORD underline = 0; + + int len = GetWindowTextLength(GetDlgItem(hWindow, IDC_DATA)); + SetDlgItemTextA(hWindow, IDC_DATA, ""); + + CHARFORMAT2 cfFM; + ZeroMemory(&cfFM, sizeof(cfFM)); + cfFM.cbSize = sizeof(CHARFORMAT2); + cfFM.dwMask = CFM_COLOR | CFM_CHARSET | CFM_FACE | ENM_LINK | ENM_MOUSEEVENTS | CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_SIZE; + + if ( db_get_b(NULL, MODULENAME, FONT_BOLD_KEY, 0)) + bold = CFE_BOLD; + + if ( db_get_b(NULL, MODULENAME, FONT_ITALIC_KEY, 0)) + italic = CFE_ITALIC; + + if ( db_get_b(NULL, MODULENAME, FONT_UNDERLINE_KEY, 0)) + underline = CFE_UNDERLINE; + + cfFM.dwEffects = bold | italic | underline; + + if (!db_get_ts(NULL, MODULENAME, FONT_FACE_KEY, &dbv)) { + lstrcpy(cfFM.szFaceName, dbv.ptszVal); + db_free(&dbv); + } + else lstrcpy(cfFM.szFaceName, Def_font_face); + + HDC hDC; + hDC = GetDC(hWindow); + cfFM.yHeight = (BYTE)MulDiv(abs(lf.lfHeight), 120, GetDeviceCaps(GetDC(hWindow), LOGPIXELSY)) * (db_get_b(NULL, MODULENAME, FONT_SIZE_KEY, 14)); + ReleaseDC(hWindow, hDC); + + cfFM.bCharSet = db_get_b(NULL, MODULENAME, FONT_SCRIPT_KEY, 0); + cfFM.bPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE; + cfFM.crTextColor = rgbText; + cfFM.crBackColor = rgbBack; + SendMessage(GetDlgItem(hWindow, IDC_DATA), EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM) & cfFM); + + SendDlgItemMessage(hWindow, IDC_DATA, EM_SETSEL, 0, -1); + SendDlgItemMessageA(hWindow, IDC_DATA, EM_REPLACESEL, FALSE, (LPARAM)truncated); + SendDlgItemMessage(hWindow, IDC_DATA, EM_SETCHARFORMAT, SCF_ALL, (LPARAM)&cfFM); + return 1; } -/*************************/ - -/*******************************/ +/*****************************************************************************/ void timerfunc(void) { - db_set_b(NULL, MODULENAME, HAS_CRASHED_KEY, 0); - - if (!(db_get_b(NULL, MODULENAME, OFFLINE_STATUS, 0))) - { - if (!(db_get_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 0))) - forkthread(ContactLoop, 0, NULL); - } - - db_set_dw(NULL, MODULENAME, COUNTDOWN_KEY, 0); -} -/*******************************/ + db_set_b(NULL, MODULENAME, HAS_CRASHED_KEY, 0); + if (!(db_get_b(NULL, MODULENAME, OFFLINE_STATUS, 1))) + if (!(db_get_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 0))) + mir_forkthread(ContactLoop, NULL); -/*******************************/ + db_set_dw(NULL, MODULENAME, COUNTDOWN_KEY, 0); +} + +/*****************************************************************************/ void Countdownfunc(void) { -DWORD timetemp=100; -//char tempcnterchar[100]; -DBVARIANT dbv; - -timetemp=(db_get_dw(NULL, MODULENAME, COUNTDOWN_KEY, (DWORD)&dbv)); - DBFreeVariant(&dbv); - -// sprintf(tempcnterchar, "%d", timetemp); -//MessageBox(NULL, tempcnterchar, "1", MB_OK); - - if((timetemp < 0) || (timetemp ==0)) - { - timetemp=(db_get_dw(NULL, MODULENAME, REFRESH_KEY, (DWORD)&dbv)); - db_set_dw(NULL, MODULENAME, COUNTDOWN_KEY, timetemp); - DBFreeVariant(&dbv); - } - -//sprintf(tempcnterchar, "%d", timetemp); -//MessageBox(NULL, tempcnterchar, "2", MB_OK); - -timetemp = timetemp - 1; - - - -db_set_dw(NULL, MODULENAME, COUNTDOWN_KEY, timetemp); - -//sprintf(tempcnterchar, "%d", timetemp); -//MessageBox(NULL, tempcnterchar, "3", MB_OK); + DWORD timetemp = db_get_dw(NULL, MODULENAME, COUNTDOWN_KEY, 100); + if(timetemp < 0 || timetemp == 0) { + timetemp = db_get_dw(NULL, MODULENAME, REFRESH_KEY, TIME); + db_set_dw(NULL, MODULENAME, COUNTDOWN_KEY, timetemp); + } - ChangeMenuItemCountdown(); + timetemp = timetemp - 1; + db_set_dw(NULL, MODULENAME, COUNTDOWN_KEY, timetemp); + ChangeMenuItemCountdown(); } -/*******************************/ -/****************/ -static int OptInitialise(WPARAM wParam, LPARAM lParam) +/*****************************************************************************/ + +static int OptInitialise(WPARAM wParam, LPARAM lParam) { - OPTIONSDIALOGPAGE odp = {0}; - - ZeroMemory(&odp, sizeof(odp)); - odp.cbSize = sizeof(odp); - odp.position = 0; - odp.hInstance = hInst; - odp.pszTemplate = MAKEINTRESOURCE(IDD_OPT); - odp.pszGroup = Translate("Network"); - odp.pszTitle = optionsname; - odp.pfnDlgProc = DlgProcOpt; - odp.flags = ODPF_BOLDGROUPS; - odp.expertOnlyControls = expertOnlyControls; - odp.nExpertOnlyControls = sizeof(expertOnlyControls) / sizeof(expertOnlyControls[0]); - CallService(MS_OPT_ADDPAGE, wParam, (LPARAM) & odp); - - // if popup service exists - if ((ServiceExists(MS_POPUP_ADDPOPUP))) - { - ZeroMemory(&odp, sizeof(odp)); - odp.cbSize = sizeof(odp); - odp.position = 100000000; - odp.hInstance = hInst; - odp.pszTemplate = MAKEINTRESOURCE(IDD_POPUP); - odp.pszTitle = optionsname; - odp.pszGroup = Translate("PopUps"); - odp.groupPosition = 910000000; - odp.flags = ODPF_BOLDGROUPS; - odp.pfnDlgProc = DlgPopUpOpts; - CallService(MS_OPT_ADDPAGE, wParam, (LPARAM) & odp); - } - return 0; + OPTIONSDIALOGPAGE odp = { sizeof(odp) }; + odp.hInstance = hInst; + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT); + odp.pszGroup = Translate("Network"); + odp.pszTitle = optionsname; + odp.pfnDlgProc = DlgProcOpt; + odp.flags = ODPF_BOLDGROUPS; + Options_AddPage(wParam, &odp); + + // if popup service exists + if ((ServiceExists(MS_POPUP_ADDPOPUP))) { + ZeroMemory(&odp, sizeof(odp)); + odp.cbSize = sizeof(odp); + odp.position = 100000000; + odp.hInstance = hInst; + odp.pszTemplate = MAKEINTRESOURCEA(IDD_POPUP); + odp.pszTitle = optionsname; + odp.pszGroup = Translate("PopUps"); + odp.groupPosition = 910000000; + odp.flags = ODPF_BOLDGROUPS; + odp.pfnDlgProc = DlgPopUpOpts; + Options_AddPage(wParam, &odp); + } + return 0; } -/***************/ - -/**********/ +/*****************************************************************************/ void FontSettings(void) { - char fontfacename[20]; - - ZeroMemory(&fontfacename, sizeof(fontfacename)); - - lf.lfHeight = 16; - lf.lfWidth = 0; - lf.lfEscapement = 0; - lf.lfOrientation = 0; - lf.lfWeight = FW_NORMAL; - lf.lfItalic = FALSE; - lf.lfUnderline = FALSE; - lf.lfStrikeOut = 0; - lf.lfCharSet = ANSI_CHARSET; - lf.lfOutPrecision = OUT_DEFAULT_PRECIS; - lf.lfClipPrecision = CLIP_DEFAULT_PRECIS; - lf.lfQuality = DEFAULT_QUALITY; - lf.lfPitchAndFamily = FIXED_PITCH | FF_MODERN; - lstrcpy(lf.lfFaceName, "Courier"); - + lf.lfHeight = 16; + lf.lfWidth = 0; + lf.lfEscapement = 0; + lf.lfOrientation = 0; + lf.lfWeight = FW_NORMAL; + lf.lfItalic = FALSE; + lf.lfUnderline = FALSE; + lf.lfStrikeOut = 0; + lf.lfCharSet = ANSI_CHARSET; + lf.lfOutPrecision = OUT_DEFAULT_PRECIS; + lf.lfClipPrecision = CLIP_DEFAULT_PRECIS; + lf.lfQuality = DEFAULT_QUALITY; + lf.lfPitchAndFamily = FIXED_PITCH | FF_MODERN; + lstrcpy(lf.lfFaceName, Def_font_face); } -/************/ +/*****************************************************************************/ int ModulesLoaded(WPARAM wParam, LPARAM lParam) { - HookEvent(ME_OPT_INITIALISE, OptInitialise); - - hHookDisplayDataAlert = CreateHookableEvent(ME_DISPLAYDATA_ALERT); - HookEvent(ME_DISPLAYDATA_ALERT, DataWndAlertCommand); - - hHookAlertPopup = CreateHookableEvent(ME_POPUP_ALERT); - HookEvent(ME_POPUP_ALERT, PopupAlert); - - hHookAlertWPopup = CreateHookableEvent(ME_WPOPUP_ALERT); - HookEvent(ME_WPOPUP_ALERT, WPopupAlert); + HookEvent(ME_OPT_INITIALISE, OptInitialise); - hHookErrorPopup = CreateHookableEvent(ME_POPUP_ERROR); - HookEvent(ME_POPUP_ERROR, ErrorMsgs); + hHookDisplayDataAlert = CreateHookableEvent(ME_DISPLAYDATA_ALERT); + HookEvent(ME_DISPLAYDATA_ALERT, DataWndAlertCommand); - hHookAlertOSD = CreateHookableEvent(ME_OSD_ALERT); - HookEvent(ME_OSD_ALERT, OSDAlert); + hHookAlertPopup = CreateHookableEvent(ME_POPUP_ALERT); + HookEvent(ME_POPUP_ALERT, PopupAlert); - FontSettings(); + hHookErrorPopup = CreateHookableEvent(ME_POPUP_ERROR); + HookEvent(ME_POPUP_ERROR, ErrorMsgs); - h_font = CreateFontIndirect(&lf); + hHookAlertOSD = CreateHookableEvent(ME_OSD_ALERT); + HookEvent(ME_OSD_ALERT, OSDAlert); -// get data on startup - if ((db_get_b(NULL, MODULENAME, UPDATE_ONSTART_KEY, 0))) - forkthread(StartUpdate, 0, NULL); + FontSettings(); + h_font = CreateFontIndirect(&lf); -/****END ALWAYS****/ + // get data on startup + if ( db_get_b(NULL, MODULENAME, UPDATE_ONSTART_KEY, 0)) + mir_forkthread(StartUpdate, NULL); - return 0; + return 0; } -/*********/ -/***********************/ -int DataWndMenuCommand(WPARAM wParam, LPARAM lParam) +/*****************************************************************************/ +INT_PTR DataWndMenuCommand(WPARAM wParam, LPARAM lParam) { - HWND hwndDlg; - - if ((hwndDlg = (WindowList_Find(hWindowList, (HANDLE) wParam)))) - { - DestroyWindow(hwndDlg); - return 0; - } else - { - - hwndDlg = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_DISPLAY_DATA), NULL, DlgProcDisplayData, (LPARAM) (HANDLE) wParam); - - if (db_get_b((HANDLE) wParam, MODULENAME, ON_TOP_KEY, 0)) - { - SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_STICK), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0))); - if ((db_get_b(NULL, MODULENAME, SAVE_INDIVID_POS_KEY, 0))) - { - SetWindowPos( - hwndDlg, - HWND_TOPMOST, - db_get_dw((HANDLE) wParam, MODULENAME, "WVx", 100), // Xposition, - db_get_dw((HANDLE) wParam, MODULENAME, "WVy", 100), // Yposition, - db_get_dw((HANDLE) wParam, MODULENAME, "WVwidth", 100), // WindowWidth, - db_get_dw((HANDLE) wParam, MODULENAME, "WVheight", 100), // WindowHeight, - 0); - } else - { - SetWindowPos( - hwndDlg, - HWND_TOPMOST, - Xposition, - Yposition, - WindowWidth, - WindowHeight, - 0); - - } - } - if (!(db_get_b((HANDLE) wParam, MODULENAME, ON_TOP_KEY, 0))) - {// - SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_UNSTICK), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0))); - - if ((db_get_b(NULL, MODULENAME, SAVE_INDIVID_POS_KEY, 0))) - { - SetWindowPos( - hwndDlg, - HWND_NOTOPMOST, - db_get_dw((HANDLE) wParam, MODULENAME, "WVx", 100), // Xposition, - db_get_dw((HANDLE) wParam, MODULENAME, "WVy", 100), // Yposition, - db_get_dw((HANDLE) wParam, MODULENAME, "WVwidth", 100), // WindowWidth, - db_get_dw((HANDLE) wParam, MODULENAME, "WVheight", 100), // WindowHeight, - 0); - } else - { - SetWindowPos( - hwndDlg, - HWND_NOTOPMOST, - Xposition, - Yposition, - WindowWidth, - WindowHeight, - 0); - } - - } - } - - // - ShowWindow(hwndDlg, SW_SHOW); - SetActiveWindow(hwndDlg); - // - if ((db_get_b(NULL, MODULENAME, UPDATE_ON_OPEN_KEY, 0))) - { - if ((db_get_b((HANDLE) wParam, MODULENAME, ENABLE_ALERTS_KEY, 0))) - forkthread(ReadFromFile, 0, (HANDLE) wParam); - else - forkthread(GetData, 0, (HANDLE) wParam); - db_set_w((HANDLE) wParam, MODULENAME, "Status", ID_STATUS_ONLINE); - } - - return 0; + HANDLE hContact = (HANDLE)wParam; + HWND hwndDlg = WindowList_Find(hWindowList, hContact); + if (hwndDlg != NULL) { + DestroyWindow(hwndDlg); + return 0; + } + + HWND hTopmost = db_get_b(hContact, MODULENAME, ON_TOP_KEY, 0) ? HWND_TOPMOST : HWND_NOTOPMOST; + hwndDlg = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_DISPLAY_DATA), NULL, DlgProcDisplayData, (LPARAM) hContact); + SendDlgItemMessage(hwndDlg, IDC_STICK_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM) ((HICON) LoadImage(hInst, MAKEINTRESOURCE(IDI_STICK), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), 0))); + if ( db_get_b(NULL, MODULENAME, SAVE_INDIVID_POS_KEY, 0)) + SetWindowPos(hwndDlg, hTopmost, + db_get_dw(hContact, MODULENAME, "WVx", 100), // Xposition, + db_get_dw(hContact, MODULENAME, "WVy", 100), // Yposition, + db_get_dw(hContact, MODULENAME, "WVwidth", 100), // WindowWidth, + db_get_dw(hContact, MODULENAME, "WVheight", 100), 0); // WindowHeight, + else + SetWindowPos(hwndDlg, HWND_TOPMOST, Xposition, Yposition, WindowWidth, WindowHeight, 0); + + ShowWindow(hwndDlg, SW_SHOW); + SetActiveWindow(hwndDlg); + + if ( db_get_b(NULL, MODULENAME, UPDATE_ON_OPEN_KEY, 0)) { + if ( db_get_b(hContact, MODULENAME, ENABLE_ALERTS_KEY, 0)) + mir_forkthread(ReadFromFile, hContact); + else + mir_forkthread(GetData, hContact); + db_set_w(hContact, MODULENAME, "Status", ID_STATUS_ONLINE); + } + + return 0; } -/***********************/ - -/**********************/ +/*****************************************************************************/ INT_PTR UpdateAllMenuCommand(WPARAM wParam, LPARAM lParam) { - forkthread(ContactLoop, 0, NULL); - return 0; + mir_forkthread(ContactLoop, NULL); + return 0; } -/*************************/ -/************************/ +/*****************************************************************************/ INT_PTR AutoUpdateMCmd(WPARAM wParam, LPARAM lParam) { - if (db_get_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 0)) - db_set_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 0); - else if (!(db_get_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 0))) - db_set_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 1); + if (db_get_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 0)) + db_set_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 0); + else if (!(db_get_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 0))) + db_set_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 1); - ChangeMenuItem1(); - return 0; + ChangeMenuItem1(); + return 0; } -/**********************/ -/***************************/ -int AddContactMenuCommand(WPARAM wParam, LPARAM lParam) +/*****************************************************************************/ +INT_PTR AddContactMenuCommand(WPARAM wParam, LPARAM lParam) { - db_set_s(NULL, "FindAdd", "LastSearched", MODULENAME); - CallService(MS_FINDADD_FINDADD, 0, 0); - return 0; + db_set_s(NULL, "FindAdd", "LastSearched", MODULENAME); + CallService(MS_FINDADD_FINDADD, 0, 0); + return 0; } -/***************************/ -/***********************/ +/*****************************************************************************/ int OnTopMenuCommand(WPARAM wParam, LPARAM lParam, HANDLE singlecontact) { - int ontop = 0; - int done = 0; - - if (((db_get_b(singlecontact, MODULENAME, ON_TOP_KEY, 0))) && done == 0) - { - db_set_b(singlecontact, MODULENAME, ON_TOP_KEY, 0); - ontop = 0; - done = 1; - } - if ((!(db_get_b(singlecontact, MODULENAME, ON_TOP_KEY, 0))) && done == 0) - { - db_set_b(singlecontact, MODULENAME, ON_TOP_KEY, 1); - ontop = 1; - done = 1; - } - return 0; + int ontop = 0; + int done = 0; + + if (((db_get_b(singlecontact, MODULENAME, ON_TOP_KEY, 0))) && done == 0) + { + db_set_b(singlecontact, MODULENAME, ON_TOP_KEY, 0); + ontop = 0; + done = 1; + } + if ((!(db_get_b(singlecontact, MODULENAME, ON_TOP_KEY, 0))) && done == 0) + { + db_set_b(singlecontact, MODULENAME, ON_TOP_KEY, 1); + ontop = 1; + done = 1; + } + return 0; } -/*********************/ - -/********************/ -int WebsiteMenuCommand(WPARAM wParam, LPARAM lParam) -{ - DBVARIANT dbv; - char url[300]; - - url[0] = '\0'; -// - DBGetContactSetting((HANDLE) wParam, MODULENAME, "URL", &dbv); - wsprintf(url, "%s", dbv.pszVal); - CallService(MS_UTILS_OPENURL, 1, (WPARAM) url); - DBFreeVariant(&dbv); - db_set_w((HANDLE) wParam, MODULENAME, "Status", ID_STATUS_ONLINE); -// / - - return 0; -} -/*******************/ - - -/****************/ -int UpdateMenuCommand(WPARAM wParam, LPARAM lParam, HANDLE singlecontact) +/*****************************************************************************/ +INT_PTR WebsiteMenuCommand(WPARAM wParam, LPARAM lParam) { + HANDLE hContact = (HANDLE)wParam; + ptrT url( db_get_tsa(hContact, MODULENAME, "URL")); + if (url) + CallService(MS_UTILS_OPENURL, OUF_TCHAR, (WPARAM)url); - forkthread(GetData, 0, singlecontact); - - return 0; + db_set_w(hContact, MODULENAME, "Status", ID_STATUS_ONLINE); + return 0; } -/***************/ - - -/*******************/ -int ContactMenuItemUpdateData (WPARAM wParam, LPARAM lParam) +/*****************************************************************************/ +int UpdateMenuCommand(WPARAM wParam, LPARAM lParam, HANDLE singlecontact) { -UpdateMenuCommand(wParam, lParam, (HANDLE) wParam); -return 0; + mir_forkthread(GetData, singlecontact); + return 0; } -/*******************/ - - -/********************/ -int CntOptionsMenuCommand(WPARAM wParam, LPARAM lParam) +/*****************************************************************************/ +int ContactMenuItemUpdateData(WPARAM wParam, LPARAM lParam) { - -HWND hwndDlg; - - if ((hwndDlg = (WindowList_Find(hWindowList, (HANDLE) wParam)))) - { - DestroyWindow(hwndDlg); - return 0; - } else - { - hwndDlg = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_CONTACT_OPT ), NULL, DlgProcContactOpt, (LPARAM) (HANDLE) wParam); - ShowWindow(hwndDlg, SW_SHOW); - SetActiveWindow(hwndDlg); - } - return 0; + UpdateMenuCommand(wParam, lParam, (HANDLE)wParam); + return 0; } -/*******************/ -/********************/ -int CntAlertMenuCommand(WPARAM wParam, LPARAM lParam) +/*****************************************************************************/ +INT_PTR CntOptionsMenuCommand(WPARAM wParam, LPARAM lParam) { - -HWND hwndDlg; - - if ((hwndDlg = (WindowList_Find(hWindowList, (HANDLE) wParam)))) - { - DestroyWindow(hwndDlg); - return 0; - } else - { - hwndDlg = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_ALRT_OPT), NULL, DlgProcAlertOpt, (LPARAM) (HANDLE) wParam); - ShowWindow(hwndDlg, SW_SHOW); - SetActiveWindow(hwndDlg); - } - return 0; + HWND hwndDlg = WindowList_Find(hWindowList, (HANDLE)wParam); + if (hwndDlg) { + DestroyWindow(hwndDlg); + return 0; + } + + hwndDlg = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_CONTACT_OPT ), NULL, DlgProcContactOpt, (LPARAM) (HANDLE) wParam); + ShowWindow(hwndDlg, SW_SHOW); + SetActiveWindow(hwndDlg); + return 0; } -/*******************/ -int CountdownMenuCommand(WPARAM wParam, LPARAM lParam) +/*****************************************************************************/ +INT_PTR CntAlertMenuCommand(WPARAM wParam, LPARAM lParam) { - - return 0; + HWND hwndDlg = WindowList_Find(hWindowList, (HANDLE) wParam); + if (hwndDlg) { + DestroyWindow(hwndDlg); + return 0; + } + + hwndDlg = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_ALRT_OPT), NULL, DlgProcAlertOpt, (LPARAM) (HANDLE) wParam); + ShowWindow(hwndDlg, SW_SHOW); + SetActiveWindow(hwndDlg); + return 0; } -/**************/ - -void CheckDbKeys(void) +/*****************************************************************************/ +INT_PTR CountdownMenuCommand(WPARAM wParam, LPARAM lParam) { - DBVARIANT dbv; - - if (DBGetContactSetting(NULL, MODULENAME, HAS_CRASHED_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, HAS_CRASHED_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, UPDATE_ONSTART_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, UPDATE_ONSTART_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, MENU_OFF, &dbv)) - { - db_set_b(NULL, MODULENAME, MENU_OFF, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, Ypos_WIN_KEY, &dbv)) - { - db_set_dw(NULL, MODULENAME, Ypos_WIN_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, Xpos_WIN_KEY, &dbv)) - { - db_set_dw(NULL, MODULENAME, Xpos_WIN_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, REFRESH_KEY, &dbv)) - { - db_set_dw(NULL, MODULENAME, REFRESH_KEY, TIME); - DBFreeVariant(&dbv); - } - - if (DBGetContactSetting(NULL, MODULENAME, BG_COLOR_KEY, &dbv)) - { - db_set_dw(NULL, MODULENAME, BG_COLOR_KEY, Def_color_bg); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, TXT_COLOR_KEY, &dbv)) - { - db_set_dw(NULL, MODULENAME, TXT_COLOR_KEY, Def_color_txt); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, WIN_HEIGHT_KEY, &dbv)) - { - db_set_dw(NULL, MODULENAME, WIN_HEIGHT_KEY, 152); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, SUPPRESS_ERR_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, SUPPRESS_ERR_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, WIN_WIDTH_KEY, &dbv)) - { - db_set_dw(NULL, MODULENAME, WIN_WIDTH_KEY, 250); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, OFFLINE_STATUS, &dbv)) - { - db_set_b(NULL, MODULENAME, OFFLINE_STATUS, 1); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, UPDATE_ON_OPEN_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, UPDATE_ON_OPEN_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, FONT_FACE_KEY, &dbv)) - { - db_set_s(NULL, MODULENAME, FONT_FACE_KEY, "Courier"); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, FONT_BOLD_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, FONT_BOLD_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, FONT_ITALIC_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, FONT_ITALIC_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, FONT_UNDERLINE_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, FONT_UNDERLINE_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, FONT_SIZE_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, FONT_SIZE_KEY, 14); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, ERROR_POPUP_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, ERROR_POPUP_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, POP_DELAY_KEY, &dbv)) - { - db_set_dw(NULL, MODULENAME, POP_DELAY_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, POP_BG_CLR_KEY, &dbv)) - { - db_set_dw(NULL, MODULENAME, POP_BG_CLR_KEY, Def_color_bg); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, POP_TXT_CLR_KEY, &dbv)) - { - db_set_dw(NULL, MODULENAME, POP_TXT_CLR_KEY, Def_color_txt); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, POP_USEWINCLRS_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, POP_USEWINCLRS_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, MENU_IS_DISABLED_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, MENU_IS_DISABLED_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, UPDATE_ONALERT_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, UPDATE_ONALERT_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, DISABLE_AUTOUPDATE_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, POP_USESAMECLRS_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, POP_USESAMECLRS_KEY, 1); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, POP_USECUSTCLRS_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, POP_USECUSTCLRS_KEY, 0); - DBFreeVariant(&dbv); - } - // - if (DBGetContactSetting(NULL, MODULENAME, LCLK_WINDOW_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, LCLK_WINDOW_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, LCLK_WEB_PGE_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, LCLK_WEB_PGE_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, LCLK_DISMISS_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, LCLK_DISMISS_KEY, 1); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, RCLK_WINDOW_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, RCLK_WINDOW_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, RCLK_WEB_PGE_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, RCLK_WEB_PGE_KEY, 1); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, RCLK_DISMISS_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, RCLK_DISMISS_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, START_DELAY_KEY, &dbv)) - { - db_set_dw(NULL, MODULENAME, START_DELAY_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, SAVE_INDIVID_POS_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, SAVE_INDIVID_POS_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, NO_PROTECT_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, NO_PROTECT_KEY, 0); - DBFreeVariant(&dbv); - } - if (DBGetContactSetting(NULL, MODULENAME, FONT_SCRIPT_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, FONT_SCRIPT_KEY, 0); - DBFreeVariant(&dbv); - } - - if (DBGetContactSetting(NULL, MODULENAME, DATA_POPUP_KEY, &dbv)) - { - db_set_b(NULL, MODULENAME, DATA_POPUP_KEY, 0); - DBFreeVariant(&dbv); - } - -// if (DBGetContactSetting(NULL, MODULENAME, INBUILTPOP_KEY, &dbv)) -// { -// db_set_b(NULL, MODULENAME, INBUILTPOP_KEY, 0); -// DBFreeVariant(&dbv); -// } - - + return 0; } - -/***************/ -- cgit v1.2.3