diff options
author | ikeblaster <ike@thez.info> | 2019-12-16 21:01:48 +0100 |
---|---|---|
committer | ikeblaster <ike@thez.info> | 2019-12-16 21:03:46 +0100 |
commit | c7d790f5266571eae33b779bd59550e24efe3cd8 (patch) | |
tree | 077426b598778fde3e999534f65a5f28636c0e60 /protocols/Facebook/src/dialogs.cpp | |
parent | 762cd6b8b161223d01aee31c422ce507838d3df6 (diff) |
FacebookMQTT - authentication, MQTT connection, ...
Temporary credentials dialog, loading GraphQL data, various constants (taken from Pidgin)
Diffstat (limited to 'protocols/Facebook/src/dialogs.cpp')
-rw-r--r-- | protocols/Facebook/src/dialogs.cpp | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/protocols/Facebook/src/dialogs.cpp b/protocols/Facebook/src/dialogs.cpp new file mode 100644 index 0000000000..4e544e729b --- /dev/null +++ b/protocols/Facebook/src/dialogs.cpp @@ -0,0 +1,80 @@ +/* + +Facebook plugin for Miranda Instant Messenger +_____________________________________________ + +Copyright © 2009-11 Michal Zelinka, 2011-17 Robert Pösel, 2017-19 Miranda NG team + +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, see <http://www.gnu.org/licenses/>. + +*/ + +#include "stdafx.h" + + + +INT_PTR CALLBACK FBAccountProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) +{ + FacebookProto *proto = reinterpret_cast<FacebookProto*>(GetWindowLongPtr(hwnd, GWLP_USERDATA)); + + switch (message) { + + case WM_INITDIALOG: + { + TranslateDialogDefault(hwnd); + + proto = reinterpret_cast<FacebookProto*>(lparam); + SetWindowLongPtr(hwnd, GWLP_USERDATA, lparam); + + ptrA login(db_get_sa(0, proto->ModuleName(), DBKEY_USERNAME)); + if (login != nullptr) + SetDlgItemTextA(hwnd, IDC_UN, login); + + ptrA password(db_get_sa(0, proto->ModuleName(), DBKEY_PASS)); + if (password != nullptr) + SetDlgItemTextA(hwnd, IDC_PW, password); + + //if (!proto->isOffline()) { + // SendDlgItemMessage(hwnd, IDC_UN, EM_SETREADONLY, 1, 0); + // SendDlgItemMessage(hwnd, IDC_PW, EM_SETREADONLY, 1, 0); + //} + return TRUE; + } + case WM_COMMAND: + if (HIWORD(wparam) == EN_CHANGE && reinterpret_cast<HWND>(lparam) == GetFocus()) { + switch (LOWORD(wparam)) { + case IDC_UN: + case IDC_PW: + SendMessage(GetParent(hwnd), PSM_CHANGED, 0, 0); + } + } + break; + + case WM_NOTIFY: + if (reinterpret_cast<NMHDR*>(lparam)->code == PSN_APPLY) { + char str[128]; + + GetDlgItemTextA(hwnd, IDC_UN, str, _countof(str)); + db_set_s(0, proto->ModuleName(), DBKEY_USERNAME, str); + + GetDlgItemTextA(hwnd, IDC_PW, str, _countof(str)); + db_set_s(0, proto->ModuleName(), DBKEY_PASS, str); + return TRUE; + } + break; + + } + + return FALSE; +} |