diff options
author | George Hazan <george.hazan@gmail.com> | 2013-08-14 20:56:58 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2013-08-14 20:56:58 +0000 |
commit | ba56d9f794ef819de024b90f136ee35fd07cb4e8 (patch) | |
tree | c5ff1f7a7f2ec48fb7093dfbf8b9a8a83b6e71a2 /plugins/TabSRMM | |
parent | 853bdf0154a9ba862489c4c4b287d7db8d0145fe (diff) |
cleaning popup-related junk
git-svn-id: http://svn.miranda-ng.org/main/trunk@5693 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/TabSRMM')
-rw-r--r-- | plugins/TabSRMM/src/chat/tools.cpp | 2 | ||||
-rw-r--r-- | plugins/TabSRMM/src/eventpopups.cpp | 77 | ||||
-rw-r--r-- | plugins/TabSRMM/src/nen.h | 3 | ||||
-rw-r--r-- | plugins/TabSRMM/src/utils.cpp | 2 |
4 files changed, 30 insertions, 54 deletions
diff --git a/plugins/TabSRMM/src/chat/tools.cpp b/plugins/TabSRMM/src/chat/tools.cpp index 393a92e111..71db16c4c9 100644 --- a/plugins/TabSRMM/src/chat/tools.cpp +++ b/plugins/TabSRMM/src/chat/tools.cpp @@ -158,7 +158,7 @@ static void TSAPI Chat_DismissPopup(const SESSION_INFO *si, HWND hwndPopup) static INT_PTR CALLBACK PopupDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
- SESSION_INFO *si = (SESSION_INFO*)CallService(MS_POPUP_GETPLUGINDATA, (WPARAM)hWnd, 0);;
+ SESSION_INFO *si = (SESSION_INFO*)PUGetPluginData(hWnd);
switch (message) {
case WM_COMMAND:
diff --git a/plugins/TabSRMM/src/eventpopups.cpp b/plugins/TabSRMM/src/eventpopups.cpp index 0aaaa2952a..44cb28d69a 100644 --- a/plugins/TabSRMM/src/eventpopups.cpp +++ b/plugins/TabSRMM/src/eventpopups.cpp @@ -40,22 +40,13 @@ #include "commonheaders.h"
-typedef std::vector<PLUGIN_DATAT *>::iterator PopupListIterator;
-static std::vector<PLUGIN_DATAT *> PopupList;
+static LIST<PLUGIN_DATAT> arPopupList(10, HandleKeySortT);
-BOOL bWmNotify = TRUE;
+BOOL bWmNotify = TRUE;
-static const PLUGIN_DATAT* PU_GetByContact(const HANDLE hContact)
+static PLUGIN_DATAT* PU_GetByContact(const HANDLE hContact)
{
- if (PopupList.size()) {
- PopupListIterator it = PopupList.begin();
- while(it != PopupList.end()) {
- if ((*it)->hContact == hContact)
- return(*it);
- it++;
- }
- }
- return 0;
+ return arPopupList.find((PLUGIN_DATAT*)&hContact);
}
/**
@@ -65,22 +56,12 @@ static const PLUGIN_DATAT* PU_GetByContact(const HANDLE hContact) */
static void PU_CleanUp()
{
- if (PopupList.size()) {
- PopupListIterator it = PopupList.begin();
- while(it != PopupList.end()) {
- if (PopupList.size() == 0)
- break;
- if ((*it)->hContact == 0) {
- //_DebugTraceW(_T("found stale popup %s"), (*it)->eventData->szText);
- if ((*it)->eventData)
- mir_free((*it)->eventData);
- mir_free(*it);
- it = PopupList.erase(it);
- continue;
- }
- it++;
- }
+ for (int i=0; i < arPopupList.getCount(); i++) {
+ PLUGIN_DATAT *p = arPopupList[i];
+ mir_free(p->eventData);
+ mir_free(p);
}
+ arPopupList.destroy();
}
static void CheckForRemoveMask()
@@ -441,12 +422,9 @@ static int PopupAct(HWND hWnd, UINT mask, PLUGIN_DATAT* pdata) PUDeletePopup(hWnd);
if (pdata->hContainer)
{
- FLASHWINFO fwi;
- fwi.cbSize = sizeof(fwi);
- fwi.uCount = 0;
+ FLASHWINFO fwi = { sizeof(fwi) };
fwi.dwFlags = FLASHW_STOP;
fwi.hwnd = pdata->hContainer;
- fwi.dwTimeout = 0;
FlashWindowEx(&fwi);
}
}
@@ -455,10 +433,9 @@ static int PopupAct(HWND hWnd, UINT mask, PLUGIN_DATAT* pdata) static BOOL CALLBACK PopupDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
- PLUGIN_DATAT* pdata = NULL;
-
- pdata = (PLUGIN_DATAT *)CallService(MS_POPUP_GETPLUGINDATA, (WPARAM)hWnd, (LPARAM)pdata);
- if (!pdata) return FALSE;
+ PLUGIN_DATAT *pdata = (PLUGIN_DATAT*)PUGetPluginData(hWnd);
+ if (pdata == NULL)
+ return FALSE;
switch (message) {
case WM_COMMAND:
@@ -510,7 +487,7 @@ static BOOL CALLBACK PopupDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM * @return
*/
-static TCHAR *ShortenPreview(DBEVENTINFO* dbe)
+static TCHAR* ShortenPreview(DBEVENTINFO* dbe)
{
bool fAddEllipsis = false;
int iPreviewLimit = nen_options.iLimitPreview;
@@ -534,9 +511,9 @@ static TCHAR *ShortenPreview(DBEVENTINFO* dbe) return buf;
}
-static TCHAR *GetPreviewT(WORD eventType, DBEVENTINFO* dbe)
+static TCHAR* GetPreviewT(WORD eventType, DBEVENTINFO* dbe)
{
- char *pBlob = (char *)dbe->pBlob;
+ char *pBlob = (char *)dbe->pBlob;
switch (eventType) {
case EVENTTYPE_MESSAGE:
@@ -594,11 +571,11 @@ static int PopupUpdateT(HANDLE hContact, HANDLE hEvent) if (hEvent == NULL)
return 0;
- if (pdata->pluginOptions->bShowHeaders) {
- mir_sntprintf(pdata->szHeader, SIZEOF(pdata->szHeader), _T("%s %d\n"),
- TranslateT("New messages: "), pdata->nrMerged + 1);
- pdata->szHeader[255] = 0;
- }
+ TCHAR szHeader[256];
+ if (pdata->pluginOptions->bShowHeaders)
+ mir_sntprintf(szHeader, SIZEOF(szHeader), _T("%s %d\n"), TranslateT("New messages: "), pdata->nrMerged + 1);
+ else
+ szHeader[0] = 0;
DBEVENTINFO dbe = { sizeof(dbe) };
if (pdata->pluginOptions->bPreview && hContact) {
@@ -625,11 +602,11 @@ static int PopupUpdateT(HANDLE hContact, HANDLE hEvent) * for which there is enough space in the popup text
*/
- TCHAR lpzText[MAX_SECONDLINE] = _T("");
+ TCHAR lpzText[MAX_SECONDLINE];
int i, available = MAX_SECONDLINE - 1;
if (pdata->pluginOptions->bShowHeaders) {
- _tcsncpy(lpzText, pdata->szHeader, MAX_SECONDLINE);
- available -= lstrlen(pdata->szHeader);
+ _tcsncpy(lpzText, szHeader, MAX_SECONDLINE);
+ available -= lstrlen(szHeader);
}
for (i = pdata->nrMerged; i >= 0; i--) {
available -= lstrlen(pdata->eventData[i].szText);
@@ -657,8 +634,8 @@ static int PopupUpdateT(HANDLE hContact, HANDLE hEvent) static int PopupShowT(NEN_OPTIONS *pluginOptions, HANDLE hContact, HANDLE hEvent, UINT eventType, HWND hContainer)
{
//there has to be a maximum number of popups shown at the same time
- if (PopupList.size() >= MAX_POPUPS)
- return(2);
+ if (arPopupList.getCount() >= MAX_POPUPS)
+ return 2;
if (!PluginConfig.g_PopupAvail)
return 0;
@@ -734,7 +711,7 @@ static int PopupShowT(NEN_OPTIONS *pluginOptions, HANDLE hContact, HANDLE hEvent mir_free(pdata->eventData);
mir_free(pdata);
}
- else PopupList.push_back(pdata);
+ else arPopupList.insert(pdata);
if (dbe.pBlob)
mir_free(dbe.pBlob);
diff --git a/plugins/TabSRMM/src/nen.h b/plugins/TabSRMM/src/nen.h index dfe3402bfa..36cdf03ab2 100644 --- a/plugins/TabSRMM/src/nen.h +++ b/plugins/TabSRMM/src/nen.h @@ -143,13 +143,12 @@ struct EVENT_DATAT struct PLUGIN_DATAT
{
- UINT eventType;
HANDLE hContact;
+ UINT eventType;
NEN_OPTIONS *pluginOptions;
POPUPDATAT *pud;
HWND hWnd;
long iSeconds;
- TCHAR szHeader[256];
int nrMerged;
EVENT_DATAT *eventData;
int nrEventsAlloced;
diff --git a/plugins/TabSRMM/src/utils.cpp b/plugins/TabSRMM/src/utils.cpp index bfce442532..d278132555 100644 --- a/plugins/TabSRMM/src/utils.cpp +++ b/plugins/TabSRMM/src/utils.cpp @@ -690,7 +690,7 @@ int Utils::RTFColorToIndex(int iCol) */
INT_PTR CALLBACK Utils::PopupDlgProcError(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
- HANDLE hContact = (HANDLE)CallService(MS_POPUP_GETPLUGINDATA, (WPARAM)hWnd, (LPARAM)&hContact);
+ HANDLE hContact = (HANDLE)PUGetPluginData(hWnd);
switch (message) {
case WM_COMMAND:
|