//===== EnableDisableMenuCommand ===== INT_PTR svcEnableDisableMenuCommand(WPARAM wp, LPARAM lp) { int iResult = 0; int iResultRoot = 0; CLISTMENUITEM mi = { 0 }; mi.cbSize = sizeof(mi); if (PopUpOptions.ModuleIsEnabled) { //The module is enabled. //The action to do is "disable popups" (show disabled) and we must write "enable popup" in the new item. PopUpOptions.ModuleIsEnabled = FALSE; DBWriteContactSettingByte(NULL, MODULNAME, "ModuleIsEnabled", FALSE); mi.ptszName = LPGENT("Enable &popup module"); mi.hIcon = IcoLib_GetIcon(ICO_POPUP_OFF,0); } else { //The module is disabled. //The action to do is enable popups (show enabled), then write "disable popup" in the new item. PopUpOptions.ModuleIsEnabled = TRUE; DBWriteContactSettingByte(NULL, MODULNAME, "ModuleIsEnabled", TRUE); mi.ptszName = LPGENT("Disable &popup module"); mi.hIcon = IcoLib_GetIcon(ICO_POPUP_ON,0); } mi.flags = CMIM_NAME | CMIM_ICON | CMIF_TCHAR; iResult = CallService(MS_CLIST_MODIFYMENUITEM,(WPARAM)hMenuItem,(LPARAM)&mi); mi.flags = CMIM_ICON; iResultRoot = CallService(MS_CLIST_MODIFYMENUITEM,(WPARAM)hMenuRoot,(LPARAM)&mi); TTBLoaded(0,0); ToolbarSet(0,0); if(iResult && iResultRoot) return 1; else return 0; }
void Meta_Assign(HANDLE hSub, HANDLE hMeta) { metaMap[hMeta].add(hSub); DBWriteContactSettingDword(hSub, MODULE, "ParentMetaID", DBGetContactSettingDword(hMeta, MODULE, META_ID, -1)); DBWriteContactSettingDword(hSub, MODULE, "Handle", (DWORD)hMeta); DBWriteContactSettingByte(hSub, MODULE, "IsSubcontact", 1); if(MetaEnabled()) { if(!meta_group_hack_disabled) DBWriteContactSettingByte(hSub, "CList", "Hidden", 1); } else // shouldn't happen, as the menu option is hidden when metas are disabled... DBWriteContactSettingByte(hMeta, "CList", "Hidden", 1); CallService(MS_IGNORE_IGNORE, (WPARAM)hSub, (WPARAM)IGNOREEVENT_USERONLINE); DBVARIANT dbv; if(DBGetContactSettingUTF8String(hMeta, "CList", "MyHandle", &dbv)) { if(!DBGetContactSettingUTF8String(hSub, "CList", "MyHandle", &dbv)) { DBWriteContactSettingUTF8String(hMeta, "CList", "MyHandle", dbv.pszVal); DBFreeVariant(&dbv); } } else DBFreeVariant(&dbv); if(DBGetContactSettingUTF8String(hMeta, MODULE, "Nick", &dbv)) { char *subProto = ContactProto(hSub); if(subProto) { if(!DBGetContactSettingUTF8String(hSub, subProto, "Nick", &dbv)) { DBWriteContactSettingUTF8String(hMeta, MODULE, "Nick", dbv.pszVal); DBFreeVariant(&dbv); } } } else DBFreeVariant(&dbv); FireSubcontactsChanged(hMeta); }
HANDLE add_contact(char *name, DWORD flags) { HANDLE hContact; // already on list? if (hContact=find_contact(name)) { if (!(flags & PALF_TEMPORARY) && DBGetContactSettingByte(hContact, "CList", "NotOnList", 1)) { DBDeleteContactSetting( hContact, "CList", "NotOnList" ); DBDeleteContactSetting( hContact, "CList", "Hidden" ); } LOG(("add_contact: Found %s", name)); return hContact; // already there, return handle } // no, so add LOG(("add_contact: Adding %s", name)); hContact=(HANDLE)CallServiceSync(MS_DB_CONTACT_ADD, 0, 0); if (hContact) { if (CallServiceSync(MS_PROTO_ADDTOCONTACT, (WPARAM)hContact,(LPARAM)SKYPE_PROTONAME)!=0) { LOG(("add_contact: Ouch! MS_PROTO_ADDTOCONTACT failed for some reason")); CallServiceSync(MS_DB_CONTACT_DELETE, (WPARAM)hContact, 0); return NULL; } if (name[0]) DBWriteContactSettingString(hContact, SKYPE_PROTONAME, SKYPE_NAME, name); if (flags & PALF_TEMPORARY ) { DBWriteContactSettingByte(hContact, "CList", "NotOnList", 1); DBWriteContactSettingByte(hContact, "CList", "Hidden", 1); } if (name[0]) { SkypeSend("GET USER %s DISPLAYNAME", name); } else {LOG(("add_contact: Info: The contact added has no name."));} } else {LOG(("add_contact: Ouch! MS_DB_CONTACT_ADD failed for some reason"));} LOG(("add_contact succeeded")); return hContact; }
void CConfig::SaveFontSettings(int iFont) { if(iFont > FONT_SETTINGS -1 || iFont < 0) return; char szSetting[128]; // Height sprintf(szSetting,"Font%dHeight",iFont); DBWriteContactSettingByte(NULL, "MirandaG15", szSetting, m_logfont[iFont].lfHeight); // Style int style = 0; if(m_logfont[iFont].lfWeight == FW_BOLD) style |= FONTF_BOLD; if(m_logfont[iFont].lfItalic) style |= FONTF_ITALIC; sprintf(szSetting,"Font%dStyle",iFont); DBWriteContactSettingByte(NULL, "MirandaG15", szSetting, style); // Charset sprintf(szSetting,"Font%dCharset",iFont); DBWriteContactSettingByte(NULL, "MirandaG15", szSetting, m_logfont[iFont].lfCharSet); // Name sprintf(szSetting,"Font%dName",iFont); DBWriteContactSettingTString(NULL, "MirandaG15", szSetting, m_logfont[iFont].lfFaceName); UpdateFontSettings(iFont); }
static int MenuItem_DeleteContact(WPARAM wParam,LPARAM lParam) { //see notes about deleting contacts on PF1_SERVERCLIST servers in m_protosvc.h int action; if (DBGetContactSettingByte(NULL, "CList", "ConfirmDelete", SETTING_CONFIRMDELETE_DEFAULT)) { // Ask user for confirmation, and if the contact should be archived (hidden, not deleted) action = DialogBoxParam(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_DELETECONTACT), (HWND)lParam, AskForConfirmationDlgProc, wParam); } else { action = IDYES; } switch(action) { // Delete contact case IDYES: { char *szProto; szProto = (char*)CallService(MS_PROTO_GETCONTACTBASEPROTO, wParam, 0); if (szProto != NULL) { // Check if protocol uses server side lists DWORD caps; caps = (DWORD)CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1, 0); if (caps&PF1_SERVERCLIST) { int status; status = CallProtoService(szProto, PS_GETSTATUS, 0, 0); if (status == ID_STATUS_OFFLINE || (status >= ID_STATUS_CONNECTING && status<ID_STATUS_CONNECTING+MAX_CONNECT_RETRIES)) { // Set a flag so we remember to delete the contact when the protocol goes online the next time DBWriteContactSettingByte((HANDLE)wParam, "CList", "Delete", 1); MessageBoxA(NULL, Translate("This contact is on an instant messaging system which stores its contact list on a central server. The contact will be removed from the server and from your contact list when you next connect to that network."), Translate("Delete Contact"), MB_OK); return 0; } } } CallService(MS_DB_CONTACT_DELETE, wParam, 0); break; } // Archive contact case IDC_HIDE: { DBWriteContactSettingByte((HANDLE)wParam,"CList","Hidden",1); break; } } return 0; }
static void saveCollapseState( HWND hwndTree ) { HTREEITEM hti; TVITEM tvi; hti = TreeView_GetRoot( hwndTree ); while( hti != NULL ) { HTREEITEM ht; tvi.mask = TVIF_STATE | TVIF_HANDLE | TVIF_CHILDREN | TVIF_PARAM; tvi.hItem = hti; tvi.stateMask = (DWORD)-1; TreeView_GetItem( hwndTree, &tvi ); if( tvi.cChildren > 0 ) { TreeItem *treeItem = (TreeItem *)tvi.lParam; if ( tvi.state & TVIS_EXPANDED ) DBWriteContactSettingByte(NULL, "KeyBindingsUI", treeItem->paramName, TVIS_EXPANDED ); else DBWriteContactSettingByte(NULL, "KeyBindingsUI", treeItem->paramName, 0 ); } ht = TreeView_GetChild( hwndTree, hti ); if( ht == NULL ) { ht = TreeView_GetNextSibling( hwndTree, hti ); while( ht == NULL ) { hti = TreeView_GetParent( hwndTree, hti ); if( hti == NULL ) break; ht = TreeView_GetNextSibling( hwndTree, hti ); } } hti = ht; } }
void SaveUpdateOptions(char *szComponentName, UpdateOptions *update_options) { char buff[256]; sprintf(buff, "Enable%s", szComponentName); DBWriteContactSettingByte(0, MODULE, buff, update_options->enabled ? 1 : 0); if(!update_options->fixed) { sprintf(buff, "UseBeta%s", szComponentName); DBWriteContactSettingByte(0, MODULE, buff, update_options->use_beta ? 1 : 0); } }
int SetHideOffline(WPARAM wParam,LPARAM lParam) { switch((int)wParam) { case 0: DBWriteContactSettingByte(NULL,"CList","HideOffline",0); break; case 1: DBWriteContactSettingByte(NULL,"CList","HideOffline",1); break; case -1: DBWriteContactSettingByte(NULL,"CList","HideOffline",(BYTE)!DBGetContactSettingByte(NULL,"CList","HideOffline",SETTING_HIDEOFFLINE_DEFAULT)); break; } TRACE("PRE-LoadTree"); LoadContactTree(); TRACE("SetHideOffline Done\r\n"); return 0; }
static void ICQserverImport() { // Clear last update stamp DBDeleteContactSetting(NULL, szICQModuleName[ iICQAccount ], "SrvLastUpdate"); DBDeleteContactSetting(NULL, szICQModuleName[ iICQAccount ], "SrvRecordCount"); // Enable contacts downloading DBWriteContactSettingByte(NULL, szICQModuleName[ iICQAccount ], "UseServerCList", 1); DBWriteContactSettingByte(NULL, szICQModuleName[ iICQAccount ], "AddServerNew", 1); DBWriteContactSettingByte(NULL, szICQModuleName[ iICQAccount ], "UseServerNicks", 1); DBWriteContactSettingByte(NULL, szICQModuleName[ iICQAccount ], "ServerAddRemove", 1); }
void SkypeProfile_Save(SkypeProfile *pstProf) { DBWriteContactSettingByte(NULL, SKYPE_PROTONAME, "Gender", pstProf->Sex); DBWriteContactSettingString(NULL, SKYPE_PROTONAME, "HomePhone", pstProf->HomePhone); DBWriteContactSettingString(NULL, SKYPE_PROTONAME, "OfficePhone", pstProf->OfficePhone); DBWriteContactSettingString(NULL, SKYPE_PROTONAME, "HomePage", pstProf->HomePage); DBWriteContactSettingTString(NULL, SKYPE_PROTONAME, "Nick", pstProf->FullName); DBWriteContactSettingTString(NULL, SKYPE_PROTONAME, "City", pstProf->City); DBWriteContactSettingTString(NULL, SKYPE_PROTONAME, "Province", pstProf->Province); DBWriteContactSettingWord(NULL, SKYPE_PROTONAME, "BirthYear", (WORD)pstProf->Birthday.wYear); DBWriteContactSettingByte(NULL, SKYPE_PROTONAME, "BirthMonth", (BYTE)pstProf->Birthday.wMonth); DBWriteContactSettingByte(NULL, SKYPE_PROTONAME, "BirthDay", (BYTE)pstProf->Birthday.wDay); }
void Meta_Hide(bool hide_metas) { HANDLE hContact = (HANDLE)CallService( MS_DB_CONTACT_FINDFIRST, 0, 0); while(hContact != NULL) { if(IsMetacontact(hContact)) { DBWriteContactSettingByte(hContact, "CList", "Hidden", hide_metas ? 1 : 0); } else if(IsSubcontact(hContact)) { if(!meta_group_hack_disabled) DBWriteContactSettingByte(hContact, "CList", "Hidden", hide_metas ? 0 : 1); CallService(hide_metas ? MS_IGNORE_UNIGNORE : MS_IGNORE_IGNORE, (WPARAM)hContact, (WPARAM)IGNOREEVENT_USERONLINE); } hContact = ( HANDLE )CallService( MS_DB_CONTACT_FINDNEXT,( WPARAM )hContact, 0 ); } }
int SetHideOffline(WPARAM wParam, LPARAM lParam) { switch ((int) wParam) { case 0: DBWriteContactSettingByte(NULL, "CList", "HideOffline", 0); break; case 1: DBWriteContactSettingByte(NULL, "CList", "HideOffline", 1); break; case -1: DBWriteContactSettingByte(NULL, "CList", "HideOffline", (BYTE) ! DBGetContactSettingByte(NULL, "CList", "HideOffline", SETTING_HIDEOFFLINE_DEFAULT)); break; } SetButtonStates(hwndContactList); LoadContactTree(); return 0; }
INT_PTR __cdecl Service_PGPsetKey(WPARAM wParam, LPARAM lParam) { BOOL del = true; if(bPGPloaded) { if(bPGPkeyrings) { char szKeyID[128]; szKeyID[0]='\0'; PVOID KeyID = pgp_select_keyid(GetForegroundWindow(),szKeyID); if(szKeyID[0]) { DBDeleteContactSetting((HANDLE)wParam,szModuleName,"pgp"); DBCONTACTWRITESETTING cws; memset(&cws,0,sizeof(cws)); cws.szModule = szModuleName; cws.szSetting = "pgp"; cws.value.type = DBVT_BLOB; cws.value.pbVal = (LPBYTE)KeyID; cws.value.cpbVal = pgp_size_keyid(); CallService(MS_DB_CONTACT_WRITESETTING,wParam,(LPARAM)&cws); DBWriteContactSettingByte((HANDLE)wParam,szModuleName,"pgp_mode",0); DBWriteContactSettingString((HANDLE)wParam,szModuleName,"pgp_abbr",szKeyID); del = false; } } else if(bPGPprivkey) { char KeyPath[MAX_PATH]; KeyPath[0]='\0'; if(ShowSelectKeyDlg(0,KeyPath)) { char *publ = LoadKeys(KeyPath,false); if(publ) { DBDeleteContactSetting((HANDLE)wParam,szModuleName,"pgp"); myDBWriteStringEncode((HANDLE)wParam,szModuleName,"pgp",publ); DBWriteContactSettingByte((HANDLE)wParam,szModuleName,"pgp_mode",1); DBWriteContactSettingString((HANDLE)wParam,szModuleName,"pgp_abbr","(binary)"); mir_free(publ); del = false; } } } } if(del) Service_PGPdelKey(wParam,lParam); else { pUinKey ptr = getUinKey((HANDLE)wParam); cpp_delete_context(ptr->cntx); ptr->cntx=0; } ShowStatusIconNotify((HANDLE)wParam); return 1; }
HANDLE Meta_Convert(HANDLE hSub) { HANDLE hMeta = NewMetaContact(); DBWriteContactSettingByte(hMeta, MODULE, "Default", 0); Meta_Assign(hSub, hMeta); DBVARIANT dbv; if(!DBGetContactSettingUTF8String(hSub, "CList", "Group", &dbv)) { DBWriteContactSettingUTF8String(hMeta, "CList", "Group", dbv.pszVal); DBFreeVariant(&dbv); } if(!DBGetContactSettingUTF8String(hSub, "CList", "MyHandle", &dbv)) { DBWriteContactSettingUTF8String(hMeta, "CList", "MyHandle", dbv.pszVal); DBFreeVariant(&dbv); } char *subProto = ContactProto(hSub); if(subProto) { if(!DBGetContactSettingUTF8String(hSub, subProto, "Nick", &dbv)) { DBWriteContactSettingUTF8String(hMeta, MODULE, "Nick", dbv.pszVal); DBFreeVariant(&dbv); } } Meta_CalcStatus(hMeta); return hMeta; }
//Function to put all enabled contact to the Online status void RefreshContact(void) { HACCOUNT Finder; for(Finder=POP3Plugin->FirstAccount;Finder!=NULL;Finder=Finder->Next) { if(Finder->hContact != NULL) { if((Finder->Flags & YAMN_ACC_ENA) && (Finder->NewMailN.Flags & YAMN_ACC_CONT)) { DBDeleteContactSetting(Finder->hContact, "CList", "Hidden"); } else { DBWriteContactSettingByte(Finder->hContact, "CList", "Hidden", 1); } } else { if((Finder->Flags & YAMN_ACC_ENA) && (Finder->NewMailN.Flags & YAMN_ACC_CONT)) { Finder->hContact =(HANDLE) CallService(MS_DB_CONTACT_ADD, 0, 0); CallService(MS_PROTO_ADDTOCONTACT,(WPARAM)Finder->hContact,(LPARAM)ProtoName); DBWriteContactSettingString(Finder->hContact,ProtoName,"Id",Finder->Name); DBWriteContactSettingString(Finder->hContact,ProtoName,"Nick",Finder->Name); DBWriteContactSettingString(Finder->hContact,"Protocol","p",ProtoName); DBWriteContactSettingWord(Finder->hContact, ProtoName, "Status", ID_STATUS_ONLINE); DBWriteContactSettingString(Finder->hContact, "CList", "StatusMsg", Translate("No new mail message")); } } } }
HANDLE CDatabase::AddContact(const wchar_t* uri, const wchar_t* nick, bool temporary) const { MTLASSERT(uri); MTLASSERT(0 == FindContact(uri)); HANDLE hContact = reinterpret_cast<HANDLE>(CallService(MS_DB_CONTACT_ADD, 0, 0)); if(hContact) { if(S_OK == CallService(MS_PROTO_ADDTOCONTACT, (WPARAM)hContact, (LPARAM)g_env.ProtocolName())) { DBWriteContactSettingWString(hContact, g_env.ProtocolName(), "uri", uri); DBWriteContactSettingWString(hContact, g_env.ProtocolName(), "Nick", nick && nick[0] ? nick : ComposeNickByUri(uri)); if(temporary) { DBWriteContactSettingByte(hContact, "CList", "NotOnList", 1); } } else { CallService(MS_DB_CONTACT_DELETE, (WPARAM)hContact, 0); MTLASSERT(false); hContact = 0; } } MTLASSERT(hContact); return hContact; }
void CDatabase::WriteMySettingBool(const char* param, bool value) const { MTLASSERT(param && lstrlenA(param) > 0); int res = DBWriteContactSettingByte(0, g_env.ProtocolName(), param, value); MTLASSERT(S_OK == res); }
extern "C" PING_API int Load(PLUGINLINK *link) { pluginLink=link; //if(init_raw_ping()) { //MessageBox(0, Translate("Failed to initialize. Plugin disabled."), Translate("Ping Plugin"), MB_OK | MB_ICONERROR); //return 1; use_raw_ping = false; //} DBWriteContactSettingByte(0, PLUG, "UsingRawSockets", (BYTE)use_raw_ping); DuplicateHandle( GetCurrentProcess(), GetCurrentThread(), GetCurrentProcess(), &mainThread, THREAD_SET_CONTEXT, FALSE, 0 ); hWakeEvent = CreateEvent(NULL, FALSE, FALSE, "Local\\ThreadWaitEvent"); InitializeCriticalSection(&list_cs); InitializeCriticalSection(&thread_finished_cs); InitializeCriticalSection(&list_changed_cs); InitializeCriticalSection(&data_list_cs); // create services before loading options - so we can have the 'getlogfilename' service! CreatePluginServices(); LoadOptions(); SkinAddNewSound("PingTimeout", "Ping Timout", 0); SkinAddNewSound("PingReply", "Ping Reply", 0); HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoaded); HookEvent(ME_OPT_INITIALISE, PingOptInit ); HookEvent(ME_SYSTEM_PRESHUTDOWN, OnShutdown); return 0; }
static BOOL Convert(HANDLE hContact, char* module, char* setting, int value, int toType) // 0 = byte, 1 = word, 2 = dword, 3 = string { int Result = 1; char temp[64]; switch (toType) { case 0: if (value > 0xFF) Result = 0; else DBWriteContactSettingByte(hContact, module, setting, (BYTE)value); break; case 1: if (value > 0xFFFF) Result = 0; else DBWriteContactSettingWord(hContact, module, setting, (WORD)value); break; case 2: DBWriteContactSettingDword(hContact, module, setting, (DWORD)value); break; case 3: DBDeleteContactSetting(hContact, module, setting); DBWriteContactSettingString(hContact, module, setting, itoa(value,temp,10)); break; } return Result; }
INT_PTR __cdecl Service_Mode(WPARAM wParam, LPARAM lParam) { pUinKey ptr = getUinKey((HANDLE)wParam); switch(--lParam) { case MODE_NATIVE: case MODE_RSAAES: if( isContactSecured((HANDLE)wParam)&SECURED ) { msgbox(NULL, sim111, szModuleName, MB_OK); return 0; } if( lParam!=MODE_NATIVE && ptr->status>STATUS_ENABLED ) { Service_Status(wParam,STATUS_ENABLED+1); } case MODE_PGP: case MODE_GPG: // нужно много проверок и отключение активного контекста если необходимо if(ptr) { if( ptr->cntx ) { cpp_delete_context(ptr->cntx); ptr->cntx = 0; ptr->keyLoaded = 0; } ptr->mode=(BYTE)lParam; DBWriteContactSettingByte((HANDLE)wParam, szModuleName, "mode", (BYTE)lParam); } ShowStatusIcon((HANDLE)wParam); break; } return 1; }
void MirandaSkinnedDialog::setSettting(const char *name, bool val, bool global) { char setting[SETTING_NAME_SIZE]; getSettingName(setting, name, global); DBWriteContactSettingByte(NULL, getModule(), setting, val ? 1 : 0); }
HANDLE CMsnProto::AddToListByEmail(const char *email, const char *nick, DWORD flags) { HANDLE hContact = MSN_HContactFromEmail(email, nick, true, flags & PALF_TEMPORARY); if (flags & PALF_TEMPORARY) { if (DBGetContactSettingByte(hContact, "CList", "NotOnList", 0) == 1) DBWriteContactSettingByte(hContact, "CList", "Hidden", 1); } else { DBDeleteContactSetting(hContact, "CList", "Hidden"); if (msnLoggedIn) { // int netId = Lists_GetNetId(email); // if (netId == NETID_UNKNOWN) int netId = strncmp(email, "tel:", 4) ? NETID_MSN : NETID_MOB; if (MSN_AddUser(hContact, email, netId, LIST_FL)) { MSN_AddUser(hContact, email, netId, LIST_PL + LIST_REMOVE); MSN_AddUser(hContact, email, netId, LIST_BL + LIST_REMOVE); MSN_AddUser(hContact, email, netId, LIST_AL); DBDeleteContactSetting(hContact, "CList", "Hidden"); } MSN_SetContactDb(hContact, email); if (MSN_IsMeByContact(hContact)) displayEmailCount(hContact); } else hContact = NULL; } return hContact; }
static void addWindow(HANDLE hContact) { CLISTFrame Frame = {0}; HWND hWnd; DBVARIANT dbv; char winname[512]; DWORD frameID; DBGetContactSettingString(hContact, WEATHERPROTONAME, "Nick", &dbv); mir_snprintf(winname, sizeof(winname), "Weather: %s", dbv.pszVal); DBFreeVariant(&dbv); hWnd = CreateWindow("WeatherFrame", "", WS_CHILD | WS_VISIBLE, 0, 0, 10, 10, (HWND)CallService(MS_CLUI_GETHWND, 0, 0), NULL, hInst, hContact); Frame.name = winname; Frame.cbSize = sizeof(Frame); Frame.hWnd = hWnd; Frame.align = alBottom; Frame.Flags = F_VISIBLE|F_NOBORDER; Frame.height = 32; WindowList_Add(hMwinWindowList, hWnd, hContact); frameID = CallService(MS_CLIST_FRAMES_ADDFRAME, (WPARAM)&Frame, 0); DBWriteContactSettingDword(hContact, WEATHERPROTONAME, "mwin", frameID); DBWriteContactSettingByte(hContact, "CList", "Hidden", TRUE); }
int MarkUserDefSession(int ses_count,BYTE bCheck) { char szSessionName[256]={0}; mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "FavUserSession", ses_count); DBWriteContactSettingByte(NULL, __INTERNAL_NAME, szSessionName, bCheck); return 0; }
int UseGroupsHelper(WPARAM wParam,LPARAM lParam) { int newVal=!(GetWindowLong((HWND)CallService(MS_CLUI_GETHWNDTREE,0,0),GWL_STYLE)&CLS_USEGROUPS); DBWriteContactSettingByte(NULL,"CList","UseGroups",(BYTE)newVal); SendMessage((HWND)CallService(MS_CLUI_GETHWNDTREE,0,0),CLM_SETUSEGROUPS,newVal,0); return 0; }
static int SaveTree(HWND hwndDlg) { TVITEM tvi; int count; TCHAR idstr[100]; char menuItemName[256], DBString[256], MenuNameItems[256]; int menupos; int MenuObjectId, runtimepos; TIntMenuObject* pimo; MenuItemOptData* iod; HWND hTree = GetDlgItem( hwndDlg, IDC_MENUITEMS ); if ( !GetCurrentMenuObjectID( hwndDlg, &MenuObjectId )) return 0; tvi.hItem = TreeView_GetRoot( hTree ); tvi.cchTextMax = 99; tvi.mask = TVIF_TEXT | TVIF_PARAM | TVIF_HANDLE; tvi.pszText = idstr; count = 0; menupos = GetMenuObjbyId( MenuObjectId ); if ( menupos == -1 ) return -1; pimo = g_menus[menupos]; mir_snprintf( MenuNameItems, sizeof(MenuNameItems), "%s_Items", pimo->Name); runtimepos = 100; while ( tvi.hItem != NULL ) { TreeView_GetItem( hTree, &tvi ); iod = ( MenuItemOptData* )tvi.lParam; if ( iod->pimi ) { GetMenuItemName( iod->pimi, menuItemName, sizeof( menuItemName )); mir_snprintf( DBString, SIZEOF(DBString), "%s_visible", menuItemName ); DBWriteContactSettingByte( NULL, MenuNameItems, DBString, iod->show ); mir_snprintf( DBString, SIZEOF(DBString), "%s_pos", menuItemName ); DBWriteContactSettingDword( NULL, MenuNameItems, DBString, runtimepos ); mir_snprintf( DBString, SIZEOF(DBString), "%s_name", menuItemName ); if ( lstrcmp( iod->name, iod->defname ) != 0 ) DBWriteContactSettingTString( NULL, MenuNameItems, DBString, iod->name ); else DBDeleteContactSetting( NULL, MenuNameItems, DBString ); runtimepos += 100; } if ( iod->name && !_tcscmp( iod->name, STR_SEPARATOR) && iod->show ) runtimepos += SEPARATORPOSITIONINTERVAL; tvi.hItem = TreeView_GetNextSibling( hTree, tvi.hItem ); count++; } return 1; }
static int PluginCommand_CicleThroughtProtocols(WPARAM wParam,LPARAM lParam) { DBWriteContactSettingByte(NULL,"MyDetails","CicleThroughtProtocols", (BYTE) wParam); LoadOptions(); return 0; }
void __cdecl gg_getuseravatarthread(GGPROTO *gg, void *empty) { PROTO_AVATAR_INFORMATION pai = {0}; char *AvatarURL; int AvatarType; gg_getavatarfileinfo(gg, DBGetContactSettingDword(NULL, GG_PROTO, GG_KEY_UIN, 0), &AvatarURL, &AvatarType); if (AvatarURL != NULL && strlen(AvatarURL) > 0) DBWriteContactSettingString(NULL, GG_PROTO, GG_KEY_AVATARURL, AvatarURL); else DBDeleteContactSetting(NULL, GG_PROTO, GG_KEY_AVATARURL); DBWriteContactSettingByte(NULL, GG_PROTO, GG_KEY_AVATARTYPE, (BYTE)AvatarType); DBWriteContactSettingByte(NULL, GG_PROTO, GG_KEY_AVATARREQUESTED, 1); pai.cbSize = sizeof(pai); gg_getavatarinfo(gg, (WPARAM)GAIF_FORCE, (LPARAM)&pai); }
int CIcqProto::setContactHidden(HANDLE hContact, BYTE bHidden) { int nResult = DBWriteContactSettingByte(hContact, "CList", "Hidden", bHidden); if (!bHidden) // clear zero setting DBDeleteContactSetting(hContact, "CList", "Hidden"); return nResult; }
static void SaveList(HWND hwndDlg, HANDLE hItemNew, HANDLE hItemUnknown) { HANDLE hContact, hItem; if (hItemNew) { DBWriteContactSettingByte(NULL, SRMMMOD, SRMSGSET_TYPINGNEW, (BYTE)(SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_GETCHECKMARK, (WPARAM) hItemNew, 0) ? 1 : 0)); } if (hItemUnknown) { DBWriteContactSettingByte(NULL, SRMMMOD, SRMSGSET_TYPINGUNKNOWN, (BYTE)(SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_GETCHECKMARK, (WPARAM) hItemUnknown, 0) ? 1 : 0)); } hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); do { hItem = (HANDLE) SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_FINDCONTACT, (WPARAM) hContact, 0); if (hItem) { DBWriteContactSettingByte(hContact, SRMMMOD, SRMSGSET_TYPING, (BYTE)(SendDlgItemMessage(hwndDlg, IDC_CLIST, CLM_GETCHECKMARK, (WPARAM) hItem, 0) ? 1 : 0)); } } while (hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0)); }