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 31 BEGIN_EVENT_TABLE(CCaptchaDialog,wxDialog) 32 EVT_BUTTON(wxID_OK, CCaptchaDialog::OnBnClose) 33 END_EVENT_TABLE() 34 35 36 CCaptchaDialog::CCaptchaDialog( 37 wxWindow *parent, 38 const wxImage& captchaImage, 39 uint64 id) 40 : 41 wxDialog( 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 58 CCaptchaDialog::~CCaptchaDialog() 59 { 60 delete m_captchaBitmap; 61 } 62 63 void CCaptchaDialog::OnBnClose(wxCommandEvent& WXUNUSED(evt)) 64 { 65 Notify_ChatSendCaptcha(m_TextCtrl->GetLineText(0), m_id); 66 Destroy(); 67 } 68 69 wxSizer * 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 89 bool CCaptchaDialog::OnInitDialog() 90 { 91 Layout(); 92 93 return true; 94 } 95 // File_checked_for_headers 96