From f9eb107520e9dad37b06eb5c737b39d7bc15c751 Mon Sep 17 00:00:00 2001 From: Alexey Kulakov Date: Wed, 27 Jun 2012 17:22:43 +0000 Subject: Added File As Message plugin git-svn-id: http://svn.miranda-ng.org/main/trunk@655 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/FileAsMessage/optionsdlg.cpp | 118 +++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 plugins/FileAsMessage/optionsdlg.cpp (limited to 'plugins/FileAsMessage/optionsdlg.cpp') diff --git a/plugins/FileAsMessage/optionsdlg.cpp b/plugins/FileAsMessage/optionsdlg.cpp new file mode 100644 index 0000000000..e39c574df2 --- /dev/null +++ b/plugins/FileAsMessage/optionsdlg.cpp @@ -0,0 +1,118 @@ +#include "main.h" +#include "resource.h" + +#include + +#pragma comment(lib, "comctl32.lib") + + +DWORD settingDefault[] = +{ + RGB(64,255,64), + RGB(255,255,64), + RGB(128,128,128), + RGB(192,192,192), + + 6000, + 5000 +}; +char *settingName[] = +{ + "colorRecv", + "colorSent", + "colorUnsent", + "colorTosend", + + "SendDelay", + "ChunkSize" +}; +int settingId[] = +{ + IDC_RECV, + IDC_SENT, + IDC_UNSENT, + IDC_TOSEND, + + -IDC_SENDDELAY, + -IDC_CHUNKSIZE +}; +// +// OptionsDlgProc() +// this handles the options page +// verwaltet die Optionsseite +// +LRESULT CALLBACK OptionsDlgProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) +{ + switch( uMsg ) + { + case WM_INITDIALOG: + { + TranslateDialogDefault(hwndDlg); + + for(int indx = 0; indx < ARRAY_SIZE(settingId); indx++) + if(settingId[indx] > 0) + SendDlgItemMessage(hwndDlg, settingId[indx], CPM_SETCOLOUR, 0, DBGetContactSettingDword(NULL, SERVICE_NAME, settingName[indx], settingDefault[indx])); + else + SetDlgItemInt(hwndDlg, -settingId[indx], DBGetContactSettingDword(NULL, SERVICE_NAME, settingName[indx], settingDefault[indx]), FALSE); + + CheckDlgButton(hwndDlg, IDC_ALPHANUM, DBGetContactSettingDword(NULL, SERVICE_NAME, "base64", 1)?BST_CHECKED:BST_UNCHECKED); + + return TRUE; + + } + case WM_COMMAND: + { + if(//MAKEWPARAM(IDC_AUTO, BN_CLICKED) != wParam || + MAKEWPARAM(IDC_ALPHANUM, BN_CLICKED) != wParam) + { + for(int indx = 0; indx < ARRAY_SIZE(settingId); indx++) + { + if(LOWORD(wParam) == abs(settingId[indx])) + { + if(settingId[indx] > 0) + { + if(HIWORD(wParam) != CPN_COLOURCHANGED) return FALSE; + } + else + { + if(HIWORD(wParam) != EN_CHANGE) return FALSE; + if((HWND)lParam != GetFocus()) return FALSE; + } + } + } + } + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0,0); + break; + } + case WM_DESTROY: + return FALSE; + + case WM_NOTIFY: + { + if((((NMHDR*)lParam)->idFrom == 0) && (((LPNMHDR)lParam)->code == PSN_APPLY)) + { + int value; + BOOL succ; + + for(int indx = 0; indx < ARRAY_SIZE(settingId); indx++) + { + if(settingId[indx] > 0) + value = SendDlgItemMessage(hwndDlg, settingId[indx], CPM_GETCOLOUR, 0, 0); + else + { + value = GetDlgItemInt(hwndDlg, -settingId[indx], &succ, FALSE); + if(!succ) value = settingDefault[indx]; + } + DBWriteContactSettingDword(NULL,SERVICE_NAME,settingName[indx], value); + } + DBWriteContactSettingDword(NULL,SERVICE_NAME, "base64", (IsDlgButtonChecked(hwndDlg, IDC_ALPHANUM) == BST_CHECKED)?1:0); + + return TRUE; + } + break; + } + + } + + return FALSE; +} -- cgit v1.2.3