From f04d64869f3b1de54fb343f28f955584780001b8 Mon Sep 17 00:00:00 2001 From: mataes2007 Date: Sat, 26 Nov 2011 15:41:10 +0000 Subject: Project folders rename part 3 git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@215 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- popup/src/opt_class.cpp | 603 ------------------------------------------------ 1 file changed, 603 deletions(-) delete mode 100644 popup/src/opt_class.cpp (limited to 'popup/src/opt_class.cpp') diff --git a/popup/src/opt_class.cpp b/popup/src/opt_class.cpp deleted file mode 100644 index b6376b8..0000000 --- a/popup/src/opt_class.cpp +++ /dev/null @@ -1,603 +0,0 @@ -/* -Popup Plus plugin for Miranda IM - -Copyright © 2002 Luca Santarelli, - © 2004-2007 Victor Pavlychko - © 2010 MPK - © 2010 Merlin_de - -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. - -=============================================================================== -part of this file is taken from SjE great YAPP plugin: -https://server.scottellis.com.au/svn/mim_plugs/yapp/options.cpp - -File name : $HeadURL: http://svn.miranda.im/mainrepo/popup/trunk/src/opt_class.cpp $ -Revision : $Revision: 1610 $ -Last change on : $Date: 2010-06-23 00:55:13 +0300 (Ср, 23 июн 2010) $ -Last change by : $Author: Merlin_de $ - -=============================================================================== -*/ -#include "headers.h" - -//--------------------------------------------------------------------------- -//Workaround for MS bug ComboBox_SelectItemData -int ComboBox_SelectItem(HWND hwndCtl, int indexStart, char* data) { - int i = 0; - for ( i ; i < ComboBox_GetCount(hwndCtl); i++) { - if(strcmp(data, (char*)ComboBox_GetItemData(hwndCtl, i))==0) { - ComboBox_SetCurSel (hwndCtl,i); - return i; - } - } - return CB_ERR; -} - -//--------------------------------------------------------------------------- -//some help function (not realy needed) -#define ComboBox_AddStringW(hwndCtl, lpwsz) ((int)(DWORD)MySendMessageW((HWND)(hwndCtl), CB_ADDSTRING, 0L, (LPARAM)(LPCWSTR)(lpwsz))) -#define ComboBox_SetTextW(hwndCtl, lpwsz) ((int)(DWORD)MySetWindowTextW((HWND)(hwndCtl), (LPCWSTR)(lpwsz))) - -//--------------------------------------------------------------------------- -//Dialog Proc -INT_PTR CALLBACK DlgProcOptsClasses(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { - static TVITEM tvi = {0}; - static struct { - UINT idCtrl; - BYTE onTyp0; - BYTE onTyp1; - BYTE onTyp2; - } ctrlsAll[] = { - {IDC_TXT_TITLE1 ,0 ,1 ,1}, - {IDC_ENABLE ,0 ,1 ,1}, - - {IDC_TXT_TIMEOUT ,0 ,1 ,1}, - {IDC_TIMEOUT ,0 ,1 ,1}, - {IDC_TIMEOUT_SPIN ,0 ,1 ,1}, - {IDC_TXT_TIMEOUT_SEC ,0 ,1 ,1}, - {IDC_TXT_TIMEOUT_DEFAULT ,0 ,1 ,1}, - {IDC_TXT_TIMEOUT_INFINITE ,0 ,1 ,1}, - - {IDC_TXT_LACTION ,0 ,1 ,1}, - {IDC_LACTION ,0 ,1 ,1}, - - {IDC_TXT_RACTION ,0 ,1 ,1}, - {IDC_RACTION ,0 ,1 ,1}, - - {IDC_CHECKWINDOW ,0 ,0 ,0}, //may be delete ?? - - {IDC_TXT_TITLE3 ,0 ,1 ,0}, - {IDC_SOFFLINE ,0 ,1 ,0}, - {IDC_SONLINE ,0 ,1 ,0}, - {IDC_SAWAY ,0 ,1 ,0}, - {IDC_SNA ,0 ,1 ,0}, - {IDC_SOCCUPIED ,0 ,1 ,0}, - {IDC_SDND ,0 ,1 ,0}, - {IDC_SFREE4CHAT ,0 ,1 ,0}, - {IDC_SINVISIBLE ,0 ,1 ,0}, - {IDC_SPHONE ,0 ,1 ,0}, - {IDC_SLUNCH ,0 ,1 ,0}, - - {IDC_TXT_TITLE4 ,0 ,0 ,0}, - {IDC_SOFFLINE2 ,0 ,0 ,0}, - {IDC_SONLINE2 ,0 ,0 ,0}, - {IDC_SAWAY2 ,0 ,0 ,0}, - {IDC_SNA2 ,0 ,0 ,0}, - {IDC_SOCCUPIED2 ,0 ,0 ,0}, - {IDC_SDND2 ,0 ,0 ,0}, - {IDC_SFREE4CHAT2 ,0 ,0 ,0}, - {IDC_SINVISIBLE2 ,0 ,0 ,0}, - {IDC_SPHONE2 ,0 ,0 ,0}, - {IDC_SLUNCH2 ,0 ,0 ,0}, - - {IDC_ICO_INFO ,0 ,1 ,1}, - {IDC_TXT_COLORS ,0 ,1 ,1}, - {IDC_MORE ,0 ,1 ,1}, - - {IDC_PREVIEW ,0 ,1 ,1}, - }; - - static UINT ctrlsClass[] = { - IDC_TXT_TITLE1, /*IDC_TXT_TITLE3,*/ - IDC_TXT_TIMEOUT, IDC_TIMEOUT, - IDC_TIMEOUT_SPIN, IDC_TXT_TIMEOUT_SEC, - IDC_TXT_TIMEOUT_DEFAULT, IDC_TXT_TIMEOUT_INFINITE, - IDC_TXT_LACTION, IDC_LACTION, - IDC_TXT_RACTION, IDC_RACTION, - IDC_ICO_INFO, IDC_TXT_COLORS, - }; - - static UINT ctrlsEnable[] = { - IDC_TXT_TIMEOUT, IDC_TIMEOUT, IDC_TIMEOUT_SPIN, - IDC_TXT_TIMEOUT_SEC , IDC_TXT_TIMEOUT_DEFAULT, IDC_TXT_TIMEOUT_INFINITE, - IDC_TXT_LACTION, IDC_LACTION, - IDC_TXT_RACTION, IDC_RACTION, - /*IDC_CHECKWINDOW,*/ IDC_TXT_TITLE3, IDC_TXT_TITLE4, - IDC_ICO_INFO, IDC_TXT_COLORS, IDC_MORE, - - IDC_SOFFLINE, IDC_SONLINE, IDC_SAWAY, IDC_SNA, - IDC_SOCCUPIED, IDC_SDND, IDC_SFREE4CHAT, - IDC_SINVISIBLE, IDC_SPHONE, IDC_SLUNCH, - - IDC_SOFFLINE2, IDC_SONLINE2, IDC_SAWAY2, IDC_SNA2, - IDC_SOCCUPIED2, IDC_SDND2, IDC_SFREE4CHAT2, - IDC_SINVISIBLE2, IDC_SPHONE2, IDC_SLUNCH2, - }; - - static UINT ctrlsContact[] = { - /*IDC_CHECKWINDOW,*/ IDC_TXT_TITLE4, - IDC_SOFFLINE2, IDC_SONLINE2, IDC_SAWAY2, IDC_SNA2, - IDC_SOCCUPIED2, IDC_SDND2, IDC_SFREE4CHAT2, - IDC_SINVISIBLE2, IDC_SPHONE2, IDC_SLUNCH2, - }; - - static int titleIds[] = { - IDC_TXT_TITLE1, - IDC_TXT_TITLE3, - IDC_TXT_TITLE4, - }; - - static struct { - int idCtrl; - int iconId; - char *title; - DWORD statusFlag; - DWORD disableWhenFlag; - } statusButtons[] = { - {IDC_SOFFLINE, SKINICON_STATUS_OFFLINE, "Offline", PF2_IDLE, PF2_IDLE}, - {IDC_SONLINE, SKINICON_STATUS_ONLINE, "Online", PF2_ONLINE, PF2_ONLINE}, - {IDC_SAWAY, SKINICON_STATUS_AWAY, "Away", PF2_SHORTAWAY, PF2_SHORTAWAY}, - {IDC_SNA, SKINICON_STATUS_NA, "NA", PF2_LONGAWAY, PF2_LONGAWAY}, - {IDC_SOCCUPIED, SKINICON_STATUS_OCCUPIED, "Occupied", PF2_LIGHTDND, PF2_LIGHTDND}, - {IDC_SDND, SKINICON_STATUS_DND, "DND", PF2_HEAVYDND, PF2_HEAVYDND}, - {IDC_SFREE4CHAT, SKINICON_STATUS_FREE4CHAT, "Free for chat", PF2_FREECHAT, PF2_FREECHAT}, - {IDC_SINVISIBLE, SKINICON_STATUS_INVISIBLE, "Invisible", PF2_INVISIBLE, PF2_INVISIBLE}, - {IDC_SPHONE, SKINICON_STATUS_ONTHEPHONE, "On the phone", PF2_ONTHEPHONE, PF2_ONTHEPHONE}, - {IDC_SLUNCH, SKINICON_STATUS_OUTTOLUNCH, "Out to lunch", PF2_OUTTOLUNCH, PF2_OUTTOLUNCH}, - - {IDC_SOFFLINE2, SKINICON_STATUS_OFFLINE, "Offline", PF2_IDLE, PF2_IDLE<<16}, - {IDC_SONLINE2, SKINICON_STATUS_ONLINE, "Online", PF2_ONLINE, PF2_ONLINE<<16}, - {IDC_SAWAY2, SKINICON_STATUS_AWAY, "Away", PF2_SHORTAWAY, PF2_SHORTAWAY<<16}, - {IDC_SNA2, SKINICON_STATUS_NA, "NA", PF2_LONGAWAY, PF2_LONGAWAY<<16}, - {IDC_SOCCUPIED2, SKINICON_STATUS_OCCUPIED, "Occupied", PF2_LIGHTDND, PF2_LIGHTDND<<16}, - {IDC_SDND2, SKINICON_STATUS_DND, "DND", PF2_HEAVYDND, PF2_HEAVYDND<<16}, - {IDC_SFREE4CHAT2, SKINICON_STATUS_FREE4CHAT, "Free for chat", PF2_FREECHAT, PF2_FREECHAT<<16}, - {IDC_SINVISIBLE2, SKINICON_STATUS_INVISIBLE, "Invisible", PF2_INVISIBLE, PF2_INVISIBLE<<16}, - {IDC_SPHONE2, SKINICON_STATUS_ONTHEPHONE, "On the phone", PF2_ONTHEPHONE, PF2_ONTHEPHONE<<16}, - {IDC_SLUNCH2, SKINICON_STATUS_OUTTOLUNCH, "Out to lunch", PF2_OUTTOLUNCH, PF2_OUTTOLUNCH<<16}, - }; - - - switch ( msg ) { - case WM_INITDIALOG: - { - int i; - TranslateDialogDefault( hwnd ); - - //Treeview - HWND hwndTree = GetDlgItem(hwnd, IDC_TREE1); - { - int iconIndex = 0; - char iconName[MAXMODULELABELLENGTH]; - TCHAR itemName[MAXMODULELABELLENGTH]; - TreeView_DeleteAllItems(hwndTree); - //Treeview create image list - HIMAGELIST hImgLst = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_COLOR|ILC_COLOR32|ILC_MASK, 5, num_classes+1); - ImageList_ReplaceIcon(hImgLst, -1, IcoLib_GetIcon(ICO_OPT_GROUP,0)); - TreeView_SetImageList(hwndTree, hImgLst, TVSIL_NORMAL); - - for (i = 0; i < gTreeData.getCount(); ++i) { - switch (gTreeData[i]->typ) { - case 1: //Treeview part for typ 1 (notification) - mir_snprintf(iconName, sizeof(iconName), "%s_"TCHAR_STR_PARAM"_"TCHAR_STR_PARAM, MODULNAME, gTreeData[i]->pszTreeRoot, gTreeData[i]->pszDescription); - iconIndex = ImageList_ReplaceIcon(hImgLst, -1, IcoLib_GetIcon(iconName)); - wsprintf(itemName, _T("%s/%s"), gTreeData[i]->pszTreeRoot, gTreeData[i]->pszDescription); - break; - case 2: //Treeview part typ 2 (popup class api) - iconIndex = ImageList_ReplaceIcon(hImgLst, -1, gTreeData[i]->pupClass.hIcon); - wsprintf(itemName, _T("%s/%s"), _T("CLASS Plugins")/*gTreeData[i]->pszTreeRoot*/, gTreeData[i]->pszDescription); - break; - default: - break; - } - OptTree_AddItem(hwndTree, itemName, (LPARAM)gTreeData[i], iconIndex); - } - OptTree_Translate(hwndTree); - } // end Treeview - - //Bold Title - for (i = 0; i < SIZEOF(titleIds); ++i) - { - LOGFONT lf; - GetObject((HFONT)SendDlgItemMessage(hwnd, titleIds[i], WM_GETFONT, 0, 0), sizeof(lf), &lf); - lf.lfWeight = FW_BOLD; - SendDlgItemMessage(hwnd, titleIds[i], WM_SETFONT, (WPARAM)CreateFontIndirect(&lf), TRUE); - } - - //spindown for Timeout - SendDlgItemMessage(hwnd, IDC_TIMEOUT_SPIN, UDM_SETRANGE, 0, (LPARAM)MAKELONG(SETTING_LIFETIME_MAX, SETTING_LIFETIME_INFINITE)); - SetDlgItemInt(hwnd,IDC_TIMEOUT, (UINT)0, TRUE); - //status buttons - for (i = 0; i < SIZEOF(statusButtons); ++i) - { - SendDlgItemMessage(hwnd, statusButtons[i].idCtrl, BUTTONSETASFLATBTN, 0, 0); - SendDlgItemMessage(hwnd, statusButtons[i].idCtrl, BUTTONSETASPUSHBTN, 0, 0); - SendDlgItemMessage(hwnd, statusButtons[i].idCtrl, BM_SETIMAGE, - IMAGE_ICON, (LPARAM)LoadSkinnedIcon(statusButtons[i].iconId)); - SendDlgItemMessage(hwnd, statusButtons[i].idCtrl, BUTTONADDTOOLTIP, - (WPARAM)Translate(statusButtons[i].title), 0); - } - //info icon - SendDlgItemMessage(hwnd, IDC_ICO_INFO, STM_SETICON, (WPARAM)IcoLib_GetIcon(ICO_MISC_NOTIFY,0), 0); - //more button - EnableWindow(GetDlgItem(hwnd, IDC_MORE), FALSE); - //preview button - ShowWindow(GetDlgItem(hwnd, IDC_CHECKWINDOW), SW_HIDE); - - SendMessage(hwnd, WM_USER, 0, 0); - - return TRUE; - } - case WM_USER: - { - int i; - HWND hTV = GetDlgItem(hwnd, IDC_TREE1); - //get TreeView selection - tvi.hItem = TreeView_GetSelection(hTV); - tvi.mask = TVIF_PARAM|TVIF_HANDLE|TVIF_TEXT; - if (tvi.hItem) TreeView_GetItem(hTV, &tvi); - SetWindowLongPtr(hwnd, GWLP_USERDATA, tvi.lParam); - - if (tvi.lParam) { - POPUPTREEDATA* ptd = (POPUPTREEDATA *)tvi.lParam; - HWND hCtrl = 0; - LPTSTR psztSelect = NULL; - int index = 0; - //combo left action (default) - { - hCtrl = GetDlgItem(hwnd, IDC_LACTION); - ComboBox_ResetContent(hCtrl); - ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, TranslateT(POPUP_ACTION_DISMISS)),POPUP_ACTION_DISMISS); - ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, TranslateT(POPUP_ACTION_NOTHING)),POPUP_ACTION_NOTHING); - } - //combo right action (default) - { - hCtrl = GetDlgItem(hwnd, IDC_RACTION); - ComboBox_ResetContent(hCtrl); - ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, TranslateT(POPUP_ACTION_DISMISS)),POPUP_ACTION_DISMISS); - ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, TranslateT(POPUP_ACTION_NOTHING)),POPUP_ACTION_NOTHING); - } - - //element typ1 (Notification) - if (ptd->typ == 1) { - LPTSTR psztAction = NULL; - //Timeout - SetDlgItemInt(hwnd,IDC_TIMEOUT, (UINT)ptd->timeoutValue, TRUE); - SendDlgItemMessage(hwnd, IDC_TIMEOUT_SPIN, UDM_SETRANGE, 0, (LPARAM)MAKELONG(250, -1)); - //combo left action (EXTRA) - hCtrl = GetDlgItem(hwnd, IDC_LACTION); - for (i = 0; i < ptd->notification.actionCount; ++i) { - psztAction = mir_a2t(ptd->notification.lpActions[i].lpzTitle); - ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, TranslateTS(psztAction)),ptd->notification.lpActions[i].lpzTitle); - mir_free(psztAction); psztAction = NULL; - } - //combo right action (EXTRA) - hCtrl = GetDlgItem(hwnd, IDC_RACTION); - psztAction = NULL; - for (i = 0; i < ptd->notification.actionCount; ++i) { - psztAction = mir_a2t(ptd->notification.lpActions[i].lpzTitle); - ComboBox_SetItemData(hCtrl, ComboBox_AddString(hCtrl, TranslateTS(psztAction)),ptd->notification.lpActions[i].lpzTitle); - mir_free(psztAction); psztAction = NULL; - } - //enable all controls - for (i = 0; i < SIZEOF(ctrlsAll); ++i){ - ShowWindow(GetDlgItem(hwnd, ctrlsAll[i].idCtrl), ctrlsAll[i].onTyp1 ? SW_SHOW : SW_HIDE); - EnableWindow(GetDlgItem(hwnd, ctrlsAll[i].idCtrl), ctrlsAll[i].onTyp1); - } - //enable or disable controls ctrlsEnable - for (i = 0; i < SIZEOF(ctrlsEnable); ++i) - EnableWindow(GetDlgItem(hwnd, ctrlsEnable[i]), ptd->enabled ? TRUE : FALSE); - //show or hide controls ctrlsContact - for (i = 0; i < SIZEOF(ctrlsContact); ++i) - ShowWindow(GetDlgItem(hwnd, ctrlsContact[i]), ptd->notification.dwFlags&PNF_CONTACT ? SW_SHOW : SW_HIDE); - //statusButtons state - for (i = 0; i < SIZEOF(statusButtons); ++i) - CheckDlgButton(hwnd, statusButtons[i].idCtrl, ptd->disableWhen & statusButtons[i].disableWhenFlag ? TRUE : FALSE); - } - //element typ2 (CLASS Plugins) - else if (ptd->typ == 2) { - //Timeout - SetDlgItemInt(hwnd,IDC_TIMEOUT, (UINT)ptd->timeoutValue, TRUE); - SendDlgItemMessage(hwnd, IDC_TIMEOUT_SPIN, UDM_SETRANGE, 0, (LPARAM)MAKELONG(250, -1)); - //enable ctrls - for (i = 0; i < SIZEOF(ctrlsAll); ++i){ - ShowWindow(GetDlgItem(hwnd, ctrlsAll[i].idCtrl), ctrlsAll[i].onTyp2 ? SW_SHOW : SW_HIDE); - EnableWindow(GetDlgItem(hwnd, ctrlsAll[i].idCtrl), ctrlsAll[i].onTyp2); - } - } - //checkbox enable notify - CheckDlgButton(hwnd, IDC_ENABLE, ptd->enabled ? TRUE : FALSE); - //combo left action (SELECT) - hCtrl = GetDlgItem(hwnd, IDC_LACTION); - ComboBox_SelectItem (hCtrl, -1, ptd->leftAction); //use Workaround for MS bug ComboBox_SelectItemData - //combo right action (SELECT) - hCtrl = GetDlgItem(hwnd, IDC_RACTION); - ComboBox_SelectItem (hCtrl, -1, ptd->rightAction); //use Workaround for MS bug ComboBox_SelectItemData - } //end if (tvi.lParam) - else { - //enable / disable controls - for (int i = 0; i < SIZEOF(ctrlsAll); ++i) { - ShowWindow(GetDlgItem(hwnd, ctrlsAll[i].idCtrl), ctrlsAll[i].onTyp0 ? SW_SHOW : SW_HIDE); - EnableWindow(GetDlgItem(hwnd, ctrlsAll[i].idCtrl), ctrlsAll[i].onTyp0); - } - } - break; - } - case WM_COMMAND: - { - UINT idCtrl = LOWORD(wParam); - POPUPTREEDATA* ptd = (POPUPTREEDATA *)GetWindowLongPtr(hwnd, GWLP_USERDATA); - if (!ptd) break; - switch (HIWORD(wParam)) { - int i; - case BN_CLICKED: //Button controls - switch(idCtrl) { - case IDC_ENABLE: - ptd->enabled = (BYTE)Button_GetCheck((HWND)lParam); - for (i = 0; i < SIZEOF(ctrlsEnable); ++i) - EnableWindow(GetDlgItem(hwnd, ctrlsEnable[i]), ptd->enabled); - SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); - break; - case IDC_PREVIEW: - { - POPUPDATA2 ppd = {0}; - ppd.cbSize = sizeof(ppd); - ppd.flags = PU2_TCHAR; - ppd.lptzTitle = ptd->pszDescription; - ppd.lptzText = TranslateT("Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn!"); - ppd.iSeconds = ptd->timeoutValue; - ppd.colorBack = ptd->colorBack; - ppd.colorText = ptd->colorText; - POPUPTREEDATA *ptdPrev = NULL; - if(ptd->typ == 1) { - //we work with a copy for preview - ptdPrev = (POPUPTREEDATA *)mir_alloc(sizeof(POPUPTREEDATA)); - memcpy(ptdPrev, ptd, sizeof(POPUPTREEDATA)); - ptdPrev->enabled = ptd->enabled; - ptdPrev->timeoutValue = ptd->timeoutValue; - strcpy(ptdPrev->leftAction , ptd->leftAction); //geht noch nicht?? - strcpy(ptdPrev->rightAction , ptd->rightAction); //geht noch nicht?? - ptdPrev->disableWhen = ptd->disableWhen; - - ppd.lchNotification = (HANDLE)ptdPrev; - } - else if(ptd->typ == 2) { - ppd.lchIcon = ptd->pupClass.hIcon; - } - CallService(MS_POPUP_ADDPOPUP2, (WPARAM)&ppd, APF_NO_HISTORY); - mir_free(ptdPrev); ptdPrev = NULL; - } - break; - case IDC_MORE: - { - OPENOPTIONSDIALOG ood = {0}; - ood.cbSize = sizeof(OPENOPTIONSDIALOG); - ood.pszGroup = "Customize"; - ood.pszPage = "Fonts & Colors"; - CallService(MS_OPT_OPENOPTIONS, 0, (LPARAM)&ood); - } - break; - case IDC_SOFFLINE: case IDC_SONLINE: case IDC_SAWAY: case IDC_SNA: case IDC_SOCCUPIED: - case IDC_SDND: case IDC_SFREE4CHAT: case IDC_SINVISIBLE: case IDC_SPHONE: case IDC_SLUNCH: - case IDC_SOFFLINE2: case IDC_SONLINE2: case IDC_SAWAY2: case IDC_SNA2: case IDC_SOCCUPIED2: - case IDC_SDND2: case IDC_SFREE4CHAT2: case IDC_SINVISIBLE2: case IDC_SPHONE2: case IDC_SLUNCH2: - { - ptd->disableWhen = 0; - for (i = 0; i < SIZEOF(statusButtons); ++i) { - if (IsDlgButtonChecked(hwnd, statusButtons[i].idCtrl)) - ptd->disableWhen |= statusButtons[i].disableWhenFlag; - if (idCtrl == statusButtons[i].idCtrl) - SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); - } - } - break; - default: - break; - } - break; - case CBN_SELCHANGE: //ComboBox controls - switch(idCtrl) { - //lParam = Handle to the control - case IDC_LACTION: - lstrcpynA(ptd->leftAction, - (char *)ComboBox_GetItemData((HWND)lParam, ComboBox_GetCurSel((HWND)lParam)), - sizeof(ptd->leftAction)); - SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); - break; - case IDC_RACTION: - lstrcpynA(ptd->rightAction, - (char *)ComboBox_GetItemData((HWND)lParam, ComboBox_GetCurSel((HWND)lParam)), - sizeof(ptd->rightAction)); - SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); - break; - default: - break; - } - break; - case EN_CHANGE: //Edit controls - switch(idCtrl) { - //lParam = Handle to the control - case IDC_TIMEOUT: - { - int seconds = GetDlgItemInt(hwnd, idCtrl, NULL, TRUE); - if ( seconds >= SETTING_LIFETIME_INFINITE && - seconds <= SETTING_LIFETIME_MAX && - seconds != ptd->timeoutValue) { - ptd->timeoutValue = seconds; - SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); - } - } - break; - default: - break; - } - break; - case EN_KILLFOCUS: //Edit controls lost fokus - switch(idCtrl) { - //lParam = Handle to the control - case IDC_TIMEOUT: - { - int seconds = GetDlgItemInt(hwnd, idCtrl, NULL, TRUE); - if (seconds > SETTING_LIFETIME_MAX) - ptd->timeoutValue = SETTING_LIFETIME_MAX; - else if (seconds < SETTING_LIFETIME_INFINITE) - ptd->timeoutValue = SETTING_LIFETIME_INFINITE; - if(seconds != ptd->timeoutValue) { - SetDlgItemInt(hwnd, idCtrl, ptd->timeoutValue, TRUE); - ErrorMSG(SETTING_LIFETIME_INFINITE, SETTING_LIFETIME_MAX); - SetFocus((HWND)lParam); - } - } - break; - default: - break; - }//end switch(idCtrl) - break; - default: - break; - } - break; - } - case WM_NOTIFY: - { - switch(((LPNMHDR)lParam)->idFrom) { - case 0: - { - switch (((LPNMHDR)lParam)->code) { - case PSN_RESET: - { - for(int i = 0; i < gTreeData.getCount(); ++i) { - switch (gTreeData[i]->typ) { - case 1: - LoadNotificationSettings(gTreeData[i], "PopUpNotifications"); - break; - case 2: //not finish - LoadClassSettings(gTreeData[i], PU_MODULCLASS); - gTreeData[i]->timeoutValue = gTreeData[i]->pupClass.iSeconds; - break; - default: - break; - } - } - return TRUE; - } - case PSN_APPLY: - { - for(int i = 0; i < gTreeData.getCount(); ++i) { - switch (gTreeData[i]->typ) { - case 1: - gTreeData[i]->notification.iSeconds = gTreeData[i]->timeoutValue; - SaveNotificationSettings(gTreeData[i],"PopUpNotifications"); - break; - case 2: //not finish - gTreeData[i]->pupClass.iSeconds = gTreeData[i]->timeoutValue; - SaveClassSettings(gTreeData[i],"PopUpCLASS"); - break; - default: - break; - } - } - return TRUE; - } - } - break; - } - - case IDC_TREE1: - { - switch (((LPNMHDR)lParam)->code) - { - case TVN_SELCHANGEDA: - case TVN_SELCHANGEDW: - { - PostMessage(hwnd, WM_USER, 0, 0); - break; - } - } - break; - } - } - break; - } - - case WM_DESTROY: - ZeroMemory(&tvi,sizeof(tvi)); - break; - - default: - return FALSE; - } - return FALSE; -} - -void LoadClassSettings(POPUPTREEDATA *ptd, char* szModul) -{ - char setting[2*MAXMODULELABELLENGTH]; - char *szTmp = NULL; - - mir_snprintf(setting, sizeof(setting), "%s/enabled", ptd->pupClass.pszName); - ptd->enabled = - (signed char)DBGetContactSettingByte(NULL, szModul, setting, TRUE); - - mir_snprintf(setting, sizeof(setting), "%s/Timeout", ptd->pupClass.pszName); - ptd->pupClass.iSeconds = - (signed char)DBGetContactSettingWord(NULL, szModul, setting, 0); - - mir_snprintf(setting, sizeof(setting), "%s/TimeoutVal", ptd->pupClass.pszName); - ptd->timeoutValue = - (signed char)DBGetContactSettingWord(NULL, szModul, setting, - ptd->pupClass.iSeconds ? ptd->pupClass.iSeconds : PopUpOptions.Seconds); - - mir_snprintf(setting, sizeof(setting), "%s/leftAction", ptd->pupClass.pszName); - szTmp = DBGetContactSettingString(NULL, szModul, setting, POPUP_ACTION_NOTHING); //standart ?? - lstrcpynA(ptd->leftAction, szTmp, sizeof(ptd->leftAction)); - mir_free(szTmp); szTmp = NULL; - - mir_snprintf(setting, sizeof(setting), "%s/rightAction", ptd->pupClass.pszName); - szTmp = DBGetContactSettingString(NULL, szModul, setting, POPUP_ACTION_DISMISS); //standart ?? - lstrcpynA(ptd->rightAction, szTmp, sizeof(ptd->rightAction)); - mir_free(szTmp); szTmp = NULL; - -} -void SaveClassSettings(POPUPTREEDATA *ptd, char* szModul) -{ - char setting[2*MAXMODULELABELLENGTH]; - - mir_snprintf(setting, sizeof(setting), "%s/enabled", ptd->pupClass.pszName); - DBWriteContactSettingByte(NULL, szModul, setting, ptd->enabled); - - mir_snprintf(setting, sizeof(setting), "%s/Timeout", ptd->pupClass.pszName); - DBWriteContactSettingWord(NULL, szModul, setting, ptd->pupClass.iSeconds); - - mir_snprintf(setting, sizeof(setting), "%s/TimeoutVal",ptd->pupClass.pszName); - DBWriteContactSettingWord(NULL, szModul, setting, ptd->timeoutValue); - - mir_snprintf(setting, sizeof(setting), "%s/leftAction",ptd->pupClass.pszName); - DBWriteContactSettingString(NULL, szModul, setting, ptd->leftAction); - - mir_snprintf(setting, sizeof(setting), "%s/rightAction",ptd->pupClass.pszName); - DBWriteContactSettingString(NULL, szModul, setting, ptd->rightAction); -} -- cgit v1.2.3