SmileyLookup::SmileyLookup(const CMString& str, const bool regexs, const int ind, const CMString& smpt) { TCHAR msgtxt[1024]; m_ind = ind; if (regexs) { static const CMString testString(_T("Test String")); m_pattern = _TPattern::compile(str); m_valid = m_pattern != NULL; if (m_valid) { _TMatcher* matcher = m_pattern->createTMatcher(testString); m_valid &= (!matcher->findFirstMatch() || matcher->getStartingIndex() != matcher->getEndingIndex()); if (!m_valid) { static const TCHAR errmsg[] = LPGENT("Regular expression \"%s\" in smiley pack \"%s\" could produce \"empty matches\"."); mir_sntprintf(msgtxt, TranslateTS(errmsg), str.c_str(), smpt.c_str()); } delete matcher; } else { static const TCHAR errmsg[] = LPGENT("Regular expression \"%s\" in smiley pack \"%s\" malformed."); mir_sntprintf(msgtxt, TranslateTS(errmsg), str.c_str(), smpt.c_str()); } if (!m_valid) CallService(MS_NETLIB_LOG, (WPARAM)hNetlibUser, _T2A(msgtxt)); } else { m_text = str; m_pattern = NULL; m_valid = !str.IsEmpty(); } }
bool parse_quote(const IXMLNode::TXMLNodePtr& pTop, CQuotesProviderBase::CQuote& q) { tstring sSymbol; tstring sDescription; tstring sID; size_t cChild = pTop->GetChildCount(); for (size_t i = 0; i < cChild; ++i) { IXMLNode::TXMLNodePtr pNode = pTop->GetChildNode(i); tstring sName = pNode->GetName(); if (0 == mir_tstrcmpi(_T("symbol"), sName.c_str())) { sSymbol = pNode->GetText(); if (true == sSymbol.empty()) return false; } else if (0 == mir_tstrcmpi(_T("description"), sName.c_str())) { sDescription = pNode->GetText(); } else if (0 == mir_tstrcmpi(_T("id"), sName.c_str())) { sID = pNode->GetText(); if (true == sID.empty()) return false; } } q = CQuotesProviderBase::CQuote(sID, TranslateTS(sSymbol.c_str()), TranslateTS(sDescription.c_str())); return true; }
TCHAR* fnGetStatusModeDescription(int mode, int flags) { static TCHAR szMode[64]; TCHAR* descr; int noPrefixReqd = 0; switch (mode) { case ID_STATUS_OFFLINE: descr = LPGENT("Offline"); noPrefixReqd = 1; break; case ID_STATUS_CONNECTING: descr = LPGENT("Connecting"); noPrefixReqd = 1; break; case ID_STATUS_ONLINE: descr = LPGENT("Online"); noPrefixReqd = 1; break; case ID_STATUS_AWAY: descr = LPGENT("Away"); break; case ID_STATUS_DND: descr = LPGENT("Do not disturb"); break; case ID_STATUS_NA: descr = LPGENT("Not available"); break; case ID_STATUS_OCCUPIED: descr = LPGENT("Occupied"); break; case ID_STATUS_FREECHAT: descr = LPGENT("Free for chat"); break; case ID_STATUS_INVISIBLE: descr = LPGENT("Invisible"); break; case ID_STATUS_OUTTOLUNCH: descr = LPGENT("Out to lunch"); break; case ID_STATUS_ONTHEPHONE: descr = LPGENT("On the phone"); break; case ID_STATUS_IDLE: descr = LPGENT("Idle"); break; default: if (IsStatusConnecting(mode)) { const TCHAR* connFmt = LPGENT("Connecting (attempt %d)"); mir_sntprintf(szMode, (flags & GSMDF_UNTRANSLATED) ? connFmt : TranslateTS(connFmt), mode - ID_STATUS_CONNECTING + 1); return szMode; } return NULL; } return (flags & GSMDF_UNTRANSLATED) ? descr : TranslateTS(descr); }
static void SetFtStatus(HWND hwndDlg, TCHAR *text, int mode) { SetDlgItemText(hwndDlg, IDC_STATUS, TranslateTS(text)); SetDlgItemText(hwndDlg, IDC_TRANSFERCOMPLETED, TranslateTS(text)); ShowWindow(GetDlgItem(hwndDlg, IDC_STATUS), (mode == FTS_TEXT) ? SW_SHOW : SW_HIDE); ShowWindow(GetDlgItem(hwndDlg, IDC_ALLFILESPROGRESS), (mode == FTS_PROGRESS) ? SW_SHOW : SW_HIDE); ShowWindow(GetDlgItem(hwndDlg, IDC_TRANSFERCOMPLETED), (mode == FTS_OPEN) ? SW_SHOW : SW_HIDE); ShowWindow(GetDlgItem(hwndDlg, IDC_FILEICON), (mode == FTS_OPEN) ? SW_SHOW : SW_HIDE); }
static void ShowBalloon(TCHAR *title, TCHAR *msg, int icon) { MIRANDASYSTRAYNOTIFY msn = {0}; msn.cbSize = sizeof(MIRANDASYSTRAYNOTIFY); msn.dwInfoFlags = icon | NIIF_INTERN_UNICODE; msn.tszInfo = TranslateTS(msg); msn.tszInfoTitle = TranslateTS(title); msn.uTimeout = 5000; pcli->pfnCListTrayNotify(&msn); }
PMO_IntMenuItem MO_AddOldNewMenuItem( HANDLE menuobjecthandle, PMO_MenuItem pmi ) { if ( !bIsGenMenuInited || pmi == NULL ) return NULL; int objidx = GetMenuObjbyId( (int)menuobjecthandle ); if ( objidx == -1 ) return NULL; if ( pmi->cbSize != sizeof( TMO_MenuItem )) return NULL; if ( pmi->flags & CMIF_ROOTHANDLE ) return NULL; //is item with popup or not if ( pmi->root == 0 ) { //yes,this without popup pmi->root = NULL; //first level } else { // no,search for needed root and create it if need TCHAR* tszRoot; #if defined( _UNICODE ) if ( pmi->flags & CMIF_UNICODE ) tszRoot = mir_tstrdup(TranslateTS(( TCHAR* )pmi->root )); else tszRoot = LangPackPcharToTchar(( char* )pmi->root ); #else tszRoot = mir_tstrdup(TranslateTS(( TCHAR* )pmi->root )); #endif PMO_IntMenuItem oldroot = MO_RecursiveWalkMenu( g_menus[objidx]->m_items.first, FindRoot, tszRoot ); mir_free( tszRoot ); if ( oldroot == NULL ) { //not found,creating root TMO_MenuItem tmi = { 0 }; tmi = *pmi; tmi.flags |= CMIF_ROOTHANDLE; tmi.ownerdata = 0; tmi.root = NULL; //copy pszPopupName tmi.ptszName = ( TCHAR* )pmi->root; if (( oldroot = MO_AddNewMenuItem( menuobjecthandle, &tmi )) != NULL ) MO_SetOptionsMenuItem( oldroot, OPT_MENUITEMSETUNIQNAME, (INT_PTR)pmi->root ); } pmi->root = oldroot; //popup will be created in next commands } pmi->flags |= CMIF_ROOTHANDLE; //add popup(root allready exists) return MO_AddNewMenuItem( menuobjecthandle, pmi ); }
// move profile from profile subdir static void moveProfileDirProfiles(TCHAR * profiledir, BOOL isRootDir = TRUE) { TCHAR pfd[MAX_PATH]; if (isRootDir) { TCHAR *path = Utils_ReplaceVarsT(_T("%miranda_path%\\*.dat")); mir_sntprintf(pfd, SIZEOF(pfd), _T("%s"), path); mir_free(path); } else mir_sntprintf(pfd, SIZEOF(pfd), _T("%s\\*.dat"), profiledir); WIN32_FIND_DATA ffd; HANDLE hFind = FindFirstFile(pfd, &ffd); if (hFind != INVALID_HANDLE_VALUE) { TCHAR *c =_tcsrchr(pfd, '\\'); if (c) *c = 0; do { TCHAR path[MAX_PATH], path2[MAX_PATH]; TCHAR* profile = mir_tstrdup(ffd.cFileName); TCHAR *c =_tcsrchr(profile, '.'); if (c) *c = 0; mir_sntprintf(path, SIZEOF(path), _T("%s\\%s"), pfd, ffd.cFileName); mir_sntprintf(path2, SIZEOF(path2), _T("%s\\%s"), profiledir, profile); CreateDirectoryTreeT(path2); mir_sntprintf(path2, SIZEOF(path2), _T("%s\\%s\\%s"), profiledir, profile, ffd.cFileName); if (_taccess(path2, 0) == 0) { const TCHAR tszMoveMsg[] = _T("Miranda is trying upgrade your profile structure.\n") _T("It cannot move profile %s to the new location %s\n") _T("Because profile with this name already exist. Please resolve the issue manually."); TCHAR buf[512]; mir_sntprintf(buf, SIZEOF(buf), TranslateTS(tszMoveMsg), path, path2); MessageBox(NULL, buf, _T("Miranda IM"), MB_ICONERROR | MB_OK); } else if (MoveFile(path, path2) == 0) { const TCHAR tszMoveMsg[] = _T("Miranda is trying upgrade your profile structure.\n") _T("It cannot move profile %s to the new location %s automatically\n") _T("Most likely due to insufficient privileges. Please move profile manually."); TCHAR buf[512]; mir_sntprintf(buf, SIZEOF(buf), TranslateTS(tszMoveMsg), path, path2); MessageBox(NULL, buf, _T("Miranda IM"), MB_ICONERROR | MB_OK); break; } mir_free(profile); } while(FindNextFile(hFind, &ffd)); } FindClose(hFind); }
array_each_(i, sortLevels) { m_hSortBy[i] = m_Options.insertCombo(m_hSort, TranslateTS(sortLevels[i]), (i == 0) ? 0 : OptionsCtrl::OCF_DISABLECHILDSONINDEX0); if (i != 0) { m_Options.addComboItem(m_hSortBy[i], TranslateT("(nothing)")); } array_each_(j, sortKeys) { m_Options.addComboItem(m_hSortBy[i], TranslateTS(sortKeys[j].desc)); }
INT_PTR __cdecl CJabberProto::JabberGCGetToolTipText(WPARAM wParam, LPARAM lParam) { if (!wParam || !lParam) return 0; //room global tooltip not supported yet JABBER_LIST_ITEM *item = ListGetItemPtr(LIST_CHATROOM, (TCHAR*)wParam); if (item == NULL) return 0; //no room found pResourceStatus info( item->findResource((TCHAR*)lParam)); if (info == NULL) return 0; //no info found // ok process info output will be: // JID: real@jid/resource or // Nick: Nickname // Status: StatusText // Role: Moderator // Affiliation: Affiliation TCHAR outBuf[2048]; outBuf[0]=0; bool bIsTipper = db_get_b(NULL, "Tab_SRMsg", "adv_TipperTooltip", 0) && ServiceExists("mToolTip/HideTip"); //JID: if (_tcschr(info->m_tszResourceName, _T('@')) != NULL) appendString(bIsTipper, LPGENT("JID:"), info->m_tszResourceName, outBuf, SIZEOF(outBuf)); else if (lParam) //or simple nick appendString(bIsTipper, LPGENT("Nick:"), (TCHAR*)lParam, outBuf, SIZEOF(outBuf)); // status if (info->m_iStatus >= ID_STATUS_OFFLINE && info->m_iStatus <= ID_STATUS_IDLE ) appendString(bIsTipper, LPGENT("Status:"), pcli->pfnGetStatusModeDescription(info->m_iStatus, 0), outBuf, SIZEOF(outBuf)); // status text if (info->m_tszStatusMessage) appendString(bIsTipper, LPGENT("Status text:"), info->m_tszStatusMessage, outBuf, SIZEOF(outBuf)); // Role appendString(bIsTipper, LPGENT("Role:"), TranslateTS(JabberEnum2RoleStr[info->m_role]), outBuf, SIZEOF(outBuf)); // Affiliation appendString(bIsTipper, LPGENT("Affiliation:"), TranslateTS(JabberEnum2AffilationStr[info->m_affiliation]), outBuf, SIZEOF(outBuf)); // real jid if (info->m_tszRealJid) appendString(bIsTipper, LPGENT("Real JID:"), info->m_tszRealJid, outBuf, SIZEOF(outBuf)); return (outBuf[0] == 0 ? NULL : (INT_PTR) mir_tstrdup(outBuf)); }
extern "C" int __declspec(dllexport) Load(void) { mir_getLP(&pluginInfo); GetModuleFileName(hInst, tszPath, _countof(tszPath)); *(_tcsrchr(tszPath, _T('\\')) + 1) = _T('\0'); /*initialize miranda hooks and services on options dialog*/ HookEvent(ME_OPT_INITIALISE, MessageOptInit); /*initialize miranda hooks and services*/ HookEvent(ME_DB_EVENT_ADDED, MessageEventAdded); HookEvent(ME_CLIST_PREBUILDCONTACTMENU, MessagePrebuild); CreateServiceFunction(SERV_CONTACT_AUTO_CHAT, ContactClickAutoChat); CreateServiceFunction(SERV_CONTACT_NOT_TO_CHAT, ContactClickNotToChat); CreateServiceFunction(SERV_CONTACT_START_CHATTING, ContactClickStartChatting); { CMenuItem mi; SET_UID(mi, 0xea31f628, 0x1445, 0x4b62, 0x98, 0x19, 0xce, 0x15, 0x81, 0x49, 0xa, 0xbd); mi.position = -50010002; //TODO: check the warning mi.name.a = BOLTUN_AUTO_CHAT; mi.pszService = SERV_CONTACT_AUTO_CHAT; hMenuItemAutoChat = Menu_AddContactMenuItem(&mi); SET_UID(mi, 0x726af984, 0x988c, 0x4d5d, 0x97, 0x30, 0xdc, 0x46, 0x55, 0x76, 0x1, 0x73); mi.position = -50010001; //TODO: check the warning mi.name.a = BOLTUN_NOT_TO_CHAT; mi.pszService = SERV_CONTACT_NOT_TO_CHAT; hMenuItemNotToChat = Menu_AddContactMenuItem(&mi); SET_UID(mi, 0x9e0117f3, 0xb7df, 0x4f1b, 0xae, 0xec, 0xc4, 0x72, 0x59, 0x72, 0xc8, 0x58); mi.flags = CMIF_NOTOFFLINE; mi.position = -50010000; //TODO: check the warning mi.hIcolibItem = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_RECVMSG)); mi.name.a = BOLTUN_START_CHATTING; mi.pszService = SERV_CONTACT_START_CHATTING; hMenuItemStartChatting = Menu_AddContactMenuItem(&mi); } int line; blInit = LoadMind(Config.MindFileName, line); if (!blInit) { TCHAR path[2000]; mir_sntprintf(path, TranslateTS(FAILED_TO_LOAD_BASE), line, (const TCHAR*)Config.MindFileName); MessageBox(NULL, path, TranslateTS(BOLTUN_ERROR), MB_ICONERROR | MB_TASKMODAL | MB_OK); } return 0; }
static void LoadRegisteredFolderSections(HWND hWnd) { HWND hwndList = GetDlgItem(hWnd, IDC_FOLDERS_SECTIONS_LIST); for (int i=0; i < lstRegisteredFolders.getCount(); i++) { CFolderItem &tmp = lstRegisteredFolders[i]; TCHAR *translated = mir_a2t( tmp.GetSection()); if ( !ContainsSection(hWnd, TranslateTS(translated))) { int idx = SendMessage(hwndList, LB_ADDSTRING, 0, (LPARAM)TranslateTS(translated)); SendMessage(hwndList, LB_SETITEMDATA, idx, (LPARAM)tmp.GetSection()); } mir_free(translated); } }
INT_PTR CMraProto::MraChatSessionNew(HANDLE hContact) { if (bChatExists) if (hContact) { CMStringW wszEMail; mraGetStringW(hContact, "e-mail", wszEMail); GCSESSION gcw = { sizeof(gcw) }; gcw.iType = GCW_CHATROOM; gcw.pszModule = m_szModuleName; gcw.ptszName = GetContactNameW(hContact); gcw.ptszID = wszEMail; gcw.ptszStatusbarText = _T("status bar"); gcw.dwItemData = (DWORD)hContact; if (!CallServiceSync(MS_GC_NEWSESSION, NULL, (LPARAM)&gcw)) { GCDEST gcd = { m_szModuleName, wszEMail.c_str(), GC_EVENT_ADDGROUP }; GCEVENT gce = { sizeof(gce), &gcd }; for (int i = 0; i < SIZEOF(lpwszStatuses); i++) { gce.ptszStatus = TranslateTS(lpwszStatuses[i]); CallServiceSync(MS_GC_EVENT, NULL, (LPARAM)&gce); } gcd.iType = GC_EVENT_CONTROL; CallServiceSync(MS_GC_EVENT, SESSION_INITDONE, (LPARAM)&gce); CallServiceSync(MS_GC_EVENT, SESSION_ONLINE, (LPARAM)&gce); DWORD opcode = MULTICHAT_GET_MEMBERS; CMStringA szEmail; mraGetStringA(hContact, "e-mail", szEmail); MraMessage(FALSE, NULL, 0, MESSAGE_FLAG_MULTICHAT, szEmail, _T(""), (LPBYTE)&opcode, sizeof(opcode)); return 0; } } return 1; }
static BOOL CALLBACK LangAddCallback(CHAR * str) { int i, count; UINT cp; static struct { UINT cpId; TCHAR *cpName; } cpTable[] = { { 874, _T("Thai") }, { 932, _T("Japanese") }, { 936, _T("Simplified Chinese") }, { 949, _T("Korean") }, { 950, _T("Traditional Chinese") }, { 1250, _T("Central European") }, { 1251, _T("Cyrillic") }, { 1252, _T("Latin I") }, { 1253, _T("Greek") }, { 1254, _T("Turkish") }, { 1255, _T("Hebrew") }, { 1256, _T("Arabic") }, { 1257, _T("Baltic") }, { 1258, _T("Vietnamese") }, { 1361, _T("Korean (Johab)") } }; cp = atoi(str); count = sizeof(cpTable)/sizeof(cpTable[0]); for (i=0; i<count && cpTable[i].cpId!=cp; i++); if (i < count) { AppendMenu(g_dat->hMenuANSIEncoding, MF_STRING, cp, TranslateTS(cpTable[i].cpName)); } return TRUE; }
DWORD CMraProto::MraSendNewStatus(DWORD dwStatusMir, DWORD dwXStatusMir, const CMStringW &pwszStatusTitle, const CMStringW &pwszStatusDesc) { if (!m_bLoggedIn) return 0; CMStringW wszStatusTitle, wszStatusDesc; DWORD dwXStatus, dwStatus = GetMraStatusFromMiradaStatus(dwStatusMir, dwXStatusMir, &dwXStatus); if (IsXStatusValid(dwXStatusMir)) { char szValueName[MAX_PATH]; if (pwszStatusTitle.IsEmpty()) { mir_snprintf(szValueName, SIZEOF(szValueName), "XStatus%ldName", dwXStatusMir); // custom xstatus name if (!mraGetStringW(NULL, szValueName, wszStatusTitle)) wszStatusTitle = TranslateTS(lpcszXStatusNameDef[dwXStatusMir]); } else wszStatusTitle = pwszStatusTitle; if (pwszStatusDesc.IsEmpty()) { mir_snprintf(szValueName, SIZEOF(szValueName), "XStatus%ldMsg", dwXStatusMir); // custom xstatus description mraGetStringW(NULL, szValueName, wszStatusDesc); } else wszStatusDesc = pwszStatusDesc; } else if (pwszStatusTitle.IsEmpty()) wszStatusTitle = pcli->pfnGetStatusModeDescription(dwStatusMir, 0); MraChangeStatus(dwStatus, lpcszStatusUri[dwXStatus], wszStatusTitle, wszStatusDesc, ((getByte("RTFReceiveEnable", MRA_DEFAULT_RTF_RECEIVE_ENABLE) ? FEATURE_FLAG_RTF_MESSAGE : 0) | MRA_FEATURE_FLAGS)); return 0; }
bool parse_section(const IXMLNode::TXMLNodePtr& pTop, CQuotesProviderBase::CQuoteSection& qs) { CQuotesProviderBase::CQuoteSection::TSections aSections; CQuotesProviderBase::CQuoteSection::TQuotes aQuotes; tstring sSectionName; size_t cChild = pTop->GetChildCount(); for (size_t i = 0; i < cChild; ++i) { IXMLNode::TXMLNodePtr pNode = pTop->GetChildNode(i); tstring sName = pNode->GetName(); if (0 == mir_tstrcmpi(_T("section"), sName.c_str())) { CQuotesProviderBase::CQuoteSection qs1; if (true == parse_section(pNode, qs1)) aSections.push_back(qs1); } else if (0 == mir_tstrcmpi(_T("quote"), sName.c_str())) { CQuotesProviderBase::CQuote q; if (true == parse_quote(pNode, q)) aQuotes.push_back(q); } else if (0 == mir_tstrcmpi(_T("name"), sName.c_str())) { sSectionName = pNode->GetText(); if (true == sSectionName.empty()) return false; } } qs = CQuotesProviderBase::CQuoteSection(TranslateTS(sSectionName.c_str()), aSections, aQuotes); return true; }
static BOOL EnumProfilesForList(TCHAR *tszFullPath, TCHAR *profile, LPARAM lParam) { ProfileEnumData *ped = (ProfileEnumData*)lParam; CCtrlListView &list = ped->list; TCHAR sizeBuf[64]; bool bFileLocked = true; TCHAR *p = _tcsrchr(profile, '.'); mir_tstrcpy(sizeBuf, _T("0 KB")); if (p != NULL) *p = 0; LVITEM item = { 0 }; item.mask = LVIF_TEXT | LVIF_IMAGE; item.pszText = profile; item.iItem = 0; struct _stat statbuf; if (_tstat(tszFullPath, &statbuf) == 0) { if (statbuf.st_size > 1000000) { mir_sntprintf(sizeBuf, _countof(sizeBuf), _T("%.3lf"), (double)statbuf.st_size / 1048576.0); mir_tstrcpy(sizeBuf + 5, _T(" MB")); } else { mir_sntprintf(sizeBuf, _countof(sizeBuf), _T("%.3lf"), (double)statbuf.st_size / 1024.0); mir_tstrcpy(sizeBuf + 5, _T(" KB")); } bFileLocked = !fileExist(tszFullPath); } DATABASELINK *dblink; switch (touchDatabase(tszFullPath, &dblink)) { case ERROR_SUCCESS: item.iImage = bFileLocked; break; case EGROKPRF_OBSOLETE: item.iImage = 2; break; default: item.iImage = 3; } int iItem = list.InsertItem(&item); if (mir_tstrcmpi(ped->szProfile, tszFullPath) == 0) list.SetItemState(iItem, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); list.SetItemText(iItem, 2, sizeBuf); if (dblink != NULL) { if (bFileLocked) // file locked list.SetItemText(iItem, 1, TranslateT("<In use>")); else list.SetItemText(iItem, 1, TranslateTS(dblink->szFullName)); } else list.SetItemText(iItem, 1, TranslateT("<Unknown format>")); return TRUE; }
void CVkOptionAccountForm::OnInitDialog() { m_ptszOldLogin = m_edtLogin.GetText(); m_edtLogin.SendMsg(EM_LIMITTEXT, 1024, 0); m_ptszOldPass = m_proto->GetUserStoredPassword(); m_edtPassword.SetText(m_ptszOldPass); m_edtPassword.SendMsg(EM_LIMITTEXT, 1024, 0); m_ptszOldGroup = m_edtGroupName.GetText(); m_cbMarkMessageOnRead.SetState(m_proto->m_vkOptions.iMarkMessageReadOn == MarkMsgReadOn::markOnRead); m_cbMarkMessageOnReceive.SetState(m_proto->m_vkOptions.iMarkMessageReadOn == MarkMsgReadOn::markOnReceive); m_cbMarkMessageOnReply.SetState(m_proto->m_vkOptions.iMarkMessageReadOn == MarkMsgReadOn::markOnReply); m_cbMarkMessageOnTyping.SetState(m_proto->m_vkOptions.iMarkMessageReadOn == MarkMsgReadOn::markOnTyping); m_cbSyncHistoryOff.SetState(m_proto->m_vkOptions.iSyncHistoryMetod == SyncHistoryMetod::syncOff); m_cbSyncHistoryAuto.SetState(m_proto->m_vkOptions.iSyncHistoryMetod == SyncHistoryMetod::syncAuto); m_cbSyncHistoryForLast1Day.SetState(m_proto->m_vkOptions.iSyncHistoryMetod == SyncHistoryMetod::sync1Days); m_cbSyncHistoryForLast3Day.SetState(m_proto->m_vkOptions.iSyncHistoryMetod == SyncHistoryMetod::sync3Days); for (size_t i = 0; i < _countof(vkLangCodes); i++) { m_cbxVKLang.AddString(TranslateTS(vkLangCodes[i].szDescription), (LPARAM)vkLangCodes[i].szCode); if (!mir_tstrcmpi(vkLangCodes[i].szCode, m_proto->m_vkOptions.ptszVKLang)) m_cbxVKLang.SetCurSel(i); } }
static HTREEITEM AddLine(HWND hTree,TopButtonInt *b, HTREEITEM hItem, HIMAGELIST il) { TVINSERTSTRUCT tvis = { 0 }; tvis.hInsertAfter = hItem; tvis.item.mask = TVIF_PARAM | TVIF_TEXT | TVIF_STATE | TVIF_IMAGE | TVIF_SELECTEDIMAGE; int index; TCHAR* tmp; if (b->dwFlags & TTBBF_ISSEPARATOR) { tvis.item.pszText = _T("------------------"); index = -1; } else { if (b->hIconHandleUp) { HICON hIcon = IcoLib_GetIconByHandle(b->hIconHandleUp); index = ImageList_AddIcon(il, hIcon); IcoLib_ReleaseIcon(hIcon); } else index = ImageList_AddIcon(il, b->hIconUp); tmp = mir_a2t( b->pszName ); tvis.item.pszText = TranslateTS(tmp); } tvis.item.iImage = tvis.item.iSelectedImage = index; tvis.item.lParam = (LPARAM)b; HTREEITEM hti = TreeView_InsertItem(hTree, &tvis); if (!(b->dwFlags & TTBBF_ISSEPARATOR)) mir_free(tmp); TreeView_SetCheckState(hTree, hti, b->isVisible()); return hti; }
static HWND sttCreateToolBarFrame( HWND hwndParent, char * szCaption, int nHeight ) { TCHAR * Caption=mir_a2t(szCaption); HWND hwnd=CreateWindow(_T(MIRANDATOOLBARCLASSNAME), TranslateTS(Caption), WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN,0,0,0,nHeight,hwndParent,NULL,g_hInst, (void*) szCaption); mir_free(Caption); return hwnd; }
/** * name: ItemLabel * class: CPsTreeItem * desc: returns the label for a given item. The returned value must be freed after use! * param: pszName - uniquely identifiing string for a propertypage encoded with utf8 (e.g.: {group\item}) * return: Label in a newly allocated piece of memory **/ int CPsTreeItem::ItemLabel(const BYTE bReadDBValue) { DBVARIANT dbv; // clear existing if (_ptszLabel) mir_free(_ptszLabel); // try to get custom label from database if (!bReadDBValue || DB::Setting::GetTString(NULL, MODNAME, GlobalPropertyKey(SET_ITEM_LABEL), &dbv) || (_ptszLabel = dbv.ptszVal) == NULL) { // extract the name LPSTR pszName = mir_strrchr(_pszName, '\\'); if (pszName && pszName[1]) pszName++; else pszName = _pszName; LPTSTR ptszLabel = mir_utf8decodeT(pszName); if (ptszLabel) { _ptszLabel = mir_tstrdup(TranslateTS(ptszLabel)); mir_free(ptszLabel); } } // return nonezero if label is invalid return _ptszLabel == NULL; }
void CAnnivEditCtrl::SetZodiacAndAge(MAnnivDate *mt) { if (PtrIsValid(mt)) { int age; MZodiac zod; zod = mt->Zodiac(); if (zod.pszName != NULL) { ShowWindow(GetDlgItem(_hwndDlg, TEXT_ZODIAC), SW_SHOW); SetDlgItemText(_hwndDlg, TEXT_ZODIAC, TranslateTS(zod.pszName)); SendDlgItemMessage(_hwndDlg, IDC_ZODIAC, STM_SETIMAGE, IMAGE_ICON, (LPARAM)zod.hIcon); } else { ShowWindow(GetDlgItem(_hwndDlg, IDC_ZODIAC), SW_HIDE); ShowWindow(GetDlgItem(_hwndDlg, TEXT_ZODIAC), SW_HIDE); } if ((age = mt->Age()) > 0) { SetDlgItemInt(_hwndDlg, EDIT_AGE, age , FALSE); } } }
static int Toolbar_ModulesLoaded(WPARAM, LPARAM) { CallService(MS_BACKGROUNDCONFIG_REGISTER, (WPARAM)(LPGEN("Toolbar background")"/ToolBar"), 0); HookEvent(ME_DB_CONTACT_SETTINGCHANGED, ehhToolBarSettingsChanged); TopToolbar_SetCustomProc(CustomizeButton, 0); BYTE bOldSetting = 0; if (!db_get_b(NULL, "Compatibility", "TTB_Upgrade", 0)) { if (bOldSetting = db_get_b(NULL, "CLUI", "ShowButtonBar", 1)) { CopySettings("BUTTWIDTH", "option_Bar0_BtnWidth", 20); CopySettings("BUTTHEIGHT", "option_Bar0_BtnHeight", 20); CopySettings("BUTTGAP", "option_Bar0_BtnSpace", 1); CopySettings("BUTTAUTOSIZE", "option_Bar0_Autosize", 1); CopySettings("BUTTMULTI", "option_Bar0_Multiline", 1); db_unset(NULL, "CLUI", "ShowButtonBar"); CallService(MS_DB_MODULE_DELETE, 0, (LPARAM)"ModernToolBar"); } db_set_b(NULL, "Compatibility", "TTB_Upgrade", 1); } if (!ServiceExists(MS_TTB_REMOVEBUTTON) && bOldSetting == 1) if (IDYES == MessageBox(NULL, TranslateTS(szWarning), TranslateT("Toolbar upgrade"), MB_ICONQUESTION | MB_YESNO)) CallService(MS_UTILS_OPENURL, 0, (LPARAM)szUrl); return 0; }
void ColInOut::impl_configToUI(OptionsCtrl& Opt, OptionsCtrl::Item hGroup) { OptionsCtrl::Group hTemp; m_hSource = Opt.insertCombo(hGroup, TranslateT("Data source")); hTemp = Opt.insertGroup(hGroup, TranslateT("Display as")); m_hAbsolute = Opt.insertRadio(hTemp, NULL, TranslateT("Absolute")); m_hAbsolute = Opt.insertRadio(hTemp, m_hAbsolute, TranslateT("Average"), OptionsCtrl::OCF_DISABLECHILDSONUNCHECK); m_hAbsTime = Opt.insertRadio(m_hAbsolute, NULL, TranslateT("Units per day")); Opt.insertRadio(m_hAbsolute, m_hAbsTime, TranslateT("Units per week")); Opt.insertRadio(m_hAbsolute, m_hAbsTime, TranslateT("Units per month (30 days)")); static const TCHAR* sourceTexts[] = { LPGENT("Characters (incoming)"), LPGENT("Characters (outgoing)"), LPGENT("Characters (all)"), LPGENT("Messages (incoming)"), LPGENT("Messages (outgoing)"), LPGENT("Messages (all)"), LPGENT("Chats (incoming)"), LPGENT("Chats (outgoing)"), LPGENT("Chats (all)"), }; array_each_(i, sourceTexts) { Opt.addComboItem(m_hSource, TranslateTS(sourceTexts[i])); }
void CSendHTTPServer::SendThread() { INT_PTR ret; if (ServiceExists(MS_HTTP_GET_LINK)) { //patched plugin version ret = CallService(MS_HTTP_ADD_CHANGE_REMOVE, (WPARAM)m_hContact, (LPARAM)&m_fsi); if (!ret) { mir_free(m_URL); m_URL = (char*)CallService(MS_HTTP_GET_LINK, (WPARAM)m_fsi.pszSrvPath, NULL); } } else { //original plugin m_fsi.dwOptions = OPT_SEND_LINK; //send DATA and wait for reply ret = CallService(MS_HTTP_ADD_CHANGE_REMOVE, (WPARAM)m_hContact, (LPARAM)&m_fsi); } if (ret != 0) { Error(LPGENT("%s (%i):\nCould not add a share to the HTTP Server plugin."), TranslateTS(m_pszSendTyp), ret); Exit(ret); return; } //Share the file by HTTP Server plugin, SendSS does not own the file anymore = auto-delete won't work m_bDeleteAfterSend = false; if (m_URL && *m_URL) { svcSendMsgExit(m_URL); return; } Exit(ACKRESULT_FAILED); }
static void GetObjectSummary(DBEVENTINFO *dbei, TCHAR* str, int cbStr) { TCHAR* pszSrc, *pszTmp = NULL; switch(dbei->eventType) { case EVENTTYPE_MESSAGE: if (dbei->flags & DBEF_SENT) pszSrc = TranslateT("Outgoing message"); else pszSrc = TranslateT("Incoming message"); break; case EVENTTYPE_URL: if (dbei->flags & DBEF_SENT) pszSrc = TranslateT("Outgoing URL"); else pszSrc = TranslateT("Incoming URL"); break; case EVENTTYPE_FILE: if (dbei->flags & DBEF_SENT) pszSrc = TranslateT("Outgoing file"); else pszSrc = TranslateT("Incoming file"); break; default: DBEVENTTYPEDESCR* et = (DBEVENTTYPEDESCR*)CallService(MS_DB_EVENT_GETTYPE, (WPARAM)dbei->szModule, (LPARAM)dbei->eventType); if (et && (et->flags & DETF_HISTORY)) { pszTmp = mir_a2t(et->descr); pszSrc = TranslateTS(pszTmp); break; } *str = 0; return; } _tcsncpy(str, (const TCHAR*)pszSrc, cbStr); str[cbStr-1] = 0; mir_free(pszTmp); }
BOOL CList_AddEvent(HANDLE hContact, HICON Icon, HANDLE event, int type, const TCHAR* fmt, ...) { CLISTEVENT cle; va_list marker; TCHAR* szBuf = (TCHAR*)alloca(4096 * sizeof(TCHAR)); if (!fmt || lstrlen(fmt) < 1 || lstrlen(fmt) > 2000) return FALSE; va_start(marker, fmt); _vstprintf(szBuf, fmt, marker); va_end(marker); cle.cbSize = sizeof(cle); cle.hContact = (HANDLE)hContact; cle.hDbEvent = (HANDLE)event; cle.flags = type + CLEF_TCHAR; cle.hIcon = Icon; cle.pszService = "GChat/DblClickEvent" ; cle.ptszTooltip = TranslateTS(szBuf); if (type) { if (!CallService(MS_CLIST_GETEVENT, (WPARAM)hContact, (LPARAM)0)) CallService(MS_CLIST_ADDEVENT, (WPARAM) hContact, (LPARAM) &cle); } else { if (CallService(MS_CLIST_GETEVENT, (WPARAM)hContact, (LPARAM)0)) CallService(MS_CLIST_REMOVEEVENT, (WPARAM)hContact, (LPARAM)"chaticon"); CallService(MS_CLIST_ADDEVENT, (WPARAM) hContact, (LPARAM) &cle); } return TRUE; }
BOOL CList_AddEvent(HANDLE hContact, HICON hIcon, HANDLE hEvent, int type, TCHAR* fmt, ... ) { CLISTEVENT cle = {0}; va_list marker; TCHAR szBuf[4096]; if (!fmt || !fmt[0] || _tcslen(fmt) > 2000) return FALSE; va_start(marker, fmt); _vsntprintf(szBuf, SIZEOF(szBuf), fmt, marker); va_end(marker); cle.cbSize = sizeof(cle); cle.hContact = hContact; cle.hDbEvent = hEvent; cle.flags = type | CLEF_TCHAR; cle.hIcon = hIcon; cle.pszService = "GChat/DblClickEvent" ; cle.ptszTooltip = TranslateTS(szBuf); if (type) { if (!CallService(MS_CLIST_GETEVENT, (WPARAM)hContact, 0)) CallService(MS_CLIST_ADDEVENT, (WPARAM) hContact, (LPARAM) &cle); } else { if (CallService(MS_CLIST_GETEVENT, (WPARAM)hContact, 0)) CallService(MS_CLIST_REMOVEEVENT, (WPARAM)hContact, (LPARAM)hEvent); CallService(MS_CLIST_ADDEVENT, (WPARAM)hContact, (LPARAM)&cle); } return TRUE; }
/** * Displays a popup * * @param hContact - contact to display popup for * @param eventType - indicates which popup settings to apply * @param DaysToAnniv - days left until anniversary occures * @param pszDesc - this is the headline * @param szMsg - message to display * * @return return value of the popup service **/ static INT NotifyWithPopup(HANDLE hContact, CEvent::EType eventType, INT DaysToAnniv, LPCTSTR pszDesc, LPCTSTR pszMsg) { if (gRemindOpts.bPopups) { POPUPDATAT_V2 ppd; ZeroMemory(&ppd, sizeof(POPUPDATAT_V2)); ppd.PluginWindowProc = (WNDPROC)PopupWindowProc; ppd.iSeconds = (INT)DB::Setting::GetByte(SET_POPUP_DELAY, 0); if (hContact) { ppd.lchContact = hContact; mir_sntprintf(ppd.lptzContactName, SIZEOF(ppd.lptzContactName), _T("%s - %s"), TranslateTS(pszDesc), DB::Contact::DisplayName(hContact)); } else { mir_tcsncpy(ppd.lptzContactName, TranslateT("Reminder"), SIZEOF(ppd.lptzContactName)); } mir_tcsncpy(ppd.lptzText, pszMsg, MAX_SECONDLINE); ppd.lchIcon = GetAnnivIcon(CEvent(eventType, DaysToAnniv)); switch (eventType) { case CEvent::BIRTHDAY: switch (DB::Setting::GetByte(SET_POPUP_BIRTHDAY_COLORTYPE, POPUP_COLOR_CUSTOM)) { case POPUP_COLOR_WINDOWS: ppd.colorBack = GetSysColor(COLOR_BTNFACE); ppd.colorText = GetSysColor(COLOR_WINDOWTEXT); break; case POPUP_COLOR_CUSTOM: ppd.colorBack = DB::Setting::GetDWord(SET_POPUP_BIRTHDAY_COLOR_BACK, RGB(192,180,30)); ppd.colorText = DB::Setting::GetDWord(SET_POPUP_BIRTHDAY_COLOR_TEXT, 0); break; } break; case CEvent::ANNIVERSARY: switch (DB::Setting::GetByte(SET_POPUP_ANNIVERSARY_COLORTYPE, POPUP_COLOR_CUSTOM)) { case POPUP_COLOR_WINDOWS: ppd.colorBack = GetSysColor(COLOR_BTNFACE); ppd.colorText = GetSysColor(COLOR_WINDOWTEXT); break; case POPUP_COLOR_CUSTOM: ppd.colorBack = DB::Setting::GetDWord(SET_POPUP_ANNIVERSARY_COLOR_BACK, RGB(90, 190, 130)); ppd.colorText = DB::Setting::GetDWord(SET_POPUP_ANNIVERSARY_COLOR_TEXT, 0); break; } } return PUAddPopUpT(&ppd); } return 1; }
LPTSTR CModeMessHandler::GetDefaultMessage(INT status) { switch (status) { case ID_STATUS_AWAY: return TranslateTS(TEXT("I've been away since %time%.")); case ID_STATUS_NA: return TranslateTS(TEXT("Give it up, I'm not in!")); case ID_STATUS_OCCUPIED: return TranslateTS(TEXT("Not right now.")); case ID_STATUS_DND: return TranslateTS(TEXT("Give a guy some peace, would ya?")); case ID_STATUS_FREECHAT: return TranslateTS(TEXT("Well, I would talk to you if Miranda NG supported chat")); case ID_STATUS_ONLINE: return TranslateTS(TEXT("Yep, I'm here.")); case ID_STATUS_OFFLINE: return TranslateTS(TEXT("Nope, not here.")); case ID_STATUS_INVISIBLE: return TranslateTS(TEXT("I'm hiding from the mafia.")); case ID_STATUS_ONTHEPHONE: return TranslateTS(TEXT("That'll be the phone.")); case ID_STATUS_OUTTOLUNCH: return TranslateTS(TEXT("Mmm... food.")); } return NULL; }
static void SetDialogField(CJabberProto *ppro, HWND hwndDlg, int nDlgItem, char* key, bool bTranslate = false) { ptrT tszValue(ppro->getTStringA(key)); if (tszValue != NULL) SetDlgItemText(hwndDlg, nDlgItem, (bTranslate) ? TranslateTS(tszValue) : tszValue); else SetDlgItemTextA(hwndDlg, nDlgItem, ""); }