summaryrefslogtreecommitdiff
path: root/plugins/Clist_mw/clistsettings.cpp
diff options
context:
space:
mode:
authorVadim Dashevskiy <watcherhd@gmail.com>2012-07-16 16:31:53 +0000
committerVadim Dashevskiy <watcherhd@gmail.com>2012-07-16 16:31:53 +0000
commit5b0a53a6d3f1b8d70b34631d96d3815d0a334dd3 (patch)
tree9b38676d8ae565bac52063f5398dde110082a26f /plugins/Clist_mw/clistsettings.cpp
parent1cf47d1eaff4d7d7242d0ab87dd540ae5b400833 (diff)
Clist_mw, Clist_nicer, CmdLine, Console: folder structure change
git-svn-id: http://svn.miranda-ng.org/main/trunk@988 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Clist_mw/clistsettings.cpp')
-rw-r--r--plugins/Clist_mw/clistsettings.cpp374
1 files changed, 0 insertions, 374 deletions
diff --git a/plugins/Clist_mw/clistsettings.cpp b/plugins/Clist_mw/clistsettings.cpp
deleted file mode 100644
index f18a4452f2..0000000000
--- a/plugins/Clist_mw/clistsettings.cpp
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
-
-Miranda IM: the free IM client for Microsoft* Windows*
-
-Copyright 2000-2003 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
-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.
-*/
-#include "commonheaders.h"
-#include "m_clui.h"
-#include "m_clc.h"
-#include "clist.h"
-
-TCHAR *GetNameForContact(HANDLE hContact,int flag,boolean *isUnknown);
-char *GetProtoForContact(HANDLE hContact);
-int GetStatusForContact(HANDLE hContact,char *szProto);
-TCHAR *UnknownConctactTranslatedName;
-extern boolean OnModulesLoadedCalled;
-void InvalidateDisplayNameCacheEntryByPDNE(HANDLE hContact,pdisplayNameCacheEntry pdnce,int SettingType);
-
-static int handleCompare( displayNameCacheEntry* c1, displayNameCacheEntry* c2 )
-{
- return (char*)c1->hContact - (char*)c2->hContact;
-}
-
-void InitDisplayNameCache(SortedList *list)
-{
- int i, idx;
- HANDLE hContact;
-
- memset(list,0,sizeof(SortedList));
- list->sortFunc = (FSortFunc)handleCompare;
- list->increment = CallService(MS_DB_CONTACT_GETCOUNT,0,0)+1;
-
- hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST,0,0);
- i = 0;
- while (hContact != 0)
- {
- displayNameCacheEntry *pdnce = (pdisplayNameCacheEntry)mir_calloc(sizeof(displayNameCacheEntry));
- pdnce->hContact = hContact;
- InvalidateDisplayNameCacheEntryByPDNE(hContact,pdnce,0);
- List_GetIndex(list,pdnce,&idx);
- List_Insert(list,pdnce,idx);
- hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT,(WPARAM)hContact,0);
- i++;
-} }
-
-void FreeDisplayNameCacheItem(ClcCacheEntryBase *_p)
-{
- pdisplayNameCacheEntry p = (pdisplayNameCacheEntry)_p;
- if ( p->tszName) { mir_free(p->tszName); p->tszName = NULL; }
- if ( p->szProto) { mir_free(p->szProto); p->szProto = NULL; }
- if ( p->tszGroup) { mir_free(p->tszGroup); p->tszGroup = NULL; }
-}
-
-void FreeDisplayNameCache(SortedList *list)
-{
- int i;
-
- for ( i = 0; i < list->realCount; i++) {
- FreeDisplayNameCacheItem((ClcCacheEntryBase*)list->items[i] );
- mir_free(list->items[i]);
- }
-
- List_Destroy(list);
-}
-
-void CheckPDNCE(ClcCacheEntryBase *_pdnce)
-{
- pdisplayNameCacheEntry pdnce = (pdisplayNameCacheEntry)_pdnce;
- if (pdnce == NULL)
- return;
-
- if (pdnce->szProto == NULL && pdnce->protoNotExists == FALSE) {
- pdnce->szProto = GetProtoForContact(pdnce->hContact);
- if (pdnce->szProto == NULL)
- pdnce->protoNotExists = FALSE;
- else {
- if (CallService(MS_PROTO_ISPROTOCOLLOADED,0,(LPARAM)pdnce->szProto) == 0)
- pdnce->protoNotExists = TRUE;
- else {
- if ( pdnce->szProto && pdnce->tszName ) {
- mir_free(pdnce->tszName);
- pdnce->tszName = NULL;
- } } } }
-
- if (pdnce->tszName == NULL)
- {
- if (pdnce->protoNotExists)
- pdnce->tszName = mir_tstrdup(TranslateT("_NoProtocol_"));
- else {
- if (OnModulesLoadedCalled)
- pdnce->tszName = GetNameForContact(pdnce->hContact,0,&pdnce->isUnknown);
- else
- pdnce->tszName = GetNameForContact(pdnce->hContact,0,NULL);
- }
- }
- else {
- if (pdnce->isUnknown&&pdnce->szProto&&pdnce->protoNotExists == TRUE&&OnModulesLoadedCalled) {
- pdnce->protoNotExists = FALSE;
- mir_free(pdnce->tszName);
- pdnce->tszName = GetNameForContact(pdnce->hContact,0,&pdnce->isUnknown);
- } }
-
- if (pdnce->status == 0)
- pdnce->status = GetStatusForContact(pdnce->hContact,pdnce->szProto);
-
- if (pdnce->tszGroup == NULL)
- {
- DBVARIANT dbv;
-
- if (!DBGetContactSettingTString(pdnce->hContact,"CList","Group",&dbv))
- {
- pdnce->tszGroup = mir_tstrdup(dbv.ptszVal);
- mir_free(dbv.pszVal);
- }
- else pdnce->tszGroup = mir_tstrdup( _T(""));
- }
-
- if (pdnce->bIsHidden == -1)
- pdnce->bIsHidden = DBGetContactSettingByte(pdnce->hContact,"CList","bIsHidden",0);
-
- if (pdnce->noHiddenOffline == -1)
- pdnce->noHiddenOffline = DBGetContactSettingByte(pdnce->hContact,"CList","noOffline",0);
-
- if ( pdnce->IdleTS == -1 )
- pdnce->IdleTS = DBGetContactSettingDword(pdnce->hContact,pdnce->szProto,"IdleTS",0);
-
- if (pdnce->ApparentMode == -1)
- pdnce->ApparentMode = DBGetContactSettingWord(pdnce->hContact,pdnce->szProto,"ApparentMode",0);
-
- if (pdnce->NotOnList == -1)
- pdnce->NotOnList = DBGetContactSettingByte(pdnce->hContact,"CList","NotOnList",0);
-
- if (pdnce->IsExpanded == -1)
- pdnce->IsExpanded = DBGetContactSettingByte(pdnce->hContact,"CList","Expanded",0);
-}
-
-void InvalidateDisplayNameCacheEntryByPDNE(HANDLE hContact,pdisplayNameCacheEntry pdnce,int SettingType)
-{
- if ( hContact == NULL || pdnce == NULL )
- return;
-
- if ( SettingType == -1 || SettingType == DBVT_DELETED )
- {
- mir_free(pdnce->tszName);
- pdnce->tszName = NULL;
- mir_free(pdnce->tszGroup);
- pdnce->tszGroup = NULL;
-
- pdnce->bIsHidden = -1;
- pdnce->protoNotExists = FALSE;
- mir_free(pdnce->szProto);
- pdnce->szProto = NULL;
- pdnce->status = 0;
- pdnce->IdleTS = -1;
- pdnce->ApparentMode = -1;
- pdnce->NotOnList = -1;
- pdnce->isUnknown = FALSE;
- pdnce->noHiddenOffline = -1;
- pdnce->IsExpanded = -1;
- return;
- }
-
- if (SettingType >= DBVT_WCHAR)
- {
- mir_free(pdnce->tszName);
- pdnce->tszName = NULL;
- mir_free(pdnce->tszGroup);
- pdnce->tszGroup = NULL;
- mir_free(pdnce->szProto);
- pdnce->szProto = NULL;
- return;
- }
-
- // in other cases clear all binary cache
- pdnce->bIsHidden = -1;
- pdnce->protoNotExists = FALSE;
- pdnce->status = 0;
- pdnce->IdleTS = -1;
- pdnce->ApparentMode = -1;
- pdnce->NotOnList = -1;
- pdnce->isUnknown = FALSE;
- pdnce->noHiddenOffline = -1;
- pdnce->IsExpanded = -1;
-}
-
-char *GetContactCachedProtocol(HANDLE hContact)
-{
- pdisplayNameCacheEntry cacheEntry = (pdisplayNameCacheEntry)pcli->pfnGetCacheEntry(hContact);
- if (cacheEntry&&cacheEntry->szProto)
- return cacheEntry->szProto;
-
- return NULL;
-}
-
-char *GetProtoForContact(HANDLE hContact)
-{
- DBVARIANT dbv;
- DBCONTACTGETSETTING dbcgs;
- char name[32];
-
- dbv.type = DBVT_ASCIIZ;
- dbv.pszVal = name;
- dbv.cchVal = SIZEOF(name);
- dbcgs.pValue = &dbv;
- dbcgs.szModule = "Protocol";
- dbcgs.szSetting = "p";
- if (CallService(MS_DB_CONTACT_GETSETTINGSTATIC,(WPARAM)hContact,(LPARAM)&dbcgs)) return NULL;
- return mir_strdup(dbcgs.pValue->pszVal);
-}
-
-int GetStatusForContact(HANDLE hContact,char *szProto)
-{
- int status = ID_STATUS_OFFLINE;
- if (szProto)
- status = DBGetContactSettingWord((HANDLE)hContact,szProto,"Status",ID_STATUS_OFFLINE);
-
- return (status);
-}
-
-TCHAR* GetNameForContact(HANDLE hContact,int flag,boolean *isUnknown)
-{
- TCHAR* result = pcli->pfnGetContactDisplayName(hContact, flag | GCDNF_NOCACHE);
-
- if (isUnknown) {
- if (UnknownConctactTranslatedName == NULL)
- UnknownConctactTranslatedName = TranslateT("(Unknown Contact)");
-
- *isUnknown = lstrcmp(result ,UnknownConctactTranslatedName) == 0;
- }
-
- return result;
-}
-
-pdisplayNameCacheEntry GetContactFullCacheEntry(HANDLE hContact)
-{
- pdisplayNameCacheEntry cacheEntry = (pdisplayNameCacheEntry)pcli->pfnGetCacheEntry(hContact);
- if (cacheEntry != NULL)
- return(cacheEntry);
-
- return NULL;
-}
-
-int GetContactInfosForSort(HANDLE hContact,char **Proto,TCHAR **Name,int *Status)
-{
- pdisplayNameCacheEntry cacheEntry = (pdisplayNameCacheEntry)pcli->pfnGetCacheEntry(hContact);
- if (cacheEntry != NULL)
- {
- if (Proto != NULL) *Proto = cacheEntry->szProto;
- if (Name != NULL) *Name = cacheEntry->tszName;
- if (Status != NULL) *Status = cacheEntry->status;
- }
- return 0;
-}
-
-int GetContactCachedStatus(HANDLE hContact)
-{
- pdisplayNameCacheEntry cacheEntry = (pdisplayNameCacheEntry)pcli->pfnGetCacheEntry(hContact);
- if (cacheEntry&&cacheEntry->status != 0) return cacheEntry->status;
- return 0;
-}
-
-int ContactSettingChanged(WPARAM wParam,LPARAM lParam)
-{
- DBCONTACTWRITESETTING *cws = (DBCONTACTWRITESETTING*)lParam;
- pdisplayNameCacheEntry pdnce;
-
- // Early exit
- if ((HANDLE)wParam == NULL)
- return 0;
-
- __try
- {
- pdnce = (pdisplayNameCacheEntry)pcli->pfnGetCacheEntry((HANDLE)wParam);
- if (pdnce == NULL)
- {
- OutputDebugStringA("!!! Very bad pdnce not found.");
- return 0;
- }
-
- if (pdnce && pdnce->protoNotExists == FALSE && pdnce->szProto)
- {
- if (!strcmp(cws->szModule,pdnce->szProto))
- {
- InvalidateDisplayNameCacheEntryByPDNE((HANDLE)wParam,pdnce,cws->value.type);
-
- if (cws->value.type == DBVT_WORD&&!strcmp(cws->szSetting, "Status")) {
- if (!(pdnce->bIsHidden == 1)) {
-
- if (DBGetContactSettingByte((HANDLE)NULL,"CList","ShowStatusMsg",0)||DBGetContactSettingByte((HANDLE)wParam,"CList","StatusMsgAuto",0))
- DBWriteContactSettingString((HANDLE)wParam, "CList", "StatusMsg", "");
-
- if (DBGetContactSettingByte(NULL, "CList", "HideOffline", SETTING_HIDEOFFLINE_DEFAULT)) {
- // User's state is changing, and we are hideOffline-ing
-
- if (cws->value.wVal == ID_STATUS_OFFLINE) {
- ChangeContactIcon((HANDLE)wParam, ExtIconFromStatusMode((HANDLE)wParam,cws->szModule, cws->value.wVal), 0); //by FYR
- return 0;
- }
- ChangeContactIcon((HANDLE)wParam, ExtIconFromStatusMode((HANDLE)wParam,cws->szModule, cws->value.wVal), 0); //by FYR
- }
- else
- {
- ChangeContactIcon((HANDLE)wParam, ExtIconFromStatusMode((HANDLE)wParam,cws->szModule, cws->value.wVal), 0); //by FYR
- }
- }
- }
- else if (!strcmp(cws->szModule,"MetaContacts"))
- {
- PostMessage(pcli->hwndContactTree,CLM_AUTOREBUILD,0,0);
- return 0;
- }
- else return 0;
-
- SortContacts();
- } }
-
- if (!strcmp(cws->szModule,"CList")) {
- /*
- sprintf(buf,"CHANGE: module:CList setting:%s %s\r\n",cws->szSetting,cws->value.pszVal);
- OutputDebugStringA(buf);
- */
-
- //name is null or (setting is myhandle)
- if (pdnce->tszName == NULL||(!strcmp(cws->szSetting,"MyHandle")))
- InvalidateDisplayNameCacheEntryByPDNE((HANDLE)wParam,pdnce,cws->value.type);
-
- if ((!strcmp(cws->szSetting,"Group")))
- InvalidateDisplayNameCacheEntryByPDNE((HANDLE)wParam,pdnce,cws->value.type);
-
- if (!strcmp(cws->szSetting,"bIsHidden")) {
- InvalidateDisplayNameCacheEntryByPDNE((HANDLE)wParam,pdnce,cws->value.type);
- if (cws->value.type == DBVT_DELETED || cws->value.bVal == 0) {
- char *szProto = (char*)CallService(MS_PROTO_GETCONTACTBASEPROTO,wParam,0);
- ChangeContactIcon((HANDLE)wParam,ExtIconFromStatusMode((HANDLE)wParam,szProto,szProto == NULL?ID_STATUS_OFFLINE:DBGetContactSettingWord((HANDLE)wParam,szProto,"Status",ID_STATUS_OFFLINE)),1); //by FYR
- } }
-
- if (!strcmp(cws->szSetting,"noOffline"))
- InvalidateDisplayNameCacheEntryByPDNE((HANDLE)wParam,pdnce,cws->value.type);
- }
-
- if (!strcmp(cws->szModule,"Protocol")) {
- if (!strcmp(cws->szSetting,"p")) {
- char *szProto;
-
- OutputDebugStringA("CHANGE: proto\r\n");
- InvalidateDisplayNameCacheEntryByPDNE((HANDLE)wParam,pdnce,cws->value.type);
- if (cws->value.type == DBVT_DELETED) szProto = NULL;
- else szProto = cws->value.pszVal;
- ChangeContactIcon((HANDLE)wParam,ExtIconFromStatusMode((HANDLE)wParam,szProto,szProto == NULL?ID_STATUS_OFFLINE:DBGetContactSettingWord((HANDLE)wParam,szProto,"Status",ID_STATUS_OFFLINE)),0); //by FYR
- }
- }
- }
- __except (exceptFunction(GetExceptionInformation()))
- {
- }
-
- return 0;
-}