From 4d01f5f5096cb4d22c4a7ba17cc82977c7f5f19b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20P=C3=B6sel?= Date: Tue, 29 Oct 2013 18:17:04 +0000 Subject: Adopted MirandaG15 plugin First compilable version and 32-bit only. git-svn-id: http://svn.miranda-ng.org/main/trunk@6681 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/MirandaG15/src/CConfig.h | 166 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 plugins/MirandaG15/src/CConfig.h (limited to 'plugins/MirandaG15/src/CConfig.h') diff --git a/plugins/MirandaG15/src/CConfig.h b/plugins/MirandaG15/src/CConfig.h new file mode 100644 index 0000000000..e35b68f772 --- /dev/null +++ b/plugins/MirandaG15/src/CConfig.h @@ -0,0 +1,166 @@ +#ifndef _CCONFIG_H_ +#define _CCONFIG_H_ + +// Tabs +#define TAB_OPTIONS 0 +#define TAB_NOTIFICATIONS 1 +#define TAB_CHAT 2 +#define TAB_CLIST 3 + +// Fonts +#define FONT_LOG 0 +#define FONT_SESSION 1 +#define FONT_CLIST 2 +#define FONT_TITLE 3 +#define FONT_NOTIFICATION 4 + +#define FONT_SETTINGS 5 + +// Bool settings +#define CLIST_HIDEOFFLINE 0 +#define NOTIFY_MESSAGES 1 +#define NOTIFY_SIGNON 2 +#define NOTIFY_SIGNOFF 3 +#define NOTIFY_STATUS 4 +#define SESSION_LOADDB 5 +#define SHOW_LABELS 6 +#define SESSION_MARKREAD 7 +#define NOTIFY_CONTACTS 8 +#define NOTIFY_FILE 9 +#define NOTIFY_URL 10 +#define SESSION_SENDRETURN 11 +#define NOTIFY_PROTO_STATUS 12 +#define SESSION_SHOWTYPING 13 +#define SESSION_SENDTYPING 14 +#define SESSION_SCROLL_MAXIMIZED 15 +#define SESSION_REPLY_MAXIMIZED 16 +#define MAXIMIZED_TITLE 17 +#define MAXIMIZED_LABELS 18 +#define CLIST_USEGROUPS 19 +#define CLIST_USEIGNORE 20 +#define NOTIFY_PROTO_SIGNON 21 +#define NOTIFY_PROTO_SIGNOFF 22 +#define CLIST_SHOWPROTO 23 +#define SESSION_SYMBOLS 24 +#define CLIST_COUNTERS 24 +#define CLIST_DRAWLINES 25 +#define CLIST_POSITION 26 +#define CONTROL_BACKLIGHTS 28 +#define HOOK_VOLUMEWHEEL 29 +#define NOTIFY_SKIP_MESSAGES 30 +#define NOTIFY_SKIP_STATUS 31 +#define NOTIFY_SKIP_SIGNON 32 +#define NOTIFY_SKIP_SIGNOFF 33 +#define SESSION_TIMESTAMPS 34 +#define NOTIFY_TIMESTAMPS 35 +#define TIMESTAMP_SECONDS 36 +#define NOTIFY_IRC_MESSAGES 37 +#define NOTIFY_IRC_USERS 38 +#define NOTIFY_IRC_EMOTES 39 +#define NOTIFY_IRC_NOTICES 40 +#define NOTIFY_IRC_CHANNEL 41 +#define NOTIFY_IRC_STATUS 42 +#define CLIST_COLUMNS 43 +#define TRANSITIONS 44 +#define NOTIFY_NICKCUTOFF 45 +#define NOTIFY_SHOWPROTO 46 +#define NOTIFY_NO_SKIP_REPLY 47 +#define CLIST_SELECTION 48 +#define NOTIFY_CHANNELCUTOFF 49 +#define SCREENSAVER_LOCK 50 +#define SESSION_CLOSE 52 +#define SKIP_DRIVER_ERROR 53 + +#define BOOL_SETTINGS 54 + +// Int Settings +#define SESSION_LOGSIZE 0 +#define NOTIFY_LOGSIZE 1 +#define NOTIFY_DURATION 2 +#define NOTIFY_TITLE 3 +#define SESSION_AUTOSCROLL 4 +#define CLIST_GA 5 +#define NOTIFY_NICKCUTOFF_OFFSET 6 +#define DEVICE 7 +#define NOTIFY_CHANNELCUTOFF_OFFSET 8 +#define SESSION_CLOSETIMER 9 + +#define INT_SETTINGS 10 + +// Enums +#define CLIST_GA_NONE 0 +#define CLIST_GA_EXPAND 1 +#define CLIST_GA_COLLAPSE 2 + +#define NOTIFY_TITLE_HIDE 0 +#define NOTIFY_TITLE_INFO 1 +#define NOTIFY_TITLE_NAME 2 + +#define SESSION_AUTOSCROLL_NONE 0 +#define SESSION_AUTOSCROLL_FIRST 1 +#define SESSION_AUTOSCROLL_LAST 2 + +struct CProtoFilter +{ + tstring strName; + bool bNotificationFilter; + bool bContactlistFilter; + + bool bTempNotificationFilter; + bool bTempContactlistFilter; +}; + +class CConfig +{ +public: + static void Initialize(); + static void Shutdown(); + + static void LoadSettings(); + static void SaveSettings(); + + // InitDialogHook Callback + static int InitOptionsDialog(WPARAM wParam, LPARAM lParam); + // OnConnectionChanged + static void OnConnectionChanged(); + + // Dialog WndProc + static INT_PTR CALLBACK AppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); + static INT_PTR CALLBACK ChatDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); + static INT_PTR CALLBACK NotificationsDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); + static INT_PTR CALLBACK ContactlistDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); + + static bool GetBoolSetting(int iSetting); + static int GetIntSetting(int iSetting); + static bool GetProtocolNotificationFilter(tstring strProtocol); + static bool GetProtocolContactlistFilter(tstring strProtocol); + + static LOGFONT &GetFont(int iFont); + static int GetFontHeight(int iFont); +private: + static int GetSampleField(int iFont); + static void ClearTree(HWND hTree); + static void FillTree(HWND hTree,bool bCList=false); + static void FillDeviceBox(HWND hBox); + + static HWND hDeviceBox; + static vector m_ProtoList; + + static HANDLE m_hSampleFont[FONT_SETTINGS]; + static TEXTMETRIC m_tmFontInfo[FONT_SETTINGS]; + static LOGFONT m_logfont[FONT_SETTINGS]; + static LOGFONT m_templogfont[FONT_SETTINGS]; + + static void LoadFontSettings(int iFont); + static void SaveFontSettings(int iFont); + + static void UpdateFontSettings(int iFont); + + static bool m_abBoolSettings[BOOL_SETTINGS]; + static int m_aiIntSettings[INT_SETTINGS]; + static bool m_bInitializingDialog; + static HANDLE m_hOptionsInitHook; + +}; + +#endif \ No newline at end of file -- cgit v1.2.3