From adc62295988c209c3e61a647b1c03a6f09ecd454 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Mon, 9 Jul 2012 08:17:37 +0000 Subject: Chat: changed folder structure git-svn-id: http://svn.miranda-ng.org/main/trunk@873 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Chat/chat.h | 552 ---------------------------------------------------- 1 file changed, 552 deletions(-) delete mode 100644 plugins/Chat/chat.h (limited to 'plugins/Chat/chat.h') diff --git a/plugins/Chat/chat.h b/plugins/Chat/chat.h deleted file mode 100644 index f8130358aa..0000000000 --- a/plugins/Chat/chat.h +++ /dev/null @@ -1,552 +0,0 @@ -/* -Chat module plugin for Miranda IM - -Copyright (C) 2003 Jörgen Persson - -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 _CHAT_H_ -#define _CHAT_H_ - -#define MIRANDA_VER 0x0A00 - -//#pragma warning( disable : 4786 ) // limitation in MSVC's debugger. -//#pragma warning( disable : 4996 ) // limitation in MSVC's debugger. - -#define WIN32_LEAN_AND_MEAN -#define _WIN32_WINNT 0x0501 -#define _WIN32_IE 0x0501 - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "resource.h" -#include "version.h" -#include "m_ieview.h" -#include "m_smileyadd.h" - -#ifndef NDEBUG -#define new new(_NORMAL_BLOCK, __FILE__, __LINE__) -#endif - -//defines -#define OPTIONS_FONTCOUNT 17 -#define GC_UPDATETITLE (WM_USER+100) -#define GC_SPLITTERMOVED (WM_USER+101) -#define GC_CLOSEWINDOW (WM_USER+103) -#define GC_GETITEMDATA (WM_USER+104) -#define GC_SETITEMDATA (WM_USER+105) -#define GC_UPDATESTATUSBAR (WM_USER+106) -#define GC_SETVISIBILITY (WM_USER+107) -#define GC_SETWNDPROPS (WM_USER+108) -#define GC_REDRAWLOG (WM_USER+109) -#define GC_FIREHOOK (WM_USER+110) -#define GC_FILTERFIX (WM_USER+111) -#define GC_CHANGEFILTERFLAG (WM_USER+112) -#define GC_SHOWFILTERMENU (WM_USER+113) -#define GC_SETWINDOWPOS (WM_USER+114) -#define GC_SAVEWNDPOS (WM_USER+115) -//#define GC_NICKLISTCLEAR (WM_USER+117) -#define GC_REDRAWWINDOW (WM_USER+118) -#define GC_SHOWCOLORCHOOSER (WM_USER+119) -#define GC_ADDLOG (WM_USER+120) -#define GC_ACKMESSAGE (WM_USER+121) -//#define GC_ADDUSER (WM_USER+122) -//#define GC_REMOVEUSER (WM_USER+123) -//#define GC_NICKCHANGE (WM_USER+124) -#define GC_UPDATENICKLIST (WM_USER+125) -//#define GC_MODECHANGE (WM_USER+126) -#define GC_TABCHANGE (WM_USER+127) -#define GC_ADDTAB (WM_USER+128) -#define GC_SCROLLTOBOTTOM (WM_USER+129) -#define GC_REMOVETAB (WM_USER+130) -#define GC_SESSIONNAMECHANGE (WM_USER+131) -#define GC_FIXTABICONS (WM_USER+132) -#define GC_DROPPEDTAB (WM_USER+133) -#define GC_TABCLICKED (WM_USER+134) -#define GC_SWITCHNEXTTAB (WM_USER+135) -#define GC_SWITCHPREVTAB (WM_USER+136) -#define GC_SWITCHTAB (WM_USER+137) -#define GC_SETTABHIGHLIGHT (WM_USER+138) -#define GC_SETMESSAGEHIGHLIGHT (WM_USER+139) -#define GC_REDRAWLOG2 (WM_USER+140) -#define GC_REDRAWLOG3 (WM_USER+141) - -#define EM_SUBCLASSED (WM_USER+200) -#define EM_UNSUBCLASSED (WM_USER+201) -#define EM_ACTIVATE (WM_USER+202) - -#define TIMERID_FLASHWND 205 - -#define GCW_TABROOM 10 -#define GCW_TABPRIVMSG 11 - -#define GC_EVENT_HIGHLIGHT 0x1000 -#define STATE_TALK 0x0001 - -#define ICON_ACTION 0 -#define ICON_ADDSTATUS 1 -#define ICON_HIGHLIGHT 2 -#define ICON_INFO 3 -#define ICON_JOIN 4 -#define ICON_KICK 5 -#define ICON_MESSAGE 6 -#define ICON_MESSAGEOUT 7 -#define ICON_NICK 8 -#define ICON_NOTICE 9 -#define ICON_PART 10 -#define ICON_QUIT 11 -#define ICON_REMSTATUS 12 -#define ICON_TOPIC 13 - -#define ICON_STATUS1 14 -#define ICON_STATUS2 15 -#define ICON_STATUS3 16 -#define ICON_STATUS4 17 -#define ICON_STATUS0 18 -#define ICON_STATUS5 19 - -// special service for tweaking performance -#define MS_GC_GETEVENTPTR "GChat/GetNewEventPtr" -typedef INT_PTR (*GETEVENTFUNC)(WPARAM wParam, LPARAM lParam); -typedef struct { - GETEVENTFUNC pfnAddEvent; -}GCPTRS; - -extern HINSTANCE g_hInst; - -//structs - -typedef struct MODULE_INFO_TYPE -{ - char* pszModule; - TCHAR* ptszModDispName; - char* pszHeader; - BOOL bBold; - BOOL bUnderline; - BOOL bItalics; - BOOL bColor; - BOOL bBkgColor; - BOOL bChanMgr; - BOOL bAckMsg; - int nColorCount; - COLORREF* crColors; - HICON hOnlineIcon; - HICON hOfflineIcon; - HICON hOnlineTalkIcon; - HICON hOfflineTalkIcon; - int OnlineIconIndex; - int OfflineIconIndex; - int iMaxText; - struct MODULE_INFO_TYPE *next; -} - MODULEINFO; - -typedef struct COMMAND_INFO_TYPE -{ - char* lpCommand; - struct COMMAND_INFO_TYPE *last, *next; -} - COMMAND_INFO; - -typedef struct -{ - LOGFONT lf; - COLORREF color; -} - FONTINFO; - -typedef struct LOG_INFO_TYPE -{ - TCHAR* ptszText; - TCHAR* ptszNick; - TCHAR* ptszUID; - TCHAR* ptszStatus; - TCHAR* ptszUserInfo; - BOOL bIsMe; - BOOL bIsHighlighted; - time_t time; - int iType; - struct LOG_INFO_TYPE *next; - struct LOG_INFO_TYPE *prev; -} - LOGINFO; - -typedef struct STATUSINFO_TYPE -{ - TCHAR* pszGroup; - HICON hIcon; - WORD Status; - struct STATUSINFO_TYPE *next; -} - STATUSINFO; - -typedef struct USERINFO_TYPE -{ - TCHAR* pszNick; - TCHAR* pszUID; - WORD Status; - int iStatusEx; - WORD ContactStatus; - struct USERINFO_TYPE *next; -} - USERINFO; - -typedef struct TABLIST_TYPE -{ - TCHAR* pszID; - char* pszModule; - struct TABLIST_TYPE *next; -} - TABLIST; - -typedef struct SESSION_INFO_TYPE -{ - HWND hWnd; - - BOOL bFGSet; - BOOL bBGSet; - BOOL bFilterEnabled; - BOOL bNicklistEnabled; - BOOL bInitDone; - - char* pszModule; - TCHAR* ptszID; - TCHAR* ptszName; - TCHAR* ptszStatusbarText; - TCHAR* ptszTopic; - - // I hate m3x, Unicode, IRC, chats etc... - char* pszID; // ugly fix for returning static ANSI strings in GC_INFO - char* pszName; // just to fix a bug quickly, should die after porting IRC to Unicode - - int iType; - int iFG; - int iBG; - int iSplitterY; - int iSplitterX; - int iLogFilterFlags; - int nUsersInNicklist; - int iEventCount; - int iX; - int iY; - int iWidth; - int iHeight; - int iStatusCount; - - WORD wStatus; - WORD wState; - WORD wCommandsNum; - DWORD dwItemData; - DWORD dwFlags; - HANDLE hContact; - HWND hwndStatus; - time_t LastTime; - - COMMAND_INFO* lpCommands; - COMMAND_INFO* lpCurrentCommand; - LOGINFO* pLog; - LOGINFO* pLogEnd; - USERINFO* pUsers; - USERINFO* pMe; - STATUSINFO* pStatuses; - - HWND hwndTooltip; - int iOldItemID; - - IAccPropServices* pAccPropServicesForNickList; - struct SESSION_INFO_TYPE *next; -} - SESSION_INFO; - -typedef struct -{ - char* buffer; - int bufferOffset, bufferLen; - HWND hwnd; - LOGINFO* lin; - BOOL bStripFormat; - BOOL bRedraw; - SESSION_INFO* si; -} - LOGSTREAMDATA; - -struct CREOleCallback : public IRichEditOleCallback -{ - CREOleCallback() : refCount(0) {} - unsigned refCount; - IStorage *pictStg; - int nextStgId; - - STDMETHOD(QueryInterface)(REFIID riid, LPVOID FAR * lplpObj); - STDMETHOD_(ULONG,AddRef) (THIS); - STDMETHOD_(ULONG,Release) (THIS); - - STDMETHOD(ContextSensitiveHelp)(BOOL fEnterMode); - STDMETHOD(GetNewStorage) (LPSTORAGE FAR * lplpstg); - STDMETHOD(GetInPlaceContext) (LPOLEINPLACEFRAME FAR * lplpFrame, LPOLEINPLACEUIWINDOW FAR * lplpDoc, LPOLEINPLACEFRAMEINFO lpFrameInfo); - STDMETHOD(ShowContainerUI) (BOOL fShow); - STDMETHOD(QueryInsertObject) (LPCLSID lpclsid, LPSTORAGE lpstg, LONG cp); - STDMETHOD(DeleteObject) (LPOLEOBJECT lpoleobj); - STDMETHOD(QueryAcceptData) (LPDATAOBJECT lpdataobj, CLIPFORMAT FAR * lpcfFormat, DWORD reco, BOOL fReally, HGLOBAL hMetaPict); - STDMETHOD(GetClipboardData) (CHARRANGE FAR * lpchrg, DWORD reco, LPDATAOBJECT FAR * lplpdataobj); - STDMETHOD(GetDragDropEffect) (BOOL fDrag, DWORD grfKeyState, LPDWORD pdwEffect); - STDMETHOD(GetContextMenu) (WORD seltype, LPOLEOBJECT lpoleobj, CHARRANGE FAR * lpchrg, HMENU FAR * lphmenu) ; -}; - -struct GlobalLogSettings_t { - BOOL ShowTime; - BOOL ShowTimeIfChanged; - BOOL LoggingEnabled; - BOOL FlashWindow; - BOOL HighlightEnabled; - BOOL LogIndentEnabled; - BOOL StripFormat; - BOOL SoundsFocus; - BOOL PopUpInactiveOnly; - BOOL TrayIconInactiveOnly; - BOOL AddColonToAutoComplete; - BOOL TabsEnable; - BOOL TabCloseOnDblClick; - BOOL TabRestore; - BOOL LogLimitNames; - BOOL TabsAtBottom; - BOOL TimeStampEventColour; - DWORD dwIconFlags; - DWORD dwTrayIconFlags; - DWORD dwPopupFlags; - int LogTextIndent; - int LoggingLimit; - int iEventLimit; - int iPopupStyle; - int iPopupTimeout; - int iSplitterX; - int iSplitterY; - int iX; - int iY; - int iWidth; - int iHeight; - TCHAR* pszTimeStamp; - TCHAR* pszTimeStampLog; - TCHAR* pszIncomingNick; - TCHAR* pszOutgoingNick; - TCHAR* pszHighlightWords; - TCHAR* pszLogDir; - HFONT UserListFont; - HFONT UserListHeadingsFont; - HFONT MessageBoxFont; - HFONT NameFont; - COLORREF crLogBackground; - COLORREF crUserListColor; - COLORREF crUserListBGColor; - COLORREF crUserListSelectedBGColor; - COLORREF crUserListHeadingsColor; - COLORREF crPUTextColour; - COLORREF crPUBkgColour; - BOOL ShowContactStatus; - BOOL ContactStatusFirst; -}; -extern struct GlobalLogSettings_t g_Settings; - -typedef struct{ - MODULEINFO* pModule; - int xPosition; - int yPosition; - HWND hWndTarget; - BOOL bForeground; - SESSION_INFO* si; -} - COLORCHOOSER; - -//main.c -void LoadIcons(void); -void LoadLogIcons(void); -void FreeIcons(void); -void UpgradeCheck(void); - -//colorchooser.c -INT_PTR CALLBACK DlgProcColorToolWindow(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam); - -//log.c -void Log_StreamInEvent(HWND hwndDlg, LOGINFO* lin, SESSION_INFO* si, BOOL bRedraw, BOOL bPhaseTwo); -void LoadMsgLogBitmaps(void); -void FreeMsgLogBitmaps(void); -void ValidateFilename (TCHAR * filename); -TCHAR* MakeTimeStamp(TCHAR* pszStamp, time_t time); -char* Log_CreateRtfHeader(MODULEINFO * mi); - -//window.c -INT_PTR CALLBACK RoomWndProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam); -int GetTextPixelSize( TCHAR* pszText, HFONT hFont, BOOL bWidth); - -//options.c -int OptionsInit(void); -int OptionsUnInit(void); -void LoadMsgDlgFont(int i, LOGFONT * lf, COLORREF * colour); -void LoadGlobalSettings(void); -void AddIcons(void); -HICON LoadIconEx(char* pszIcoLibName, BOOL big); -void LoadLogFonts(void); - -//services.c -void HookEvents(void); -void UnhookEvents(void); -void CreateServiceFunctions(void); -void DestroyServiceFunctions(void); -void CreateHookableEvents(void); -void DestroyHookableEvents(void); -void TabsInit(void); -void ShowRoom(SESSION_INFO* si, WPARAM wp, BOOL bSetForeground); - -//manager.c -void SetActiveSession(const TCHAR* pszID, const char* pszModule); -void SetActiveSessionEx(SESSION_INFO* si); -SESSION_INFO* GetActiveSession(void); -SESSION_INFO* SM_AddSession(const TCHAR* pszID, const char* pszModule); -int SM_RemoveSession(const TCHAR* pszID, const char* pszModule, BOOL removeContact); -SESSION_INFO* SM_FindSession(const TCHAR* pszID, const char* pszModule); -USERINFO* SM_AddUser(const TCHAR* pszID, const char* pszModule, const TCHAR* pszUID, const TCHAR* pszNick, WORD wStatus); -BOOL SM_ChangeUID(const TCHAR* pszID, const char* pszModule, const TCHAR* pszUID, const TCHAR* pszNewUID); -BOOL SM_ChangeNick(const TCHAR* pszID, const char* pszModule, GCEVENT * gce); -BOOL SM_RemoveUser(const TCHAR* pszID, const char* pszModule, const TCHAR* pszUID); -BOOL SM_SetOffline(const TCHAR* pszID, const char* pszModule); -BOOL SM_SetTabbedWindowHwnd(SESSION_INFO* si, HWND hwnd); -HICON SM_GetStatusIcon(SESSION_INFO* si, USERINFO * ui); -BOOL SM_SetStatus(const TCHAR* pszID, const char* pszModule, int wStatus); -BOOL SM_SetStatusEx(const TCHAR* pszID, const char* pszModule, const TCHAR* pszText, int flags ); -BOOL SM_SendUserMessage(const TCHAR* pszID, const char* pszModule, const TCHAR* pszText); -STATUSINFO* SM_AddStatus(const TCHAR* pszID, const char* pszModule, const TCHAR* pszStatus); -SESSION_INFO* SM_GetNextWindow(SESSION_INFO* si); -SESSION_INFO* SM_GetPrevWindow(SESSION_INFO* si); -BOOL SM_AddEventToAllMatchingUID(GCEVENT * gce); -BOOL SM_AddEvent(const TCHAR* pszID, const char* pszModule, GCEVENT * gce, BOOL bIsHighlighted); -LRESULT SM_SendMessage(const TCHAR* pszID, const char* pszModule, UINT msg, WPARAM wParam, LPARAM lParam); -BOOL SM_PostMessage(const TCHAR* pszID, const char* pszModule, UINT msg, WPARAM wParam, LPARAM lParam); -BOOL SM_BroadcastMessage(const char* pszModule, UINT msg, WPARAM wParam, LPARAM lParam, BOOL bAsync); -BOOL SM_RemoveAll (void); -BOOL SM_GiveStatus(const TCHAR* pszID, const char* pszModule, const TCHAR* pszUID, const TCHAR* pszStatus); -BOOL SM_SetContactStatus(const TCHAR* pszID, const char* pszModule, const TCHAR* pszUID, WORD pszStatus); -BOOL SM_TakeStatus(const TCHAR* pszID, const char* pszModule, const TCHAR* pszUID, const TCHAR* pszStatus); -BOOL SM_MoveUser(const TCHAR* pszID, const char* pszModule, const TCHAR* pszUID); -void SM_AddCommand(const TCHAR* pszID, const char* pszModule, const char* lpNewCommand); -char* SM_GetPrevCommand(const TCHAR* pszID, const char* pszModule); -char* SM_GetNextCommand(const TCHAR* pszID, const char* pszModule); -int SM_GetCount(const char* pszModule); -SESSION_INFO* SM_FindSessionByIndex(const char* pszModule, int iItem); -char* SM_GetUsers(SESSION_INFO* si); -USERINFO* SM_GetUserFromIndex(const TCHAR* pszID, const char* pszModule, int index); -MODULEINFO* MM_AddModule(const char* pszModule); -MODULEINFO* MM_FindModule(const char* pszModule); -void MM_FixColors(); -void MM_FontsChanged(void); -void MM_IconsChanged(void); -BOOL MM_RemoveAll (void); -BOOL TabM_AddTab(const TCHAR* pszID, const char* pszModule); -BOOL TabM_RemoveAll (void); -STATUSINFO* TM_AddStatus(STATUSINFO** ppStatusList, const TCHAR* pszStatus, int* iCount); -STATUSINFO* TM_FindStatus(STATUSINFO* pStatusList, const TCHAR* pszStatus); -WORD TM_StringToWord(STATUSINFO* pStatusList, const TCHAR* pszStatus); -TCHAR* TM_WordToString(STATUSINFO* pStatusList, WORD Status); -BOOL TM_RemoveAll (STATUSINFO** pStatusList); -BOOL UM_SetStatusEx(USERINFO* pUserList,const TCHAR* pszText, int onlyMe ); -USERINFO* UM_AddUser(STATUSINFO* pStatusList, USERINFO** pUserList, const TCHAR* pszUID, const TCHAR* pszNick, WORD wStatus); -USERINFO* UM_SortUser(USERINFO** ppUserList, const TCHAR* pszUID); -USERINFO* UM_FindUser(USERINFO* pUserList, const TCHAR* pszUID); -USERINFO* UM_FindUserFromIndex(USERINFO* pUserList, int index); -USERINFO* UM_GiveStatus(USERINFO* pUserList, const TCHAR* pszUID, WORD status); -USERINFO* UM_SetContactStatus(USERINFO* pUserList, const TCHAR* pszUID, WORD status); -USERINFO* UM_TakeStatus(USERINFO* pUserList, const TCHAR* pszUID, WORD status); -TCHAR* UM_FindUserAutoComplete(USERINFO* pUserList, const TCHAR* pszOriginal, const TCHAR* pszCurrent); -BOOL UM_RemoveUser(USERINFO** pUserList, const TCHAR* pszUID); -BOOL UM_RemoveAll (USERINFO** ppUserList); -LOGINFO* LM_AddEvent(LOGINFO** ppLogListStart, LOGINFO** ppLogListEnd); -BOOL LM_TrimLog(LOGINFO** ppLogListStart, LOGINFO** ppLogListEnd, int iCount); -BOOL LM_RemoveAll (LOGINFO** ppLogListStart, LOGINFO** ppLogListEnd); - -//clist.c -HANDLE CList_AddRoom(const char* pszModule, const TCHAR* pszRoom, const TCHAR* pszDisplayName, int iType); -BOOL CList_SetOffline(HANDLE hContact, BOOL bHide); -BOOL CList_SetAllOffline(BOOL bHide, const char *pszModule); -int CList_RoomDoubleclicked(WPARAM wParam,LPARAM lParam); -INT_PTR CList_EventDoubleclicked(WPARAM wParam,LPARAM lParam); -INT_PTR CList_JoinChat(WPARAM wParam, LPARAM lParam); -INT_PTR CList_LeaveChat(WPARAM wParam, LPARAM lParam); -int CList_PrebuildContactMenu(WPARAM wParam, LPARAM lParam); -INT_PTR CList_PrebuildContactMenuSvc(WPARAM wParam, LPARAM lParam); -void CList_CreateGroup(TCHAR* group); -BOOL CList_AddEvent(HANDLE hContact, HICON hIcon, HANDLE hEvent, int type, TCHAR* fmt, ... ) ; -HANDLE CList_FindRoom (const char* pszModule, const TCHAR* pszRoom) ; -int WCCmp(TCHAR* wild, TCHAR*string); - -//tools.c -TCHAR* RemoveFormatting(const TCHAR* pszText); -BOOL DoSoundsFlashPopupTrayStuff(SESSION_INFO* si, GCEVENT * gce, BOOL bHighlight, int bManyFix); -int GetColorIndex(const char* pszModule, COLORREF cr); -void CheckColorsInModule(const char* pszModule); -const TCHAR* my_strstri(const TCHAR* s1, const TCHAR* s2) ; -int GetRichTextLength(HWND hwnd); -BOOL IsHighlighted(SESSION_INFO* si, const TCHAR* pszText); -UINT CreateGCMenu(HWND hwndDlg, HMENU *hMenu, int iIndex, POINT pt, SESSION_INFO* si, TCHAR* pszUID, TCHAR* pszWordText); -void DestroyGCMenu(HMENU *hMenu, int iIndex); -BOOL DoEventHookAsync(HWND hwnd, const TCHAR* pszID, const char* pszModule, int iType, TCHAR* pszUID, TCHAR* pszText, DWORD dwItem); -BOOL DoEventHook(const TCHAR* pszID, const char* pszModule, int iType, const TCHAR* pszUID, const TCHAR* pszText, DWORD dwItem); -BOOL IsEventSupported(int eventType); -BOOL LogToFile(SESSION_INFO* si, GCEVENT * gce); - -// message.c -char* Message_GetFromStream(HWND hwndDlg, SESSION_INFO* si); -TCHAR* DoRtfToTags( char* pszRtfText, SESSION_INFO* si); - -#pragma comment(lib,"comctl32.lib") - -////////////////////////////////////////////////////////////////////////////////// - -TCHAR* a2tf( const TCHAR* str, int flags ); -TCHAR* replaceStr( TCHAR** dest, const TCHAR* src ); -char* replaceStrA( char** dest, const char* src ); - -#endif -- cgit v1.2.3