/* Scriver Copyright (c) 2000-12 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. */ #ifndef SRMM_GLOBALS_H #define SRMM_GLOBALS_H typedef struct ImageListUsageEntry_tag { int index; int used; } ImageListUsageEntry; enum SendMode { SEND_ON_ENTER, SEND_ON_DBL_ENTER, SEND_ON_CTRL_ENTER, SEND_ON_SHIFT_ENTER }; struct WindowFlags { bool bAutoPopup : 1; bool bStayMinimized : 1; bool bCloseOnSend : 1; bool bMinimizeOnSend : 1; bool bSaveDrafts : 1; bool bDelTemp : 1; bool bShowProgress : 1; bool bShowAvatar : 1; bool bRtl : 1; bool bShowIcons : 1; bool bHideNames : 1; bool bShowTime : 1; bool bShowDate : 1; bool bLongDate : 1; bool bRelativeDate : 1; bool bShowSeconds : 1; bool bGroupMessages : 1; bool bMarkFollowups : 1; bool bMsgOnNewline : 1; bool bDrawLines : 1; bool bIndentText : 1; bool bOriginalAvatarH : 1; }; struct TabFlags { bool bUseTabs : 1; bool bHideOneTab : 1; bool bTabsAtBottom : 1; bool bLimitNames : 1; bool bSwitchToActive : 1; bool bSeparateChats : 1; bool bTabCloseButton : 1; bool bLimitTabs : 1; bool bLimitChatTabs : 1; bool bHideContainer : 1; bool bShowInfoBar : 1; bool bShowStatusBar : 1; bool bShowTitleBar : 1; bool bShowToolBar : 1; bool bUseTransparency : 1; bool bShowTyping : 1; bool bShowTypingWin : 1; bool bShowTypingTray : 1; bool bShowTypingClist : 1; bool bShowTypingSwitch : 1; }; struct GlobalMessageData { union { DWORD dwFlags; WindowFlags flags; }; union { DWORD dwFlags2; TabFlags flags2; }; DWORD openFlags; DWORD limitNamesLength; int activeAlpha; int inactiveAlpha; SendMode sendMode; int tabIconListUsageSize; int smileyAddInstalled; int limitTabsNum; int limitChatsTabsNum; int indentSize; HIMAGELIST hTabIconList; HIMAGELIST hButtonIconList; HIMAGELIST hChatButtonIconList; HIMAGELIST hHelperIconList; HBRUSH hInfobarBrush; int toolbarPosition; HWND hFocusWnd; DWORD logLineColour; int logPixelSX; int logPixelSY; HICON hMsgIcon; HICON hMsgIconBig; HICON hIconChatBig; int minInputAreaHeight; wchar_t wszTitleFormat[200]; MWindowList hParentWindowList; struct ParentWindowData *lastParent; struct ParentWindowData *lastChatParent; ImageListUsageEntry *tabIconListUsage; }; int IconsChanged(WPARAM wParam, LPARAM lParam); int SmileySettingsChanged(WPARAM wParam, LPARAM lParam); void InitGlobals(); void FreeGlobals(); void ReloadGlobals(); void RegisterIcons(); void ReleaseIcons(); void LoadGlobalIcons(); void RegisterFontServiceFonts(); int ImageList_AddIcon_Ex(HIMAGELIST hIml, int id); int ImageList_AddIcon_Ex2(HIMAGELIST hIml, HICON hIcon); int ImageList_ReplaceIcon_Ex(HIMAGELIST hIml, int nIndex, int id); int ImageList_AddIcon_ProtoEx(HIMAGELIST hIml, const char *szProto, int status); void StreamInTestEvents(HWND hEditWnd, GlobalMessageData *gdat); #endif