void SendQueue::NotifyDeliveryFailure(const TWindowData *dat) { if (M.GetByte("adv_noErrorPopups", 0)) return; if (CallService(MS_POPUP_QUERY, PUQS_GETSTATUS, 0) != 1) return; POPUPDATAT ppd = { 0 }; ppd.lchContact = dat->hContact; _tcsncpy_s(ppd.lptzContactName, dat->cache->getNick(), _TRUNCATE); _tcsncpy_s(ppd.lptzText, TranslateT("A message delivery has failed.\nClick to open the message window."), _TRUNCATE); if (!(BOOL)M.GetByte(MODULE, OPT_COLDEFAULT_ERR, TRUE)) { ppd.colorText = (COLORREF)M.GetDword(MODULE, OPT_COLTEXT_ERR, DEFAULT_COLTEXT); ppd.colorBack = (COLORREF)M.GetDword(MODULE, OPT_COLBACK_ERR, DEFAULT_COLBACK); } else ppd.colorText = ppd.colorBack = 0; ppd.PluginWindowProc = Utils::PopupDlgProcError; ppd.lchIcon = PluginConfig.g_iconErr; ppd.PluginData = 0; ppd.iSeconds = (int)M.GetDword(MODULE, OPT_DELAY_ERR, (DWORD)DEFAULT_DELAY); PUAddPopupT(&ppd); }
void ShowPopup(SHOWPOPUP_DATA *sd) { TCString PopupText; if (sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_SHOWPREVCLIENT)) { mir_snwprintf(PopupText.GetBuffer(MAX_MSG_LEN), MAX_MSG_LEN, TranslateT("changed client to %s (was %s)"), (const wchar_t*)sd->MirVer, (const wchar_t*)sd->OldMirVer); PopupText.ReleaseBuffer(); } else { mir_snwprintf(PopupText.GetBuffer(MAX_MSG_LEN), MAX_MSG_LEN, TranslateT("changed client to %s"), (const wchar_t*)sd->MirVer); PopupText.ReleaseBuffer(); } PLUGIN_DATA *pdata = (PLUGIN_DATA*)calloc(1, sizeof(PLUGIN_DATA)); POPUPDATAT ppd = { 0 }; ppd.lchContact = sd->hContact; char *szProto = GetContactProto(sd->hContact); pdata->hIcon = ppd.lchIcon = Finger_GetClientIcon(sd->MirVer, false); _ASSERT(ppd.lchIcon); if (!ppd.lchIcon || (INT_PTR)ppd.lchIcon == CALLSERVICE_NOTFOUND) { // if we didn't succeed retrieving client icon, show the usual status icon instead ppd.lchIcon = Skin_LoadProtoIcon(szProto, db_get_w(sd->hContact, szProto, "Status", ID_STATUS_OFFLINE)); pdata->hIcon = nullptr; } wcsncpy(ppd.lptzContactName, Clist_GetContactDisplayName(sd->hContact), _countof(ppd.lptzContactName) - 1); wcsncpy(ppd.lptzText, PopupText, _countof(ppd.lptzText) - 1); ppd.colorBack = (sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_DEFBGCOLOUR) ? 0 : sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_BGCOLOUR)); ppd.colorText = (sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_DEFTEXTCOLOUR) ? 0 : sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_TEXTCOLOUR)); ppd.PluginWindowProc = PopupWndProc; pdata->PopupLClickAction = sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_LCLICK_ACTION); pdata->PopupRClickAction = sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_RCLICK_ACTION); ppd.iSeconds = sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_POPUPDELAY); ppd.PluginData = pdata; PUAddPopupT(&ppd); }
void ShowPopup(SHOWPOPUP_DATA *sd) { TCString PopupText; if (sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_SHOWPREVCLIENT)) { mir_sntprintf(PopupText.GetBuffer(MAX_MSG_LEN), MAX_MSG_LEN, TranslateT("changed client to %s (was %s)"), (const TCHAR*)sd->MirVer, (const TCHAR*)sd->OldMirVer); PopupText.ReleaseBuffer(); } else { mir_sntprintf(PopupText.GetBuffer(MAX_MSG_LEN), MAX_MSG_LEN, TranslateT("changed client to %s"), (const TCHAR*)sd->MirVer); PopupText.ReleaseBuffer(); } PLUGIN_DATA *pdata = (PLUGIN_DATA*)calloc(1, sizeof(PLUGIN_DATA)); POPUPDATAT ppd = {0}; ppd.lchContact = sd->hContact; char *szProto = GetContactProto(sd->hContact); pdata->hIcon = ppd.lchIcon = Finger_GetClientIcon(sd->MirVer, false); _ASSERT(ppd.lchIcon); if (!ppd.lchIcon || (DWORD)ppd.lchIcon == CALLSERVICE_NOTFOUND) { // if we didn't succeed retrieving client icon, show the usual status icon instead ppd.lchIcon = LoadSkinnedProtoIcon(szProto, db_get_w(sd->hContact, szProto, "Status", ID_STATUS_OFFLINE)); pdata->hIcon = NULL; } _tcsncpy(ppd.lptzContactName, (TCHAR*)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)sd->hContact, GCDNF_TCHAR), lengthof(ppd.lptzContactName) - 1); _tcsncpy(ppd.lptzText, PopupText, lengthof(ppd.lptzText) - 1); ppd.colorBack = (sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_DEFBGCOLOUR) ? 0 : sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_BGCOLOUR)); ppd.colorText = (sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_DEFTEXTCOLOUR) ? 0 : sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_TEXTCOLOUR)); ppd.PluginWindowProc = PopupWndProc; pdata->PopupLClickAction = sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_LCLICK_ACTION); pdata->PopupRClickAction = sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_RCLICK_ACTION); ppd.iSeconds = sd->PopupOptPage->GetValue(IDC_POPUPOPTDLG_POPUPDELAY); ppd.PluginData = pdata; PUAddPopupT(&ppd); }
void TwitterProto::ShowContactPopup(HANDLE hContact,const std::string &text) { if(!ServiceExists(MS_POPUP_ADDPOPUPT) || db_get_b(0,m_szModuleName,TWITTER_KEY_POPUP_SHOW,0) == 0) { return; } POPUPDATAT popup = {}; popup.lchContact = hContact; popup.iSeconds = db_get_dw(0,m_szModuleName,TWITTER_KEY_POPUP_TIMEOUT,0); popup.colorBack = db_get_dw(0,m_szModuleName,TWITTER_KEY_POPUP_COLBACK,0); if(popup.colorBack == 0xFFFFFFFF) popup.colorBack = GetSysColor(COLOR_WINDOW); popup.colorText = db_get_dw(0,m_szModuleName,TWITTER_KEY_POPUP_COLTEXT,0); if(popup.colorBack == 0xFFFFFFFF) popup.colorBack = GetSysColor(COLOR_WINDOWTEXT); DBVARIANT dbv; if( !db_get_ts(hContact,"CList","MyHandle",&dbv) || !db_get_ts(hContact,m_szModuleName,TWITTER_KEY_UN,&dbv)) { _tcsncpy(popup.lptzContactName,dbv.ptszVal,MAX_CONTACTNAME); db_free(&dbv); } mbcs_to_tcs(CP_UTF8,text.c_str(),popup.lptzText,MAX_SECONDLINE); PUAddPopupT(&popup); }
void _popupUtil(char* szMsg) { POPUPDATAT ppd = {0}; ppd.lchIcon = hiMailIcon; _tcscpy(ppd.lptzContactName, _T("Exchange notifier")); _tcscpy(ppd.lptzText, mir_a2t(szMsg)); PUAddPopupT(&ppd); //show a popup to tell the user what we're doing. }
void CALLBACK sttMainThreadCallback(ULONG_PTR dwParam) { POPUPDATAT* ppd = (POPUPDATAT*)dwParam; if (ServiceExists(MS_POPUP_ADDPOPUPT)) PUAddPopupT(ppd); free(ppd); }
void PopupNotifyNoBirthdays() { POPUPDATAT pd = {0}; FillPopupData(pd, -1); pd.lchIcon = GetDTBIcon(-1); _tcscpy(pd.lptzContactName, TranslateT("WhenWasIt")); _tcscpy(pd.lptzText, TranslateT("No upcoming birthdays.")); PUAddPopupT(&pd); }
void ShowPopupMessage(const TCHAR *title, const TCHAR *message, HANDLE icon) { POPUPDATAT pd = { 0 }; pd.lchIcon = IcoLib_GetIconByHandle(icon); _tcsncpy_s(pd.lptzContactName, title, _TRUNCATE); _tcsncpy_s(pd.lptzText, message, _TRUNCATE); pd.colorText = commonData.foreground; pd.colorBack = commonData.background; PUAddPopupT(&pd); }
void ShowPopupMessage(TCHAR *title, TCHAR *message, HANDLE icon) { POPUPDATAT pd = { 0 }; pd.lchIcon = IcoLib_GetIconByHandle(icon); _tcsncpy(pd.lptzContactName, title, MAX_CONTACTNAME - 1); _tcsncpy(pd.lptzText, message, MAX_SECONDLINE - 1); pd.colorText = commonData.foreground; pd.colorBack = commonData.background; PUAddPopupT(&pd); }
void ShowPopup(TCHAR* text, TCHAR* header) { POPUPDATAT ppd = {0}; lstrcpy(ppd.lptzText, text); lstrcpy(ppd.lptzContactName, header); ppd.lchIcon = Skin_GetIconByHandle(iconList[0].hIcolib); PUAddPopupT(&ppd); }
void ShowPopupMessage(TCHAR *title, TCHAR *message, HANDLE icon) { POPUPDATAT pd = {0}; pd.lchIcon = Skin_GetIconByHandle(icon); _tcscpy(pd.lptzContactName, title); _tcscpy(pd.lptzText, message); pd.colorText = commonData.foreground; pd.colorBack = commonData.background; PUAddPopupT(&pd); }
void Log(const TCHAR* message) { if (ServiceExists(MS_POPUP_ADDPOPUPT)) { POPUPDATAT pu = {0}; pu.lchIcon = hiVIIcon; _tcsncpy(pu.lptzContactName, TranslateT("Version Information"), MAX_CONTACTNAME); _tcsncpy(pu.lptzText, message, MAX_SECONDLINE); PUAddPopupT(&pu); } else MessageBox(NULL, message, _T("VersionInfo"), MB_OK | MB_ICONINFORMATION); }
void ReportError(const TCHAR* errmsg) { static const TCHAR title[] = _T("Miranda SmileyAdd"); POPUPDATAT pd = {0}; _tcscpy(pd.lpwzContactName, title); _tcscpy(pd.lpwzText, errmsg); pd.iSeconds = -1; if (PUAddPopupT(&pd) == CALLSERVICE_NOTFOUND) MessageBox(NULL, errmsg, title, MB_OK | MB_ICONWARNING | MB_TOPMOST); }
static bool DoAddPopup(POPUPDATAT *data) { if (ReadCheckbox(0, IDC_POPUPSINFULLSCREEN, (DWORD)TlsGetValue(itlsSettings)) && IsFullScreen()) { HWND handle = CreateWindowEx(WS_EX_TOOLWINDOW, TEMP_WINDOW_CLASS_NAME, NULL, WS_OVERLAPPED | WS_VISIBLE, -100, -100, 10, 10, 0, 0, 0, 0); if (handle) { ShowWindow(handle, SW_MINIMIZE); ShowWindow(handle, SW_RESTORE); } DestroyWindow(handle); } return PUAddPopupT(data) == 0; }
int ShowPopupMessage(TCHAR *title, TCHAR *message, int cUnreadEmails) { POPUPDATAT popup = {0}; popup.lchContact = NULL; popup.colorBack = NULL; popup.colorText = NULL; popup.lchIcon = hiMailIcon; _tcsncpy_s(popup.lptzContactName, MAX_CONTACTNAME, title, _TRUNCATE); _tcsncpy_s(popup.lptzText, MAX_SECONDLINE, message, _TRUNCATE); popup.PluginWindowProc = DlgProcPopup; popup.PluginData = (int *) cUnreadEmails; return PUAddPopupT(&popup); }
void ShowPopup(TCHAR* ptszText, TCHAR* ptszHeader, TCHAR* ptszPath) { POPUPDATAT ppd = { 0 }; _tcsncpy_s(ppd.lptzText, ptszText, _TRUNCATE); _tcsncpy_s(ppd.lptzContactName, ptszHeader, _TRUNCATE); if (ptszPath != NULL) ppd.PluginData = (void*)mir_tstrdup(ptszPath); ppd.PluginWindowProc = DlgProcPopup; ppd.lchIcon = IcoLib_GetIcon(iconList[0].szName); PUAddPopupT(&ppd); }
static void MailPopupPreview(DWORD colorBack, DWORD colorText, TCHAR *title, TCHAR *emailInfo, int delay) { POPUPDATAT ppd = { 0 }; HICON hIcon = GetIcolibIcon(IDI_MAIL); ppd.lchIcon = CopyIcon(hIcon); ReleaseIcolibIcon(hIcon); _tcscpy(ppd.lptzContactName, title); _tcscpy(ppd.lptzText, emailInfo); ppd.colorBack = colorBack; ppd.colorText = colorText; ppd.iSeconds = delay; if ( ServiceExists(MS_POPUP_ADDPOPUPT)) PUAddPopupT(&ppd); }
static INT_PTR AdvSt() { if ((Enabled == 1)){ POPUPDATAT ppd = {0}; TCHAR * lptzText =L""; db_set_b(NULL, "Skin", "UseSound", 0); EnablePopupModule(); if (PopUp == 1) { lptzText = NonStatusAllow == 1 ? ALL_DISABLED_FLT : ALL_DISABLED; ppd.lchIcon = (HICON)CallService(MS_SKIN2_GETICONBYHANDLE, 0, (LPARAM)(NonStatusAllow == 1 ? GetIconHandle(ALL_ENABLED_FLT) : GetIconHandle(MENU_NAME))); ppd.lchContact = NULL; ppd.iSeconds = PopUpTime; wcsncpy_s(ppd.lptzText, lptzText, size_t(lptzText)); lptzText = TranslateT(MENU_NAME); wcsncpy_s(ppd.lptzContactName, lptzText, size_t(lptzText)); PUAddPopupT(&ppd); } timer = 2; Sleep(delay * 1000); timer = 0; if (PopUp == 1) { lptzText = (DefEnabled == 1 && DefPopup == 1) ? TranslateT(ALL_ENABLED_FLT) : ALL_ENABLED; ppd.lchIcon = (HICON)CallService(MS_SKIN2_GETICONBYHANDLE, 0, (LPARAM)((DefEnabled == 1 && DefPopup == 1) ? GetIconHandle(ALL_ENABLED_FLT) : GetIconHandle(MENU_NAME))); wcsncpy_s(ppd.lptzText, lptzText, size_t(lptzText)); PUAddPopupT(&ppd); } if (DefEnabled == 1) { //predefined sound setting db_set_b(NULL, "Skin", "UseSound", DefSound); } else db_set_b(NULL, "Skin", "UseSound", 1); //or enable sounds every starts } return 0; }
int ShowPopupPreview(HWND optDlg, BYTE popupType, TCHAR *line1, TCHAR *line2) { POPUPDATAT ppdp = {0}; switch (popupType) { case POPUP_DEFAULT: ppdp.colorText = SendDlgItemMessage(optDlg,IDC_OPT_POPUPS_APPROVED_FOREGROUND,CPM_GETCOLOUR,0,0); ppdp.colorBack = SendDlgItemMessage(optDlg,IDC_OPT_POPUPS_APPROVED_BACKGROUND,CPM_GETCOLOUR,0,0); break; case POPUP_BLOCKED: ppdp.colorText = SendDlgItemMessage(optDlg,IDC_OPT_POPUPS_BLOCKED_FOREGROUND,CPM_GETCOLOUR,0,0); ppdp.colorBack = SendDlgItemMessage(optDlg,IDC_OPT_POPUPS_BLOCKED_BACKGROUND,CPM_GETCOLOUR,0,0); ppdp.iSeconds = GetDlgItemInt(optDlg, IDC_OPT_POPUPS_BLOCKED_TIMEOUT, NULL, TRUE); ppdp.lchIcon = LoadSkinnedIcon(SKINICON_OTHER_DELETE); break; case POPUP_APPROVED: ppdp.colorText = SendDlgItemMessage(optDlg,IDC_OPT_POPUPS_APPROVED_FOREGROUND,CPM_GETCOLOUR,0,0); ppdp.colorBack = SendDlgItemMessage(optDlg,IDC_OPT_POPUPS_APPROVED_BACKGROUND,CPM_GETCOLOUR,0,0); ppdp.iSeconds = GetDlgItemInt(optDlg, IDC_OPT_POPUPS_APPROVED_TIMEOUT, NULL, TRUE); ppdp.lchIcon = LoadSkinnedIcon(SKINICON_OTHER_ADDCONTACT); break; case POPUP_CHALLENGE: ppdp.colorText = SendDlgItemMessage(optDlg,IDC_OPT_POPUPS_CHALLENGE_FOREGROUND,CPM_GETCOLOUR,0,0); ppdp.colorBack = SendDlgItemMessage(optDlg,IDC_OPT_POPUPS_CHALLENGE_BACKGROUND,CPM_GETCOLOUR,0,0); ppdp.iSeconds = GetDlgItemInt(optDlg, IDC_OPT_POPUPS_CHALLENGE_TIMEOUT, NULL, TRUE); ppdp.lchIcon = LoadSkinnedIcon(SKINICON_EVENT_MESSAGE); break; } if (SendDlgItemMessage(optDlg, IDC_OPT_POPUPS_WINDOWS_COLORS, BM_GETCHECK, 0, 0)) { ppdp.colorText = GetSysColor(COLOR_WINDOWTEXT); ppdp.colorBack = GetSysColor(COLOR_WINDOW); } if (SendDlgItemMessage(optDlg, IDC_OPT_POPUPS_DEFAULT_COLORS, BM_GETCHECK, 0, 0)) { ppdp.colorText = NULL; ppdp.colorBack = NULL; } if (ppdp.iSeconds < 1) ppdp.iSeconds = -1; if (SendDlgItemMessage(optDlg, IDC_OPT_POPUPS_DEFAULT_TIMEOUT, BM_GETCHECK, 0, 0) || popupType == POPUP_DEFAULT) ppdp.iSeconds = 0; ppdp.lchContact = NULL; mir_sntprintf(ppdp.lptzContactName, MAX_CONTACTNAME, _T("%s"), (line1)?line1:_T(PLUGIN_NAME)); if (line2) mir_sntprintf(ppdp.lptzText, MAX_SECONDLINE, _T("%s"), line2); return PUAddPopupT(&ppdp); }
void TwitterProto::ShowPopup(const char *text, int Error) { POPUPDATAT popup = {}; mir_sntprintf(popup.lptzContactName, TranslateT("%s Protocol"), m_tszUserName); mbcs_to_tcs(CP_UTF8, text, popup.lptzText, _countof(popup.lptzText)); if (Error) { popup.iSeconds = -1; popup.colorBack = 0x000000FF; popup.colorText = 0x00FFFFFF; } if (ServiceExists(MS_POPUP_ADDPOPUPT)) PUAddPopupT(&popup); else MessageBox(0, popup.lptzText, popup.lptzContactName, 0); }
int ShowPopup(HANDLE hContact, BYTE popupType, TCHAR *line1, TCHAR *line2) { POPUPDATAT ppdp = {0}; switch (popupType) { case POPUP_DEFAULT: ppdp.colorText = _getOptD("PopupApprovedForeground", defaultPopupApprovedForeground); ppdp.colorBack = _getOptD("PopupApprovedBackground", defaultPopupApprovedBackground); break; case POPUP_BLOCKED: ppdp.colorText = _getOptD("PopupBlockedForeground", defaultPopupBlockedForeground); ppdp.colorBack = _getOptD("PopupBlockedBackground", defaultPopupBlockedBackground); ppdp.iSeconds = _getOptD("PopupBlockedTimeout", defaultPopupBlockedTimeout); ppdp.lchIcon = LoadSkinnedIcon(SKINICON_OTHER_DELETE); break; case POPUP_APPROVED: ppdp.colorText = _getOptD("PopupApprovedForeground", defaultPopupApprovedForeground); ppdp.colorBack = _getOptD("PopupApprovedBackground", defaultPopupApprovedBackground); ppdp.iSeconds = _getOptD("PopupApprovedTimeout", defaultPopupApprovedTimeout); ppdp.lchIcon = LoadSkinnedIcon(SKINICON_OTHER_ADDCONTACT); break; case POPUP_CHALLENGE: ppdp.colorText = _getOptD("PopupChallengeForeground", defaultPopupChallengeForeground); ppdp.colorBack = _getOptD("PopupChallengeBackground", defaultPopupChallengeBackground); ppdp.iSeconds = _getOptD("PopupChallengeTimeout", defaultPopupChallengeTimeout); ppdp.lchIcon = LoadSkinnedIcon(SKINICON_EVENT_MESSAGE); break; } if (_getOptB("PopupWindowsColors", defaultPopupWindowsColors)) { ppdp.colorText = GetSysColor(COLOR_WINDOWTEXT); ppdp.colorBack = GetSysColor(COLOR_WINDOW); } if (_getOptB("PopupDefaultColors", defaultPopupDefaultColors)) { ppdp.colorText = NULL; ppdp.colorBack = NULL; } if (ppdp.iSeconds < 1) ppdp.iSeconds = -1; if (_getOptB("PopupDefaultTimeout", defaultPopupDefaultTimeout) || popupType == POPUP_DEFAULT) ppdp.iSeconds = 0; ppdp.lchContact = hContact; mir_sntprintf(ppdp.lptzContactName, MAX_CONTACTNAME, _T("%s"), (line1)?line1:_T(PLUGIN_NAME)); if (line2) mir_sntprintf(ppdp.lptzText, MAX_SECONDLINE, _T("%s"), line2); return PUAddPopupT(&ppdp); }
//show popup void showMsg(TCHAR *pName, DWORD pid,TCHAR *intIp,TCHAR *extIp,int intPort,int extPort,int state) { POPUPDATAT ppd; //hContact = A_VALID_HANDLE_YOU_GOT_FROM_SOMEWHERE; //hIcon = A_VALID_HANDLE_YOU_GOT_SOMEWHERE; //char * lpzContactName = (char*)CallService(MS_CLIST_GETCONTACTDISPLAYNAME,(WPARAM)lhContact,0); //99% of the times you'll just copy this line. //1% of the times you may wish to change the contact's name. I don't know why you should, but you can. //char * lpzText; //The text for the second line. You could even make something like: char lpzText[128]; lstrcpy(lpzText, "Hello world!"); It's your choice. struct CONNECTION *mpd = (struct CONNECTION*)mir_alloc(sizeof(struct CONNECTION)); //MessageBox(NULL,"aaa","aaa",1); ZeroMemory(&ppd, sizeof(ppd)); //This is always a good thing to do. ppd.lchContact = NULL;//(HANDLE)hContact; //Be sure to use a GOOD handle, since this will not be checked. ppd.lchIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICON1)); if (settingResolveIp) { TCHAR hostName[128]; getDnsName(extIp, hostName, SIZEOF(hostName)); mir_sntprintf(ppd.lptzText,MAX_SECONDLINE,_T("%s:%d\n%s:%d"),hostName,extPort,intIp,intPort); } else mir_sntprintf(ppd.lptzText,MAX_SECONDLINE,_T("%s:%d\n%s:%d"),extIp,extPort,intIp,intPort); mir_sntprintf(ppd.lptzContactName,MAX_CONTACTNAME,_T("%s (%s)"),pName,tcpStates[state-1]); if (settingSetColours) { ppd.colorBack = settingBgColor; ppd.colorText = settingFgColor; } ppd.PluginWindowProc = PopupDlgProc; ppd.iSeconds=settingInterval1; //Now the "additional" data. mir_sntprintf(mpd->strIntIp,_countof(mpd->strIntIp),_T("%s"),intIp); mir_sntprintf(mpd->strExtIp,_countof(mpd->strExtIp),_T("%s"),extIp); mir_sntprintf(mpd->PName,_countof(mpd->PName),_T("%s"),pName); mpd->intIntPort = intPort; mpd->intExtPort = extPort; mpd->Pid = pid; //Now that the plugin data has been filled, we add it to the PopUpData. ppd.PluginData = mpd; //Now that every field has been filled, we want to see the popup. PUAddPopupT(&ppd); }
void ShowPopup(LPCTSTR ptszTitle, LPCTSTR ptszText, int Number) { if (ServiceExists(MS_POPUP_ADDPOPUPT) && db_get_b(NULL, "Popup", "ModuleIsEnabled", 1)) { char setting[100]; mir_snprintf(setting, "Popups%d", Number); if (db_get_b(NULL, MODNAME, setting, DEFAULT_POPUP_ENABLED)) { POPUPDATAT pd = { 0 }; pd.lchContact = NULL; #if MIRANDA_VER >= 0x0A00 pd.lchIcon = IcoLib_GetIconByHandle(iconList[0].hIcolib); #else pd.lchIcon = IcoLib_GetIcon("check_update"); #endif if (Number == POPUP_TYPE_MSG) { pd.PluginWindowProc = PopupDlgProcRestart; pd.iSeconds = -1; } else { pd.PluginWindowProc = PopupDlgProc; pd.iSeconds = PopupOptions.Timeout; } lstrcpyn(pd.lptzText, ptszText, MAX_SECONDLINE); lstrcpyn(pd.lptzContactName, ptszTitle, MAX_CONTACTNAME); switch (PopupOptions.DefColors) { case byCOLOR_WINDOWS: pd.colorBack = GetSysColor(COLOR_BTNFACE); pd.colorText = GetSysColor(COLOR_WINDOWTEXT); break; case byCOLOR_OWN: pd.colorBack = PopupsList[Number].colorBack; pd.colorText = PopupsList[Number].colorText; break; case byCOLOR_POPUP: pd.colorBack = pd.colorText = 0; break; } PUAddPopupT(&pd); return; } } if (Number == POPUP_TYPE_ERROR) MessageBox(0, ptszText, ptszTitle, MB_ICONINFORMATION); }
// delete a send later job // CSendLaterJob::~CSendLaterJob() { if (fSuccess || fFailed) { if ((sendLater->haveErrorPopups() && fFailed) || (sendLater->haveSuccessPopups() && fSuccess)) { bool fShowPopup = true; if (fFailed && bCode == JOB_REMOVABLE) // no popups for jobs removed on user's request fShowPopup = false; /* * show a popup notification, unless they are disabled */ if (PluginConfig.g_PopupAvail && fShowPopup) { TCHAR *tszName = pcli->pfnGetContactDisplayName(hContact, 0); POPUPDATAT ppd = {0}; ppd.lchContact = hContact; mir_sntprintf(ppd.lptzContactName, MAX_CONTACTNAME, _T("%s"), tszName ? tszName : TranslateT("'(Unknown Contact)'")); TCHAR *msgPreview = Utils::GetPreviewWithEllipsis(reinterpret_cast<TCHAR *>(&pBuf[lstrlenA((char *)pBuf) + 1]), 100); if (fSuccess) { mir_sntprintf(ppd.lptzText, MAX_SECONDLINE, TranslateT("A send later job completed successfully.\nThe original message: %s"), msgPreview); mir_free(msgPreview); } else if (fFailed) { mir_sntprintf(ppd.lptzText, MAX_SECONDLINE, TranslateT("A send later job failed to complete.\nThe original message: %s"), msgPreview); mir_free(msgPreview); } /* * use message settings (timeout/colors) for success popups */ ppd.colorText = fFailed ? RGB(255, 245, 225) : nen_options.colTextMsg; ppd.colorBack = fFailed ? RGB(191, 0, 0) : nen_options.colBackMsg; ppd.PluginWindowProc = reinterpret_cast<WNDPROC>(Utils::PopupDlgProcError); ppd.lchIcon = fFailed ? PluginConfig.g_iconErr : PluginConfig.g_IconMsgEvent; ppd.PluginData = (void*)hContact; ppd.iSeconds = fFailed ? -1 : nen_options.iDelayMsg; PUAddPopupT(&ppd); } } if (fFailed && (bCode == JOB_AGE || bCode == JOB_REMOVABLE) && szId[0] == 'S') cleanDB(); mir_free(sendBuffer); mir_free(pBuf); } }
void ShowPopup(ALARM *alarm) { if ( ServiceExists(MS_POPUP_ADDPOPUPT)) { ALARM *data = new ALARM; memset(data, 0, sizeof(ALARM)); copy_alarm_data(data, alarm); POPUPDATAT ppd = { 0 }; ppd.lchIcon = hIconMenuSet; mir_tstrncpy(ppd.lptzContactName, data->szTitle, MAX_CONTACTNAME); mir_tstrncpy(ppd.lptzText, data->szDesc, MAX_SECONDLINE); ppd.PluginWindowProc = PopupAlarmDlgProc; ppd.PluginData = data; ppd.iSeconds = -1; PUAddPopupT(&ppd); } }
void TwitterProto::ShowPopup(const wchar_t *text, int Error) { POPUPDATAT popup = {}; mir_sntprintf(popup.lptzContactName, TranslateT("%s Protocol"), m_tszUserName); wcsncpy_s(popup.lptzText, text, _TRUNCATE); if (Error) { popup.iSeconds = -1; popup.colorBack = 0x000000FF; popup.colorText = 0x00FFFFFF; } if (ServiceExists(MS_POPUP_ADDPOPUPT)) PUAddPopupT(&popup); else MessageBox(0, popup.lptzText, popup.lptzContactName, 0); }
int ShowPopup(HANDLE hContact, SESSION_INFO *si, HICON hIcon, char* pszProtoName, TCHAR* pszRoomName, COLORREF crBkg, const TCHAR* fmt, ...) { POPUPDATAT pd = { 0 }; va_list marker; static TCHAR szBuf[4 * 1024]; if (!fmt || lstrlen(fmt) == 0 || lstrlen(fmt) > 2000) return 0; va_start(marker, fmt); mir_vsntprintf(szBuf, SIZEOF(szBuf), fmt, marker); va_end(marker); pd.lchContact = hContact; if (hIcon) pd.lchIcon = hIcon; else pd.lchIcon = LoadIconEx(IDI_CHANMGR, "window", 0, 0); PROTOACCOUNT *pa = ProtoGetAccount(pszProtoName); mir_sntprintf(pd.lptzContactName, MAX_CONTACTNAME - 1, _T("%s - %s"), (pa == NULL) ? _A2T(pszProtoName) : pa->tszAccountName, pcli->pfnGetContactDisplayName(hContact, 0)); lstrcpyn(pd.lptzText, TranslateTS(szBuf), MAX_SECONDLINE); pd.iSeconds = g_Settings.iPopupTimeout; if (g_Settings.iPopupStyle == 2) { pd.colorBack = 0; pd.colorText = 0; } else if (g_Settings.iPopupStyle == 3) { pd.colorBack = g_Settings.crPUBkgColour; pd.colorText = g_Settings.crPUTextColour; } else { pd.colorBack = g_Settings.crLogBackground; pd.colorText = crBkg; } pd.PluginWindowProc = PopupDlgProc; pd.PluginData = si; return PUAddPopupT(&pd); }
void CSteamProto::ShowNotification(const TCHAR *caption, const wchar_t *message, int flags, MCONTACT hContact) { if (Miranda_Terminated()) return; if (ServiceExists(MS_POPUP_ADDPOPUPT) && db_get_b(NULL, "Popup", "ModuleIsEnabled", 1)) { POPUPDATAT ppd = { 0 }; ppd.lchContact = hContact; wcsncpy(ppd.lpwzContactName, caption, MAX_CONTACTNAME); wcsncpy(ppd.lpwzText, message, MAX_SECONDLINE); ppd.lchIcon = IcoLib_GetIcon(MODULE"_main"); if (!PUAddPopupT(&ppd)) return; } MessageBox(NULL, message, caption, MB_OK | flags); }
void ShowPopup(const TCHAR* line1, const TCHAR* line2, int timeout, const MCONTACT hContact) { if(CallService(MS_SYSTEM_TERMINATED, 0, 0)) return; if ( !options.bHavePopups) { TCHAR title[256]; mir_sntprintf(title, SIZEOF(title), _T("%s Message"), _T(MODULENAME)); if(line1 && line2) { int size = int(_tcslen(line1) + _tcslen(line2) + 3); TCHAR *message = new TCHAR[size]; // newline and null terminator mir_sntprintf(message, size, _T("%s\r\n%s"), line1, line2); MessageBox( NULL, message, title, MB_OK | MB_ICONINFORMATION ); delete message; } else if(line1) { MessageBox( NULL, line1, title, MB_OK | MB_ICONINFORMATION ); } else if(line2) { MessageBox( NULL, line2, title, MB_OK | MB_ICONINFORMATION ); } return; } POPUPDATAT ppd = {0}; //memset((void *)&ppd, 0, sizeof(POPUPDATAT)); ppd.lchContact = hContact; ppd.lchIcon = NULL; if(line1 && line2) { _tcsncpy( ppd.lptzContactName, line1, MAX_CONTACTNAME-1 ); _tcsncpy( ppd.lptzText, line2, MAX_SECONDLINE-1 ); } else if(line1) _tcsncpy( ppd.lptzText, line1, MAX_SECONDLINE-1 ); else if(line2) _tcsncpy( ppd.lptzText, line2, MAX_SECONDLINE-1 ); ppd.iSeconds = timeout; ppd.PluginWindowProc = NULL; ppd.PluginData = NULL; PUAddPopupT(&ppd); }
static INT_PTR SturtupSilenceEnabled(WPARAM wParam, LPARAM lParam) { db_set_b(NULL, MODULE_NAME, EnabledComp, !Enabled); LoadSettings(); if (MenuItem == 1) UpdateMenu(); if (PopUp == 1) { TCHAR * lptzText = Enabled == 1 ? S_MODE_CHANGEDON : S_MODE_CHANGEDOFF; POPUPDATAT ppd = {0}; ppd.lchIcon = (HICON)CallService(MS_SKIN2_GETICONBYHANDLE, 0, (LPARAM)(Enabled == 1 ? GetIconHandle(ENABLE_SILENCE) : GetIconHandle(DISABLE_SILENCE))); ppd.lchContact = NULL; ppd.iSeconds = PopUpTime; wcsncpy_s(ppd.lptzText, lptzText, size_t(lptzText)); lptzText = TranslateT(MENU_NAME); wcsncpy_s(ppd.lptzContactName, lptzText, size_t(lptzText)); PUAddPopupT(&ppd); } return 0; }