summary refs log tree commit diff stats
path: root/plugins/hextray/callbacks.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/hextray/callbacks.cpp')
-rw-r--r--plugins/hextray/callbacks.cpp734
1 files changed, 0 insertions, 734 deletions
diff --git a/plugins/hextray/callbacks.cpp b/plugins/hextray/callbacks.cpp
deleted file mode 100644
index d902af50..00000000
--- a/plugins/hextray/callbacks.cpp
+++ /dev/null
@@ -1,734 +0,0 @@
-/* X-Tray

- * Copyright (C) 2005 Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com>

- *

- * X-Tray 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.

- * 

- * X-Tray 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 X-Tray; if not, write to the Free Software

- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

- */

-

-#define _WIN32_IE 0x0601

-

-#include <windows.h>

-#include <stdio.h>

-#include <commctrl.h>

-#include <tchar.h>

-

-#include "hexchat-plugin.h"

-#include "utility.h"

-#include "hextray.h"

-#include "hexchat.h"

-#include "callbacks.h"

-#include "resource.h"

-#include "sdTray.h"

-#include "sdAlerts.h"

-

-HWND	g_hPrefTabEvents;

-HWND	g_hPrefTabSettings;

-HWND	g_hPrefTabAlerts;

-HWND	g_hPrefTabAbout;

-bool	g_bCanQuit;

-int		g_iIsActive = 1;

-

-

-BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam)

-{

-	TCHAR szTitle[10];

-	GetWindowText(hWnd, szTitle, 9);

-

-	if(_tcsstr(szTitle, _T("HexChat [")))

-	{

-		g_hXchatWnd = hWnd;

-		return false;

-	}

-	

-	return true;

-}

-

-/***********************************************************************************************/

-/******* our HexChat event call back, get the name and info for each event and save it *********/

-/******* for our alerts later ******************************************************************/

-/***********************************************************************************************/

-int event_cb(char *word[], void *userdata)

-{

-	int iEvent = (int)userdata;

-

-	if(iEvent > 10 && iEvent != 21)

-		return HEXCHAT_EAT_NONE;

-

-	/***************************************************************************************/

-	/***** if the window is minimized or if we're allowed to show alerts when its not	 **/

-	/***** and if the option to show the specified alert is true and if we're even		**/

-	/***** allowed to show alerts at all then we show them (a bit confusing but it works) **/

-	/***************************************************************************************/

-	if(((g_iIsActive == 0) || !(g_dwPrefs & (1<<PREF_OSBWM))) && (g_dwPrefs & (1<<PREF_AMAE)) && (g_dwPrefs & (1<<iEvent)))

-	{	

-		/*********************************/

-		/*********** Our Buffers *********/

-		/*********************************/

-		char			szInfo[512];

-		char			szName[64];

-		DWORD			dwInfoFlags;

-		int iTime		= g_iTime*1000;

-		char *szTemp	= NULL;

-

-		if(g_dwPrefs & (1<<PREF_KAOI))

-		{

-			iTime = 0;

-		}

-

-		switch(iEvent)

-		{

-		case CHAN_HILIGHT:

-			_snprintf(szInfo, 512, "%s:\r\n%s", word[1], word[2]);

-			_snprintf(szName, 64, "Highlight: %s", hexchat_get_info (ph, "channel"));

-			dwInfoFlags = NIIF_INFO;

-			break;

-		case CHAN_MESSAGE:

-			_snprintf(szInfo, 512, "%s:\r\n%s", word[1], word[2]);

-			_snprintf(szName, 64, "Channel Message: %s", hexchat_get_info (ph, "channel"));

-			dwInfoFlags = NIIF_INFO;

-			break;

-		case CHAN_TOPIC_CHANGE:

-			_snprintf(szInfo, 512, "%s has changed the topic to %s", word[1], word[2]);

-			_snprintf(szName, 64, "Topic Change: %s", word[3]);

-			dwInfoFlags = NIIF_INFO;

-			break;

-		case CHAN_INVITE:

-			_snprintf(szInfo, 512, "%s has invited you into %s", word[1], word[2]);

-			_snprintf(szName, 64, "Invite");

-			dwInfoFlags = NIIF_INFO;

-			break;

-		case CHAN_KICKED:

-			_snprintf(szInfo, 512, "Kicked from %s by %s:\r\n%s", word[2], word[3], word[4]);

-			_snprintf(szName, 64, "Kick");

-			dwInfoFlags = NIIF_WARNING;

-			break;

-		case CHAN_BANNED:

-			_snprintf(szInfo, 512, "Cannot join %s You are banned.", word[1]);

-			_snprintf(szName, 64, "Banned");

-			dwInfoFlags = NIIF_WARNING;

-			break;

-		case CTCP_GENERIC:

-			_snprintf(szInfo, 512, "%s:\r\nCTCP %s", word[2], word[1]);

-			_snprintf(szName, 64, "CTCP");

-			dwInfoFlags = NIIF_INFO;

-			break;

-		case PMSG_RECEIVE:

-			_snprintf(szInfo, 512, "%s:\r\n%s", word[1], word[2]);

-			_snprintf(szName, 64, "Private Message");

-			dwInfoFlags = NIIF_INFO;

-			break;

-		case SERV_DISCONNECT:

-			_snprintf(szInfo, 512, "Disconnected\r\nError: %s", word[1]);

-			_snprintf(szName, 64, "Disconnect");

-			dwInfoFlags = NIIF_ERROR;

-			break;

-		case SERV_KILLED:

-			_snprintf(szInfo, 512, "Killed(%s(%s))", word[1], word[2]);

-			_snprintf(szName, 64, "Server Admin has killed you");

-			dwInfoFlags = NIIF_ERROR;

-			break;

-		case SERV_NOTICE:

-			_snprintf(szInfo, 512, "Notice:\r\n%s: %s", word[1], word[2]);

-			_snprintf(szName, 64, "Notice");

-			dwInfoFlags = NIIF_INFO;

-			break;

-		case 11:

-			_snprintf(szInfo, 512, ":\r\n%s: %s", word[1], word[2]);

-			_snprintf(szName, 64, "Notice");

-			dwInfoFlags = NIIF_INFO;

-			break;

-		}

-

-		/**************************************************************************************/

-		/***** Use windows instead of balloons, and if its a window should we keep it open ****/

-		/***** indefinitely?															   ****/

-		/**************************************************************************************/

-		szTemp = hexchat_strip_color(szInfo);

-

-		if(g_dwPrefs & (1<<PREF_UWIOB))

-		{

-			sdSystemAlert((HINSTANCE)g_hInstance, IDD_ALERT, szTemp, szName, iTime);

-		}

-		else

-		{

-			ShowBalloon(g_hXchatWnd, 1, szTemp, szName, iTime, dwInfoFlags);

-		}

-

-		free(szTemp);

-	}

-

-	if(g_dwPrefs & (1<<PREF_BLINK) && (g_dwPrefs & (1<<iEvent)))

-	{

-		BlinkIcon(g_hXchatWnd, 1, g_hIcons[0], g_hIcons[(iEvent+1)], 700, 5);

-	}

-

-	/***********************************/

-	/***** pass the events to HexChat **/

-	/***********************************/

-	return HEXCHAT_EAT_NONE;

-}

-

-int command_cb(char *word[], char *word_eol[], void *userdata)

-{

-	char szInfo[512];

-	char *szTemp	= NULL;

-	int iTime		= g_iTime*1000;

-

-	_snprintf(szInfo, 512, word_eol[2]);

-	szTemp = hexchat_strip_color(szInfo);

-

-	if(g_dwPrefs & (1<<PREF_KAOI))

-	{

-		iTime = 0;

-	}

-

-	if(((g_iIsActive == 0) || !(g_dwPrefs & (1<<PREF_OSBWM))) && (g_dwPrefs & (1<<PREF_AMAE)))

-	{

-		if(g_dwPrefs & (1<<PREF_UWIOB))

-		{

-			sdSystemAlert((HINSTANCE)g_hInstance, IDD_ALERT, szTemp, "Alert", iTime);

-		}

-		else

-		{

-			ShowBalloon(g_hXchatWnd, 1, szTemp, "Alert", iTime, NIIF_INFO);

-		}

-	}

-

-	free(szTemp);

-

-	return HEXCHAT_EAT_ALL;

-}

-

-LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam)

-{

-	switch(msg)

-	{

-	case WM_CLOSE:

-		{

-			if((g_dwPrefs & (1<<PREF_MIOC)) && (g_bCanQuit == false))

-			{

-				/*******************************************/

-				/**** to autoaway or not to autoaway...  ***/

-				/*******************************************/

-				if(g_dwPrefs & (1<<PREF_AOM))

-				{

-					hexchat_globally_away(g_szAway);

-				}

-

-				/**************************************************/

-				/**** Win32 API call to hide the window and	     **/

-				/**** save the fact that its minimized for later **/

-				/**************************************************/

-				g_iIsActive = 0;

-				ShowWindow(hWnd, SW_HIDE);

-

-				return 0;

-			}

-			else

-			{

-				if(g_hPrefDlg != NULL)

-				{

-					DestroyWindow(g_hPrefDlg);

-				}

-

-				StopBlink(hWnd, 1, g_hIcons[0]);

-				

-				if(sdAlertNum())

-				{

-					sdCloseAlerts();

-					HoldClose();

-					return 0;

-				}

-			}

-		}

-		break;

-	case WM_SIZE:

-		{

-			/******************************************/

-			/***** User wants to minimize HexChat, ****/

-			/***** are we allowed to go to tray? ******/

-			/******************************************/

-			if((g_dwPrefs & (1<<PREF_TOT)) && (wparam == SIZE_MINIMIZED))

-			{

-				/*******************************************/

-				/**** to autoaway or not to autoaway...  ***/

-				/*******************************************/

-				if(g_dwPrefs & (1<<PREF_AOM))

-				{

-					hexchat_globally_away(g_szAway);

-				}

-

-				/**************************************************/

-				/**** Win32 API call to hide the window and	     **/

-				/**** save the fact that its minimized for later **/

-				/**************************************************/

-				g_iIsActive = 0;

-				ShowWindow(hWnd, SW_HIDE);

-			}

-		}

-		break;

-	/**********************************/

-	/*** user clicked the tray icon ***/

-	/**********************************/

-	case WM_TRAYMSG:

-		{

-			switch(lparam)

-			{

-			case WM_LBUTTONDOWN:

-				{

-					if(!g_iIsActive)

-					{

-						/*********************************************************/

-						/*** 0: its hiden, restore it and show it, if autoaway ***/

-						/*** is on, set us as back							 ***/

-						/*********************************************************/

-						SendMessage(hWnd, WM_SYSCOMMAND, SC_RESTORE, 0);

-						SetForegroundWindow(hWnd);

-						g_iIsActive = 1;

-

-						if(g_dwPrefs & (1<<PREF_AOM))

-						{

-							hexchat_globally_back();

-						}

-					}

-					else

-					{

-						SendMessage(hWnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);

-					}

-				}

-				break;

-			case WM_RBUTTONDOWN:

-				{

-					/******************************************/

-					/*** user wants to see the menu find out **/

-					/*** where the mouse is and show it	  **/

-					/******************************************/

-					POINT pt;

-					int iRet;

-

-					GetCursorPos(&pt);

-					SetForegroundWindow(hWnd);

-

-					ModifyMenu(g_hTrayMenu, 2, (MF_POPUP | MF_BYPOSITION), (UINT)setServerMenu(), _T("Away"));

-

-					Sleep(175);

-

-					iRet = TrackPopupMenuEx(g_hTrayMenu, (TPM_RETURNCMD | TPM_LEFTALIGN), pt.x, pt.y, hWnd, NULL);

-

-					/***********************************/

-					/*** nRet is the users selection, **/

-					/*** process it				   **/

-					/***********************************/

-					sdTrayProc(hWnd, iRet);

-				}

-				break;

-			}

-		}

-		break;

-	default:

-		{

-			/*****************************************************/

-			/*** the taskbar has been restarted, re-add our icon */

-			/*****************************************************/

-			if(msg == RegisterWindowMessage(_T("TaskbarCreated")))

-			{

-				char szVersion[64];

-				_snprintf(szVersion, 64, "HexChat [%s]", hexchat_get_info(ph, "version"));

-				AddIcon(g_hXchatWnd, 1, g_hIcons[0], szVersion, (NIF_ICON | NIF_MESSAGE | NIF_TIP), WM_TRAYMSG);

-			}

-		}

-		break;

-	}

-

-	return CallWindowProc(g_hOldProc, hWnd, msg, wparam, lparam);

-}

-

-/****************************************************/

-/*** process messages from the tray menu ************/

-/****************************************************/

-LRESULT CALLBACK sdTrayProc(HWND hWnd, int msg)

-{

-	switch(msg)

-	{

-	case ACT_EXIT:

-		{

-			g_bCanQuit = true;

-			PostMessage(hWnd, WM_CLOSE, 0, 0);

-		}

-		break;

-	case ACT_RESTORE:

-		{

-			/*************************************************/

-			/** user wants us to restore the HexChat window **/

-			/** and of autoaway is on, set as back ******** **/

-			/*************************************************/

-			SendMessage(g_hXchatWnd, WM_SYSCOMMAND, SC_RESTORE, 0);

-			SetForegroundWindow(hWnd);

-			

-			if((!g_iIsActive) && (g_dwPrefs & (1<<PREF_AOM)))

-			{

-				hexchat_globally_back();

-				g_iIsActive = 1;

-			}

-		}

-		break;

-	case ACT_SETTINGS:

-		{

-			ShowWindow(g_hPrefDlg, SW_SHOW);

-		}

-		break;

-	case ACT_AWAY:

-		{

-			hexchat_globally_away(g_szAway);

-		}

-		break;

-	case ACT_BACK:

-		{

-			hexchat_globally_back();

-		}

-		break;

-	default:

-		{

-			if(msg > 0)

-			{

-				hexchat_set_context(ph, hexchat_find_server(msg-1));

-

-				if(!hexchat_get_info(ph, "away"))

-				{

-					hexchat_away(g_szAway);

-				}

-				else

-				{

-					hexchat_back();

-				}

-			}

-		}

-		break;

-	}

-

-	return 1;

-}

-

-int CALLBACK PrefProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam)

-{

-	switch(msg)

-	{

-	case WM_INITDIALOG:

-		{

-			TCITEM tci1;

-			TCITEM tci2;

-			TCITEM tci3;

-			TCITEM tci4;

-

-			tci1.mask		= TCIF_TEXT;

-			tci1.pszText	= _T("Settings");

-			tci1.cchTextMax	= strlen("Settings");

-			SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_INSERTITEM, 0, (LPARAM)&tci1);

-

-			tci2.mask		= TCIF_TEXT;

-			tci2.pszText	= _T("Alerts");

-			tci2.cchTextMax	= strlen("Alerts");

-			SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_INSERTITEM, 1, (LPARAM)&tci2);

-

-			tci3.mask		= TCIF_TEXT;

-			tci3.pszText	= _T("Events");

-			tci3.cchTextMax	= strlen("Events");

-			SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_INSERTITEM, 2, (LPARAM)&tci3);

-

-			tci4.mask		= TCIF_TEXT;

-			tci4.pszText	= _T("About");

-			tci4.cchTextMax	= strlen("About");

-			SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_INSERTITEM, 3, (LPARAM)&tci4);

-

-

-			/***********************************************************************************/

-			/***********************************************************************************/

-			/***********************************************************************************/

-

-			g_hPrefTabSettings	= CreateDialog((HINSTANCE)g_hInstance,

-									MAKEINTRESOURCE(IDD_SETTINGS),

-									hWnd,		

-									(DLGPROC)SettingsProc);

-			SetDialog(g_hPrefTabSettings,	IDD_SETTINGS);

-

-			g_hPrefTabAlerts	= CreateDialog((HINSTANCE)g_hInstance,

-									MAKEINTRESOURCE(IDD_ALERTS),

-									hWnd,

-									(DLGPROC)AlertsProc);

-			SetDialog(g_hPrefTabAlerts,		IDD_ALERTS);

-

-			g_hPrefTabEvents	= CreateDialog((HINSTANCE)g_hInstance,

-									MAKEINTRESOURCE(IDD_EVENTS),

-									hWnd,		

-									(DLGPROC)EventsProc);

-			SetDialog(g_hPrefTabEvents,		IDD_EVENTS);

-

-			g_hPrefTabAbout		= CreateDialog((HINSTANCE)g_hInstance,

-									MAKEINTRESOURCE(IDD_ABOUT),

-									hWnd,

-									(DLGPROC)AboutProc);

-		}

-		break;

-	case WM_SHOWWINDOW:

-		{

-			if(wparam)

-			{

-				SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_SETCURSEL, 0, 0);

-				ShowWindow(g_hPrefTabSettings,	SW_SHOW);

-				ShowWindow(g_hPrefTabAlerts,	SW_HIDE);

-				ShowWindow(g_hPrefTabEvents,	SW_HIDE);

-				ShowWindow(g_hPrefTabAbout,		SW_HIDE);

-			}

-		}

-		break;

-	case WM_NOTIFY:

-		{

-			NMHDR *pData = (NMHDR *)lparam;

-

-			switch(pData->code)

-			{

-			case TCN_SELCHANGE:

-				{

-					switch(SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_GETCURSEL, 0, 0))

-					{

-					case 0:

-						{

-							ShowWindow(g_hPrefTabSettings,	SW_SHOW);

-							ShowWindow(g_hPrefTabAlerts,	SW_HIDE);

-							ShowWindow(g_hPrefTabEvents,	SW_HIDE);

-							ShowWindow(g_hPrefTabAbout,		SW_HIDE);

-						}

-						break;

-					case 1:

-						{

-							ShowWindow(g_hPrefTabSettings,	SW_HIDE);

-							ShowWindow(g_hPrefTabAlerts,	SW_SHOW);

-							ShowWindow(g_hPrefTabEvents,	SW_HIDE);

-							ShowWindow(g_hPrefTabAbout,		SW_HIDE);

-						}

-						break;

-					case 2:

-						{

-							ShowWindow(g_hPrefTabSettings,	SW_HIDE);

-							ShowWindow(g_hPrefTabAlerts,	SW_HIDE);

-							ShowWindow(g_hPrefTabEvents,	SW_SHOW);

-							ShowWindow(g_hPrefTabAbout,		SW_HIDE);

-						}

-						break;

-					case 3:

-						{

-							ShowWindow(g_hPrefTabSettings,	SW_HIDE);

-							ShowWindow(g_hPrefTabAlerts,	SW_HIDE);

-							ShowWindow(g_hPrefTabEvents,	SW_HIDE);

-							ShowWindow(g_hPrefTabAbout,		SW_SHOW);

-						}

-						break;

-					}

-				}

-				break;

-			}

-		}

-		break;

-	case WM_CLOSE:

-		{

-			ShowWindow(g_hPrefTabEvents,	SW_HIDE);

-			ShowWindow(g_hPrefTabSettings,	SW_HIDE);

-			ShowWindow(g_hPrefTabAlerts,	SW_HIDE);

-			ShowWindow(g_hPrefTabAbout,		SW_HIDE);

-			ShowWindow(hWnd,				SW_HIDE);

-			return TRUE;

-		}

-		break;

-	case WM_COMMAND:

-		{

-			switch(wparam)

-			{

-			case IDC_PREF_OK:

-				{

-					CheckPrefs(g_hPrefTabEvents,	IDD_EVENTS);

-					CheckPrefs(g_hPrefTabSettings,	IDD_SETTINGS);

-					CheckPrefs(g_hPrefTabAlerts,	IDD_ALERTS);

-

-					SavePrefs(0);

-

-					ShowWindow(g_hPrefTabEvents,	SW_HIDE);

-					ShowWindow(g_hPrefTabSettings,	SW_HIDE);

-					ShowWindow(g_hPrefTabAlerts,	SW_HIDE);

-					ShowWindow(g_hPrefTabAbout,		SW_HIDE);

-					ShowWindow(hWnd,				SW_HIDE);

-					return TRUE;

-				}

-				break;

-			case IDC_PREF_CANCEL:

-				{

-					ShowWindow(g_hPrefTabEvents,	SW_HIDE);

-					ShowWindow(g_hPrefTabSettings,	SW_HIDE);

-					ShowWindow(g_hPrefTabAlerts,	SW_HIDE);

-					ShowWindow(g_hPrefTabAbout,		SW_HIDE);

-					ShowWindow(hWnd,				SW_HIDE);

-					return TRUE;

-				}

-				break;

-			case IDC_PREF_APPLY:

-				{

-					CheckPrefs(g_hPrefTabEvents,	IDD_EVENTS);

-					CheckPrefs(g_hPrefTabSettings,	IDD_SETTINGS);

-					CheckPrefs(g_hPrefTabAlerts,	IDD_ALERTS);

-

-					SavePrefs(0);

-					return FALSE;

-				}

-				break;

-			}

-		}

-		break;

-	case WM_DESTROY:

-		{

-			SendMessage(g_hPrefTabEvents,	WM_CLOSE, 0, 0);

-			SendMessage(g_hPrefTabSettings,	WM_CLOSE, 0, 0);

-			SendMessage(g_hPrefTabAbout,	WM_CLOSE, 0, 0);

-			SendMessage(g_hPrefTabAlerts,	WM_CLOSE, 0, 0);

-		}

-		break;

-	}

-

-	return FALSE;

-}

-

-/****************************************************/

-/****************************************************/

-/****************************************************/

-LRESULT CALLBACK AlertsProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam)

-{

-	switch(msg)

-	{

-	case WM_CLOSE:

-		{

-			DestroyWindow(hWnd);

-			return TRUE;

-			break;

-		}

-		break;

-	case WM_COMMAND:

-		{

-			switch(LOWORD(wparam))

-			{

-			case PREF_AMAE:

-				{

-					SetToggle(hWnd, PREF_OSBWM,			PREF_AMAE, TRUE);

-					SetToggle(hWnd, PREF_UWIOB,			PREF_AMAE, TRUE);

-					SetToggle(hWnd, PREF_KAOI,			PREF_AMAE, TRUE);

-					

-					if(IsDlgButtonChecked(hWnd, PREF_AMAE))

-					{

-						SetToggle(hWnd, IDC_ALERT_HOTKEY,		PREF_UWIOB, TRUE);

-						SetToggle(hWnd, IDC_ALERT_HOTKEY_TEXT,	PREF_UWIOB, TRUE);

-						SetToggle(hWnd, IDC_ALERT_TIME,			PREF_KAOI, FALSE);

-						SetToggle(hWnd, IDC_ALERT_TIME_TEXT,	PREF_KAOI, FALSE);

-					}

-					else

-					{

-						SetToggle(hWnd, IDC_ALERT_HOTKEY,		PREF_AMAE, TRUE);

-						SetToggle(hWnd, IDC_ALERT_HOTKEY_TEXT,	PREF_AMAE, TRUE);

-						SetToggle(hWnd, IDC_ALERT_TIME,			PREF_AMAE, TRUE);

-						SetToggle(hWnd, IDC_ALERT_TIME_TEXT,	PREF_AMAE, TRUE);

-					}

-				}

-				break;

-			case PREF_UWIOB:

-				{

-					SetToggle(hWnd, IDC_ALERT_HOTKEY,		PREF_UWIOB, TRUE);

-					SetToggle(hWnd, IDC_ALERT_HOTKEY_TEXT,	PREF_UWIOB, TRUE);

-				}

-				break;

-			case PREF_KAOI:

-				{

-					SetToggle(hWnd, IDC_ALERT_TIME,			PREF_KAOI, FALSE);

-					SetToggle(hWnd, IDC_ALERT_TIME_TEXT,	PREF_KAOI, FALSE);

-				}

-				break;

-			}

-			break;

-		}

-	}

-

-	return FALSE;

-}

-

-/****************************************************/

-/****************************************************/

-/****************************************************/

-LRESULT CALLBACK AboutProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam)

-{

-	if(msg == WM_CLOSE)

-	{

-		DestroyWindow(hWnd);

-		return true;

-	}

-

-	return FALSE;

-}

-

-/*****************************************************/

-/** Process the events for our event dialog **********/

-/*****************************************************/

-LRESULT CALLBACK EventsProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam)

-{

-	if(msg == WM_CLOSE)

-	{

-		DestroyWindow(hWnd);

-		return true;

-	}

-

-	return FALSE;

-}

-

-/*****************************************************/

-/** Process the events for our settings dialog this **/

-/** is alot more complicated because options are	**/

-/** enabled/disabled based on the state of others   **/

-/*****************************************************/

-LRESULT CALLBACK SettingsProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam)

-{

-	if(msg == WM_CLOSE)

-	{

-		DestroyWindow(hWnd);

-		return true;

-	}

-

-	return FALSE;

-}

-

-/*****************************************************/

-/** this is the hotkey message  processing function **/

-/** this window is always open and ready to be told **/

-/** if someone has hit the hotkey, if they did, we  **/

-/** need to close out all of the tray alerts, for   **/

-/** this I wrote sdCloseAlerts, more info there	 **/

-/*****************************************************/

-LRESULT CALLBACK HotKeyProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam)

-{

-	if(msg == WM_CLOSE)

-	{

-		DestroyWindow(hWnd);

-		return true;

-	}

-	else if(msg == WM_HOTKEY)

-	{

-		sdCloseAlerts();

-	}

-

-	return FALSE;

-}

-