summaryrefslogtreecommitdiff
path: root/protocols/MRA/MraPopUp.cpp
diff options
context:
space:
mode:
authorKirill Volinsky <mataes2007@gmail.com>2012-10-13 08:54:34 +0000
committerKirill Volinsky <mataes2007@gmail.com>2012-10-13 08:54:34 +0000
commitde6eb3e4bc30eff928dc932c03812ede3077926a (patch)
tree966a57948af890b1c47699e5ec0db23a26a7add9 /protocols/MRA/MraPopUp.cpp
parent870d3d99c22c77a94a352ad292ed67e8eb81edf0 (diff)
MRA: folders restructurization
git-svn-id: http://svn.miranda-ng.org/main/trunk@1900 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/MRA/MraPopUp.cpp')
-rw-r--r--protocols/MRA/MraPopUp.cpp309
1 files changed, 0 insertions, 309 deletions
diff --git a/protocols/MRA/MraPopUp.cpp b/protocols/MRA/MraPopUp.cpp
deleted file mode 100644
index af399eee9e..0000000000
--- a/protocols/MRA/MraPopUp.cpp
+++ /dev/null
@@ -1,309 +0,0 @@
-#include "Mra.h"
-#include "MraPopUp.h"
-
-#define POPUPS_TYPES_COUNT 7
-static LPCWSTR lpcwszPopupsTypes[] =
-{
- L"None",
- L"Debug",
- L"Information",
- L"Question",
- L"Warning",
- L"Error",
- L"NewMail",
- NULL
-};
-
-INT_PTR CALLBACK MraPopupDlgProcOpts(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- CMraProto *ppro = (CMraProto*)GetWindowLongPtr(hWndDlg, GWLP_USERDATA);
-
- switch (msg) {
- case WM_INITDIALOG:
- TranslateDialogDefault(hWndDlg);
- SetWindowLongPtr(hWndDlg, GWLP_USERDATA, lParam);
- ppro = (CMraProto*)lParam;
- {
- HWND hWndCombo = GetDlgItem(hWndDlg, IDC_COMBO_POPUP_TYPE);
- SendMessage(hWndCombo, CB_RESETCONTENT, 0, 0);
-
- for (size_t i = 0; i < POPUPS_TYPES_COUNT; i++) {
- DWORD dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)TranslateW(lpcwszPopupsTypes[i]));
- SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, i);
- }
- SendMessage(hWndCombo, CB_SETCURSEL, 0, 0);
- SendMessage(hWndDlg, WM_COMMAND, MAKELONG(IDC_COMBO_POPUP_TYPE, CBN_SELCHANGE), 0);
- }
- return TRUE;
-
- case WM_COMMAND:
- switch (LOWORD(wParam)) {
- case IDC_COMBO_POPUP_TYPE:
- if (HIWORD(wParam) == CBN_SELCHANGE) {
- BOOL bEnabled, bUseWinColors;
- char szBuff[MAX_PATH];
- DWORD dwType = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_COMBO_POPUP_TYPE);
-
- bEnabled = GetBit(ppro->mraGetDword(NULL, "PopupsEventFilter", MRA_DEFAULT_POPUPS_EVENT_FILTER), dwType);
- CHECK_DLG_BUTTON(hWndDlg, IDC_CHK_ENABLE, bEnabled);
-
- mir_snprintf(szBuff, SIZEOF(szBuff), "PopupType%SUseWinColors", lpcwszPopupsTypes[dwType]);
- bUseWinColors = ppro->mraGetByte(NULL, szBuff, MRA_DEFAULT_POPUP_USE_WIN_COLORS);
- CHECK_DLG_BUTTON(hWndDlg, IDC_CHK_USE_WIN_COLORS, bUseWinColors);
- EnableWindow(GetDlgItem(hWndDlg, IDC_CHK_USE_WIN_COLORS), bEnabled);
-
- mir_snprintf(szBuff, SIZEOF(szBuff), "PopupType%SColorBack", lpcwszPopupsTypes[dwType]);
- SEND_DLG_ITEM_MESSAGE(hWndDlg, IDC_POPUP_BACKCOLOR, CPM_SETCOLOUR, 0, ppro->mraGetDword(NULL, szBuff, MRA_DEFAULT_POPUP_COLOR_BACK));
- EnableWindow(GetDlgItem(hWndDlg, IDC_POPUP_BACKCOLOR), (bEnabled && bUseWinColors == FALSE));
-
- mir_snprintf(szBuff, SIZEOF(szBuff), "PopupType%SColorText", lpcwszPopupsTypes[dwType]);
- SEND_DLG_ITEM_MESSAGE(hWndDlg, IDC_POPUP_TEXTCOLOR, CPM_SETCOLOUR, 0, ppro->mraGetDword(NULL, szBuff, MRA_DEFAULT_POPUP_COLOR_TEXT));
- EnableWindow(GetDlgItem(hWndDlg, IDC_POPUP_TEXTCOLOR), (bEnabled && bUseWinColors == FALSE));
-
- mir_snprintf(szBuff, SIZEOF(szBuff), "PopupType%STimeout", lpcwszPopupsTypes[dwType]);
- SetDlgItemInt(hWndDlg, IDC_POPUP_TIMEOUT, ppro->mraGetDword(NULL, szBuff, MRA_DEFAULT_POPUP_TIMEOUT), FALSE);
- EnableWindow(GetDlgItem(hWndDlg, IDC_POPUP_TIMEOUT), bEnabled);
- }
- break;
-
- case IDC_PREVIEW:
- {
- for (size_t i = 0; i < POPUPS_TYPES_COUNT; i++) {
- ppro->MraPopupShowFromAgentW(i, 0, TranslateW(lpcwszPopupsTypes[i]));
- }
- }
- break;
-
- case IDC_CHK_ENABLE:
- case IDC_CHK_USE_WIN_COLORS:
- {
- BOOL bEnabled = IS_DLG_BUTTON_CHECKED(hWndDlg, IDC_CHK_ENABLE);
- BOOL bUseWinColors = IS_DLG_BUTTON_CHECKED(hWndDlg, IDC_CHK_USE_WIN_COLORS);
-
- EnableWindow(GetDlgItem(hWndDlg, IDC_CHK_USE_WIN_COLORS), bEnabled);
- EnableWindow(GetDlgItem(hWndDlg, IDC_POPUP_BACKCOLOR), (bEnabled && bUseWinColors == FALSE));
- EnableWindow(GetDlgItem(hWndDlg, IDC_POPUP_TEXTCOLOR), (bEnabled && bUseWinColors == FALSE));
- EnableWindow(GetDlgItem(hWndDlg, IDC_POPUP_TIMEOUT), bEnabled);
- }
- default:
- if ((LOWORD(wParam) == IDC_POPUP_TIMEOUT) && (HIWORD(wParam) != EN_CHANGE || (HWND)lParam != GetFocus()))
- return FALSE;
- SendMessage(GetParent(hWndDlg), PSM_CHANGED, 0, 0);
- }
- break;
-
- case WM_NOTIFY:
- switch (((LPNMHDR)lParam)->code) {
- case PSN_APPLY:
- {
- char szBuff[MAX_PATH];
- DWORD dwType = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_COMBO_POPUP_TYPE);
- DWORD dwPopupsEventFilter = ppro->mraGetDword(NULL, "PopupsEventFilter", MRA_DEFAULT_POPUPS_EVENT_FILTER);
- if (IS_DLG_BUTTON_CHECKED(hWndDlg, IDC_CHK_ENABLE))
- dwPopupsEventFilter |= (1<<dwType);
- else
- dwPopupsEventFilter &= ~(1<<dwType);
-
- ppro->mraSetDword(NULL, "PopupsEventFilter", dwPopupsEventFilter);
-
- mir_snprintf(szBuff, SIZEOF(szBuff), "PopupType%SUseWinColors", lpcwszPopupsTypes[dwType]);
- ppro->mraSetByte(NULL, szBuff, IS_DLG_BUTTON_CHECKED(hWndDlg, IDC_CHK_USE_WIN_COLORS));
-
- mir_snprintf(szBuff, SIZEOF(szBuff), "PopupType%SColorBack", lpcwszPopupsTypes[dwType]);
- ppro->mraSetDword(NULL, szBuff, SEND_DLG_ITEM_MESSAGE(hWndDlg, IDC_POPUP_BACKCOLOR, CPM_GETCOLOUR, 0, 0));
-
- mir_snprintf(szBuff, SIZEOF(szBuff), "PopupType%SColorText", lpcwszPopupsTypes[dwType]);
- ppro->mraSetDword(NULL, szBuff, SEND_DLG_ITEM_MESSAGE(hWndDlg, IDC_POPUP_TEXTCOLOR, CPM_GETCOLOUR, 0, 0));
-
- mir_snprintf(szBuff, SIZEOF(szBuff), "PopupType%STimeout", lpcwszPopupsTypes[dwType]);
- ppro->mraSetDword(NULL, szBuff, GetDlgItemInt(hWndDlg, IDC_POPUP_TIMEOUT, NULL, FALSE));
- }
- return TRUE;
- }
- break;
- }
- return FALSE;
-}
-
-int CMraProto::OnPopupOptInit(WPARAM wParam, LPARAM lParam)
-{
- if ( ServiceExists(MS_POPUP_ADDPOPUP)) {
- OPTIONSDIALOGPAGE odp = {0};
- odp.cbSize = sizeof(odp);
- odp.dwInitParam = (LPARAM)this;
- odp.position = 100000000;
- odp.hInstance = masMraSettings.hInstance;
- odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT_POPUPS);
- odp.pszTitle = m_szModuleName;
- odp.pszGroup = LPGEN("Popups");
- odp.groupPosition = 900000000;
- odp.flags = ODPF_BOLDGROUPS;
- odp.nIDBottomSimpleControl = IDC_GROUPMAIN;
- odp.pfnDlgProc = MraPopupDlgProcOpts;
- Options_AddPage(wParam, &odp);
- }
- return 0;
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-// ShowPopup - popup plugin support
-
-struct MraPopupData
-{
- CMraProto *ppro;
- int iPopupType;
-};
-
-void CALLBACK MraPopupThreadMarandaCallback(ULONG_PTR dwParam)
-{
- if (dwParam == 0)
- return;
-
- MraPopupData* dat = (MraPopupData*)((POPUPDATAW*)dwParam)->PluginData;
- if (dat->iPopupType == MRA_POPUP_TYPE_EMAIL_STATUS && dat->ppro->hWndEMailPopupStatus) {
- // 1: PUDeletePopUp(hWndDlg);
- // 1: PUAddPopUpW((POPUPDATAW*)dwParam);
- // 2: PUChangeW(hWndEMailPopupStatus, (POPUPDATAW*)dwParam); //- crash :/
- PUChangeTextW(dat->ppro->hWndEMailPopupStatus, ((POPUPDATAW*)dwParam)->lpwzText);
- }
- else PUAddPopUpW((POPUPDATAW*)dwParam);
-
- mir_free((void*)dwParam);
-}
-
-/////////////////////////////////////////////////////////////////////////////////////////
-// Popup plugin window proc
-
-LRESULT CALLBACK MraPopupDlgProc(HWND hWndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- MraPopupData* dat = (MraPopupData*)PUGetPluginData(hWndDlg);
-
- switch (msg) {
- case UM_INITPOPUP:
- if (dat->iPopupType == MRA_POPUP_TYPE_EMAIL_STATUS) {
- // update/load avatar
- dat->ppro->MraAvatarsQueueGetAvatarSimple(dat->ppro->hAvatarsQueueHandle, GAIF_FORCE, PUGetContact(hWndDlg), 0);
-
- // delete old email popup
- if (dat->ppro->hWndEMailPopupStatus)
- PUDeletePopUp(dat->ppro->hWndEMailPopupStatus);
-
- dat->ppro->hWndEMailPopupStatus = hWndDlg;
- }
- break;
-
- case WM_COMMAND:
- if (HIWORD(wParam) == STN_CLICKED) { //It was a click on the Popup.
- if (dat->iPopupType == MRA_POPUP_TYPE_EMAIL_STATUS) {
- CallProtoService(dat->ppro->m_szModuleName, MRA_GOTO_INBOX, 0, 0);
- dat->ppro->hWndEMailPopupStatus = NULL;
- }
- }
- PUDeletePopUp(hWndDlg);
- break;
-
- case WM_CONTEXTMENU:
- if (dat->iPopupType == MRA_POPUP_TYPE_EMAIL_STATUS)
- dat->ppro->hWndEMailPopupStatus = NULL;
- PUDeletePopUp(hWndDlg);
- break;
-
- case UM_FREEPLUGINDATA:
- if (dat->iPopupType == MRA_POPUP_TYPE_EMAIL_STATUS)
- dat->ppro->hWndEMailPopupStatus = NULL;
- mir_free(dat);
- break;
- }
- return DefWindowProc(hWndDlg, msg, wParam, lParam);
-}
-
-void CMraProto::MraPopupShowFromContactW(HANDLE hContact, DWORD dwType, DWORD dwFlags, LPWSTR lpszMessage)
-{
- WCHAR szNick[MAX_EMAIL_LEN], szEMail[MAX_EMAIL_LEN], szTitle[MAX_CONTACTNAME];
-
- mraGetStaticStringW(hContact, "Nick", szNick, SIZEOF(szNick), NULL);
- mraGetStaticStringW(hContact, "e-mail", szEMail, SIZEOF(szEMail), NULL);
- if (hContact) {
- mir_sntprintf(szTitle, SIZEOF(szTitle), L"%s <%s>", szNick, szEMail);
- }else {
- mir_sntprintf(szTitle, SIZEOF(szTitle), L"%s: %s <%s>", m_tszUserName, szNick, szEMail);
- }
- MraPopupShowW(hContact, dwType, dwFlags, szTitle, lpszMessage);
-}
-
-
-void CMraProto::MraPopupShowW(HANDLE hContact, DWORD dwType, DWORD dwFlags, LPWSTR lpszTitle, LPWSTR lpszMessage)
-{
- if (mraGetByte(NULL, "PopupsEnabled", MRA_DEFAULT_POPUPS_ENABLED))
- if (GetBit(mraGetDword(NULL, "PopupsEventFilter", MRA_DEFAULT_POPUPS_EVENT_FILTER), dwType))
- if ( ServiceExists(MS_POPUP_ADDPOPUPW)) {
- BOOL bUseWinColors;
- char szBuff[MAX_PATH];
- POPUPDATAW *ppd = (POPUPDATAW*)mir_calloc(sizeof(POPUPDATAW));
-
- //if ( ServiceExists(MS_POPUP2_SHOW) == FALSE)// yapp used
- if (dwType == MRA_POPUP_TYPE_EMAIL_STATUS && hWndEMailPopupStatus) {
- // delete old email popup
- PUDeletePopUp(hWndEMailPopupStatus);
- hWndEMailPopupStatus = NULL;
- }
-
- // load icon
- switch (dwType) {
- case MRA_POPUP_TYPE_NONE:// proto icon
- ppd->lchIcon = (HICON)LoadImage(masMraSettings.hInstance, MAKEINTRESOURCE(IDI_MRA), IMAGE_ICON, 0, 0, LR_SHARED);
- break;
- case MRA_POPUP_TYPE_DEBUG:// IDI_APPLICATION
- ppd->lchIcon = (HICON)LoadImage(NULL, IDI_APPLICATION, IMAGE_ICON, 0, 0, LR_SHARED);
- break;
- case MRA_POPUP_TYPE_INFORMATION:// IDI_INFORMATION
- ppd->lchIcon = (HICON)LoadImage(NULL, IDI_INFORMATION, IMAGE_ICON, 0, 0, LR_SHARED);
- break;
- case MRA_POPUP_TYPE_QUESTION:// IDI_QUESTION
- ppd->lchIcon = (HICON)LoadImage(NULL, IDI_QUESTION, IMAGE_ICON, 0, 0, LR_SHARED);
- break;
- case MRA_POPUP_TYPE_WARNING:// IDI_WARNING
- ppd->lchIcon = (HICON)LoadImage(NULL, IDI_WARNING, IMAGE_ICON, 0, 0, LR_SHARED);
- break;
- case MRA_POPUP_TYPE_ERROR:// IDI_ERROR
- ppd->lchIcon = (HICON)LoadImage(NULL, IDI_ERROR, IMAGE_ICON, 0, 0, LR_SHARED);
- break;
- case MRA_POPUP_TYPE_EMAIL_STATUS:
- ppd->lchIcon = (HICON)LoadImage(masMraSettings.hInstance, MAKEINTRESOURCE(IDI_MAIL_NOTIFY), IMAGE_ICON, 0, 0, LR_SHARED);
- break;
- }
-
- MraPopupData *dat = (MraPopupData*)mir_calloc( sizeof(MraPopupData));
- dat->iPopupType = dwType;
- dat->ppro = this;
-
- ppd->lchContact = hContact;
- if (lpszTitle)
- lstrcpynW(ppd->lpwzContactName, lpszTitle, SIZEOF(ppd->lpwzContactName));
- if (lpszMessage)
- lstrcpynW(ppd->lpwzText, lpszMessage, SIZEOF(ppd->lpwzText));
- ppd->PluginWindowProc = (WNDPROC)MraPopupDlgProc;
- ppd->PluginData = dat;
-
- mir_snprintf(szBuff, SIZEOF(szBuff), "PopupType%SUseWinColors", lpcwszPopupsTypes[dwType]);
- bUseWinColors = mraGetByte(NULL, szBuff, MRA_DEFAULT_POPUP_USE_WIN_COLORS);
- if (bUseWinColors) {
- ppd->colorBack = GetSysColor(COLOR_BTNFACE);
- ppd->colorText = GetSysColor(COLOR_WINDOWTEXT);
- }
- else {
- mir_snprintf(szBuff, SIZEOF(szBuff), "PopupType%SColorBack", lpcwszPopupsTypes[dwType]);
- ppd->colorBack = mraGetDword(NULL, szBuff, MRA_DEFAULT_POPUP_COLOR_BACK);
-
- mir_snprintf(szBuff, SIZEOF(szBuff), "PopupType%SColorText", lpcwszPopupsTypes[dwType]);
- ppd->colorText = mraGetDword(NULL, szBuff, MRA_DEFAULT_POPUP_COLOR_TEXT);
- }
-
- mir_snprintf(szBuff, SIZEOF(szBuff), "PopupType%STimeout", lpcwszPopupsTypes[dwType]);
- ppd->iSeconds = mraGetDword(NULL, szBuff, MRA_DEFAULT_POPUP_TIMEOUT);
-
- MraPopupThreadMarandaCallback((ULONG_PTR)ppd);
- }
- else if (dwFlags & MRA_POPUP_ALLOW_MSGBOX)
- MessageBox(NULL, lpszMessage, lpszTitle, MB_OK+(dwType == MRA_POPUP_TYPE_WARNING)?MB_ICONERROR:MB_ICONINFORMATION);
-}