summaryrefslogtreecommitdiff
path: root/plugins/Clist_modern
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2012-11-01 16:59:23 +0000
committerGeorge Hazan <george.hazan@gmail.com>2012-11-01 16:59:23 +0000
commit803b51d1a61b8c13badf6ac1f361b4d577f03cda (patch)
tree6d74775edd57e8b73797420ecab031a2d7c719d3 /plugins/Clist_modern
parentebdb188abf6ca1ee5e047c70b9e2be0d47ce67f1 (diff)
Clist Modern own extra icons support removed
git-svn-id: http://svn.miranda-ng.org/main/trunk@2138 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Clist_modern')
-rw-r--r--plugins/Clist_modern/res/resource.rc28
-rw-r--r--plugins/Clist_modern/src/hdr/modern_clist.h26
-rw-r--r--plugins/Clist_modern/src/hdr/modern_clui.h1
-rw-r--r--plugins/Clist_modern/src/hdr/modern_commonprototypes.h3
-rw-r--r--plugins/Clist_modern/src/modern_clc.cpp8
-rw-r--r--plugins/Clist_modern/src/modern_clistopts.cpp296
-rw-r--r--plugins/Clist_modern/src/modern_clui.cpp81
-rw-r--r--plugins/Clist_modern/src/modern_extraimage.cpp469
-rw-r--r--plugins/Clist_modern/src/modern_skineditor.cpp1
-rw-r--r--plugins/Clist_modern/src/resource.h3
10 files changed, 81 insertions, 835 deletions
diff --git a/plugins/Clist_modern/res/resource.rc b/plugins/Clist_modern/res/resource.rc
index fe91229a29..1c6c032288 100644
--- a/plugins/Clist_modern/res/resource.rc
+++ b/plugins/Clist_modern/res/resource.rc
@@ -344,15 +344,6 @@ BEGIN
CONTROL "",IDC_OFFSETSPIN_RIGHT,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS | UDS_HOTTRACK,261,201,10,12
END
-IDD_OPT_ITEM_EXTRAICONS DIALOGEX 0, 0, 222, 162
-STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD
-EXSTYLE WS_EX_CONTROLPARENT
-FONT 8, "MS Shell Dlg", 400, 0, 0x1
-BEGIN
- GROUPBOX "Contact List Extra Icons",IDC_STATIC,7,19,205,131
- CONTROL "",IDC_EXTRAORDER,"SysTreeView32",TVS_NOTOOLTIPS | WS_BORDER | WS_TABSTOP,18,36,182,107
-END
-
IDD_DELETECONTACT DIALOGEX 0, 0, 284, 90
STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_CONTROLPARENT
@@ -887,16 +878,6 @@ BEGIN
HORZGUIDE, 19
END
- IDD_OPT_ITEM_EXTRAICONS, DIALOG
- BEGIN
- LEFTMARGIN, 7
- RIGHTMARGIN, 212
- VERTGUIDE, 18
- VERTGUIDE, 200
- TOPMARGIN, 5
- BOTTOMMARGIN, 155
- END
-
IDD_DELETECONTACT, DIALOG
BEGIN
LEFTMARGIN, 7
@@ -1168,7 +1149,7 @@ END
IDD_OPT_CLUI_2 DLGINIT
BEGIN
IDC_HIDEMETHOD, 0x403, 9, 0
-0x6f63, 0x706d, 0x656c, 0x6574, "\000"
+0x6f63, 0x706d, 0x656c, 0x6574, "\000"
0
END
@@ -1179,19 +1160,19 @@ END
// TEXTINCLUDE
//
-1 TEXTINCLUDE
+1 TEXTINCLUDE
BEGIN
"..\\src\\resource.h\0"
END
-2 TEXTINCLUDE
+2 TEXTINCLUDE
BEGIN
"#include <winresrc.h>\r\n"
"#include ""..\\src\\hdr\\modern_statusmodes.h""\r\n"
"\0"
END
-3 TEXTINCLUDE
+3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
@@ -1213,4 +1194,3 @@ END
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
-
diff --git a/plugins/Clist_modern/src/hdr/modern_clist.h b/plugins/Clist_modern/src/hdr/modern_clist.h
index 82f473d390..512b19509c 100644
--- a/plugins/Clist_modern/src/hdr/modern_clist.h
+++ b/plugins/Clist_modern/src/hdr/modern_clist.h
@@ -2,8 +2,8 @@
Miranda IM: the free IM client for Microsoft* Windows*
-Copyright 2000-2008 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
+Copyright 2000-2008 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
@@ -43,14 +43,14 @@ extern pfnMyGetMonitorInfo MyGetMonitorInfo;
///////////////////////////////////////////////////////////////////////////////
class CSmileyString
-{
+{
public:
SortedList* plText;
int iMaxSmileyHeight;
CSmileyString() : plText( NULL ), iMaxSmileyHeight( 0 ) {};
CSmileyString( const CSmileyString& ssIn )
- {
+ {
_CopySmileyList( ssIn.plText );
iMaxSmileyHeight = ssIn.iMaxSmileyHeight;
}
@@ -70,7 +70,7 @@ public:
void ReplaceSmileys(struct SHORTDATA *dat, struct ClcCacheEntry *pdnce, TCHAR *szText, BOOL replace_smileys);
- /** Destroy smiley list */
+ /** Destroy smiley list */
void DestroySmileyList();
/** Copy Smiley List */
void _CopySmileyList( SortedList *plInput );
@@ -114,18 +114,6 @@ typedef ClcCacheEntry *pClcCacheEntry, *PDNCE;
///////////////////////////////////////////////////////////////////////////////
-typedef struct tagEXTRASLOTINFO
-{
- union
- {
- TCHAR * ptszSlotName; // one of this string should be given
- char * pszSlotName;
- };
- char * pszSlotID;
- BOOL fUnicode;
- BYTE iSlot; // the slot 10-16 are available, do not use
-} EXTRASLOTINFO;
-
#define CLVM_FILTER_PROTOS 1
#define CLVM_FILTER_GROUPS 2
#define CLVM_FILTER_STATUS 4
@@ -160,6 +148,6 @@ typedef struct tagEXTRASLOTINFO
#define CLVM_MODULE "CLVM"
#endif
-#define GROUPF_SHOWOFFLINE 0x40
+#define GROUPF_SHOWOFFLINE 0x40
-#endif \ No newline at end of file
+#endif
diff --git a/plugins/Clist_modern/src/hdr/modern_clui.h b/plugins/Clist_modern/src/hdr/modern_clui.h
index eb353f4609..75d348e547 100644
--- a/plugins/Clist_modern/src/hdr/modern_clui.h
+++ b/plugins/Clist_modern/src/hdr/modern_clui.h
@@ -52,7 +52,6 @@ public:
EVENTHOOK( OnEvent_ModulesLoaded );
EVENTHOOK( OnEvent_ContactMenuPreBuild );
- EVENTHOOK( OnEvent_DBSettingChanging );
EVENTHOOK( OnEvent_FontReload );
SERVICE( Service_ShowMainMenu );
diff --git a/plugins/Clist_modern/src/hdr/modern_commonprototypes.h b/plugins/Clist_modern/src/hdr/modern_commonprototypes.h
index a0238b6d6d..120457fcab 100644
--- a/plugins/Clist_modern/src/hdr/modern_commonprototypes.h
+++ b/plugins/Clist_modern/src/hdr/modern_commonprototypes.h
@@ -230,7 +230,6 @@ int GetStatusForContact(HANDLE hContact,char *szProto);
int InitCustomMenus(void); //clistmenus.c
int InitFramesMenus(void); //framesmenus.c
int LoadMoveToGroup(); //movetogroup.c
-int LoadPositionsFromDB(BYTE * OrderPos); //clistopts.c
int LoadStatusBarData(); //modern_statusbar.c
int MenuModulesLoaded(WPARAM wParam,LPARAM lParam); //clistmenu.c
int MenuModulesShutdown(WPARAM wParam,LPARAM lParam); //clistmenu.c
@@ -258,7 +257,6 @@ void FreeRowCell(); //Ro
void InitGdiPlus(); //gdiplus.cpp
void InitTray(); //clisttray.c
void InvalidateDNCEbyPointer(HANDLE hContact,pClcCacheEntry pdnce,int SettingType); //clistsettings.c
-void ReAssignExtraIcons(); //extraimage.c
void ShutdownGdiPlus(); //gdiplus.cpp
void TextOutWithGDIp(HDC hDestDC, int x, int y, LPCTSTR lpString, int nCount); //gdiplus.cpp
void UninitCustomMenus(); //clistmenus.c
@@ -269,7 +267,6 @@ void UpdateAllAvatars(struct ClcData *dat);
//cluiframes.c
void gtaRenewText(HANDLE hContact);
int ExtraImage_ExtraIDToColumnNum(int extra);
-int ExtraImage_ColumnNumToExtraID(int column);
int LoadSkinButtonModule();
void UninitSkinHotKeys();
diff --git a/plugins/Clist_modern/src/modern_clc.cpp b/plugins/Clist_modern/src/modern_clc.cpp
index b38f99efde..346fa70f2c 100644
--- a/plugins/Clist_modern/src/modern_clc.cpp
+++ b/plugins/Clist_modern/src/modern_clc.cpp
@@ -1784,10 +1784,7 @@ static LRESULT clcOnIntmNameChanged(struct ClcData *dat, HWND hwnd, UINT msg, WP
static LRESULT clcOnIntmApparentModeChanged(struct ClcData *dat, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
- int lResult = corecli.pfnContactListControlWndProc(hwnd, msg, wParam, lParam);
- if ( !ServiceExists("ExtraIcon/Register"))
- ExtraImage_SetAllExtraIcons(pcli->hwndContactTree,(HANDLE)wParam);
- return lResult;
+ return corecli.pfnContactListControlWndProc(hwnd, msg, wParam, lParam);
}
static LRESULT clcOnIntmStatusMsgChanged(struct ClcData *dat, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
@@ -1930,9 +1927,6 @@ int ClcDoProtoAck(HANDLE wParam,ACKDATA * ack)
pcli->clcProto[i].dwStatus = (WORD) ack->lParam;
if (pcli->clcProto[i].dwStatus >= ID_STATUS_OFFLINE)
pcli->pfnTrayIconUpdateBase(pcli->clcProto[i].szProto);
- if ( !ServiceExists("ExtraIcon/Register"))
- if (ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_VISMODE) != -1)
- ExtraImage_SetAllExtraIcons(pcli->hwndContactTree,(HANDLE)NULL);
return 0;
}
}
diff --git a/plugins/Clist_modern/src/modern_clistopts.cpp b/plugins/Clist_modern/src/modern_clistopts.cpp
index de26c3b2be..fe5ac2dc86 100644
--- a/plugins/Clist_modern/src/modern_clistopts.cpp
+++ b/plugins/Clist_modern/src/modern_clistopts.cpp
@@ -450,9 +450,7 @@ static INT_PTR CALLBACK DlgProcItemIconOpts(HWND hwndDlg, UINT msg, WPARAM wPara
if ( !IsDlgButtonChecked(hwndDlg,IDC_HIDE_ICON_ON_AVATAR))
EnableWindow(GetDlgItem(hwndDlg,IDC_DRAW_ON_AVATAR_SPACE),FALSE);
- if (ServiceExists("ExtraIcon/Register"))
- ShowWindow(GetDlgItem(hwndDlg, IDC_ALWAYS_VISIBLEICON), SW_HIDE);
-
+ ShowWindow(GetDlgItem(hwndDlg, IDC_ALWAYS_VISIBLEICON), SW_HIDE);
break;
case WM_COMMAND:
@@ -944,293 +942,6 @@ static INT_PTR CALLBACK DlgProcItemThirdLineOpts(HWND hwndDlg, UINT msg, WPARAM
return 0;
}
-/* Extra icons settings */
-typedef struct _OrderTreeData
-{
- BYTE ID;
- TCHAR * Name;
- BYTE Position;
- char * KeyName;
- BOOL Visible;
- BOOL fReserved;
-} *pOrderTreeData, TOrderTreeData;
-
-static TOrderTreeData OrderTreeData[] =
-{
- {EXTRA_ICON_VISMODE, _T("Visibility/Chat activity"), EXTRA_ICON_VISMODE, "EXTRA_ICON_VISMODE", SETTING_EXTRA_ICON_VISMODE_DEFAULT,0},
- {EXTRA_ICON_EMAIL, _T("E-mail"), EXTRA_ICON_EMAIL, "EXTRA_ICON_EMAIL", SETTING_EXTRA_ICON_EMAIL_DEFAULT, 0},
- {EXTRA_ICON_PROTO, _T("Protocol"), EXTRA_ICON_PROTO, "EXTRA_ICON_PROTO", SETTING_EXTRA_ICON_PROTO_DEFAULT, 0},
- {EXTRA_ICON_SMS, _T("Phone/SMS"), EXTRA_ICON_SMS, "EXTRA_ICON_SMS", SETTING_EXTRA_ICON_SMS_DEFAULT, 0},
- {EXTRA_ICON_WEB, _T("Web page"), EXTRA_ICON_WEB, "EXTRA_ICON_WEB", SETTING_EXTRA_ICON_WEB_DEFAULT, 0},
- {EXTRA_ICON_CLIENT, _T("Client (fingerprint.dll is required)"), EXTRA_ICON_CLIENT,"EXTRA_ICON_CLIENT", SETTING_EXTRA_ICON_CLIENT_DEFAULT, 0},
- {EXTRA_ICON_ADV1, _T("Advanced #1"), EXTRA_ICON_ADV1, "EXTRA_ICON_ADV1", SETTING_EXTRA_ICON_ADV1_DEFAULT, 0},
- {EXTRA_ICON_ADV2, _T("Advanced #2"), EXTRA_ICON_ADV2, "EXTRA_ICON_ADV2", SETTING_EXTRA_ICON_ADV2_DEFAULT, 0},
- {EXTRA_ICON_ADV3, _T("Advanced #3"), EXTRA_ICON_ADV3, "EXTRA_ICON_ADV3", SETTING_EXTRA_ICON_ADV3_DEFAULT, 0},
- {EXTRA_ICON_ADV4, _T("Advanced #4"), EXTRA_ICON_ADV4, "EXTRA_ICON_ADV4", SETTING_EXTRA_ICON_ADV4_DEFAULT, 0}
-};
-
-#define PrVer 4
-
-static char **settingname;
-static int nArrayLen;
-
-static int OrderEnumProc (const char *szSetting,LPARAM lParam)
-{
- if (szSetting == NULL) return 0;
- if ( !wildcmp((char*) szSetting,(char *) lParam,0)) return 0;
- nArrayLen++;
- settingname = (char **)realloc(settingname,nArrayLen*sizeof(char *));
- settingname[nArrayLen-1] = _strdup(szSetting);
- return 0;
-};
-
-static int DeleteAllSettingInOrder()
-{
- DBCONTACTENUMSETTINGS dbces;
- nArrayLen = 0;
-
- dbces.pfnEnumProc = OrderEnumProc;
- dbces.szModule = CLUIFrameModule;
- dbces.ofsSettings = 0;
- dbces.lParam = (LPARAM)"ORDER_EXTRA_*";
-
- CallService(MS_DB_CONTACT_ENUMSETTINGS,0,(LPARAM)&dbces);
-
- //delete all settings
- if (nArrayLen == 0)
- return 0;
-
- for (int i=0; i < nArrayLen; i++) {
- db_unset(0, CLUIFrameModule, settingname[i]);
- free(settingname[i]);
- }
- free(settingname);
- settingname = NULL;
-
- return 0;
-}
-
-static int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
-{
- pOrderTreeData A = (pOrderTreeData)lParam1;
- pOrderTreeData B = (pOrderTreeData)lParam2;
- return (int)(A->Position)-(int)(B->Position);
-}
-
-static int FillOrderTree(HWND hwndDlg, HWND Tree)
-{
- TVINSERTSTRUCT tvis = {0};
- TreeView_DeleteAllItems(Tree);
- tvis.hParent = NULL;
- tvis.hInsertAfter = TVI_LAST;
- tvis.item.mask = TVIF_PARAM|TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
- if (db_get_b(NULL,CLUIFrameModule,"ExtraCountStored",0) != SIZEOF(OrderTreeData)) {
- DeleteAllSettingInOrder();
- db_set_b(NULL,CLUIFrameModule,"ExtraCountStored",SIZEOF(OrderTreeData));
- }
-
- for (int i=0; i < SIZEOF(OrderTreeData); i++) {
- char buf[256];
- sprintf(buf,"ORDER_%s",OrderTreeData[i].KeyName);
- OrderTreeData[i].Position = (BYTE)db_get_b(NULL,CLUIFrameModule,buf,i);
- OrderTreeData[i].Visible = (BOOL)db_get_b(NULL,CLUIFrameModule,OrderTreeData[i].KeyName,1);
- tvis.hInsertAfter = TVI_LAST;
- tvis.item.lParam = (LPARAM)(&(OrderTreeData[i]));
- tvis.item.pszText = TranslateTS(OrderTreeData[i].Name);
- tvis.item.iImage = tvis.item.iSelectedImage = OrderTreeData[i].Visible;
- TreeView_InsertItem(Tree,&tvis);
- }
-
- TVSORTCB sort = {0};
- sort.hParent = NULL;
- sort.lParam = 0;
- sort.lpfnCompare = CompareFunc;
- TreeView_SortChildrenCB(Tree,&sort,0);
- return 0;
-}
-
-static int SaveOrderTree(HWND hwndDlg, HWND Tree)
-{
- HTREEITEM ht;
- BYTE pos = 0;
- TVITEMA tvi = {0};
- tvi.mask = TVIF_HANDLE|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_PARAM;
- ht = TreeView_GetRoot(Tree);
- do {
- TOrderTreeData * it = NULL;
- tvi.hItem = ht;
- TreeView_GetItemA(Tree,&tvi);
- it = (TOrderTreeData*)(tvi.lParam);
- {
- char buf[250];
- sprintf(buf,"ORDER_%s",it->KeyName);
- db_set_b(NULL,CLUIFrameModule,buf,pos);
- db_set_b(NULL,CLUIFrameModule,it->KeyName, it->Visible);
- }
- ht = TreeView_GetNextSibling(Tree,ht);
- pos++;
- }
- while (ht);
-
- return 0;
-}
-
-int LoadPositionsFromDB(BYTE * OrderPos)
-{
- if (db_get_b(NULL,CLUIFrameModule,"ExtraCountStored",0) != SIZEOF(OrderTreeData)) {
- DeleteAllSettingInOrder();
- db_set_b(NULL,CLUIFrameModule,"ExtraCountStored",SIZEOF(OrderTreeData));
- }
-
- for (int i=0; i < SIZEOF(OrderTreeData); i++) {
- char buf[256];
- sprintf(buf,"ORDER_%s",OrderTreeData[i].KeyName);
- OrderPos[OrderTreeData[i].ID-1] = (BYTE)db_get_b(NULL,CLUIFrameModule,buf,i);
- }
- return 0;
-}
-
-static int dragging = 0;
-static HANDLE hDragItem = NULL;
-
-INT_PTR CALLBACK DlgProcExtraIconsOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- switch (msg) {
- case WM_INITDIALOG:
- TranslateDialogDefault(hwndDlg);
- SetWindowLongPtr(GetDlgItem(hwndDlg,IDC_EXTRAORDER),GWL_STYLE,GetWindowLongPtr(GetDlgItem(hwndDlg,IDC_EXTRAORDER),GWL_STYLE)|TVS_NOHSCROLL);
- {
- HIMAGELIST himlCheckBoxes;
- himlCheckBoxes = ImageList_Create(GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),ILC_COLOR32|ILC_MASK,2,2);
- ImageList_AddIcon(himlCheckBoxes,LoadSmallIconShared(GetModuleHandle(NULL),MAKEINTRESOURCE(IDI_NOTICK)));
- ImageList_AddIcon(himlCheckBoxes,LoadSmallIconShared(GetModuleHandle(NULL),MAKEINTRESOURCE(IDI_TICK)));
- TreeView_SetImageList(GetDlgItem(hwndDlg,IDC_EXTRAORDER),himlCheckBoxes,TVSIL_NORMAL);
- }
- FillOrderTree(hwndDlg,GetDlgItem(hwndDlg,IDC_EXTRAORDER));
- return TRUE;
-
- case WM_COMMAND:
- SendMessage((GetParent(hwndDlg)), PSM_CHANGED, (WPARAM)hwndDlg, 0);
- break;
-
- case WM_NOTIFY:
- switch(((LPNMHDR)lParam)->idFrom) {
- case 0:
- switch (((LPNMHDR)lParam)->code) {
- case PSN_APPLY:
- SaveOrderTree(hwndDlg,GetDlgItem(hwndDlg,IDC_EXTRAORDER));
- ReAssignExtraIcons();
- CLUI_ReloadCLUIOptions();
- ClcOptionsChanged();
- return TRUE;
- }
- break;
-
- case IDC_EXTRAORDER:
- switch (((LPNMHDR)lParam)->code) {
- case NM_CLICK:
- {
- TVHITTESTINFO hti;
- hti.pt.x = (short)LOWORD(GetMessagePos());
- hti.pt.y = (short)HIWORD(GetMessagePos());
- ScreenToClient(((LPNMHDR)lParam)->hwndFrom,&hti.pt);
- if (TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom,&hti))
- if (hti.flags & TVHT_ONITEMICON)
- {
- TVITEMA tvi;
- tvi.mask = TVIF_HANDLE|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
- tvi.hItem = hti.hItem;
- TreeView_GetItemA(((LPNMHDR)lParam)->hwndFrom,&tvi);
- tvi.iImage = tvi.iSelectedImage = !tvi.iImage;
- ((TOrderTreeData *)tvi.lParam)->Visible = tvi.iImage;
- TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom,&tvi);
- SendMessage((GetParent(hwndDlg)), PSM_CHANGED, (WPARAM)hwndDlg, 0);
- }
- }
- break;
-
- case TVN_BEGINDRAGA:
- case TVN_BEGINDRAGW:
- SetCapture(hwndDlg);
- dragging = 1;
- hDragItem = ((LPNMTREEVIEWA)lParam)->itemNew.hItem;
- TreeView_SelectItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),hDragItem);
- break;
- }
- }
- break;
-
- case WM_MOUSEMOVE:
- if ( dragging) {
- TVHITTESTINFO hti;
- hti.pt.x = (short)LOWORD(lParam);
- hti.pt.y = (short)HIWORD(lParam);
- ClientToScreen(hwndDlg,&hti.pt);
- ScreenToClient(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&hti.pt);
- TreeView_HitTest(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&hti);
- if (hti.flags & (TVHT_ONITEM|TVHT_ONITEMRIGHT)) {
- HTREEITEM it = hti.hItem;
- hti.pt.y -= TreeView_GetItemHeight(GetDlgItem(hwndDlg,IDC_EXTRAORDER))/2;
- TreeView_HitTest(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&hti);
- //TreeView_SetInsertMark(GetDlgItem(hwndDlg,IDC_EXTRAORDER),hti.hItem,1);
- if ( !(hti.flags&TVHT_ABOVE))
- TreeView_SetInsertMark(GetDlgItem(hwndDlg,IDC_EXTRAORDER),hti.hItem,1);
- else
- TreeView_SetInsertMark(GetDlgItem(hwndDlg,IDC_EXTRAORDER),it,0);
- }
- else {
- if (hti.flags&TVHT_ABOVE) SendDlgItemMessage(hwndDlg,IDC_EXTRAORDER,WM_VSCROLL,MAKEWPARAM(SB_LINEUP,0),0);
- if (hti.flags&TVHT_BELOW) SendDlgItemMessage(hwndDlg,IDC_EXTRAORDER,WM_VSCROLL,MAKEWPARAM(SB_LINEDOWN,0),0);
- TreeView_SetInsertMark(GetDlgItem(hwndDlg,IDC_EXTRAORDER),NULL,0);
- }
- }
- break;
-
- case WM_LBUTTONUP:
- if ( dragging) {
- TreeView_SetInsertMark(GetDlgItem(hwndDlg,IDC_EXTRAORDER),NULL,0);
- dragging = 0;
- ReleaseCapture();
-
- TVHITTESTINFO hti;
- TVITEM tvi;
- hti.pt.x = (short)LOWORD(lParam);
- hti.pt.y = (short)HIWORD(lParam);
- ClientToScreen(hwndDlg,&hti.pt);
- ScreenToClient(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&hti.pt);
- hti.pt.y -= TreeView_GetItemHeight(GetDlgItem(hwndDlg,IDC_EXTRAORDER))/2;
- TreeView_HitTest(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&hti);
- if (hDragItem == hti.hItem) break;
- if (hti.flags&TVHT_ABOVE) hti.hItem = TVI_FIRST;
- tvi.mask = TVIF_HANDLE|TVIF_PARAM;
- tvi.hItem = (HTREEITEM)hDragItem;
- TreeView_GetItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&tvi);
- if (hti.flags&(TVHT_ONITEM|TVHT_ONITEMRIGHT) || (hti.hItem == TVI_FIRST)) {
- TVINSERTSTRUCT tvis;
- TCHAR name[128];
- tvis.item.mask = TVIF_HANDLE|TVIF_PARAM|TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
- tvis.item.stateMask = 0xFFFFFFFF;
- tvis.item.pszText = name;
- tvis.item.cchTextMax = sizeof(name);
- tvis.item.hItem = (HTREEITEM)hDragItem;
- tvis.item.iImage = tvis.item.iSelectedImage = ((TOrderTreeData *)tvi.lParam)->Visible;
- TreeView_GetItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&tvis.item);
- TreeView_DeleteItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),hDragItem);
- tvis.hParent = NULL;
- tvis.hInsertAfter = hti.hItem;
- TreeView_SelectItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),TreeView_InsertItem(GetDlgItem(hwndDlg,IDC_EXTRAORDER),&tvis));
- SendMessage((GetParent(hwndDlg)), PSM_CHANGED, (WPARAM)hwndDlg, 0);
- }
- }
- break;
-
- case WM_DESTROY:
- ImageList_Destroy(TreeView_SetImageList(GetDlgItem(hwndDlg,IDC_EXTRAORDER),NULL,TVSIL_NORMAL));
- break;
- }
- return FALSE;
-}
-
/////////////////////////////////////////////////////////////////////////////////////////
struct
@@ -1251,7 +962,6 @@ static row_opt_items[] =
{ LPGEN("Text"), IDD_OPT_ITEM_TEXT, DlgProcItemTextOpts },
{ LPGEN("Second Line"), IDD_OPT_ITEM_SECOND_LINE, DlgProcItemSecondLineOpts },
{ LPGEN("Third Line"), IDD_OPT_ITEM_THIRD_LINE, DlgProcItemThirdLineOpts },
- { LPGEN("Extra Icons"), IDD_OPT_ITEM_EXTRAICONS, DlgProcExtraIconsOpts}
};
int CListOptInit(WPARAM wParam,LPARAM lParam)
@@ -1265,11 +975,7 @@ int CListOptInit(WPARAM wParam,LPARAM lParam)
odp.pszTitle = LPGEN("Row items");
odp.flags = ODPF_BOLDGROUPS;
- BOOL hasExtraIconsService = ServiceExists("ExtraIcon/Register");
for (int i=0; i < SIZEOF(row_opt_items); i++) {
- if (hasExtraIconsService && row_opt_items[i].id == IDD_OPT_ITEM_EXTRAICONS)
- continue;
-
odp.pszTemplate = MAKEINTRESOURCEA(row_opt_items[i].id);
odp.pszTab = row_opt_items[i].name;
odp.pfnDlgProc = row_opt_items[i].wnd_proc;
diff --git a/plugins/Clist_modern/src/modern_clui.cpp b/plugins/Clist_modern/src/modern_clui.cpp
index eb3219fee1..b86d2431e9 100644
--- a/plugins/Clist_modern/src/modern_clui.cpp
+++ b/plugins/Clist_modern/src/modern_clui.cpp
@@ -166,27 +166,7 @@ int CLUI::OnEvent_ContactMenuPreBuild(WPARAM wParam, LPARAM lParam)
return 0;
}
-int CLUI::OnEvent_DBSettingChanging(WPARAM wParam,LPARAM lParam)
-{
- if (ServiceExists("ExtraIcon/Register"))
- return 0;
-
- DBCONTACTWRITESETTING *dbcws = (DBCONTACTWRITESETTING *)lParam;
- if (wParam == 0) return 0;
- if (dbcws == NULL) return(0);
- if (MirandaExiting()) return 0;
- if (( dbcws->value.type == DBVT_WORD && !mir_strcmp(dbcws->szSetting,"ApparentMode")) ||
- ( dbcws->value.type == DBVT_ASCIIZ &&
- (( !mir_strcmp(dbcws->szSetting,"e-mail") ||
- !mir_strcmp(dbcws->szSetting,"Mye-mail0") ||
- !mir_strcmp(dbcws->szSetting,"Cellular")) ||
- ( !mir_strcmp(dbcws->szModule,"UserInfo") &&
- ( !mir_strcmp(dbcws->szSetting,"MyPhone0") ||
- !mir_strcmp(dbcws->szSetting,"Mye-mail0"))))))
- ExtraImage_SetAllExtraIcons(pcli->hwndContactTree,(HANDLE)wParam);
- return(0);
-};
INT_PTR CLUI::Service_ShowMainMenu(WPARAM wParam,LPARAM lParam)
{
HMENU hMenu;
@@ -196,6 +176,7 @@ INT_PTR CLUI::Service_ShowMainMenu(WPARAM wParam,LPARAM lParam)
TrackPopupMenu(hMenu,TPM_TOPALIGN|TPM_LEFTALIGN|TPM_LEFTBUTTON,pt.x,pt.y,0,pcli->hwndContactList,NULL);
return 0;
}
+
INT_PTR CLUI::Service_ShowStatusMenu(WPARAM wParam,LPARAM lParam)
{
HMENU hMenu;
@@ -448,7 +429,6 @@ HRESULT CLUI::CreateCLC()
mutex_bDisableAutoUpdate = 0;
HookEvent(ME_DB_CONTACT_SETTINGCHANGED, ContactSettingChanged);
- HookEvent(ME_DB_CONTACT_SETTINGCHANGED,CLUI::OnEvent_DBSettingChanging);
return S_OK;
};
@@ -2824,55 +2804,20 @@ LRESULT CLUI::OnClickNotify( NMCLISTCONTROL * pnmc )
DWORD hitFlags;
HANDLE hItem = (HANDLE)SendMessage(pcli->hwndContactTree,CLM_HITTEST,(WPARAM)&hitFlags,MAKELPARAM(pnmc->pt.x,pnmc->pt.y));
- if (hitFlags&CLCHT_ONITEMEXTRA)
- {
- if ( !IsHContactGroup(hItem) && !IsHContactInfo(hItem))
- {
+ if (hitFlags & CLCHT_ONITEMEXTRA) {
+ if ( !IsHContactGroup(hItem) && !IsHContactInfo(hItem)) {
pClcCacheEntry pdnce = (pClcCacheEntry)pcli->pfnGetCacheEntry(pnmc->hItem);
- if (pdnce == NULL) return 0;
-
- int extra = ExtraImage_ColumnNumToExtraID(pnmc->iColumn);
- NotifyEventHooks(g_CluiData.hEventExtraClick, (WPARAM)pnmc->hItem, extra);
-
- if ( !ServiceExists("ExtraIcon/Register"))
- {
- int v,e,w;
- v = ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_PROTO);
- e = ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_EMAIL);
- w = ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_WEB);
-
- if (pnmc->iColumn == v) {
- CallService(MS_USERINFO_SHOWDIALOG,(WPARAM)pnmc->hItem,0);
- };
- if (pnmc->iColumn == e)
- {
- char *email = db_get_sa(pnmc->hItem,"UserInfo", "Mye-mail0");
- if ( !email)
- email = db_get_sa(pnmc->hItem, pdnce->m_cache_cszProto, "e-mail");
- if (email) {
- char buf[4096];
- sprintf(buf,"mailto:%s",email);
- mir_free(email);
- ShellExecuteA(m_hWnd,"open",buf,NULL,NULL,SW_SHOW);
- }
- };
- if (pnmc->iColumn == w) {
- char *homepage = db_get_sa(pdnce->hContact,"UserInfo", "Homepage");
- if ( !homepage)
- homepage = db_get_sa(pdnce->hContact,pdnce->m_cache_cszProto, "Homepage");
- if (homepage != NULL)
- {
- CallService(MS_UTILS_OPENURL, 1, (LPARAM)homepage);
- mir_free(homepage);
- }
- }
- }
+ if (pdnce)
+ NotifyEventHooks(g_CluiData.hEventExtraClick, (WPARAM)pnmc->hItem, pnmc->iColumn+1);
}
- };
- if (hItem && !(hitFlags&CLCHT_NOWHERE))
+ }
+
+ if (hItem && !(hitFlags & CLCHT_NOWHERE))
return DefCluiWndProc( WM_NOTIFY, 0, (LPARAM)pnmc );
- if ((hitFlags&(CLCHT_NOWHERE|CLCHT_INLEFTMARGIN|CLCHT_BELOWITEMS)) == 0)
+
+ if ((hitFlags & (CLCHT_NOWHERE | CLCHT_INLEFTMARGIN | CLCHT_BELOWITEMS)) == 0)
return DefCluiWndProc( WM_NOTIFY, 0, (LPARAM)pnmc );
+
if (db_get_b(NULL,"CLUI","ClientAreaDrag",SETTING_CLIENTDRAG_DEFAULT)) {
POINT pt;
int res;
@@ -2881,10 +2826,10 @@ LRESULT CLUI::OnClickNotify( NMCLISTCONTROL * pnmc )
res = PostMessage(m_hWnd, WM_SYSCOMMAND, SC_MOVE|HTCAPTION,MAKELPARAM(pt.x,pt.y));
return res;
}
- /*== == == == == == == == == = */
+
if (db_get_b(NULL,"CLUI","DragToScroll",SETTING_DRAGTOSCROLL_DEFAULT) && !db_get_b(NULL,"CLUI","ClientAreaDrag",SETTING_CLIENTDRAG_DEFAULT))
return ClcEnterDragToScroll(pcli->hwndContactTree,pnmc->pt.y);
- /*== == == == == == == == == = */
+
return 0;
}
diff --git a/plugins/Clist_modern/src/modern_extraimage.cpp b/plugins/Clist_modern/src/modern_extraimage.cpp
index df51e1c126..98fe4f177e 100644
--- a/plugins/Clist_modern/src/modern_extraimage.cpp
+++ b/plugins/Clist_modern/src/modern_extraimage.cpp
@@ -1,13 +1,8 @@
#include "hdr/modern_commonheaders.h"
#include "hdr/modern_commonprototypes.h"
-
-
#define ExtraImageIconsIndexCount 6
-bool visar[EXTRACOLUMNCOUNT];
-int ExtraImageIconsIndex[ExtraImageIconsIndexCount];
-int EnabledColumnCount = 0;
BOOL g_mutex_bSetAllExtraIconsCycle = 0;
static HIMAGELIST hExtraImageList = NULL;
@@ -15,136 +10,14 @@ static HIMAGELIST hWideExtraImageList = NULL;
void ExtraImage_SetAllExtraIcons(HWND hwndList,HANDLE hContact);
-void ClearExtraIcons();
-
bool ImageCreated = FALSE;
-BYTE ExtraOrder[] =
-{
- 1, // EXTRA_ICON_EMAIL
- 2, // EXTRA_ICON_PROTO
- 3, // EXTRA_ICON_SMS
- 4, // EXTRA_ICON_ADV1
- 5, // EXTRA_ICON_ADV2
- 6, // EXTRA_ICON_WEB
- 7, // EXTRA_ICON_CLIENT
- 0, // EXTRA_ICON_VISMODE
- 8, // EXTRA_ICON_ADV3
- 9, // EXTRA_ICON_ADV4
-};
-
-BOOL HasExtraIconsService()
-{
- return ServiceExists("ExtraIcon/Register");
-}
-
-bool isColumnVisible(int extra)
-{
- if (HasExtraIconsService())
- return true;
-
- int i=0;
- for (i=0; i < sizeof(ExtraOrder)/sizeof(ExtraOrder[0]); i++)
- if (ExtraOrder[i] == extra)
- {
- switch(i+1)
- {
- case EXTRA_ICON_EMAIL: return db_get_b(NULL,CLUIFrameModule,"EXTRA_ICON_EMAIL",SETTING_EXTRA_ICON_EMAIL_DEFAULT) != 0;
- case EXTRA_ICON_PROTO: return db_get_b(NULL,CLUIFrameModule,"EXTRA_ICON_PROTO",SETTING_EXTRA_ICON_PROTO_DEFAULT) != 0;
- case EXTRA_ICON_SMS: return db_get_b(NULL,CLUIFrameModule,"EXTRA_ICON_SMS",SETTING_EXTRA_ICON_SMS_DEFAULT) != 0;
- case EXTRA_ICON_ADV1: return db_get_b(NULL,CLUIFrameModule,"EXTRA_ICON_ADV1",SETTING_EXTRA_ICON_ADV1_DEFAULT) != 0;
- case EXTRA_ICON_ADV2: return db_get_b(NULL,CLUIFrameModule,"EXTRA_ICON_ADV2",SETTING_EXTRA_ICON_ADV2_DEFAULT) != 0;
- case EXTRA_ICON_WEB: return db_get_b(NULL,CLUIFrameModule,"EXTRA_ICON_WEB",SETTING_EXTRA_ICON_WEB_DEFAULT) != 0;
- case EXTRA_ICON_CLIENT: return db_get_b(NULL,CLUIFrameModule,"EXTRA_ICON_CLIENT",SETTING_EXTRA_ICON_CLIENT_DEFAULT) != 0;
- case EXTRA_ICON_VISMODE: return db_get_b(NULL,CLUIFrameModule,"EXTRA_ICON_VISMODE",SETTING_EXTRA_ICON_VISMODE_DEFAULT) != 0;
- case EXTRA_ICON_ADV3: return db_get_b(NULL,CLUIFrameModule,"EXTRA_ICON_ADV3",SETTING_EXTRA_ICON_ADV3_DEFAULT) != 0;
- case EXTRA_ICON_ADV4: return db_get_b(NULL,CLUIFrameModule,"EXTRA_ICON_ADV4",SETTING_EXTRA_ICON_ADV4_DEFAULT) != 0;
- }
- break;
- }
- return(FALSE);
-}
-
-void GetVisColumns()
-{
- visar[0] = isColumnVisible(0);
- visar[1] = isColumnVisible(1);
- visar[2] = isColumnVisible(2);
- visar[3] = isColumnVisible(3);
- visar[4] = isColumnVisible(4);
- visar[5] = isColumnVisible(5);
- visar[6] = isColumnVisible(6);
- visar[7] = isColumnVisible(7);
- visar[8] = isColumnVisible(8);
- visar[9] = isColumnVisible(9);
-};
-
-__inline int bti(bool b)
-{
- return(b?1:0);
-};
-int colsum(int from,int to)
-{
- int i,sum;
- if (from < 0 || from >= EXTRACOLUMNCOUNT){return(-1);};
- if (to < 0 || to >= EXTRACOLUMNCOUNT){return(-1);};
- if (to < from){return(-1);};
-
- sum = 0;
- for (i = from;i <= to;i++)
- {
- sum += bti(visar[i]);
- };
- return(sum);
-};
-
-
-
int ExtraImage_ExtraIDToColumnNum(int extra)
{
- if (HasExtraIconsService())
- {
- if (extra < 1 || extra > EXTRACOLUMNCOUNT)
- return -1;
- else
- return extra-1;
- }
-
- int ord = ExtraOrder[extra-1];
- if ( !visar[ord]) return -1;
- return (colsum(0,ord)-1);
-};
-
-int ExtraImage_ColumnNumToExtraID(int column)
-{
- if (HasExtraIconsService())
- return column+1;
-
- for (int i=0; i < EXTRA_ICON_COUNT; i++)
- if (ExtraImage_ExtraIDToColumnNum(i) == column)
- return i;
-
- return -1;
-}
-
-INT_PTR SetIconForExtraColumn(WPARAM wParam,LPARAM lParam)
-{
- pIconExtraColumn piec;
- int icol;
- HANDLE hItem;
-
- if (pcli->hwndContactTree == 0){return(-1);};
- if (wParam == 0 || lParam == 0){return(-1);};
- piec = (pIconExtraColumn)lParam;
-
- if (piec->cbSize != sizeof(IconExtraColumn)){return(-1);};
- icol = ExtraImage_ExtraIDToColumnNum(piec->ColumnType);
- if (icol == -1){return(-1);};
- hItem = (HANDLE)SendMessage(pcli->hwndContactTree,CLM_FINDCONTACT,(WPARAM)wParam,0);
- if (hItem == 0){return(-1);};
-
- SendMessage(pcli->hwndContactTree,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(icol,piec->hImage));
- return(0);
+ if (extra < 1 || extra > EXTRACOLUMNCOUNT)
+ return -1;
+ else
+ return extra-1;
}
//wparam = hIcon
@@ -160,316 +33,93 @@ INT_PTR AddIconToExtraImageList(WPARAM wParam,LPARAM lParam)
void SetNewExtraColumnCount()
{
- LoadPositionsFromDB(ExtraOrder);
- GetVisColumns();
-
- int newcount = colsum(0,EXTRACOLUMNCOUNT-1);
- db_set_b(NULL,CLUIFrameModule,"EnabledColumnCount",(BYTE)newcount);
- EnabledColumnCount = newcount;
- SendMessage(pcli->hwndContactTree,CLM_SETEXTRACOLUMNS,EnabledColumnCount,0);
+ db_set_b(NULL, CLUIFrameModule, "EnabledColumnCount", (BYTE)EXTRACOLUMNCOUNT);
+ SendMessage(pcli->hwndContactTree,CLM_SETEXTRACOLUMNS, EXTRACOLUMNCOUNT, 0);
}
void ExtraImage_ReloadExtraIcons()
{
- int count,i;
- PROTOACCOUNT **accs;
- HICON hicon;
- BOOL needFree;
-
- SendMessage(pcli->hwndContactTree,CLM_SETEXTRACOLUMNSSPACE,db_get_b(NULL,"CLUI","ExtraColumnSpace",18),0);
- SendMessage(pcli->hwndContactTree,CLM_SETEXTRAIMAGELIST,0,(LPARAM)NULL);
- if (hExtraImageList){ImageList_Destroy(hExtraImageList);};
- if (hWideExtraImageList){ImageList_Destroy(hWideExtraImageList);};
+ SendMessage(pcli->hwndContactTree,CLM_SETEXTRACOLUMNSSPACE,db_get_b(NULL,"CLUI","ExtraColumnSpace",18),0);
+ SendMessage(pcli->hwndContactTree,CLM_SETEXTRAIMAGELIST,0,(LPARAM)NULL);
+ if (hExtraImageList)
+ ImageList_Destroy(hExtraImageList);
+ if (hWideExtraImageList)
+ ImageList_Destroy(hWideExtraImageList);
hExtraImageList = ImageList_Create(GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),ILC_COLOR32|ILC_MASK,1,256);
hWideExtraImageList = ImageList_Create(GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),ILC_COLOR32|ILC_MASK,1,256);
- if ( !HasExtraIconsService()) {
- //loading icons
- HICON hIcon = LoadSkinnedIcon(SKINICON_OTHER_SENDEMAIL);
- ExtraImageIconsIndex[0] = ImageList_AddIcon(hExtraImageList, hIcon);
- CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0);
- hIcon = LoadSkinnedIcon(SKINICON_OTHER_SMS);
- ExtraImageIconsIndex[1] = ImageList_AddIcon(hExtraImageList, hIcon);
- CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0);
- hIcon = LoadSkinnedIcon(SKINICON_EVENT_URL);
- ExtraImageIconsIndex[2] = ImageList_AddIcon(hExtraImageList, hIcon);
- CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0);
-
- //calc only needed protocols
- //adding protocol icons
- ProtoEnumAccounts( &count, &accs );
- for (i=0;i < count;i++) {
- if ( !IsAccountEnabled(accs[i]) || CallProtoService(accs[i]->szModuleName, PS_GETCAPS,PFLAGNUM_2, 0 ) == 0)
- continue;
-
- hIcon = LoadSkinnedProtoIcon(accs[i]->szModuleName,ID_STATUS_ONLINE);
- ImageList_AddIcon(hExtraImageList, hIcon);
- CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0);
- }
-
- hicon = CLUI_LoadIconFromExternalFile("clisticons.dll",5,TRUE,TRUE,"AlwaysVis","Contact List",Translate("Always Visible"),-IDI_ALWAYSVIS,&needFree);
- if ( !hicon) {hicon = LoadSmallIcon(g_hInst, MAKEINTRESOURCE(IDI_ALWAYSVIS));needFree = TRUE;}
- ExtraImageIconsIndex[3] = ImageList_AddIcon(hExtraImageList,hicon );
- if (needFree) DestroyIcon_protect(hicon);
-
- hicon = CLUI_LoadIconFromExternalFile("clisticons.dll",6,TRUE,TRUE,"NeverVis","Contact List",Translate("Never Visible"),-IDI_NEVERVIS,&needFree);
- if ( !hicon) {hicon = LoadSmallIcon(g_hInst, MAKEINTRESOURCE(IDI_NEVERVIS));needFree = TRUE;}
- ExtraImageIconsIndex[4] = ImageList_AddIcon(hExtraImageList,hicon );
- if (needFree) DestroyIcon_protect(hicon);
-
- hicon = CLUI_LoadIconFromExternalFile("clisticons.dll",7,TRUE,TRUE,"ChatActivity","Contact List",Translate("Chat Activity"),-IDI_CHAT,&needFree);
- if ( !hicon) {hicon = LoadSmallIcon(g_hInst, MAKEINTRESOURCE(IDI_CHAT));needFree = TRUE;}
- ExtraImageIconsIndex[5] = ImageList_AddIcon(hExtraImageList,hicon );
- if (needFree) DestroyIcon_protect(hicon);
- }
-
- SendMessage(pcli->hwndContactTree,CLM_SETEXTRAIMAGELIST,(WPARAM)hWideExtraImageList,(LPARAM)hExtraImageList);
- //ExtraImage_SetAllExtraIcons(hImgList);
+ SendMessage(pcli->hwndContactTree,CLM_SETEXTRAIMAGELIST,(WPARAM)hWideExtraImageList,(LPARAM)hExtraImageList);
SetNewExtraColumnCount();
NotifyEventHooks(g_CluiData.hEventExtraImageListRebuilding,0,0);
ImageCreated = TRUE;
}
-void ReAssignExtraIcons()
-{
- ClearExtraIcons();
- SetNewExtraColumnCount();
- ExtraImage_SetAllExtraIcons(pcli->hwndContactTree,0);
- SendMessage(pcli->hwndContactTree,CLM_AUTOREBUILD,0,0);
-}
-
-void ClearExtraIcons()
-{
- SetNewExtraColumnCount();
-
- HANDLE hContact = db_find_first();
- do {
- HANDLE hItem = (HANDLE)SendMessage(pcli->hwndContactTree,CLM_FINDCONTACT,(WPARAM)hContact,0);
- if (hItem == 0)
- continue;
-
- for (int i=0;i < EnabledColumnCount;i++)
- SendMessage(pcli->hwndContactTree,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(i,0xFF));
- }
- while(hContact = db_find_next(hContact));
-};
-
void ExtraImage_SetAllExtraIcons(HWND hwndList,HANDLE hContact)
{
- HANDLE hItem;
- int locApparentMode = 0;
- char * locApparentModeProto = NULL;
- bool hcontgiven = FALSE;
- char *szProto;
- char *(ImgIndex[64]);
- int maxpr,count,i;
- PROTOACCOUNT **accs;
- pClcCacheEntry pdnce;
- int em,pr,sms,a1,a2,w1,c1;
- int tick = 0;
+ if (pcli->hwndContactTree == 0)
+ return;
+
g_mutex_bSetAllExtraIconsCycle = 1;
- hcontgiven = (hContact != 0);
+ bool hcontgiven = (hContact != 0);
- if (pcli->hwndContactTree == 0){return;};
- tick = GetTickCount();
- if (ImageCreated == FALSE) ExtraImage_ReloadExtraIcons();
+ if (ImageCreated == FALSE)
+ ExtraImage_ReloadExtraIcons();
SetNewExtraColumnCount();
- BOOL hasExtraIconsService = HasExtraIconsService();
- if ( !hasExtraIconsService)
- {
- em = ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_EMAIL);
- pr = ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_PROTO);
- sms = ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_SMS);
- a1 = ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_ADV1);
- a2 = ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_ADV2);
- w1 = ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_WEB);
- c1 = ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_CLIENT);
-
- memset( ImgIndex, 0, sizeof( ImgIndex ));
- ProtoEnumAccounts( &count, &accs );
- maxpr = 0;
- //calc only needed protocols
- for (i=0;i < count;i++) {
- if ( !IsAccountEnabled( accs[i] ) || CallProtoService(accs[i]->szModuleName,PS_GETCAPS,PFLAGNUM_2,0) == 0) continue;
- ImgIndex[maxpr] = accs[i]->szModuleName;
- maxpr++;
- }
- }
-
if (hContact == NULL)
- {
hContact = db_find_first();
- }
do {
+ char *szProto = NULL;
+ HANDLE hItem = hContact;
+ if (hItem == 0)
+ continue;
+
+ pClcCacheEntry pdnce = (pClcCacheEntry)pcli->pfnGetCacheEntry(hItem);
+ if (pdnce == NULL)
+ continue;
- szProto = NULL;
- hItem = hContact;
- if (hItem == 0){continue;};
- pdnce = (pClcCacheEntry)pcli->pfnGetCacheEntry(hItem);
- if (pdnce == NULL) {continue;};
-
- // szProto = (char*)CallService(MS_PROTO_GETCONTACTBASEPROTO,(WPARAM)hContact,0);
szProto = pdnce->m_cache_cszProto;
-
- if ( !hasExtraIconsService)
- {
- {
- bool showweb;
- showweb = FALSE;
- if (ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_WEB) != -1)
- {
-
- if (szProto != NULL)
- {
- char *homepage;
- homepage = db_get_sa(pdnce->hContact,"UserInfo", "Homepage");
- if ( !homepage)
- homepage = db_get_sa(pdnce->hContact,pdnce->m_cache_cszProto, "Homepage");
- if (homepage != NULL)
- {
- showweb = TRUE;
- mir_free(homepage);
- }
- }
- SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_WEB),(showweb)?2:0xFF));
- }
- }
- {
- DBVARIANT dbv = {0};
- bool showemail;
- showemail = TRUE;
- if (ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_EMAIL) != -1)
- {
-
- if (szProto == NULL || DBGetContactSettingString(hContact, szProto, "e-mail",&dbv))
- {
- db_free(&dbv);
- if (DBGetContactSettingString(hContact, "UserInfo", "Mye-mail0", &dbv))
- showemail = FALSE;
- }
- SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_EMAIL),(showemail)?0:0xFF));
- db_free(&dbv);
- }
- }
-
- {
- DBVARIANT dbv = {0};
- bool showsms;
- showsms = TRUE;
- if (ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_SMS) != -1)
- {
- if (szProto == NULL || DBGetContactSettingString(hContact, szProto, "Cellular",&dbv))
- {
- db_free(&dbv);
- if (DBGetContactSettingString(hContact, "UserInfo", "MyPhone0", &dbv))
- showsms = FALSE;
- }
- SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_SMS),(showsms)?1:0xFF));
- db_free(&dbv);
- }
- }
-
- if (ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_PROTO) != -1)
- {
- for (i=0;i < maxpr;i++)
- {
- if ( !mir_strcmp(ImgIndex[i],szProto))
- {
- SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_PROTO),i+3));
- break;
- };
- };
- };
- if (ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_VISMODE) != -1)
- {
- BYTE iconIndex = 0xFF;
- if (szProto != NULL)
- {
- if ( !db_get_b(hContact, szProto, "ChatRoom", 0))
- {
- if (pdnce->ApparentMode == ID_STATUS_OFFLINE)
- iconIndex = ExtraImageIconsIndex[4];
- else if (pdnce->ApparentMode == ID_STATUS_ONLINE)
- {
- if (szProto != locApparentModeProto)
- {
- locApparentModeProto = szProto;
- locApparentMode = CallProtoService(locApparentModeProto,PS_GETSTATUS,0,0);
- }
- if (locApparentMode == ID_STATUS_INVISIBLE || db_get_b(NULL,"CList","AlwaysShowAlwaysVisIcon",SETTING_ALWAYSVISICON_DEFAULT) == 1)
- iconIndex = ExtraImageIconsIndex[3]; }
- }
- else
- {
- if (pdnce->ApparentMode == ID_STATUS_OFFLINE)
- iconIndex = ExtraImageIconsIndex[5];
- else iconIndex = 255;
- }
- }
- SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_VISMODE),iconIndex));
- }
- }
- NotifyEventHooks(g_CluiData.hEventExtraImageApplying,(WPARAM)hContact,0);
+ NotifyEventHooks(g_CluiData.hEventExtraImageApplying, (WPARAM)hContact, 0);
if (hcontgiven) break;
Sleep(0);
- } while(hContact = db_find_next(hContact));
+ }
+ while(hContact = db_find_next(hContact));
- tick = GetTickCount()-tick;
g_mutex_bSetAllExtraIconsCycle = 0;
CLUI__cliInvalidateRect(hwndList,NULL,FALSE);
Sleep(0);
}
-HWND SetToolTip(HWND hwnd, TCHAR * tip);
-
-HWND tipHWND = NULL;
-
-static int ehhShowExtraInfoTip(WPARAM wParam, LPARAM lParam)
-{
- CLCEXTRAINFOTIP * eit = (CLCEXTRAINFOTIP *)lParam;
- //tipHWND = SetToolTip(eit->hwnd,_T("TEST"));
- //SendMessage(tipHWND,TTM_ACTIVATE,1,0);
- //SendMessage(tipHWND,TTM_POPUP,0,0);
- return 1;
-
-}
-
-int ehhHideExtraInfoTip(WPARAM wParam, LPARAM lParam)
-{
-
- //SendMessage(tipHWND,TTM_ACTIVATE,0,0);
- return 0;
-
-}
-
INT_PTR WideSetIconForExtraColumn(WPARAM wParam,LPARAM lParam)
{
- pIconExtraColumn piec;
- int icol;
- HANDLE hItem;
+ if (pcli->hwndContactTree == 0 || wParam == 0 || lParam == 0)
+ return -1;
- if (pcli->hwndContactTree == 0){return(-1);};
- if (wParam == 0 || lParam == 0){return(-1);};
- piec = (pIconExtraColumn)lParam;
+ pIconExtraColumn piec = (pIconExtraColumn)lParam;
+ if (piec->cbSize != sizeof(IconExtraColumn))
+ return -1;
- if (piec->cbSize != sizeof(IconExtraColumn)){return(-1);};
- icol = ExtraImage_ExtraIDToColumnNum(piec->ColumnType);
- if (icol == -1){return(-1);};
+ int icol = ExtraImage_ExtraIDToColumnNum(piec->ColumnType);
+ if (icol == -1)
+ return -1;
- hItem = (HANDLE)SendMessage(pcli->hwndContactTree,CLM_FINDCONTACT,(WPARAM)wParam,0);
- if (hItem == 0){return(-1);};
- if (piec->hImage == (HANDLE)0xFF) piec->hImage = (HANDLE)0xFFFF;
+ HANDLE hItem = (HANDLE)SendMessage(pcli->hwndContactTree,CLM_FINDCONTACT,(WPARAM)wParam,0);
+ if (hItem == 0)
+ return -1;
+
+ if (piec->hImage == (HANDLE)0xFF)
+ piec->hImage = (HANDLE)0xFFFF;
- SendMessage(pcli->hwndContactTree,CLM_SETWIDEEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(icol,piec->hImage));
- return(0);
+ SendMessage(pcli->hwndContactTree,CLM_SETWIDEEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(icol,piec->hImage));
+ return 0;
};
//wparam = hIcon
//return hImage on success,-1 on failure
+
INT_PTR WideAddIconToExtraImageList(WPARAM wParam,LPARAM lParam)
{
if (hWideExtraImageList == 0 || wParam == 0){return(-1);};
@@ -478,31 +128,20 @@ INT_PTR WideAddIconToExtraImageList(WPARAM wParam,LPARAM lParam)
if (res>0xFFFE) return -1;
return res;
};
+
static int ehhExtraImage_UnloadModule(WPARAM wParam,LPARAM lParam)
{
- if (hExtraImageList) { ImageList_Destroy(hExtraImageList); };
- if (hWideExtraImageList) { ImageList_Destroy(hWideExtraImageList); };
+ if (hExtraImageList)
+ ImageList_Destroy(hExtraImageList);
+ if (hWideExtraImageList)
+ ImageList_Destroy(hWideExtraImageList);
return 0;
}
void ExtraImage_LoadModule()
{
- CreateServiceFunction(MS_CLIST_EXTRA_SET_ICON,WideSetIconForExtraColumn);
- CreateServiceFunction(MS_CLIST_EXTRA_ADD_ICON,WideAddIconToExtraImageList);
-
- //CreateServiceFunction(MS_CLIST_EXTRA2_SET_ICON,WideSetIconForExtraColumn);
- //CreateServiceFunction(MS_CLIST_EXTRA2_ADD_ICON,WideAddIconToExtraImageList);
-
+ CreateServiceFunction(MS_CLIST_EXTRA_SET_ICON, WideSetIconForExtraColumn);
+ CreateServiceFunction(MS_CLIST_EXTRA_ADD_ICON, WideAddIconToExtraImageList);
-
- //HookEvent(ME_SKIN2_ICONSCHANGED,OnIconLibIconChanged);
-
- HookEvent(ME_CLC_SHOWEXTRAINFOTIP, ehhShowExtraInfoTip );
- HookEvent(ME_CLC_HIDEINFOTIP, ehhHideExtraInfoTip );
HookEvent(ME_SYSTEM_SHUTDOWN, ehhExtraImage_UnloadModule );
};
-
-
-
-
-
diff --git a/plugins/Clist_modern/src/modern_skineditor.cpp b/plugins/Clist_modern/src/modern_skineditor.cpp
index 5ab53c9af9..b567fd59b9 100644
--- a/plugins/Clist_modern/src/modern_skineditor.cpp
+++ b/plugins/Clist_modern/src/modern_skineditor.cpp
@@ -85,7 +85,6 @@ int TreeAddObject(HWND hwndDlg, int ID, OPT_OBJECT_DATA * data)
ptrE = path;
do
{
-
while (*ptrE != '/' && *ptrE != '\0') ptrE++;
if (*ptrE == '/')
{
diff --git a/plugins/Clist_modern/src/resource.h b/plugins/Clist_modern/src/resource.h
index 9d9426fe00..29a9f73c9b 100644
--- a/plugins/Clist_modern/src/resource.h
+++ b/plugins/Clist_modern/src/resource.h
@@ -141,7 +141,6 @@
#define IDI_ICON5 455
#define IDI_CHAT 455
#define IDI_LISTENING_TO 456
-#define IDD_OPT_ITEM_EXTRAICONS 461
#define IDD_OPT_CLCBKG 462
#define IDI_FAVORITE_0 500
#define IDI_FAVORITE_1 501
@@ -1043,7 +1042,7 @@
#define IDC_STATIC -1
// Next default values for new objects
-//
+//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 509