/* Copyright (c) 2013-18 Miranda NG team (https://miranda-ng.org) 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 version 2 of the License. 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 . */ #include "stdafx.h" #pragma once typedef CProtoDlgBase CVkDlgBase; ////////////////////////////////// IDD_CAPTCHAFORM //////////////////////////////////////// struct CAPTCHA_FORM_PARAMS { HBITMAP bmp; int w, h; char Result[100]; }; class CVkCaptchaForm : public CVkDlgBase { CCtrlData m_instruction; CCtrlEdit m_edtValue; CCtrlButton m_btnOpenInBrowser; CCtrlButton m_btnOk; CAPTCHA_FORM_PARAMS *m_param; public: CVkCaptchaForm(CVkProto *proto, CAPTCHA_FORM_PARAMS *param); void OnInitDialog(); INT_PTR DlgProc(UINT msg, WPARAM wParam, LPARAM lParam); void OnDestroy(); void On_btnOpenInBrowser_Click(CCtrlButton*); void On_btnOk_Click(CCtrlButton*); void On_edtValue_Change(CCtrlEdit*); }; ////////////////////////////////// IDD_WALLPOST /////////////////////////////////////////// struct WALLPOST_FORM_PARAMS { wchar_t *pwszMsg; wchar_t *pwszUrl; wchar_t *pwszNick; bool bFriendsOnly; WALLPOST_FORM_PARAMS(wchar_t *nick) : pwszNick(nick), bFriendsOnly(false) { pwszMsg = pwszUrl = nullptr; } ~WALLPOST_FORM_PARAMS() { mir_free(pwszMsg); mir_free(pwszUrl); mir_free(pwszNick); } }; class CVkWallPostForm : public CVkDlgBase { CCtrlEdit m_edtMsg; CCtrlEdit m_edtUrl; CCtrlCheck m_cbOnlyForFriends; CCtrlButton m_btnShare; WALLPOST_FORM_PARAMS *m_param; public: CVkWallPostForm(CVkProto *proto, WALLPOST_FORM_PARAMS *param); void OnInitDialog(); void OnDestroy(); void On_btnShare_Click(CCtrlButton*); void On_edtValue_Change(CCtrlEdit*); }; ////////////////////////////////// IDD_INVITE ///////////////////////////////////////////// class CVkInviteChatForm : public CVkDlgBase { CCtrlButton m_btnOk; CCtrlCombo m_cbxCombo; public: MCONTACT m_hContact; CVkInviteChatForm(CVkProto *proto); void OnInitDialog(); void btnOk_OnOk(CCtrlButton*); }; ////////////////////////////////// IDD_GC_CREATE ////////////////////////////////////////// class CVkGCCreateForm : public CVkDlgBase { CCtrlButton m_btnOk; CCtrlClc m_clCList; CCtrlEdit m_edtTitle; public: CVkGCCreateForm(CVkProto *proto); void OnInitDialog(); void btnOk_OnOk(CCtrlButton*); void FilterList(CCtrlClc*); void ResetListOptions(CCtrlClc*); }; ////////////////////////////////// IDD_CONTACTDELETE ////////////////////////////////////// struct CONTACTDELETE_FORM_PARAMS { wchar_t *pwszNick; bool bDeleteFromFriendlist; bool bEnableDeleteFromFriendlist; bool bDeleteDialog; CONTACTDELETE_FORM_PARAMS(wchar_t *nick, bool _bDeleteFromFriendlist, bool _bEnableDeleteFromFriendlist, bool _bDeleteDialog) : pwszNick(nick), bDeleteFromFriendlist(_bDeleteFromFriendlist), bEnableDeleteFromFriendlist(_bEnableDeleteFromFriendlist), bDeleteDialog(_bDeleteDialog) {} }; class CVkContactDeleteForm : public CVkDlgBase { CCtrlBase m_stText; CCtrlCheck m_cbDeleteFromFriendlist; CCtrlCheck m_cbDeleteDialog; CCtrlButton m_btnOk; CONTACTDELETE_FORM_PARAMS *m_param; public: CVkContactDeleteForm(CVkProto *proto, CONTACTDELETE_FORM_PARAMS *param); void OnInitDialog(); void btnOk_OnOk(CCtrlButton*); };