summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/m_clistint.h2
-rw-r--r--plugins/Clist_modern/src/hdr/modern_commonprototypes.h1
-rw-r--r--plugins/Clist_modern/src/modern_clisttray.cpp24
-rw-r--r--src/modules/clist/clc.h1
-rw-r--r--src/modules/clist/clistmenus.cpp6
-rw-r--r--src/modules/clist/clisttray.cpp8
6 files changed, 10 insertions, 32 deletions
diff --git a/include/m_clistint.h b/include/m_clistint.h
index fdc4052a64..6b57eb0603 100644
--- a/include/m_clistint.h
+++ b/include/m_clistint.h
@@ -477,6 +477,8 @@ typedef struct
*************************************************************************************/
int (*pfnGetContactIcon)(HANDLE hContact);
int (*pfnTrayCalcChanged)(const char *szChangedProto, int averageMode, int iProtoCount);
+ int (*pfnGetAverageMode)(int *pNetProtoCount);
+
}
CLIST_INTERFACE;
diff --git a/plugins/Clist_modern/src/hdr/modern_commonprototypes.h b/plugins/Clist_modern/src/hdr/modern_commonprototypes.h
index b1da2a00d2..785c9a7160 100644
--- a/plugins/Clist_modern/src/hdr/modern_commonprototypes.h
+++ b/plugins/Clist_modern/src/hdr/modern_commonprototypes.h
@@ -216,7 +216,6 @@ int __fastcall CLVM_GetContactHiddenStatus(HANDLE hContact, char *szStatus,
int BgStatusBarChange(WPARAM wParam,LPARAM lParam); //clcopts.c
int ClcDoProtoAck(HANDLE wParam,ACKDATA * ack); //clc.c
int ModernSkinButtonDeleteAll(); //modernbutton.c
-int GetAverageMode( void ); //clisttray.c
int GetContactCachedStatus(HANDLE hContact); //clistsettings.c
int GetContactIconC(ClcCacheEntry *cacheEntry); //clistmod.c
int GetContactIndex(ClcGroup *group,ClcContact *contact); //clcidents.c
diff --git a/plugins/Clist_modern/src/modern_clisttray.cpp b/plugins/Clist_modern/src/modern_clisttray.cpp
index 203a9b25d8..d6397ecd1f 100644
--- a/plugins/Clist_modern/src/modern_clisttray.cpp
+++ b/plugins/Clist_modern/src/modern_clisttray.cpp
@@ -120,28 +120,6 @@ INT_PTR CListTray_GetGlobalStatus(WPARAM wparam,LPARAM lparam)
return curstatus?curstatus:ID_STATUS_OFFLINE;
}
-int GetAverageMode()
-{
- int count,netProtoCount,i;
- int averageMode = 0;
- PROTOACCOUNT **accs;
- ProtoEnumAccounts( &count, &accs );
- for (i=0, netProtoCount = 0;i < count;i++) {
- if ( pcli->pfnGetProtocolVisibility(accs[i]->szModuleName) == 0)
- continue;
-
- pcli->cycleStep = i;
- netProtoCount++;
- if (averageMode == 0)
- averageMode = CallProtoService(accs[i]->szModuleName, PS_GETSTATUS, 0, 0);
- else if (averageMode != CallProtoService(accs[i]->szModuleName, PS_GETSTATUS, 0, 0)) {
- averageMode = -1;
- break;
- }
- }
- return averageMode;
-}
-
////////////////////////////////////////////////////////////
///// Need to refresh trays icon after timely changing/////
////////////////////////////////////////////////////////////
@@ -257,7 +235,7 @@ int cliTrayCalcChanged(const char *szChangedProto, int averageMode, int netProto
return pcli->pfnTrayIconSetBaseInfo(hIcon,szChangedProto);
}
else if (pcli->pfnGetProtocolVisibility(szChangedProto)) {
- int avg = GetAverageMode();
+ int avg = pcli->pfnGetAverageMode(NULL);
int i = pcli->pfnTrayIconSetBaseInfo(cliGetIconFromStatusMode(NULL,szChangedProto,CallProtoService(szChangedProto,PS_GETSTATUS, 0, 0)),szChangedProto);
if (i < 0) {
pcli->pfnTrayIconDestroy(hwnd);
diff --git a/src/modules/clist/clc.h b/src/modules/clist/clc.h
index 6e4a3c4c28..43bdf9febd 100644
--- a/src/modules/clist/clc.h
+++ b/src/modules/clist/clc.h
@@ -110,6 +110,7 @@ void GetFontSetting(int i, LOGFONTA *lf, COLORREF *colour);
HGENMENU fnGetProtocolMenu(const char*);
int fnGetProtocolVisibility(const char* accName);
int fnConvertMenu(CLISTMENUITEM*, TMO_MenuItem*);
+int fnGetAverageMode(int *pNetProtoCount);
int fnGetAccountIndexByPos(int Pos);
int fnGetProtoIndexByPos(PROTOCOLDESCRIPTOR **proto, int protoCnt, int Pos);
diff --git a/src/modules/clist/clistmenus.cpp b/src/modules/clist/clistmenus.cpp
index 6ca756072f..85bb7f799b 100644
--- a/src/modules/clist/clistmenus.cpp
+++ b/src/modules/clist/clistmenus.cpp
@@ -153,7 +153,7 @@ void FreeMenuProtos(void)
//////////////////////////////////////////////////////////////////////////
-int GetAverageMode(int* pNetProtoCount = NULL)
+int fnGetAverageMode(int *pNetProtoCount)
{
int netProtoCount = 0;
int averageMode = 0;
@@ -501,7 +501,7 @@ INT_PTR StatusMenuCheckService(WPARAM wParam, LPARAM)
}
}
else if (smep && smep->status && !smep->custom) {
- int curProtoStatus = (smep->proto) ? CallProtoServiceInt(NULL,smep->proto, PS_GETSTATUS, 0, 0) : GetAverageMode();
+ int curProtoStatus = (smep->proto) ? CallProtoServiceInt(NULL,smep->proto, PS_GETSTATUS, 0, 0) : cli.pfnGetAverageMode(NULL);
if (smep->status == curProtoStatus)
timi->mi.flags |= CMIF_CHECKED;
else
@@ -1064,7 +1064,7 @@ static int MenuProtoAck(WPARAM, LPARAM lParam)
if (hStatusMainMenuHandles == NULL) return 0;
if (cli.pfnGetProtocolVisibility(ack->szModule) == 0) return 0;
- int overallStatus = GetAverageMode();
+ int overallStatus = cli.pfnGetAverageMode(NULL);
TMO_MenuItem tmi = { sizeof(tmi) };
if (overallStatus >= ID_STATUS_OFFLINE) {
diff --git a/src/modules/clist/clisttray.cpp b/src/modules/clist/clisttray.cpp
index 10f51c3538..f1ee4a3bad 100644
--- a/src/modules/clist/clisttray.cpp
+++ b/src/modules/clist/clisttray.cpp
@@ -28,8 +28,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern HIMAGELIST hCListImages;
-int GetAverageMode(int* pNetProtoCount = NULL);
-
static UINT WM_TASKBARCREATED;
static UINT WM_TASKBARBUTTONCREATED;
static BOOL mToolTipTrayTips = FALSE;
@@ -235,7 +233,7 @@ int fnTrayIconInit(HWND hwnd)
mir_cslock lck(trayLockCS);
int netProtoCount = 0;
- int averageMode = GetAverageMode(&netProtoCount);
+ int averageMode = cli.pfnGetAverageMode(&netProtoCount);
mToolTipTrayTips = ServiceExists("mToolTip/ShowTip") != 0;
if (cli.cycleTimerId) {
@@ -420,7 +418,7 @@ LBL_Error:
return i;
}
if ((cli.pfnGetProtocolVisibility(szPreferredProto)) &&
- (GetAverageMode() == -1) &&
+ (cli.pfnGetAverageMode(NULL) == -1) &&
(db_get_b(NULL, "CList", "TrayIcon", SETTING_TRAYICON_DEFAULT) == SETTING_TRAYICON_MULTI) &&
!(db_get_b(NULL, "CList", "AlwaysMulti", SETTING_ALWAYSMULTI_DEFAULT)))
goto LBL_Error;
@@ -475,7 +473,7 @@ void fnTrayIconUpdateBase(const char *szChangedProto)
int netProtoCount;
mir_cslock lck(trayLockCS);
- int averageMode = GetAverageMode(&netProtoCount);
+ int averageMode = cli.pfnGetAverageMode(&netProtoCount);
if (cli.cycleTimerId) {
KillTimer(NULL, cli.cycleTimerId);