From e9bf8a6e2d782dc480fb97cb59928c8cfe1dd777 Mon Sep 17 00:00:00 2001 From: pescuma Date: Mon, 10 Oct 2011 01:39:18 +0000 Subject: Moved files from BerliOS git-svn-id: http://pescuma.googlecode.com/svn/trunk/Miranda@229 c086bb3d-8645-0410-b8da-73a8550f86e7 --- Plugins/notification_log/options.cpp | 117 +++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 Plugins/notification_log/options.cpp (limited to 'Plugins/notification_log/options.cpp') diff --git a/Plugins/notification_log/options.cpp b/Plugins/notification_log/options.cpp new file mode 100644 index 0000000..3428142 --- /dev/null +++ b/Plugins/notification_log/options.cpp @@ -0,0 +1,117 @@ +/* +Copyright (C) 2005 Ricardo Pescuma Domenecci + +This is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +This 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 +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with this file; see the file license.txt. If +not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. +*/ + + +#include "options.h" + + + +// Prototypes ///////////////////////////////////////////////////////////////////////////////////// + + +int NotifyOptionsInitialize(WPARAM wParam,LPARAM lParam); + +BOOL CALLBACK DlgProcLog(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); + + +// Functions ////////////////////////////////////////////////////////////////////////////////////// + + +// Initializations needed by options +void InitOptions() +{ + HookEvent(ME_NOTIFY_OPT_INITIALISE, NotifyOptionsInitialize); +} + + +// Deinitializations needed by options +void DeInitOptions() +{ +} + + +int NotifyOptionsInitialize(WPARAM wParam,LPARAM lParam) +{ + OPTIONSDIALOGPAGE odp = {0}; + odp.cbSize = sizeof(odp); + odp.hInstance = hInst; + odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_LOG); + odp.ptszTitle = TranslateT("Log"); + odp.flags = ODPF_BOLDGROUPS | ODPF_TCHAR; + odp.pfnDlgProc = DlgProcLog; + odp.position = 10; + CallService(MS_NOTIFY_OPT_ADDPAGE, wParam, (LPARAM)&odp); + return 0; +} + + +static OptPageControl pageControls[] = { + { CONTROL_CHECKBOX, IDC_LOG, NFOPT_LOG_ENABLED, (BYTE) 0 }, + { CONTROL_TEXT, IDC_FILENAME, NFOPT_LOG_FILENAMET, NULL }, + { CONTROL_TEMPLATE, IDC_TEXT, NFOPT_LOG_TEMPLATE_LINET, NULL } +}; + +TCHAR defLine[1024]; +TCHAR defFile[1024]; + +static BOOL CALLBACK DlgProcLog(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + switch (msg) + { + case WM_USER+100: + { + HANDLE hNotify = (HANDLE)lParam; + + mir_sntprintf(defFile, MAX_REGS(defLine), _T("%s_log.txt"), + MNotifyGetTString(hNotify, NFOPT_TYPENAME, _T("notification"))); + + pageControls[1].szDefVale = defFile; + + + mir_sntprintf(defLine, MAX_REGS(defLine), _T("%s: %s"), + MNotifyGetTTemplate(hNotify, NFOPT_DEFTEMPL_TITLET, _T("%title%")), + MNotifyGetTTemplate(hNotify, NFOPT_DEFTEMPL_TEXTT, _T("%text%"))); + + pageControls[2].szDefVale = defLine; + + break; + } + case WM_COMMAND: + { + if (HIWORD(wParam) == BN_CLICKED) + { + switch (LOWORD(wParam)) + { + case IDC_BTN_HELP: + { + HANDLE hNotify = (HANDLE)GetWindowLong(hwndDlg, GWL_USERDATA); + MNotifyShowTVariables(hNotify); + + return TRUE; + } + } + } + + break; + } + } + + return SaveOptsDlgProc(pageControls, MAX_REGS(pageControls), hwndDlg, msg, wParam, lParam); +} + -- cgit v1.2.3