1// 2// This file is part of the aMule Project. 3// 4// Copyright (c) 2003-2011 aMule Team ( admin@amule.org / http://www.amule.org ) 5// 6// Any parts of this program derived from the xMule, lMule or eMule project, 7// or contributed by third-party developers are copyrighted by their 8// respective authors. 9// 10// This program is free software; you can redistribute it and/or modify 11// it under the terms of the GNU General Public License as published by 12// the Free Software Foundation; either version 2 of the License, or 13// (at your option) any later version. 14// 15// This program is distributed in the hope that it will be useful, 16// but WITHOUT ANY WARRANTY; without even the implied warranty of 17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18// GNU General Public License for more details. 19// 20// You should have received a copy of the GNU General Public License 21// along with this program; if not, write to the Free Software 22// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 23// 24 25 26#include "CaptchaDialog.h" // Interface declarations 27#include "muuli_wdr.h" // Needed for ID_CLOSEWND 28#include "GuiEvents.h" 29 30 31BEGIN_EVENT_TABLE(CCaptchaDialog,wxDialog) 32 EVT_BUTTON(wxID_OK, CCaptchaDialog::OnBnClose) 33END_EVENT_TABLE() 34 35 36CCaptchaDialog::CCaptchaDialog( 37 wxWindow *parent, 38 const wxImage& captchaImage, 39 uint64 id) 40: 41wxDialog( 42 parent, 43 -1, 44 _("Enter Captcha"), 45 wxDefaultPosition, 46 wxDefaultSize, 47 wxDEFAULT_DIALOG_STYLE) 48{ 49 m_captchaBitmap = new wxBitmap(captchaImage); 50 m_id = id; 51 wxSizer* content = captchaDlg(this); 52 OnInitDialog(); 53 content->SetSizeHints(this); 54 content->Show(this, true); 55 m_TextCtrl->SetFocus(); 56} 57 58CCaptchaDialog::~CCaptchaDialog() 59{ 60 delete m_captchaBitmap; 61} 62 63void CCaptchaDialog::OnBnClose(wxCommandEvent& WXUNUSED(evt)) 64{ 65 Notify_ChatSendCaptcha(m_TextCtrl->GetLineText(0), m_id); 66 Destroy(); 67} 68 69wxSizer * CCaptchaDialog::captchaDlg( wxWindow *parent ) 70{ 71 wxBoxSizer *item0 = new wxBoxSizer( wxVERTICAL ); 72 73 wxStaticBitmap *item1 = new wxStaticBitmap( parent, -1, *m_captchaBitmap, wxDefaultPosition, wxSize(160,60) ); 74 item0->Add( item1, 0, wxALIGN_CENTER|wxALL, 5 ); 75 76 m_TextCtrl = new wxTextCtrl( parent, -1, wxEmptyString, wxDefaultPosition, wxSize(80,20)); 77 item0->Add( m_TextCtrl, 0, wxALIGN_CENTER|wxALL, 5 ); 78 79 wxButton *item3 = new wxButton( parent, wxID_OK ); 80 item3->SetDefault(); 81 item0->Add( item3, 0, wxALIGN_CENTER|wxALL, 5 ); 82 83 parent->SetSizer( item0 ); 84 item0->SetSizeHints( parent ); 85 86 return item0; 87} 88 89bool CCaptchaDialog::OnInitDialog() 90{ 91 Layout(); 92 93 return true; 94} 95// File_checked_for_headers 96