diff options
author | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-07-23 13:49:28 +0000 |
---|---|---|
committer | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-07-23 13:49:28 +0000 |
commit | a9580df150d799246eaecbf3c1fb5cecf9f8ab49 (patch) | |
tree | ce046b1cd432d65718c9f6af80521d533ce6d4ca /plugins/SeenPlugin/options.cpp | |
parent | 60338d55bb73d0c45b6e092703c4bb88a3c49755 (diff) |
SecureIM, SeenPlugin, SendSS, Sessions: changed folder structure
git-svn-id: http://svn.miranda-ng.org/main/trunk@1122 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/SeenPlugin/options.cpp')
-rw-r--r-- | plugins/SeenPlugin/options.cpp | 494 |
1 files changed, 0 insertions, 494 deletions
diff --git a/plugins/SeenPlugin/options.cpp b/plugins/SeenPlugin/options.cpp deleted file mode 100644 index daab1e8ee3..0000000000 --- a/plugins/SeenPlugin/options.cpp +++ /dev/null @@ -1,494 +0,0 @@ -/*
-"Last Seen mod" plugin for Miranda IM
-Copyright ( C ) 2002-03 micron-x
-Copyright ( C ) 2005-07 Y.B.
-
-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.
-
-File name : $URL: http://svn.berlios.de/svnroot/repos/mgoodies/trunk/lastseen-mod/options.c $
-Revision : $Rev: 1570 $
-Last change on : $Date: 2007-12-30 01:30:07 +0300 (Вс, 30 дек 2007) $
-Last change by : $Author: y_b $
-*/
-#include "seen.h"
-
-
-
-extern HINSTANCE hInstance;
-extern HANDLE ehuserinfo,hmenuitem,ehmissed_proto;
-void BuildInfo(char *,char *,char *);
-int BuildContactMenu(WPARAM,LPARAM);
-int UserinfoInit(WPARAM,LPARAM);
-int InitFileOutput(void);
-void ShutdownFileOutput(void);
-void InitMenuitem(void);
-int ModeChange_mo(WPARAM,LPARAM);
-int CheckIfOnline(void);
-int ResetMissed(void);
-static BOOL (WINAPI *pfnEnableThemeDialogTexture)(HANDLE, DWORD) = 0;
-
-INT_PTR CALLBACK OptsPopUpsDlgProc(HWND hdlg,UINT msg,WPARAM wparam,LPARAM lparam)
-{
- DBVARIANT dbv;
- int i;
- char szstamp[256];
- BOOL hasPopups;
- switch(msg)
- {
- case WM_INITDIALOG:{
- if (hasPopups = (ServiceExists(MS_POPUP_QUERY) != 0))
- hasPopups = CallService(MS_POPUP_QUERY,PUQS_GETSTATUS,0);
- TranslateDialogDefault(hdlg);
- ShowWindow(GetDlgItem(hdlg,IDC_MISSPOPUP),hasPopups?SW_HIDE:SW_SHOW);
- ShowWindow(GetDlgItem(hdlg,IDC_POPUPS),hasPopups?SW_SHOW:SW_HIDE);
- ShowWindow(GetDlgItem(hdlg,IDC_POPUPSTAMP),hasPopups?SW_SHOW:SW_HIDE);
- ShowWindow(GetDlgItem(hdlg,IDC_LABTEXT),hasPopups?SW_SHOW:SW_HIDE);
- ShowWindow(GetDlgItem(hdlg,IDC_LABTTITLE),hasPopups?SW_SHOW:SW_HIDE);
- ShowWindow(GetDlgItem(hdlg,IDC_POPUPSTAMPTEXT),hasPopups?SW_SHOW:SW_HIDE);
- CheckDlgButton(hdlg,IDC_POPUPS,DBGetContactSettingByte(NULL,S_MOD,"UsePopups",0)&hasPopups);
- EnableWindow(GetDlgItem(hdlg,IDC_POPUPS),hasPopups);
- hasPopups = IsDlgButtonChecked(hdlg,IDC_POPUPS);
- EnableWindow(GetDlgItem(hdlg,IDC_POPUPSTAMP),hasPopups);
- EnableWindow(GetDlgItem(hdlg,IDC_POPUPSTAMPTEXT),hasPopups);
- for (i=ID_STATUS_OFFLINE;i<=ID_STATUS_OUTTOLUNCH;i++) {
- DWORD sett;
- COLORREF back, text;
- sprintf(szstamp, "Col_%d",i-ID_STATUS_OFFLINE);
- sett = DBGetContactSettingDword(NULL,S_MOD,szstamp,StatusColors15bits[i-ID_STATUS_OFFLINE]);
- GetColorsFromDWord(&back, &text, sett);
- SendDlgItemMessage(hdlg,i,CPM_SETCOLOUR,0,back);
- SendDlgItemMessage(hdlg,i+20,CPM_SETCOLOUR,0,text);
- EnableWindow(GetDlgItem(hdlg,i),hasPopups);
- EnableWindow(GetDlgItem(hdlg,i+20),hasPopups);
- }
-
- SetDlgItemText(hdlg,IDC_POPUPSTAMP,!DBGetContactSetting(NULL,S_MOD,"PopupStamp",&dbv)?dbv.pszVal:DEFAULT_POPUPSTAMP);
- DBFreeVariant(&dbv);
- SetDlgItemText(hdlg,IDC_POPUPSTAMPTEXT,!DBGetContactSetting(NULL,S_MOD,"PopupStampText",&dbv)?dbv.pszVal:DEFAULT_POPUPSTAMPTEXT);
- DBFreeVariant(&dbv);
-
- }
- break; //case WM_INITDIALOG
- case WM_COMMAND:
- if ((HIWORD(wparam)==BN_CLICKED || HIWORD(wparam)==EN_CHANGE) && GetFocus()==(HWND)lparam)
- SendMessage(GetParent(hdlg),PSM_CHANGED,0,0);
- else if (HIWORD(wparam)==CPN_COLOURCHANGED){
- WORD idText, idBack;
- POPUPDATAEX ppd = {0};
- DBVARIANT dbv = {0};
- DWORD temp;
- if (LOWORD(wparam)>ID_STATUS_OUTTOLUNCH){ // we have clicked a text color
- idText = wparam; idBack = wparam-20;
- } else {idText = wparam+20; idBack = wparam;}
- ppd.colorBack = SendDlgItemMessage(hdlg,idBack,CPM_GETCOLOUR,0,0);
- ppd.colorText = SendDlgItemMessage(hdlg,idText,CPM_GETCOLOUR,0,0);
- temp = GetDWordFromColors(ppd.colorBack,ppd.colorText);
- GetColorsFromDWord(&ppd.colorBack,&ppd.colorText,temp);
- SendDlgItemMessage(hdlg,idBack,CPM_SETCOLOUR,0,ppd.colorBack);
- SendDlgItemMessage(hdlg,idText,CPM_SETCOLOUR,0,ppd.colorText);
- ppd.lchIcon = LoadSkinnedProtoIcon(NULL, idBack);
- GetDlgItemText(hdlg,IDC_POPUPSTAMP,szstamp,255);
- strncpy(ppd.lpzContactName,ParseString(szstamp,NULL,0),MAX_CONTACTNAME);
- GetDlgItemText(hdlg,IDC_POPUPSTAMPTEXT,szstamp,255);
- strncpy(ppd.lpzText,ParseString(szstamp,NULL,0),MAX_SECONDLINE);
- CallService(MS_POPUP_ADDPOPUPEX, (WPARAM)&ppd, 0);
-
- SendMessage(GetParent(hdlg),PSM_CHANGED,0,0);
- }
- if(HIWORD(wparam)==BN_CLICKED)
- {
- switch(LOWORD(wparam)) {
- case IDC_POPUPS:
- hasPopups = IsDlgButtonChecked(hdlg,IDC_POPUPS);
- EnableWindow(GetDlgItem(hdlg,IDC_POPUPSTAMP),hasPopups);
- EnableWindow(GetDlgItem(hdlg,IDC_POPUPSTAMPTEXT),hasPopups);
- for (i=ID_STATUS_OFFLINE;i<=ID_STATUS_OUTTOLUNCH;i++) {
- EnableWindow(GetDlgItem(hdlg,i),hasPopups);
- EnableWindow(GetDlgItem(hdlg,i+20),hasPopups);
- }
- break;
- case IDC_DEFAULTCOL:
- for (i=ID_STATUS_OFFLINE;i<=ID_STATUS_OUTTOLUNCH;i++) {
- DWORD sett;
- COLORREF back, text;
- sprintf(szstamp, "Col_%d",i-ID_STATUS_OFFLINE);
- sett = StatusColors15bits[i-ID_STATUS_OFFLINE];
- GetColorsFromDWord(&back, &text, sett);
- SendDlgItemMessage(hdlg,i,CPM_SETCOLOUR,0,back);
- SendDlgItemMessage(hdlg,i+20,CPM_SETCOLOUR,0,text);
- }
- break;
- }
- }
- break; //case WM_COMMAND
-
- case WM_NOTIFY:
- switch(((LPNMHDR)lparam)->idFrom)
- {
- case 0:
- switch (((LPNMHDR)lparam)->code)
- {
- BYTE checkValue;
-
- case PSN_APPLY:
- GetDlgItemText(hdlg,IDC_POPUPSTAMP,szstamp,256);
- DBWriteContactSettingString(NULL,S_MOD,"PopupStamp",szstamp);
- GetDlgItemText(hdlg,IDC_POPUPSTAMPTEXT,szstamp,256);
- DBWriteContactSettingString(NULL,S_MOD,"PopupStampText",szstamp);
-
- checkValue = (BYTE)IsDlgButtonChecked(hdlg,IDC_POPUPS);
- if (DBGetContactSettingByte(NULL,S_MOD,"UsePopups",0) != checkValue) {
- DBWriteContactSettingByte(NULL,S_MOD,"UsePopups",checkValue);
- }
- for (i=ID_STATUS_OFFLINE;i<=ID_STATUS_OUTTOLUNCH;i++) {
- DWORD sett;
- COLORREF back=0, text=0;
- sprintf(szstamp, "Col_%d",i-ID_STATUS_OFFLINE);
- back = SendDlgItemMessage(hdlg,i,CPM_GETCOLOUR,0,0);
- text = SendDlgItemMessage(hdlg,i+20,CPM_GETCOLOUR,0,0);
- sett=GetDWordFromColors(back,text);
- if (sett!=StatusColors15bits[i-ID_STATUS_OFFLINE])
- DBWriteContactSettingDword(NULL,S_MOD,szstamp,sett);
- else DBDeleteContactSetting(NULL,S_MOD,szstamp);
- }
-
- break; //case PSN_APPLY
- }
- break; //case 0
- }
- break;//case WM_NOTIFY
-
- }
-
- return 0;
-}
-
-INT_PTR CALLBACK OptsSettingsDlgProc(HWND hdlg,UINT msg,WPARAM wparam,LPARAM lparam)
-{
- DBVARIANT dbv;
- char szstamp[256];
- BYTE bchecked=0;
- WPARAM wpsend=0;
-
- switch(msg)
- {
- case WM_INITDIALOG:{
- TranslateDialogDefault(hdlg);
-
- CheckDlgButton(hdlg,IDC_MENUITEM,DBGetContactSettingByte(NULL,S_MOD,"MenuItem",1));
- CheckDlgButton(hdlg,IDC_USERINFO,DBGetContactSettingByte(NULL,S_MOD,"UserinfoTab",1));
- CheckDlgButton(hdlg,IDC_FILE,DBGetContactSettingByte(NULL,S_MOD,"FileOutput",0));
- CheckDlgButton(hdlg,IDC_HISTORY,DBGetContactSettingByte(NULL,S_MOD,"KeepHistory",0));
- CheckDlgButton(hdlg,IDC_IGNOREOFFLINE,DBGetContactSettingByte(NULL,S_MOD,"IgnoreOffline",1));
- CheckDlgButton(hdlg,IDC_MISSEDONES,DBGetContactSettingByte(NULL,S_MOD,"MissedOnes",0));
- CheckDlgButton(hdlg,IDC_SHOWICON,DBGetContactSettingByte(NULL,S_MOD,"ShowIcon",1));
- CheckDlgButton(hdlg,IDC_COUNT,DBGetContactSettingByte(NULL,S_MOD,"MissedOnes_Count",0));
- CheckDlgButton(hdlg,IDC_IDLESUPPORT,DBGetContactSettingByte(NULL,S_MOD,"IdleSupport",1));
-
- EnableWindow(GetDlgItem(hdlg,IDC_MENUSTAMP),IsDlgButtonChecked(hdlg,IDC_MENUITEM));
- EnableWindow(GetDlgItem(hdlg,IDC_SHOWICON),IsDlgButtonChecked(hdlg,IDC_MENUITEM));
- EnableWindow(GetDlgItem(hdlg,IDC_USERSTAMP),IsDlgButtonChecked(hdlg,IDC_USERINFO));
- EnableWindow(GetDlgItem(hdlg,IDC_FILESTAMP),IsDlgButtonChecked(hdlg,IDC_FILE));
- EnableWindow(GetDlgItem(hdlg,IDC_FILENAME),IsDlgButtonChecked(hdlg,IDC_FILE));
- EnableWindow(GetDlgItem(hdlg,IDC_HISTORYSIZE),IsDlgButtonChecked(hdlg,IDC_HISTORY));
- EnableWindow(GetDlgItem(hdlg,IDC_HISTORYSTAMP),IsDlgButtonChecked(hdlg,IDC_HISTORY));
- EnableWindow(GetDlgItem(hdlg,IDC_COUNT),IsDlgButtonChecked(hdlg,IDC_MISSEDONES));
-
- SetDlgItemText(hdlg,IDC_MENUSTAMP,!DBGetContactSetting(NULL,S_MOD,"MenuStamp",&dbv)?dbv.pszVal:DEFAULT_MENUSTAMP);
- DBFreeVariant(&dbv);
- SetDlgItemText(hdlg,IDC_USERSTAMP,!DBGetContactSetting(NULL,S_MOD,"UserStamp",&dbv)?dbv.pszVal:DEFAULT_USERSTAMP);
- DBFreeVariant(&dbv);
- SetDlgItemText(hdlg,IDC_FILESTAMP,!DBGetContactSetting(NULL,S_MOD,"FileStamp",&dbv)?dbv.pszVal:DEFAULT_FILESTAMP);
- DBFreeVariant(&dbv);
- SetDlgItemText(hdlg,IDC_FILENAME,!DBGetContactSetting(NULL,S_MOD,"FileName",&dbv)?dbv.pszVal:DEFAULT_FILENAME);
- DBFreeVariant(&dbv);
- SetDlgItemInt(hdlg,IDC_HISTORYSIZE,DBGetContactSettingWord(NULL,S_MOD,"HistoryMax",10-1)-1,FALSE);
- SetDlgItemText(hdlg,IDC_HISTORYSTAMP,!DBGetContactSetting(NULL,S_MOD,"HistoryStamp",&dbv)?dbv.pszVal:DEFAULT_HISTORYSTAMP);
- DBFreeVariant(&dbv);
-
- // load protocol list
- SetWindowLongPtr(GetDlgItem(hdlg,IDC_PROTOCOLLIST),GWL_STYLE,GetWindowLongPtr(GetDlgItem(hdlg,IDC_PROTOCOLLIST),GWL_STYLE)|TVS_CHECKBOXES);
- {
- TVINSERTSTRUCT tvis;
- int numberOfProtocols,i;
- PROTOCOLDESCRIPTOR** protos;
- char *protoName;
- char *protoLabel;
-
- tvis.hParent=NULL;
- tvis.hInsertAfter=TVI_LAST;
- tvis.item.mask=TVIF_TEXT | TVIF_HANDLE | TVIF_STATE | TVIF_PARAM;
- tvis.item.stateMask = TVIS_STATEIMAGEMASK;
-
- CallService(MS_PROTO_ENUMPROTOCOLS,(WPARAM)&numberOfProtocols,(LPARAM)&protos);
- for (i=0; i<numberOfProtocols; i++) {
- if(protos[i]->type!=PROTOTYPE_PROTOCOL || CallProtoService(protos[i]->szName,PS_GETCAPS,PFLAGNUM_2,0)==0) continue;
- protoName = (char *)malloc(strlen(protos[i]->szName)+1);
- strcpy(protoName,protos[i]->szName);
-//debug(protoName);
- protoLabel = (char *)malloc(MAXMODULELABELLENGTH+1);
- CallProtoService(protoName,PS_GETNAME,MAXMODULELABELLENGTH,(LPARAM)protoLabel);
-//debug(protoLabel);
- tvis.item.pszText = protoLabel;
- tvis.item.lParam = (LPARAM)protoName;
- tvis.item.state = INDEXTOSTATEIMAGEMASK(IsWatchedProtocol(protoName)+1);
- TreeView_InsertItem(GetDlgItem(hdlg,IDC_PROTOCOLLIST),&tvis);
- free(protoLabel);
-
- }
- }
- }
- break; //case WM_INITDIALOG
-
- case WM_COMMAND:
- if ((HIWORD(wparam)==BN_CLICKED || HIWORD(wparam)==EN_CHANGE) && GetFocus()==(HWND)lparam)
- if (LOWORD(wparam)!=IDC_VARIABLES)SendMessage(GetParent(hdlg),PSM_CHANGED,0,0);
-
- if(HIWORD(wparam)==BN_CLICKED)
- {
- switch(LOWORD(wparam)) {
- case IDC_MENUITEM:
- EnableWindow(GetDlgItem(hdlg,IDC_MENUSTAMP),IsDlgButtonChecked(hdlg,IDC_MENUITEM));
- EnableWindow(GetDlgItem(hdlg,IDC_SHOWICON),IsDlgButtonChecked(hdlg,IDC_MENUITEM));
- break;
- case IDC_USERINFO:
- EnableWindow(GetDlgItem(hdlg,IDC_USERSTAMP),IsDlgButtonChecked(hdlg,IDC_USERINFO));
- break;
- case IDC_FILE:
- EnableWindow(GetDlgItem(hdlg,IDC_FILESTAMP),IsDlgButtonChecked(hdlg,IDC_FILE));
- EnableWindow(GetDlgItem(hdlg,IDC_FILENAME),IsDlgButtonChecked(hdlg,IDC_FILE));
- break;
- case IDC_HISTORY:
- EnableWindow(GetDlgItem(hdlg,IDC_HISTORYSTAMP),IsDlgButtonChecked(hdlg,IDC_HISTORY));
- EnableWindow(GetDlgItem(hdlg,IDC_HISTORYSIZE),IsDlgButtonChecked(hdlg,IDC_HISTORY));
- break;
- case IDC_MISSEDONES:
- EnableWindow(GetDlgItem(hdlg,IDC_COUNT),IsDlgButtonChecked(hdlg,IDC_MISSEDONES));
- break;
- }
- }
-
- if (LOWORD(wparam)==IDC_VARIABLES)
- {
- char szout[2048]="";
- wsprintf(szout,VARIABLE_LIST);
- MessageBox(NULL,szout,Translate("Last Seen Variables"),MB_OK|MB_TOPMOST);
- }
-
- break; //case WM_COMMAND
-
- case WM_NOTIFY:
- switch(((LPNMHDR)lparam)->idFrom)
- {
- case 0:
- switch (((LPNMHDR)lparam)->code)
- {
- BYTE checkValue;
-
- case PSN_APPLY:
-
- GetDlgItemText(hdlg,IDC_MENUSTAMP,szstamp,256);
- DBWriteContactSettingString(NULL,S_MOD,"MenuStamp",szstamp);
-
- GetDlgItemText(hdlg,IDC_USERSTAMP,szstamp,256);
- DBWriteContactSettingString(NULL,S_MOD,"UserStamp",szstamp);
-
- GetDlgItemText(hdlg,IDC_FILESTAMP,szstamp,256);
- DBWriteContactSettingString(NULL,S_MOD,"FileStamp",szstamp);
-
- GetDlgItemText(hdlg,IDC_FILENAME,szstamp,256);
- DBWriteContactSettingString(NULL,S_MOD,"FileName",szstamp);
-
- GetDlgItemText(hdlg,IDC_HISTORYSTAMP,szstamp,256);
- DBWriteContactSettingString(NULL,S_MOD,"HistoryStamp",szstamp);
-
- DBWriteContactSettingWord(NULL,S_MOD,"HistoryMax",(WORD)(GetDlgItemInt(hdlg,IDC_HISTORYSIZE,NULL,FALSE)+1));
-
- checkValue = (BYTE)IsDlgButtonChecked(hdlg,IDC_MENUITEM);
- if (DBGetContactSettingByte(NULL,S_MOD,"MenuItem",1) != checkValue) {
- DBWriteContactSettingByte(NULL,S_MOD,"MenuItem",checkValue);
- if(hmenuitem==NULL && checkValue) {
- InitMenuitem();
- }
- }
-
- checkValue = (BYTE)IsDlgButtonChecked(hdlg,IDC_USERINFO);
- if (DBGetContactSettingByte(NULL,S_MOD,"UserinfoTab",1) != checkValue) {
- DBWriteContactSettingByte(NULL,S_MOD,"UserinfoTab",checkValue);
- if(checkValue) {
- ehuserinfo=HookEvent(ME_USERINFO_INITIALISE,UserinfoInit);
- } else {
- UnhookEvent(ehuserinfo);
- }
- }
-
- checkValue = (BYTE)IsDlgButtonChecked(hdlg,IDC_FILE);
- if (DBGetContactSettingByte(NULL,S_MOD,"FileOutput",0) != checkValue) {
- DBWriteContactSettingByte(NULL,S_MOD,"FileOutput",checkValue);
- if(checkValue) {
- InitFileOutput();
- }
- }
-
- checkValue = (BYTE)IsDlgButtonChecked(hdlg,IDC_HISTORY);
- if (DBGetContactSettingByte(NULL,S_MOD,"KeepHistory",0) != checkValue) {
- DBWriteContactSettingByte(NULL,S_MOD,"KeepHistory",checkValue);
- }
-
- checkValue = (BYTE)IsDlgButtonChecked(hdlg,IDC_IGNOREOFFLINE);
- if (DBGetContactSettingByte(NULL,S_MOD,"IgnoreOffline",1) != checkValue) {
- DBWriteContactSettingByte(NULL,S_MOD,"IgnoreOffline",checkValue);
- }
-
- checkValue = (BYTE)IsDlgButtonChecked(hdlg,IDC_MISSEDONES);
- if (DBGetContactSettingByte(NULL,S_MOD,"MissedOnes",0) != checkValue) {
- DBWriteContactSettingByte(NULL,S_MOD,"MissedOnes",checkValue);
- if(checkValue) {
- ehmissed_proto=HookEvent(ME_PROTO_ACK,ModeChange_mo);
- } else {
- UnhookEvent(ehmissed_proto);
- }
- }
-
- checkValue = (BYTE)IsDlgButtonChecked(hdlg,IDC_SHOWICON);
- if (DBGetContactSettingByte(NULL,S_MOD,"ShowIcon",1) != checkValue) {
- DBWriteContactSettingByte(NULL,S_MOD,"ShowIcon",checkValue);
- }
-
- checkValue = (BYTE)IsDlgButtonChecked(hdlg,IDC_COUNT);
- if (DBGetContactSettingByte(NULL,S_MOD,"MissedOnes_Count",0) != checkValue) {
- DBWriteContactSettingByte(NULL,S_MOD,"MissedOnes_Count",checkValue);
- }
-
- includeIdle = (BYTE)IsDlgButtonChecked(hdlg,IDC_IDLESUPPORT);
- if (DBGetContactSettingByte(NULL,S_MOD,"IdleSupport",1) != includeIdle) {
- DBWriteContactSettingByte(NULL,S_MOD,"IdleSupport",(BYTE)includeIdle);
- }
-
- // save protocol list
- {
- HWND hwndTreeView = GetDlgItem(hdlg,IDC_PROTOCOLLIST);
- HTREEITEM hItem;
- TVITEM tvItem;
- char *watchedProtocols;
- char *protocol;
- int size=1;
-
- watchedProtocols = (char *)malloc(sizeof(char));
- *watchedProtocols = '\0';
- hItem = TreeView_GetRoot(hwndTreeView);
- tvItem.mask = TVIF_HANDLE | TVIF_STATE | TVIF_PARAM;
- tvItem.stateMask = TVIS_STATEIMAGEMASK;
-
- while (hItem != NULL) {
- tvItem.hItem = hItem;
- TreeView_GetItem(hwndTreeView, &tvItem);
- protocol = (char*)tvItem.lParam;
- if ((BOOL)(tvItem.state >> 12) -1) {
- size = (size + (int)_tcslen(protocol)+2) * sizeof(char);
- watchedProtocols = (char *)realloc(watchedProtocols, size);
- strcat(watchedProtocols, protocol);
- strcat(watchedProtocols, " ");
- }
- hItem = TreeView_GetNextSibling(hwndTreeView, hItem);
- }
- DBWriteContactSettingString(NULL,S_MOD,"WatchedProtocols",watchedProtocols);
- free(watchedProtocols);
- }
-
- break; //case PSN_APPLY
- }
- break; //case 0
-
- case IDC_PROTOCOLLIST:
- switch (((LPNMHDR)lparam)->code)
- {
- case NM_CLICK:
- {
- HWND hTree=((LPNMHDR)lparam)->hwndFrom;
- TVHITTESTINFO hti;
- HTREEITEM hItem;
-
- hti.pt.x=(short)LOWORD(GetMessagePos());
- hti.pt.y=(short)HIWORD(GetMessagePos());
- ScreenToClient(hTree,&hti.pt);
- if(hItem=TreeView_HitTest(hTree,&hti))
- {
- if (hti.flags & TVHT_ONITEM)
- TreeView_SelectItem(hTree,hItem);
- if (hti.flags & TVHT_ONITEMSTATEICON)
- SendMessage(GetParent(hdlg), PSM_CHANGED, 0, 0);
-
- }
- }
- break;
- }
- break; //case IDC_PROTOCOLLIST
- }
- break;//case WM_NOTIFY
-
- case WM_DESTROY:
- // free protocol list
- {
- HWND hwndTreeView = GetDlgItem(hdlg,IDC_PROTOCOLLIST);
- HTREEITEM hItem;
- TVITEM tvItem;
-
- hItem = TreeView_GetRoot(hwndTreeView);
- tvItem.mask = TVIF_HANDLE | TVIF_PARAM;
-
- while (hItem != NULL) {
- tvItem.hItem = hItem;
- TreeView_GetItem(hwndTreeView, &tvItem);
- free((void *)tvItem.lParam);
- hItem = TreeView_GetNextSibling(hwndTreeView, hItem);
- }
- }
- break;
-
- }
-
- return 0;
-}
-
-int OptionsInit(WPARAM wparam,LPARAM lparam)
-{
- OPTIONSDIALOGPAGE odp = { 0 };
-
- if(IsWinVerXPPlus()) {
- HMODULE hUxTheme = GetModuleHandle(_T("uxtheme.dll"));
- if (hUxTheme)
- pfnEnableThemeDialogTexture = (BOOL (WINAPI *)(HANDLE, DWORD))GetProcAddress(hUxTheme, "EnableThemeDialogTexture");
- }
-
- odp.cbSize = sizeof(odp);
- odp.position = 100000000;
- odp.hInstance = hInstance;
- odp.flags = ODPF_BOLDGROUPS;
- odp.pszTemplate = MAKEINTRESOURCE(IDD_SETTINGS);
- odp.pszGroup = LPGEN("Services");
- odp.pszTitle = LPGEN("Last seen");
- odp.pfnDlgProc = OptsSettingsDlgProc;
- Options_AddPage(wparam,&odp);
-
- if (ServiceExists(MS_POPUP_ADDPOPUP)) {
- odp.pszTemplate = MAKEINTRESOURCE(IDD_POPUPS);
- odp.pszGroup = LPGEN("PopUps");
- odp.pszTitle = LPGEN("Last seen");
- odp.pfnDlgProc = OptsPopUpsDlgProc;
- Options_AddPage(wparam,&odp);
- }
- return 0;
-}
|