From e3ffab889d900847fa6fb9807bc5f818da28c358 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 14 Jul 2012 19:06:59 +0000 Subject: much less crazy way to organize clist data git-svn-id: http://svn.miranda-ng.org/main/trunk@973 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- include/m_clistint.h | 86 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 73 insertions(+), 13 deletions(-) (limited to 'include') diff --git a/include/m_clistint.h b/include/m_clistint.h index 1f93b4a422..c57cedc47e 100644 --- a/include/m_clistint.h +++ b/include/m_clistint.h @@ -24,6 +24,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef M_CLISTINT_H__ #define M_CLISTINT_H__ 1 +#include + +#include "m_clc.h" #include "m_genmenu.h" #include "m_protocols.h" @@ -61,30 +64,21 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define TIMERID_TRAYHOVER 16 #define TIMERID_TRAYHOVER_2 17 - #define GROUP_ALLOCATE_STEP 8 -struct ClcContact; -struct ClcData; -struct CListEvent; - -/* templates, where are you... */ - -typedef struct +struct ContactList { struct ClcContact** items; int count, limit, increment; void* sortFunc; -} - ContactList; +}; -typedef struct +struct EventList { struct CListEvent** items; int count, limit, increment; void* sortFunc; -} - EventList; +}; struct ClcGroup { @@ -102,6 +96,72 @@ struct ClcFontInfo COLORREF colour; }; +struct ClcContactBase +{ + BYTE type; + BYTE flags; + union { + struct { + WORD iImage; + HANDLE hContact; + }; + struct { + WORD groupId; + struct ClcGroup *group; + }; + }; + BYTE iExtraImage[MAXEXTRACOLUMNS]; + TCHAR szText[120-MAXEXTRACOLUMNS]; + char * proto; // MS_PROTO_GETBASEPROTO +}; + +struct ClcDataBase +{ + struct ClcGroup list; + int rowHeight; + int yScroll; + int selection; + struct ClcFontInfo fontInfo[FONTID_MAX + 1]; + int scrollTime; + HIMAGELIST himlHighlight; + int groupIndent; + TCHAR szQuickSearch[128]; + int iconXSpace; + HWND hwndRenameEdit; + COLORREF bkColour, selBkColour, selTextColour, hotTextColour, quickSearchColour; + int iDragItem, iInsertionMark; + int dragStage; + POINT ptDragStart; + int dragAutoScrolling; + int dragAutoScrollHeight; + int leftMargin; + int insertionMarkHitHeight; + HBITMAP hBmpBackground; + int backgroundBmpUse, bkChanged; + int iHotTrack; + int gammaCorrection; + DWORD greyoutFlags; //see m_clc.h + DWORD offlineModes; + DWORD exStyle; + POINT ptInfoTip; + int infoTipTimeout; + HANDLE hInfoTipItem; + HIMAGELIST himlExtraColumns; + int extraColumnsCount; + int extraColumnSpacing; + int checkboxSize; + int showSelAlways; + int showIdle; + int noVScrollbar; + int useWindowsColours; + int needsResort; + int filterSearch; +}; + +struct ClcContact; +struct ClcData; +struct CListEvent; + struct trayIconInfo_t { int id; -- cgit v1.2.3