From 092d9b814c8c2e523fa2a73c69fa26cda1a5c17f Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 2 Jul 2015 19:41:38 +0000 Subject: unified project for clist_nicer git-svn-id: http://svn.miranda-ng.org/main/trunk@14474 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Clist_nicer/src/config.h | 140 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 plugins/Clist_nicer/src/config.h (limited to 'plugins/Clist_nicer/src/config.h') diff --git a/plugins/Clist_nicer/src/config.h b/plugins/Clist_nicer/src/config.h new file mode 100644 index 0000000000..c833107fe3 --- /dev/null +++ b/plugins/Clist_nicer/src/config.h @@ -0,0 +1,140 @@ +/* + +Miranda NG: the free IM client for Microsoft* Windows* + +Copyright (ñ) 2012-15 Miranda NG project (http://miranda-ng.org), +Copyright (c) 2000-03 Miranda ICQ/IM project, +all portions of this codebase are copyrighted to the people +listed in contributors.txt. + +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. +*/ + +#include + +#ifndef __CONFIG_H_ +#define __CONFIG_H_ + +#define DEFAULT_MODULE "Clist" + +#define IS_THEMED (API::sysState.isThemed) +#define IS_AERO (API::sysState.isAero) + +typedef HRESULT (WINAPI *pfnDwmExtendFrameIntoClientArea_t)(HWND hwnd, const MARGINS *margins); +typedef HRESULT (WINAPI *pfnDwmIsCompositionEnabled_t)(BOOL *); + +class CRTException : public std::runtime_error +{ +public: + CRTException(const char *szMsg, const TCHAR *szParam); + ~CRTException() {} + + void display() const; + +private: + TCHAR m_szParam[MAX_PATH]; +}; + +class cfg +{ +public: + static DWORD getDword(const MCONTACT hContact, const char *szModule, const char *szSetting, DWORD uDefault); + static DWORD getDword(const char *szModule, const char *szSetting, DWORD uDefault); + static DWORD getDword(const char *szSetting, DWORD uDefault); + + static WORD getWord(const MCONTACT hContact, const char *szModule, const char *szSetting, WORD uDefault); + static WORD getWord(const char *szModule, const char *szSetting, WORD uDefault); + static WORD getWord(const char *szSetting, WORD uDefault); + + static int getByte(const MCONTACT hContact, const char *szModule, const char *szSetting, int uDefault); + static int getByte(const char *szModule, const char *szSetting, int uDefault); + static int getByte(const char *szSetting, int uDefault); + + static INT_PTR getTString(const MCONTACT hContact, const char *szModule, const char *szSetting, DBVARIANT *dbv); + static INT_PTR getString(const MCONTACT hContact, const char *szModule, const char *szSetting, DBVARIANT *dbv); + + static INT_PTR writeDword(const MCONTACT hContact, const char *szModule, const char *szSetting, DWORD value); + static INT_PTR writeDword(const char *szModule, const char *szSetting, DWORD value); + + static INT_PTR writeWord(const MCONTACT hContact, const char *szModule, const char *szSetting, WORD value); + static INT_PTR writeWord(const char *szModule, const char *szSetting, WORD value); + + static INT_PTR writeByte(const MCONTACT hContact, const char *szModule, const char *szSetting, BYTE value); + static INT_PTR writeByte(const char *szModule, const char *szSetting, BYTE value); + + static INT_PTR writeTString(const MCONTACT hContact, const char *szModule, const char *szSetting, const TCHAR *st); + static INT_PTR writeString(const MCONTACT hContact, const char *szModule, const char *szSetting, const char *st); + + static TExtraCache* getCache(const MCONTACT hContact, const char *szProto); + +public: + static TCluiData dat; + static ClcData* clcdat; + + static LIST arCache; + + static bool shutDown; +}; + +struct TSysConfig { + bool isVistaPlus; + bool isSevenPlus; +}; + +struct TSysState { + bool isThemed; + bool isAero; + bool isDwmActive; +}; + +class API +{ +public: + static void onInit (); + static void updateState (); + + static void Ex_CopyEditToClipboard (HWND hWnd); + static INT_PTR CALLBACK Ex_DlgProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); + static void Ex_Handler (); + static int Ex_ShowDialog (EXCEPTION_POINTERS *ep, const char *szFile, int line, TCHAR* szReason, bool fAllowContinue); + + static pfnDwmExtendFrameIntoClientArea_t pfnDwmExtendFrameIntoClientArea; + static pfnDwmIsCompositionEnabled_t pfnDwmIsCompositionEnabled; + + static TSysConfig sysConfig; + static TSysState sysState; + + static EXCEPTION_RECORD exRecord; + static CONTEXT exCtx; + static LRESULT exLastResult; + static char exSzFile[MAX_PATH]; + static TCHAR exReason[256]; + static int exLine; + static bool exAllowContinue; + + static HMODULE hDwm; +}; + + +class Utils +{ +public: + static void TSAPI enableDlgControl(const HWND hwnd, UINT id, BOOL fEnable); + static void TSAPI showDlgControl(const HWND hwnd, UINT id, int showCmd); + static HMODULE loadSystemLibrary(const TCHAR* szFilename, bool useGetHandle = false); + +}; + +#endif /* __CONFIG_H_*/ -- cgit v1.2.3