From f3d44bc057201407373012b7f682881bda7b3d98 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Wed, 23 May 2012 07:44:30 +0000 Subject: some includes restored, mir_full.sln updated, some renaming of folders and projects git-svn-id: http://svn.miranda-ng.org/main/trunk@140 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/TabSRMM/include/globals.h | 246 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100644 plugins/TabSRMM/include/globals.h (limited to 'plugins/TabSRMM/include/globals.h') diff --git a/plugins/TabSRMM/include/globals.h b/plugins/TabSRMM/include/globals.h new file mode 100644 index 0000000000..f399fbe359 --- /dev/null +++ b/plugins/TabSRMM/include/globals.h @@ -0,0 +1,246 @@ +/* + * astyle --force-indent=tab=4 --brackets=linux --indent-switches + * --pad=oper --one-line=keep-blocks --unpad=paren + * + * Miranda IM: the free IM client for Microsoft* Windows* + * + * Copyright 2000-2009 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. + * + * part of tabSRMM messaging plugin for Miranda. + * + * (C) 2005-2009 by silvercircle _at_ gmail _dot_ com and contributors + * + * $Id: globals.h 13046 2010-10-28 10:02:50Z silvercircle $ + * + * Plugin configuration variables and functions. Implemented as a class + * though there will always be only a single instance. + * + */ + +#ifndef __GLOBALS_H +#define __GLOBALS_H + +struct TSplitterBroadCast { + TContainerData *pSrcContainer; + TWindowData *pSrcDat; + LONG pos, pos_chat; + LONG off_chat, off_im; + LPARAM lParam; + BYTE bSync; +}; + +typedef BOOL (WINAPI *pfnSetMenuInfo )( HMENU hmenu, LPCMENUINFO lpcmi ); + +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 CGlobals +{ +public: + enum { + H_MS_MSG_SENDMESSAGE = 0, + H_MS_MSG_SENDMESSAGEW = 1, + H_MS_MSG_FORWARDMESSAGE = 2, + H_MS_MSG_GETWINDOWAPI = 3, + H_MS_MSG_GETWINDOWCLASS = 4, + H_MS_MSG_GETWINDOWDATA = 5, + H_MS_MSG_READMESSAGE = 6, + H_MS_MSG_TYPINGMESSAGE = 7, + H_MS_MSG_MOD_MESSAGEDIALOGOPENED = 8, + H_MS_TABMSG_SETUSERPREFS = 9, + H_MS_TABMSG_TRAYSUPPORT = 10, + H_MSG_MOD_GETWINDOWFLAGS = 11, + H_MS_TABMSG_SLQMGR = 12, + SERVICE_LAST = 13 + }; + + CGlobals() + { + ::ZeroMemory(this, sizeof(CGlobals)); + m_TypingSoundAdded = false; + } + + ~CGlobals() + { + if(m_MenuBar) + ::DestroyMenu(m_MenuBar); + + CContactCache* c = CContactCache::m_cCache, *cTemp; + while(c) { + cTemp = c->m_next; + delete c; + c = cTemp; + } + } + void reloadAdv(); + void reloadSystemStartup(); + void reloadSystemModulesChanged(); + void reloadSettings(bool fReloadSkins = true); + + void hookSystemEvents(); + bool haveAutoSwitch(); + + const HMENU getMenuBar(); + + HWND g_hwndHotkeyHandler; + HICON g_iconIn, g_iconOut, g_iconErr, g_iconContainer, g_iconStatus; + HICON g_iconOverlayDisabled, g_iconOverlayEnabled, g_iconClock; + HCURSOR hCurSplitNS, hCurSplitWE, hCurHyperlinkHand; + HBITMAP g_hbmUnknown; + int g_MetaContactsAvail, g_SmileyAddAvail, g_WantIEView, g_PopupAvail, g_PopupWAvail, g_WantHPP; + int g_FlashAvatarAvail; + HIMAGELIST g_hImageList; + HICON g_IconMsgEvent, g_IconTypingEvent, g_IconFileEvent, g_IconSend; + HICON g_IconMsgEventBig, g_IconTypingEventBig; + HICON g_IconFolder, g_IconChecked, g_IconUnchecked; + HMENU g_hMenuContext, g_hMenuContainer, g_hMenuEncoding, g_hMenuTrayUnread; + HMENU g_hMenuFavorites, g_hMenuRecent, g_hMenuTrayContext; + HICON g_buttonBarIcons[NR_BUTTONBARICONS]; + HICON g_sideBarIcons[NR_SIDEBARICONS]; + HANDLE g_buttonBarIconHandles[23]; + // dynamic options, need reload when options change + int m_SendOnShiftEnter; + int m_SendOnEnter; + int m_SendOnDblEnter; + int m_AutoLocaleSupport; + int m_AutoSwitchTabs; + int m_CutContactNameOnTabs; + int m_CutContactNameTo; + int m_StatusOnTabs; + int m_LogStatusChanges; + int m_UseDividers; + int m_DividersUsePopupConfig; + int m_MsgTimeout; + int m_EscapeCloses; + int m_FlashOnClist; + int m_AlwaysFullToolbarWidth; + int m_LimitStaticAvatarHeight; + int m_SendFormat; + int m_FormatWholeWordsOnly; + int m_RTLDefault; + int m_MathModAvail; + TCHAR m_MathModStartDelimiter[40]; + int m_UnreadInTray; + int m_TrayFlashes; + int m_TrayFlashState; + BOOL m_SuperQuiet; + HANDLE m_UserMenuItem; + double g_DPIscaleX; + double g_DPIscaleY; + BOOL m_HideOnClose; + BOOL g_bSoundOnTyping; + BOOL m_AllowTab; + BYTE m_AllowOfflineMultisend; + BOOL g_bDisableAniAvatars; + HBITMAP m_hbmMsgArea; + BYTE g_iButtonsBarGap; + BYTE m_WinVerMajor; + BYTE m_WinVerMinor; + bool m_bIsXP, m_bIsVista, m_bIsWin7; + HWND m_hwndClist; + int m_TabAppearance; + struct myTabCtrl tabConfig; + int m_panelHeight, m_MUCpanelHeight; + WINDOWPLACEMENT m_GlobalContainerWpos; + int m_IdleDetect; + int m_smcxicon, m_smcyicon; + int m_PasteAndSend; + TCHAR *m_szNoStatus; + COLORREF crIncoming, crOutgoing, crOldIncoming, crOldOutgoing, crStatus; + BOOL bUnicodeBuild; + HFONT hFontCaption; + DWORD m_LangPackCP; + BYTE m_SmileyButtonOverride; + NONCLIENTMETRICS m_ncm; + HICON m_AnimTrayIcons[4]; + BOOL m_visualMessageSizeIndicator; + BOOL m_autoSplit; + BOOL m_FlashOnMTN; + DWORD dwThreadID; + char szMetaName[256]; + BYTE bMetaEnabled; + HANDLE m_hMessageWindowList, hUserPrefsWindowList; + bool m_chat_enabled; + HMENU m_MenuBar; + COLORREF m_ipBackgroundGradient; + COLORREF m_ipBackgroundGradientHigh; + COLORREF m_tbBackgroundHigh, m_tbBackgroundLow, m_fillColor, m_cRichBorders, m_genericTxtColor; + BYTE g_bClientInStatusBar; + BYTE m_dontUseDefaultKbd; + HANDLE hSvc[SERVICE_LAST]; + HANDLE m_event_MsgWin, m_event_MsgPopup; + HANDLE m_hMenuItem; + BYTE m_useAeroPeek; + + TSplitterBroadCast lastSPlitterPos; + TContainerSettings globalContainerSettings; + + static HANDLE m_event_FoldersChanged; + static TCHAR* m_default_container_name; + static void cacheUpdateMetaChanged(); + static void logStatusChange(WPARAM wParam, const CContactCache *c); + + static void Ex_CopyEditToClipboard(HWND hWnd); + static void Ex_Handler(); + static int Ex_ShowDialog(EXCEPTION_POINTERS *ep, const char *szFile, int line, wchar_t* szReason, bool fAllowContinue); + static INT_PTR CALLBACK Ex_DlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); +private: + bool m_TypingSoundAdded; + static HANDLE m_event_ModulesLoaded, m_event_PrebuildMenu, m_event_SettingChanged; + static HANDLE m_event_ContactDeleted, m_event_Dispatch, m_event_EventAdded; + static HANDLE m_event_IconsChanged, m_event_TypingEvent, m_event_ProtoAck, m_event_PreShutdown, m_event_OkToExit; + static HANDLE m_event_IcoLibChanged, m_event_AvatarChanged, m_event_MyAvatarChanged, m_event_FontsChanged; + static HANDLE m_event_SmileyAdd, m_event_IEView; + static HANDLE m_event_ME_MC_SUBCONTACTSCHANGED, m_event_ME_MC_FORCESEND, m_event_ME_MC_UNFORCESEND; + + static EXCEPTION_RECORD m_exRecord; + static CONTEXT m_exCtx; + static LRESULT m_exLastResult; + static char m_exSzFile[MAX_PATH]; + static wchar_t m_exReason[256]; + static int m_exLine; + static bool m_exAllowContinue; +private: + static int ModulesLoaded(WPARAM wParam, LPARAM lParam); + static int DBSettingChanged(WPARAM wParam, LPARAM lParam); + static int DBContactDeleted(WPARAM wParam, LPARAM lParam); + static int PreshutdownSendRecv(WPARAM wParam, LPARAM lParam); + static int MetaContactEvent(WPARAM wParam, LPARAM lParam); + static int OkToExit(WPARAM wParam, LPARAM lParam); + static void RestoreUnreadMessageAlerts(void); + static void RegisterWithUpdater(); +}; + +extern CGlobals PluginConfig; +extern CGlobals *pConfig; + +#define DPISCALEY_S(argY) ((int) ((double)(argY) * PluginConfig.g_DPIscaleY)) +#define DPISCALEX_S(argX) ((int) ((double)(argX) * PluginConfig.g_DPIscaleX)) + +#endif /* __GLOBALS_H */ -- cgit v1.2.3