summaryrefslogtreecommitdiff
path: root/fddnotify/options.c
diff options
context:
space:
mode:
authorwatcherhd <watcherhd@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb>2011-11-26 14:19:43 +0000
committerwatcherhd <watcherhd@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb>2011-11-26 14:19:43 +0000
commit7aff1e4cb053394db57c2814d5fe1e6493e0cc75 (patch)
treec8585e44049b37e4da152495c954242204c2c38d /fddnotify/options.c
parent6f3d69266933ef120d229e0daf2da164b77214d0 (diff)
Project folders rename part 2
git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@214 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb
Diffstat (limited to 'fddnotify/options.c')
-rw-r--r--fddnotify/options.c785
1 files changed, 0 insertions, 785 deletions
diff --git a/fddnotify/options.c b/fddnotify/options.c
deleted file mode 100644
index 51d24dd..0000000
--- a/fddnotify/options.c
+++ /dev/null
@@ -1,785 +0,0 @@
-/*
-
-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.
-
-*/
-
-#define WIN32_LEAN_AND_MEAN
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <windows.h>
-#include <commctrl.h>
-#include <commdlg.h>
-#include "fdd.h"
-#include "resource.h"
-#include "constants.h"
-#include "protolist.h"
-#include "EnumProc.h"
-#include "../headers_c/newpluginapi.h"
-#include "../headers_c/m_clist.h"
-#include "../headers_c/m_database.h"
-#include "../headers_c/m_langpack.h"
-#include "../headers_c/m_options.h"
-#include "../headers_c/m_protosvc.h"
-#include "../headers_c/m_protocols.h"
-
-#ifndef ListView_SetCheckState
-#define ListView_SetCheckState(hLv, iItem, bCheck) ListView_SetItemState(hLv, iItem, bCheck ? INDEXTOSTATEIMAGEMASK(2) : INDEXTOSTATEIMAGEMASK(1), LVIS_STATEIMAGEMASK)
-#endif
-
-void LoadSettings(void);
-int InitializeOptions(WPARAM,LPARAM);
-INT_PTR CALLBACK DlgProcOptions(HWND, UINT, WPARAM, LPARAM);
-INT_PTR CALLBACK DlgProcProtoOptions(HWND, UINT, WPARAM, LPARAM);
-INT_PTR CALLBACK DlgProcBasicOptions(HWND, UINT, WPARAM, LPARAM);
-INT_PTR CALLBACK DlgProcEffectOptions(HWND, UINT, WPARAM, LPARAM);
-INT_PTR CALLBACK DlgProcProcesses(HWND, UINT, WPARAM, LPARAM);
-void previewFlashing(BOOL);
-static void PreviewThread(void *);
-void createProcessListAux(void);
-void destroyProcessListAux(void);
-char *NumberToDBSetting(const char*, int);
-
-
-extern HINSTANCE hInst;
-extern BOOL bWindowsNT;
-
-extern BYTE bFlashOnMsg;
-extern BYTE bFlashOnURL;
-extern BYTE bFlashOnFile;
-extern BYTE bFlashOnOther;
-extern BYTE bFullScreenMode;
-extern BYTE bScreenSaverRunning;
-extern BYTE bWorkstationLocked;
-extern BYTE bProcessesAreRunning;
-extern BYTE bWorkstationActive;
-extern BYTE bFlashIfMsgOpen;
-extern BYTE bFlashIfMsgOlder;
-extern WORD wSecondsOlder;
-extern BYTE bFlashUntil;
-extern WORD wBlinksNumber;
-extern BYTE bMirandaOrWindows;
-extern WORD wStatusMap;
-extern WORD wReminderCheck;
-extern WORD wStartDelay;
-extern BYTE bFlashSpeed;
-extern BYTE bFlashIfMsgWinNotTop;
-
-extern PROTOCOL_LIST ProtoList;
-extern PROCESS_LIST ProcessList;
-
-HWND hwndProto, hwndBasic, hwndEffect, hwndCurrentTab;
-
-char *AttendedName[]={"Miranda", "Windows"};
-
-PROCESS_LIST ProcessListAux;
-
-
-// **
-// ** Initialize the Miranda options page
-// **
-int InitializeOptions(WPARAM wParam,LPARAM lParam)
-{
-
- OPTIONSDIALOGPAGE odp;
-
- ZeroMemory(&odp,sizeof(odp));
- odp.cbSize = sizeof(odp);
- odp.position = 0;
- odp.hInstance = hInst;
- odp.pszTemplate = MAKEINTRESOURCE(IDD_OPTIONS);
- odp.pszTitle = Translate("Floppy Flash");
- odp.pszGroup = Translate("Plugins");
- odp.groupPosition = 910000000;
- odp.flags=ODPF_BOLDGROUPS;
- odp.pfnDlgProc = DlgProcOptions;
- odp.nIDBottomSimpleControl = 0;
- CallService(MS_OPT_ADDPAGE,wParam,(LPARAM)&odp);
-
- return 0;
-}
-
-
-INT_PTR CALLBACK DlgProcOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- switch (msg) {
- case WM_INITDIALOG:
- {
- HWND tc;
- TCITEM tci;
- tc = GetDlgItem(hwndDlg, IDC_TABS);
- tci.mask = TCIF_TEXT;
- tci.pszText = Translate("Protocols");
- TabCtrl_InsertItem(tc, 0, &tci);
- tci.pszText = Translate("Rules");
- TabCtrl_InsertItem(tc, 1, &tci);
- tci.pszText = Translate("Flashing");
- TabCtrl_InsertItem(tc, 2, &tci);
-
- hwndProto = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_PROTO_OPTIONS), hwndDlg, DlgProcProtoOptions, (LPARAM) NULL);
- SetWindowPos(hwndProto, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
- ShowWindow(hwndProto, SW_SHOW);
- hwndBasic = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_BASIC_OPTIONS), hwndDlg, DlgProcBasicOptions, (LPARAM) NULL);
- SetWindowPos(hwndBasic, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
- hwndEffect = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_EFFECT_OPTIONS), hwndDlg, DlgProcEffectOptions, (LPARAM) NULL);
- SetWindowPos(hwndEffect, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
- hwndCurrentTab = hwndProto;
- return TRUE;
- }
- case WM_COMMAND:
- break;
- case WM_NOTIFY:
- {
- switch (((LPNMHDR) lParam)->code) {
- case TCN_SELCHANGE:
- switch (wParam) {
- case IDC_TABS:
- {
- HWND hwnd;
- switch (TabCtrl_GetCurSel(GetDlgItem(hwndDlg, IDC_TABS))) {
- default:
- case 0:
- hwnd = hwndProto;
- break;
- case 1:
- hwnd = hwndBasic;
- break;
- case 2:
- hwnd = hwndEffect;
- break;
- }
- if (hwnd!=hwndCurrentTab) {
- ShowWindow(hwnd, SW_SHOW);
- ShowWindow(hwndCurrentTab, SW_HIDE);
- hwndCurrentTab = hwnd;
- }
- }
- break;
- }
- break;
- case PSN_APPLY:
- SendMessage(hwndProto, WM_NOTIFY, wParam, lParam);
- SendMessage(hwndBasic, WM_NOTIFY, wParam, lParam);
- SendMessage(hwndEffect, WM_NOTIFY, wParam, lParam);
- return TRUE;
- }
- }
- break;
- case WM_DESTROY:
- break;
- }
- return FALSE;
-}
-
-
-INT_PTR CALLBACK DlgProcProtoOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- static BOOL initDlg=FALSE;
-
- switch (msg) {
-
- case WM_INITDIALOG:
- initDlg=TRUE;
- TranslateDialogDefault(hwndDlg);
-
- // proto list
- {
- int i;
- LVCOLUMN lvCol;
- LVITEM lvItem;
- HWND hList = GetDlgItem(hwndDlg, IDC_PROTOCOLLIST);
-
- // create columns
- ListView_SetExtendedListViewStyleEx(hList, LVS_EX_CHECKBOXES, LVS_EX_CHECKBOXES);
- memset(&lvCol, 0, sizeof(lvCol));
- lvCol.mask = LVCF_WIDTH|LVCF_TEXT;
- lvCol.pszText = Translate("Protocol");
- lvCol.cx = 118;
- ListView_InsertColumn(hList, 0, &lvCol);
- // fill
- memset(&lvItem, 0, sizeof(lvItem));
- lvItem.mask = LVIF_TEXT|LVIF_PARAM;
- lvItem.cchTextMax = 256;
- lvItem.iItem = 0;
- lvItem.iSubItem = 0;
- for(i=0; i < ProtoList.protoCount; i++) {
- char protoName[MAX_PATH+1];
-
- if(ProtoList.protoInfo[i].visible) {
- lvItem.lParam = (LPARAM)ProtoList.protoInfo[i].szProto;
- CallProtoService(ProtoList.protoInfo[i].szProto, PS_GETNAME, sizeof(protoName), (LPARAM)protoName);
- lvItem.pszText = protoName;
- ListView_InsertItem(hList, &lvItem);
- ListView_SetCheckState(hList, lvItem.iItem, ProtoList.protoInfo[i].enabled);
- lvItem.iItem++;
- }
- }
- }
-
- initDlg=FALSE;
- return TRUE;
-
- case WM_NOTIFY:
- {
- //Here we have pressed either the OK or the APPLY button.
- switch(((LPNMHDR)lParam)->idFrom) {
- case 0:
- switch (((LPNMHDR)lParam)->code) {
- case PSN_APPLY:
- // enabled protos
- {
- int i;
- LVITEM lvItem;
- HWND hList = GetDlgItem(hwndDlg, IDC_PROTOCOLLIST);
-
- memset(&lvItem, 0, sizeof(lvItem));
- lvItem.mask = LVIF_PARAM;
- lvItem.iSubItem = 0;
- for (i=0; i < ListView_GetItemCount(hList); i++) {
- lvItem.iItem = i;
- ListView_GetItem(hList, &lvItem);
- DBWriteContactSettingByte(NULL, FDDMODULE, (char *)lvItem.lParam, (BYTE)!!ListView_GetCheckState(hList, lvItem.iItem));
- }
- }
-
- LoadSettings();
-
- return TRUE;
- } // switch code - 0
- break;
- case IDC_PROTOCOLLIST:
- switch(((NMHDR*)lParam)->code) {
- case LVN_ITEMCHANGED:
- {
- NMLISTVIEW *nmlv = (NMLISTVIEW *)lParam;
-
- if (!initDlg && ((nmlv->uNewState ^ nmlv->uOldState) & LVIS_STATEIMAGEMASK))
- SendMessage(GetParent(GetParent(hwndDlg)), PSM_CHANGED, 0, 0);
- }
- break;
- } // switch code - IDC_PROTOCOLLIST
- break;
- } //switch idFrom
- }
- break; //End WM_NOTIFY
-
- default:
- break;
- }
-
- return FALSE;
-}
-
-
-INT_PTR CALLBACK DlgProcBasicOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- int i;
- static BOOL initDlg=FALSE;
-
- switch (msg) {
-
- case WM_INITDIALOG:
- initDlg=TRUE;
- TranslateDialogDefault(hwndDlg);
-
- createProcessListAux();
-
- CheckDlgButton(hwndDlg, IDC_ONMESSAGE, bFlashOnMsg ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_ONURL, bFlashOnURL ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_ONFILE, bFlashOnFile ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_ONOTHER, bFlashOnOther ? BST_CHECKED:BST_UNCHECKED);
-
- CheckDlgButton(hwndDlg, IDC_FSCREEN, bFullScreenMode ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_SSAVER, bScreenSaverRunning ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_LOCKED, bWorkstationLocked ? BST_CHECKED:BST_UNCHECKED);
- if (!bWindowsNT)
- EnableWindow(GetDlgItem(hwndDlg, IDC_LOCKED), FALSE);
- CheckDlgButton(hwndDlg, IDC_PGMS, bProcessesAreRunning ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_ACTIVE, bWorkstationActive ? BST_CHECKED:BST_UNCHECKED);
-
- CheckDlgButton(hwndDlg, IDC_IFOPEN, bFlashIfMsgOpen ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_IFNOTTOP, bFlashIfMsgWinNotTop ? BST_CHECKED:BST_UNCHECKED);
- if (!bFlashIfMsgOpen)
- EnableWindow(GetDlgItem(hwndDlg, IDC_IFNOTTOP), FALSE);
- CheckDlgButton(hwndDlg, IDC_IFOLDER, bFlashIfMsgOlder ? BST_CHECKED:BST_UNCHECKED);
- SendDlgItemMessage(hwndDlg, IDC_OLDERSPIN, UDM_SETBUDDY, (WPARAM)GetDlgItem(hwndDlg, IDC_SOLDER), 0);
- SendDlgItemMessage(hwndDlg, IDC_OLDERSPIN, UDM_SETRANGE32, 1, MAKELONG(UD_MAXVAL, 0));
- SendDlgItemMessage(hwndDlg, IDC_OLDERSPIN, UDM_SETPOS, 0, MAKELONG(wSecondsOlder, 0));
- if (!bFlashIfMsgOlder) {
- EnableWindow(GetDlgItem(hwndDlg, IDC_SOLDER), FALSE);
- EnableWindow(GetDlgItem(hwndDlg, IDC_OLDERSPIN), FALSE);
- }
-
- CheckDlgButton(hwndDlg, IDC_UNTILBLK, bFlashUntil&UNTIL_NBLINKS ? BST_CHECKED:BST_UNCHECKED);
- SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETBUDDY, (WPARAM)GetDlgItem(hwndDlg, IDC_SBLINK), 0);
- SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETRANGE32, 1, MAKELONG(UD_MAXVAL, 0));
- SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETPOS, 0, MAKELONG(wBlinksNumber, 0));
- if (!(bFlashUntil & UNTIL_NBLINKS)) {
- EnableWindow(GetDlgItem(hwndDlg, IDC_SBLINK), FALSE);
- EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKSPIN), FALSE);
- }
- CheckDlgButton(hwndDlg, IDC_UNTILATTENDED, bFlashUntil&UNTIL_REATTENDED ? BST_CHECKED:BST_UNCHECKED);
- for (i=0; i < 2; i++) {
- int index = SendDlgItemMessage(hwndDlg, IDC_MIRORWIN, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)AttendedName[i]);
- if (index != CB_ERR && index != CB_ERRSPACE)
- SendDlgItemMessage(hwndDlg, IDC_MIRORWIN, CB_SETITEMDATA, (WPARAM)index, (LPARAM)i);
- }
- SendDlgItemMessage(hwndDlg, IDC_MIRORWIN, CB_SETCURSEL, (WPARAM)bMirandaOrWindows, 0);
- if (!(bFlashUntil & UNTIL_REATTENDED))
- EnableWindow(GetDlgItem(hwndDlg, IDC_MIRORWIN), FALSE);
- CheckDlgButton(hwndDlg, IDC_UNTILOPEN, bFlashUntil&UNTIL_EVENTSOPEN ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_UNTILCOND, bFlashUntil&UNTIL_CONDITIONS ? BST_CHECKED:BST_UNCHECKED);
-
- CheckDlgButton(hwndDlg, IDC_ONLINE, wStatusMap&MAP_ONLINE ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_AWAY, wStatusMap&MAP_AWAY ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_NA, wStatusMap&MAP_NA ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_OCCUPIED, wStatusMap&MAP_OCCUPIED ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_DND, wStatusMap&MAP_DND ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_FREECHAT, wStatusMap&MAP_FREECHAT ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_INVISIBLE, wStatusMap&MAP_INVISIBLE ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_ONTHEPHONE, wStatusMap&MAP_ONTHEPHONE ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_OUTTOLUNCH, wStatusMap&MAP_OUTTOLUNCH ? BST_CHECKED:BST_UNCHECKED);
- CheckDlgButton(hwndDlg, IDC_OFFLINE, wStatusMap&MAP_OFFLINE ? BST_CHECKED:BST_UNCHECKED);
-
- SendDlgItemMessage(hwndDlg, IDC_REMCHECK, UDM_SETBUDDY, (WPARAM)GetDlgItem(hwndDlg, IDC_SREMCHECK), 0);
- SendDlgItemMessage(hwndDlg, IDC_REMCHECK, UDM_SETRANGE32, 0, MAKELONG(UD_MAXVAL, 0));
- SendDlgItemMessage(hwndDlg, IDC_REMCHECK, UDM_SETPOS, 0, MAKELONG(wReminderCheck, 0));
-
- initDlg=FALSE;
- return TRUE;
-
- case WM_VSCROLL:
- case WM_HSCROLL:
- SendMessage(GetParent(GetParent(hwndDlg)), PSM_CHANGED, 0, 0);
- break;
-
- case WM_DESTROY:
- destroyProcessListAux();
- break;
-
- case WM_COMMAND:
- switch (LOWORD(wParam)) {
- case IDC_ONMESSAGE:
- case IDC_ONURL:
- case IDC_ONFILE:
- case IDC_ONOTHER:
- case IDC_IFOPEN:
- case IDC_IFNOTTOP:
- case IDC_IFOLDER:
- case IDC_UNTILBLK:
- case IDC_UNTILATTENDED:
- case IDC_MIRORWIN:
- case IDC_UNTILOPEN:
- case IDC_UNTILCOND:
- case IDC_FSCREEN:
- case IDC_SSAVER:
- case IDC_LOCKED:
- case IDC_PGMS:
- case IDC_ACTIVE:
- case IDC_ONLINE:
- case IDC_AWAY:
- case IDC_NA:
- case IDC_OCCUPIED:
- case IDC_DND:
- case IDC_FREECHAT:
- case IDC_INVISIBLE:
- case IDC_ONTHEPHONE:
- case IDC_OUTTOLUNCH:
- case IDC_OFFLINE:
- EnableWindow(GetDlgItem(hwndDlg, IDC_IFNOTTOP), IsDlgButtonChecked(hwndDlg, IDC_IFOPEN) == BST_CHECKED);
- EnableWindow(GetDlgItem(hwndDlg, IDC_SOLDER), IsDlgButtonChecked(hwndDlg, IDC_IFOLDER) == BST_CHECKED);
- EnableWindow(GetDlgItem(hwndDlg, IDC_OLDERSPIN), IsDlgButtonChecked(hwndDlg, IDC_IFOLDER) == BST_CHECKED);
- EnableWindow(GetDlgItem(hwndDlg, IDC_SBLINK), IsDlgButtonChecked(hwndDlg, IDC_UNTILBLK) == BST_CHECKED);
- EnableWindow(GetDlgItem(hwndDlg, IDC_BLINKSPIN), IsDlgButtonChecked(hwndDlg, IDC_UNTILBLK) == BST_CHECKED);
- EnableWindow(GetDlgItem(hwndDlg, IDC_MIRORWIN), IsDlgButtonChecked(hwndDlg, IDC_UNTILATTENDED) == BST_CHECKED);
- SendMessage(GetParent(GetParent(hwndDlg)), PSM_CHANGED, 0, 0);
- return TRUE;
- case IDC_SOLDER:
- if(HIWORD(wParam) == EN_CHANGE && !initDlg) {
- BOOL translated;
- int val = GetDlgItemInt(hwndDlg, IDC_SOLDER, &translated, FALSE);
- if (translated && val < 1)
- SendDlgItemMessage(hwndDlg, IDC_OLDERSPIN, UDM_SETPOS, 0, MAKELONG(val, 0));
- SendMessage(GetParent(GetParent(hwndDlg)), PSM_CHANGED, 0, 0);
- }
- return TRUE;
- case IDC_SBLINK:
- if(HIWORD(wParam) == EN_CHANGE && !initDlg) {
- BOOL translated;
- int val = GetDlgItemInt(hwndDlg, IDC_SBLINK, &translated, FALSE);
- if (translated && val < 1)
- SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_SETPOS, 0, MAKELONG(val, 0));
- SendMessage(GetParent(GetParent(hwndDlg)), PSM_CHANGED, 0, 0);
- }
- return TRUE;
- case IDC_ASSIGNPGMS:
- if (DialogBoxParam(hInst, MAKEINTRESOURCE(IDD_PROCESSES), hwndDlg, DlgProcProcesses, 0) == IDC_OKPGM)
- SendMessage(GetParent(GetParent(hwndDlg)), PSM_CHANGED, 0, 0);
- return TRUE;
- case IDC_SREMCHECK:
- if(HIWORD(wParam) == EN_CHANGE && !initDlg)
- SendMessage(GetParent(GetParent(hwndDlg)), PSM_CHANGED, 0, 0);
- return TRUE;
- }
- break;
-
- case WM_NOTIFY:
- {
- unsigned int j;
- BYTE untilMap = 0;
- WORD statusMap = 0;
- //Here we have pressed either the OK or the APPLY button.
- switch(((LPNMHDR)lParam)->idFrom) {
- case 0:
- switch (((LPNMHDR)lParam)->code) {
- case PSN_APPLY:
- DBWriteContactSettingByte(NULL, FDDMODULE, "onmsg", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_ONMESSAGE) == BST_CHECKED ? 1:0));
- DBWriteContactSettingByte(NULL, FDDMODULE, "onurl", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_ONURL) == BST_CHECKED ? 1:0));
- DBWriteContactSettingByte(NULL, FDDMODULE, "onfile", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_ONFILE) == BST_CHECKED ? 1:0));
- DBWriteContactSettingByte(NULL, FDDMODULE, "onother", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_ONOTHER) == BST_CHECKED ? 1:0));
-
- DBWriteContactSettingByte(NULL, FDDMODULE, "fscreenmode", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_FSCREEN) == BST_CHECKED ? 1:0));
- DBWriteContactSettingByte(NULL, FDDMODULE, "ssaverrunning", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_SSAVER) == BST_CHECKED ? 1:0));
- DBWriteContactSettingByte(NULL, FDDMODULE, "wstationlocked", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_LOCKED) == BST_CHECKED ? 1:0));
- DBWriteContactSettingByte(NULL, FDDMODULE, "procsrunning", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_PGMS) == BST_CHECKED ? 1:0));
- DBWriteContactSettingByte(NULL, FDDMODULE, "wstationactive", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_ACTIVE) == BST_CHECKED ? 1:0));
-
- DBWriteContactSettingByte(NULL, FDDMODULE, "ifmsgopen", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_IFOPEN) == BST_CHECKED ? 1:0));
- DBWriteContactSettingByte(NULL, FDDMODULE, "ifmsgnottop", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_IFNOTTOP) == BST_CHECKED ? 1:0));
- DBWriteContactSettingByte(NULL, FDDMODULE, "ifmsgolder", (BYTE)(IsDlgButtonChecked(hwndDlg, IDC_IFOLDER) == BST_CHECKED ? 1:0));
- DBWriteContactSettingWord(NULL, FDDMODULE, "secsolder", (WORD)SendDlgItemMessage(hwndDlg, IDC_OLDERSPIN, UDM_GETPOS, 0, 0));
-
- if(IsDlgButtonChecked(hwndDlg, IDC_UNTILBLK) == BST_CHECKED)
- untilMap |= UNTIL_NBLINKS;
- if (IsDlgButtonChecked(hwndDlg, IDC_UNTILATTENDED) == BST_CHECKED)
- untilMap |= UNTIL_REATTENDED;
- if (IsDlgButtonChecked(hwndDlg, IDC_UNTILOPEN) == BST_CHECKED)
- untilMap |= UNTIL_EVENTSOPEN;
- if (IsDlgButtonChecked(hwndDlg, IDC_UNTILCOND) == BST_CHECKED)
- untilMap |= UNTIL_CONDITIONS;
- DBWriteContactSettingByte(NULL, FDDMODULE, "funtil", untilMap);
- DBWriteContactSettingWord(NULL, FDDMODULE, "nblinks", (WORD)SendDlgItemMessage(hwndDlg, IDC_BLINKSPIN, UDM_GETPOS, 0, 0));
- DBWriteContactSettingByte(NULL, FDDMODULE, "mirorwin", (BYTE)SendDlgItemMessage(hwndDlg, IDC_MIRORWIN, CB_GETITEMDATA, (WPARAM)SendDlgItemMessage(hwndDlg, IDC_MIRORWIN, CB_GETCURSEL, 0, 0), 0));
-
- if(IsDlgButtonChecked(hwndDlg, IDC_ONLINE) == BST_CHECKED)
- statusMap |= MAP_ONLINE;
- if(IsDlgButtonChecked(hwndDlg, IDC_AWAY) == BST_CHECKED)
- statusMap |= MAP_AWAY;
- if(IsDlgButtonChecked(hwndDlg, IDC_NA) == BST_CHECKED)
- statusMap |= MAP_NA;
- if(IsDlgButtonChecked(hwndDlg, IDC_OCCUPIED) == BST_CHECKED)
- statusMap |= MAP_OCCUPIED;
- if(IsDlgButtonChecked(hwndDlg, IDC_DND) == BST_CHECKED)
- statusMap |= MAP_DND;
- if(IsDlgButtonChecked(hwndDlg, IDC_FREECHAT) == BST_CHECKED)
- statusMap |= MAP_FREECHAT;
- if(IsDlgButtonChecked(hwndDlg, IDC_INVISIBLE) == BST_CHECKED)
- statusMap |= MAP_INVISIBLE;
- if(IsDlgButtonChecked(hwndDlg, IDC_ONTHEPHONE) == BST_CHECKED)
- statusMap |= MAP_ONTHEPHONE;
- if(IsDlgButtonChecked(hwndDlg, IDC_OUTTOLUNCH) == BST_CHECKED)
- statusMap |= MAP_OUTTOLUNCH;
- if(IsDlgButtonChecked(hwndDlg, IDC_OFFLINE) == BST_CHECKED)
- statusMap |= MAP_OFFLINE;
- DBWriteContactSettingWord(NULL, FDDMODULE, "status", statusMap);
-
- DBWriteContactSettingWord(NULL, FDDMODULE, "remcheck", (WORD)SendDlgItemMessage(hwndDlg, IDC_REMCHECK, UDM_GETPOS, 0, 0));
-
- for (i=0, j=0; j < ProcessListAux.count; j++)
- if (ProcessListAux.szFileName[j])
- DBWriteContactSettingString(NULL, FDDMODULE, NumberToDBSetting("process", i++), ProcessListAux.szFileName[j]);
- DBWriteContactSettingWord(NULL, FDDMODULE, "processcount", (WORD)i);
- while (!DBDeleteContactSetting(NULL, FDDMODULE, NumberToDBSetting("process", i++)));
-
- LoadSettings();
-
- return TRUE;
- } // switch code
- break;
- } //switch idFrom
- }
- break; //End WM_NOTIFY
-
- default:
- break;
- }
-
- return FALSE;
-}
-
-
-INT_PTR CALLBACK DlgProcEffectOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- static BOOL initDlg=FALSE;
-
- switch (msg) {
-
- case WM_INITDIALOG:
- initDlg=TRUE;
- TranslateDialogDefault(hwndDlg);
-
- SendDlgItemMessage(hwndDlg, IDC_DELAYSPIN, UDM_SETBUDDY, (WPARAM)GetDlgItem(hwndDlg, IDC_SDELAY), 0);
- SendDlgItemMessage(hwndDlg, IDC_DELAYSPIN, UDM_SETRANGE32, 0, MAKELONG(UD_MAXVAL, 0));
- SendDlgItemMessage(hwndDlg, IDC_DELAYSPIN, UDM_SETPOS, 0, MAKELONG(wStartDelay, 0));
-
- SendDlgItemMessage(hwndDlg, IDC_SPEED, TBM_SETRANGE, FALSE, MAKELONG(0, 5));
- SendDlgItemMessage(hwndDlg, IDC_SPEED, TBM_SETPOS, TRUE, bFlashSpeed);
-
- initDlg=FALSE;
- return TRUE;
-
- case WM_VSCROLL:
- case WM_HSCROLL:
- SendMessage(GetParent(GetParent(hwndDlg)), PSM_CHANGED, 0, 0);
- break;
-
- case WM_DESTROY:
- previewFlashing(FALSE);
- break;
-
- case WM_COMMAND:
- switch (LOWORD(wParam)) {
- case IDC_SPEED:
- SendMessage(GetParent(GetParent(hwndDlg)), PSM_CHANGED, 0, 0);
- return TRUE;
- case IDC_SDELAY:
- if(HIWORD(wParam) == EN_CHANGE && !initDlg)
- SendMessage(GetParent(GetParent(hwndDlg)), PSM_CHANGED, 0, 0);
- return TRUE;
- case IDC_PREVIEW:
- previewFlashing(IsDlgButtonChecked(hwndDlg, IDC_PREVIEW) == BST_CHECKED);
- return TRUE;
- }
- break;
-
- case WM_NOTIFY:
- {
- //Here we have pressed either the OK or the APPLY button.
- switch(((LPNMHDR)lParam)->idFrom) {
- case 0:
- switch (((LPNMHDR)lParam)->code) {
- case PSN_APPLY:
- DBWriteContactSettingWord(NULL, FDDMODULE, "sdelay", (WORD)SendDlgItemMessage(hwndDlg, IDC_DELAYSPIN, UDM_GETPOS, 0, 0));
-
- DBWriteContactSettingByte(NULL, FDDMODULE, "speed", (BYTE)SendDlgItemMessage(hwndDlg, IDC_SPEED, TBM_GETPOS, 0, 0));
-
- LoadSettings();
-
- return TRUE;
- } // switch code
- break;
- } //switch idFrom
- }
- break; //End WM_NOTIFY
-
- default:
- break;
- }
-
- return FALSE;
-}
-
-
-// PreviewThread globals
-extern int nWaitDelay;
-BOOL bPreviewSemaphore, bPreview;
-
-
-//Preview Flashing functions
-
-void previewFlashing(BOOL buttonState)
-{
- DWORD threadID = 0;
-
- bPreview = buttonState;
-
- if (!bPreview || bPreviewSemaphore) // turn off flashing or already running
- return;
-
- bPreviewSemaphore = TRUE;
- CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)PreviewThread, NULL, 0, &threadID);
-}
-
-static void PreviewThread(void *dummy)
-{
- BYTE data = 0;
-
- if (wStartDelay > 0)
- Sleep(wStartDelay * 1000);
-
- while (bPreview) {
- data = !data;
- ToggleFddLight(0, data);
- Sleep(nWaitDelay);
- }
-
- ToggleFddLight(0, 0);
-
- bPreviewSemaphore = FALSE;
-}
-
-
-INT_PTR CALLBACK DlgProcProcesses(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- unsigned int i;
-
- switch (msg) {
-
- case WM_INITDIALOG:
- TranslateDialogDefault(hwndDlg);
-
- SendDlgItemMessage(hwndDlg, IDC_PROGRAMS, EM_LIMITTEXT, MAX_PATH, 0);
-
- for (i=0; i < ProcessListAux.count; i++)
- if (ProcessListAux.szFileName[i]) {
- int index = SendDlgItemMessage(hwndDlg, IDC_PROGRAMS, CB_INSERTSTRING, (WPARAM)-1, (LPARAM)ProcessListAux.szFileName[i]);
- if (index != CB_ERR && index != CB_ERRSPACE)
- SendDlgItemMessage(hwndDlg, IDC_PROGRAMS, CB_SETITEMDATA, (WPARAM)index, (LPARAM)i);
- }
-
- EnableWindow(GetDlgItem(hwndDlg, IDC_ADDPGM), FALSE);
- if (SendDlgItemMessage(hwndDlg, IDC_PROGRAMS, CB_GETCOUNT, 0, 0) == 0)
- EnableWindow(GetDlgItem(hwndDlg, IDC_DELETEPGM), FALSE);
- else
- SendDlgItemMessage(hwndDlg, IDC_PROGRAMS, CB_SETCURSEL, 0, 0);
-
- return TRUE;
-
- case WM_COMMAND:
- switch (LOWORD(wParam)) {
- case IDC_PROGRAMS:
- switch (HIWORD(wParam)) {
- int item;
- char szFileName[MAX_PATH+1];
-
- case CBN_SELENDOK:
- case CBN_SELCHANGE:
- EnableWindow(GetDlgItem(hwndDlg, IDC_ADDPGM), FALSE);
- EnableWindow(GetDlgItem(hwndDlg, IDC_DELETEPGM), TRUE);
- break;
- case CBN_EDITCHANGE:
- GetDlgItemText(hwndDlg, IDC_PROGRAMS, szFileName, sizeof(szFileName));
- if ((item = SendMessage((HWND)lParam, CB_FINDSTRINGEXACT, -1, (LPARAM)szFileName)) == CB_ERR) { //new program
- EnableWindow(GetDlgItem(hwndDlg, IDC_ADDPGM), TRUE);
- EnableWindow(GetDlgItem(hwndDlg, IDC_DELETEPGM), FALSE);
- } else {
- EnableWindow(GetDlgItem(hwndDlg, IDC_ADDPGM), FALSE);
- EnableWindow(GetDlgItem(hwndDlg, IDC_DELETEPGM), TRUE);
- }
- break;
- }
- break;
- case IDC_ADDPGM:
- {
- int item;
- char szFileName[MAX_PATH+1];
-
- GetDlgItemText(hwndDlg, IDC_PROGRAMS, szFileName, sizeof(szFileName));
- if (!szFileName[0])
- break;
- item = SendDlgItemMessage(hwndDlg, IDC_PROGRAMS, CB_ADDSTRING, 0, (LPARAM)szFileName);
- EnableWindow(GetDlgItem(hwndDlg, IDC_ADDPGM), FALSE);
- EnableWindow(GetDlgItem(hwndDlg, IDC_DELETEPGM), TRUE);
- }
- break;
- case IDC_DELETEPGM:
- {
- int item;
- char szFileName[MAX_PATH+1];
-
- GetDlgItemText(hwndDlg, IDC_PROGRAMS, szFileName, sizeof(szFileName));
- item = SendDlgItemMessage(hwndDlg, IDC_PROGRAMS, CB_FINDSTRINGEXACT, -1, (LPARAM)szFileName);
- SendDlgItemMessage(hwndDlg, IDC_PROGRAMS, CB_DELETESTRING, (WPARAM)item, 0);
- if (SendDlgItemMessage(hwndDlg, IDC_PROGRAMS, CB_GETCOUNT, 0, 0) == 0) {
- SetDlgItemText(hwndDlg, IDC_PROGRAMS, "");
- EnableWindow(GetDlgItem(hwndDlg, IDC_DELETEPGM), FALSE);
- } else
- SendDlgItemMessage(hwndDlg, IDC_PROGRAMS, CB_SETCURSEL, 0, 0);
- }
- break;
- case IDC_OKPGM:
- destroyProcessListAux();
-
- ProcessListAux.count = SendDlgItemMessage(hwndDlg, IDC_PROGRAMS, CB_GETCOUNT, 0, 0);
- ProcessListAux.szFileName = (char **)malloc(ProcessListAux.count * sizeof(char *));
- if (!ProcessListAux.szFileName)
- ProcessListAux.count = 0;
- else
- for (i=0; i < ProcessListAux.count; i++) {
- char szFileNameAux[MAX_PATH+1];
-
- SendDlgItemMessage(hwndDlg, IDC_PROGRAMS, CB_GETLBTEXT, (WPARAM)i, (LPARAM)szFileNameAux);
- ProcessListAux.szFileName[i] = (char *)malloc(strlen(szFileNameAux) + 1);
- if (ProcessListAux.szFileName[i])
- strcpy(ProcessListAux.szFileName[i], szFileNameAux);
- }
-
- case IDC_CANCELPGM:
- EndDialog(hwndDlg, LOWORD(wParam));
- break;
- }
- break;
- }
-
- return FALSE;
-}
-
-
-void createProcessListAux(void)
-{
- unsigned int i;
-
- ProcessListAux.count = ProcessList.count;
- ProcessListAux.szFileName = (char **)malloc(ProcessListAux.count * sizeof(char *));
- if (!ProcessListAux.szFileName)
- ProcessListAux.count = 0;
- else
- for (i=0; i < ProcessListAux.count; i++)
- if (!ProcessList.szFileName[i])
- ProcessListAux.szFileName[i] = NULL;
- else {
- ProcessListAux.szFileName[i] = (char *)malloc(strlen(ProcessList.szFileName[i]) + 1);
- if (ProcessListAux.szFileName[i])
- strcpy(ProcessListAux.szFileName[i], ProcessList.szFileName[i]);
- }
-
-}
-
-
-void destroyProcessListAux(void)
-{
- unsigned int i;
-
- for(i=0; i < ProcessListAux.count; i++)
- if (ProcessListAux.szFileName[i])
- free(ProcessListAux.szFileName[i]);
-
- if (ProcessListAux.szFileName)
- free(ProcessListAux.szFileName);
-
- ProcessListAux.count = 0;
- ProcessListAux.szFileName = NULL;
-}
-
-
-char *NumberToDBSetting(const char* name, int sequence)
-{
- static char returnString[50];
-
- _snprintf(returnString, sizeof(returnString), "%s%d", name, sequence);
-
- return returnString;
-}