automatically change displayed address whenever it receives anything,
[novacoin.git] / uibase.cpp
1 ///////////////////////////////////////////////////////////////////////////\r
2 // C++ code generated with wxFormBuilder (version Apr 16 2008)\r
3 // http://www.wxformbuilder.org/\r
4 //\r
5 // PLEASE DO "NOT" EDIT THIS FILE!\r
6 ///////////////////////////////////////////////////////////////////////////\r
7 \r
8 #include "uibase.h"\r
9 \r
10 #include "xpm/about.xpm"\r
11 #include "xpm/addressbook20.xpm"\r
12 #include "xpm/check.xpm"\r
13 #include "xpm/send20.xpm"\r
14 \r
15 ///////////////////////////////////////////////////////////////////////////\r
16 \r
17 CMainFrameBase::CMainFrameBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )\r
18 {\r
19         this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
20         this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );\r
21         \r
22         m_menubar = new wxMenuBar( 0 );\r
23         m_menubar->SetBackgroundColour( wxColour( 240, 240, 240 ) );\r
24         \r
25         m_menuFile = new wxMenu();\r
26         wxMenuItem* m_menuFileExit;\r
27         m_menuFileExit = new wxMenuItem( m_menuFile, wxID_EXIT, wxString( _("E&xit") ) , wxEmptyString, wxITEM_NORMAL );\r
28         m_menuFile->Append( m_menuFileExit );\r
29         \r
30         m_menubar->Append( m_menuFile, _("&File") );\r
31         \r
32         m_menuOptions = new wxMenu();\r
33         wxMenuItem* m_menuOptionsGenerateBitcoins;\r
34         m_menuOptionsGenerateBitcoins = new wxMenuItem( m_menuOptions, wxID_OPTIONSGENERATEBITCOINS, wxString( _("&Generate Coins") ) , wxEmptyString, wxITEM_CHECK );\r
35         m_menuOptions->Append( m_menuOptionsGenerateBitcoins );\r
36         \r
37         wxMenuItem* m_menuOptionsChangeYourAddress;\r
38         m_menuOptionsChangeYourAddress = new wxMenuItem( m_menuOptions, wxID_ANY, wxString( _("&Your Receiving Addresses...") ) , wxEmptyString, wxITEM_NORMAL );\r
39         m_menuOptions->Append( m_menuOptionsChangeYourAddress );\r
40         \r
41         wxMenuItem* m_menuOptionsOptions;\r
42         m_menuOptionsOptions = new wxMenuItem( m_menuOptions, wxID_PREFERENCES, wxString( _("&Options...") ) , wxEmptyString, wxITEM_NORMAL );\r
43         m_menuOptions->Append( m_menuOptionsOptions );\r
44         \r
45         m_menubar->Append( m_menuOptions, _("&Settings") );\r
46         \r
47         m_menuHelp = new wxMenu();\r
48         wxMenuItem* m_menuHelpAbout;\r
49         m_menuHelpAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( _("&About...") ) , wxEmptyString, wxITEM_NORMAL );\r
50         m_menuHelp->Append( m_menuHelpAbout );\r
51         \r
52         m_menubar->Append( m_menuHelp, _("&Help") );\r
53         \r
54         this->SetMenuBar( m_menubar );\r
55         \r
56         m_toolBar = this->CreateToolBar( wxTB_FLAT|wxTB_HORZ_TEXT, wxID_ANY );\r
57         m_toolBar->SetToolBitmapSize( wxSize( 20,20 ) );\r
58         m_toolBar->SetToolSeparation( 1 );\r
59         m_toolBar->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) );\r
60         \r
61         m_toolBar->AddTool( wxID_BUTTONSEND, _("Send Coins"), wxBitmap( send20_xpm ), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString );\r
62         m_toolBar->AddTool( wxID_BUTTONRECEIVE, _("Address Book"), wxBitmap( addressbook20_xpm ), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString );\r
63         m_toolBar->Realize();\r
64         \r
65         m_statusBar = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY );\r
66         m_statusBar->SetBackgroundColour( wxColour( 240, 240, 240 ) );\r
67         \r
68         wxBoxSizer* bSizer2;\r
69         bSizer2 = new wxBoxSizer( wxVERTICAL );\r
70         \r
71         \r
72         bSizer2->Add( 0, 2, 0, wxEXPAND, 5 );\r
73         \r
74         wxBoxSizer* bSizer85;\r
75         bSizer85 = new wxBoxSizer( wxHORIZONTAL );\r
76         \r
77         m_staticText32 = new wxStaticText( this, wxID_ANY, _("Your Bitcoin Address:"), wxDefaultPosition, wxDefaultSize, 0 );\r
78         m_staticText32->Wrap( -1 );\r
79         bSizer85->Add( m_staticText32, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );\r
80         \r
81         m_textCtrlAddress = new wxTextCtrl( this, wxID_TEXTCTRLADDRESS, wxEmptyString, wxDefaultPosition, wxSize( 340,-1 ), wxTE_READONLY );\r
82         bSizer85->Add( m_textCtrlAddress, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );\r
83         \r
84         m_buttonNew = new wxButton( this, wxID_BUTTONNEW, _(" &New... "), wxDefaultPosition, wxSize( -1,-1 ), wxBU_EXACTFIT );\r
85         bSizer85->Add( m_buttonNew, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );\r
86         \r
87         m_buttonCopy = new wxButton( this, wxID_BUTTONCOPY, _(" &Copy to Clipboard "), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT );\r
88         bSizer85->Add( m_buttonCopy, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );\r
89         \r
90         \r
91         bSizer85->Add( 0, 0, 0, wxEXPAND, 5 );\r
92         \r
93         bSizer2->Add( bSizer85, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );\r
94         \r
95         wxBoxSizer* bSizer3;\r
96         bSizer3 = new wxBoxSizer( wxHORIZONTAL );\r
97         \r
98         m_panel14 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
99         wxBoxSizer* bSizer66;\r
100         bSizer66 = new wxBoxSizer( wxHORIZONTAL );\r
101         \r
102         m_staticText41 = new wxStaticText( m_panel14, wxID_ANY, _("Balance:"), wxDefaultPosition, wxSize( -1,15 ), 0 );\r
103         m_staticText41->Wrap( -1 );\r
104         bSizer66->Add( m_staticText41, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );\r
105         \r
106         m_staticTextBalance = new wxStaticText( m_panel14, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 120,15 ), wxALIGN_RIGHT|wxST_NO_AUTORESIZE );\r
107         m_staticTextBalance->Wrap( -1 );\r
108         m_staticTextBalance->SetFont( wxFont( 8, 70, 90, 90, false, wxEmptyString ) );\r
109         m_staticTextBalance->SetBackgroundColour( wxColour( 255, 255, 255 ) );\r
110         \r
111         bSizer66->Add( m_staticTextBalance, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
112         \r
113         m_panel14->SetSizer( bSizer66 );\r
114         m_panel14->Layout();\r
115         bSizer66->Fit( m_panel14 );\r
116         bSizer3->Add( m_panel14, 1, wxEXPAND|wxALIGN_BOTTOM|wxALL, 5 );\r
117         \r
118         \r
119         bSizer3->Add( 0, 0, 0, wxEXPAND, 5 );\r
120         \r
121         wxString m_choiceFilterChoices[] = { _(" All"), _(" Sent"), _(" Received"), _(" In Progress") };\r
122         int m_choiceFilterNChoices = sizeof( m_choiceFilterChoices ) / sizeof( wxString );\r
123         m_choiceFilter = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxSize( 110,-1 ), m_choiceFilterNChoices, m_choiceFilterChoices, 0 );\r
124         m_choiceFilter->SetSelection( 0 );\r
125         m_choiceFilter->Hide();\r
126         \r
127         bSizer3->Add( m_choiceFilter, 0, wxALIGN_BOTTOM|wxTOP|wxRIGHT|wxLEFT, 5 );\r
128         \r
129         bSizer2->Add( bSizer3, 0, wxEXPAND, 5 );\r
130         \r
131         m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );\r
132         m_panel9 = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
133         wxBoxSizer* bSizer11;\r
134         bSizer11 = new wxBoxSizer( wxVERTICAL );\r
135         \r
136         m_listCtrlAll = new wxListCtrl( m_panel9, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_SORT_DESCENDING );\r
137         bSizer11->Add( m_listCtrlAll, 1, wxEXPAND, 5 );\r
138         \r
139         m_panel9->SetSizer( bSizer11 );\r
140         m_panel9->Layout();\r
141         bSizer11->Fit( m_panel9 );\r
142         m_notebook->AddPage( m_panel9, _("All Transactions"), true );\r
143         m_panel91 = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
144         wxBoxSizer* bSizer111;\r
145         bSizer111 = new wxBoxSizer( wxVERTICAL );\r
146         \r
147         m_listCtrlSentReceived = new wxListCtrl( m_panel91, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_SORT_DESCENDING );\r
148         bSizer111->Add( m_listCtrlSentReceived, 1, wxEXPAND, 5 );\r
149         \r
150         m_panel91->SetSizer( bSizer111 );\r
151         m_panel91->Layout();\r
152         bSizer111->Fit( m_panel91 );\r
153         m_notebook->AddPage( m_panel91, _("Sent/Received"), false );\r
154         m_panel92 = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
155         wxBoxSizer* bSizer112;\r
156         bSizer112 = new wxBoxSizer( wxVERTICAL );\r
157         \r
158         m_listCtrlSent = new wxListCtrl( m_panel92, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_SORT_DESCENDING );\r
159         bSizer112->Add( m_listCtrlSent, 1, wxEXPAND, 5 );\r
160         \r
161         m_panel92->SetSizer( bSizer112 );\r
162         m_panel92->Layout();\r
163         bSizer112->Fit( m_panel92 );\r
164         m_notebook->AddPage( m_panel92, _("Sent"), false );\r
165         m_panel93 = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
166         wxBoxSizer* bSizer113;\r
167         bSizer113 = new wxBoxSizer( wxVERTICAL );\r
168         \r
169         m_listCtrlReceived = new wxListCtrl( m_panel93, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_SORT_DESCENDING );\r
170         bSizer113->Add( m_listCtrlReceived, 1, wxEXPAND, 5 );\r
171         \r
172         m_panel93->SetSizer( bSizer113 );\r
173         m_panel93->Layout();\r
174         bSizer113->Fit( m_panel93 );\r
175         m_notebook->AddPage( m_panel93, _("Received"), false );\r
176         \r
177         bSizer2->Add( m_notebook, 1, wxEXPAND, 5 );\r
178         \r
179         this->SetSizer( bSizer2 );\r
180         this->Layout();\r
181         \r
182         // Connect Events\r
183         this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( CMainFrameBase::OnClose ) );\r
184         this->Connect( wxEVT_ICONIZE, wxIconizeEventHandler( CMainFrameBase::OnIconize ) );\r
185         this->Connect( wxEVT_IDLE, wxIdleEventHandler( CMainFrameBase::OnIdle ) );\r
186         this->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
187         this->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
188         this->Connect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
189         this->Connect( wxEVT_MIDDLE_UP, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
190         this->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
191         this->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
192         this->Connect( wxEVT_MOTION, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
193         this->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
194         this->Connect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
195         this->Connect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
196         this->Connect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
197         this->Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
198         this->Connect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
199         this->Connect( wxEVT_PAINT, wxPaintEventHandler( CMainFrameBase::OnPaint ) );\r
200         this->Connect( m_menuFileExit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( CMainFrameBase::OnMenuFileExit ) );\r
201         this->Connect( m_menuOptionsGenerateBitcoins->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( CMainFrameBase::OnMenuOptionsGenerate ) );\r
202         this->Connect( m_menuOptionsGenerateBitcoins->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( CMainFrameBase::OnUpdateUIOptionsGenerate ) );\r
203         this->Connect( m_menuOptionsChangeYourAddress->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( CMainFrameBase::OnMenuOptionsChangeYourAddress ) );\r
204         this->Connect( m_menuOptionsOptions->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( CMainFrameBase::OnMenuOptionsOptions ) );\r
205         this->Connect( m_menuHelpAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( CMainFrameBase::OnMenuHelpAbout ) );\r
206         this->Connect( wxID_BUTTONSEND, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( CMainFrameBase::OnButtonSend ) );\r
207         this->Connect( wxID_BUTTONRECEIVE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( CMainFrameBase::OnButtonAddressBook ) );\r
208         m_textCtrlAddress->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( CMainFrameBase::OnKeyDown ), NULL, this );\r
209         m_textCtrlAddress->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
210         m_textCtrlAddress->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
211         m_textCtrlAddress->Connect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
212         m_textCtrlAddress->Connect( wxEVT_MIDDLE_UP, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
213         m_textCtrlAddress->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
214         m_textCtrlAddress->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
215         m_textCtrlAddress->Connect( wxEVT_MOTION, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
216         m_textCtrlAddress->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
217         m_textCtrlAddress->Connect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
218         m_textCtrlAddress->Connect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
219         m_textCtrlAddress->Connect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
220         m_textCtrlAddress->Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
221         m_textCtrlAddress->Connect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
222         m_textCtrlAddress->Connect( wxEVT_SET_FOCUS, wxFocusEventHandler( CMainFrameBase::OnSetFocusAddress ), NULL, this );\r
223         m_buttonNew->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CMainFrameBase::OnButtonNew ), NULL, this );\r
224         m_buttonCopy->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CMainFrameBase::OnButtonCopy ), NULL, this );\r
225         m_notebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( CMainFrameBase::OnNotebookPageChanged ), NULL, this );\r
226         m_listCtrlAll->Connect( wxEVT_COMMAND_LIST_COL_BEGIN_DRAG, wxListEventHandler( CMainFrameBase::OnListColBeginDrag ), NULL, this );\r
227         m_listCtrlAll->Connect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CMainFrameBase::OnListItemActivated ), NULL, this );\r
228         m_listCtrlAll->Connect( wxEVT_PAINT, wxPaintEventHandler( CMainFrameBase::OnPaintListCtrl ), NULL, this );\r
229         m_listCtrlSentReceived->Connect( wxEVT_COMMAND_LIST_COL_BEGIN_DRAG, wxListEventHandler( CMainFrameBase::OnListColBeginDrag ), NULL, this );\r
230         m_listCtrlSentReceived->Connect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CMainFrameBase::OnListItemActivated ), NULL, this );\r
231         m_listCtrlSentReceived->Connect( wxEVT_PAINT, wxPaintEventHandler( CMainFrameBase::OnPaintListCtrl ), NULL, this );\r
232         m_listCtrlSent->Connect( wxEVT_COMMAND_LIST_COL_BEGIN_DRAG, wxListEventHandler( CMainFrameBase::OnListColBeginDrag ), NULL, this );\r
233         m_listCtrlSent->Connect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CMainFrameBase::OnListItemActivated ), NULL, this );\r
234         m_listCtrlSent->Connect( wxEVT_PAINT, wxPaintEventHandler( CMainFrameBase::OnPaintListCtrl ), NULL, this );\r
235         m_listCtrlReceived->Connect( wxEVT_COMMAND_LIST_COL_BEGIN_DRAG, wxListEventHandler( CMainFrameBase::OnListColBeginDrag ), NULL, this );\r
236         m_listCtrlReceived->Connect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CMainFrameBase::OnListItemActivated ), NULL, this );\r
237         m_listCtrlReceived->Connect( wxEVT_PAINT, wxPaintEventHandler( CMainFrameBase::OnPaintListCtrl ), NULL, this );\r
238 }\r
239 \r
240 CMainFrameBase::~CMainFrameBase()\r
241 {\r
242         // Disconnect Events\r
243         this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( CMainFrameBase::OnClose ) );\r
244         this->Disconnect( wxEVT_ICONIZE, wxIconizeEventHandler( CMainFrameBase::OnIconize ) );\r
245         this->Disconnect( wxEVT_IDLE, wxIdleEventHandler( CMainFrameBase::OnIdle ) );\r
246         this->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
247         this->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
248         this->Disconnect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
249         this->Disconnect( wxEVT_MIDDLE_UP, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
250         this->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
251         this->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
252         this->Disconnect( wxEVT_MOTION, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
253         this->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
254         this->Disconnect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
255         this->Disconnect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
256         this->Disconnect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
257         this->Disconnect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
258         this->Disconnect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( CMainFrameBase::OnMouseEvents ) );\r
259         this->Disconnect( wxEVT_PAINT, wxPaintEventHandler( CMainFrameBase::OnPaint ) );\r
260         this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( CMainFrameBase::OnMenuFileExit ) );\r
261         this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( CMainFrameBase::OnMenuOptionsGenerate ) );\r
262         this->Disconnect( wxID_ANY, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( CMainFrameBase::OnUpdateUIOptionsGenerate ) );\r
263         this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( CMainFrameBase::OnMenuOptionsChangeYourAddress ) );\r
264         this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( CMainFrameBase::OnMenuOptionsOptions ) );\r
265         this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( CMainFrameBase::OnMenuHelpAbout ) );\r
266         this->Disconnect( wxID_BUTTONSEND, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( CMainFrameBase::OnButtonSend ) );\r
267         this->Disconnect( wxID_BUTTONRECEIVE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( CMainFrameBase::OnButtonAddressBook ) );\r
268         m_textCtrlAddress->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( CMainFrameBase::OnKeyDown ), NULL, this );\r
269         m_textCtrlAddress->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
270         m_textCtrlAddress->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
271         m_textCtrlAddress->Disconnect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
272         m_textCtrlAddress->Disconnect( wxEVT_MIDDLE_UP, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
273         m_textCtrlAddress->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
274         m_textCtrlAddress->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
275         m_textCtrlAddress->Disconnect( wxEVT_MOTION, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
276         m_textCtrlAddress->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
277         m_textCtrlAddress->Disconnect( wxEVT_MIDDLE_DCLICK, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
278         m_textCtrlAddress->Disconnect( wxEVT_RIGHT_DCLICK, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
279         m_textCtrlAddress->Disconnect( wxEVT_LEAVE_WINDOW, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
280         m_textCtrlAddress->Disconnect( wxEVT_ENTER_WINDOW, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
281         m_textCtrlAddress->Disconnect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( CMainFrameBase::OnMouseEventsAddress ), NULL, this );\r
282         m_textCtrlAddress->Disconnect( wxEVT_SET_FOCUS, wxFocusEventHandler( CMainFrameBase::OnSetFocusAddress ), NULL, this );\r
283         m_buttonNew->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CMainFrameBase::OnButtonNew ), NULL, this );\r
284         m_buttonCopy->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CMainFrameBase::OnButtonCopy ), NULL, this );\r
285         m_notebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( CMainFrameBase::OnNotebookPageChanged ), NULL, this );\r
286         m_listCtrlAll->Disconnect( wxEVT_COMMAND_LIST_COL_BEGIN_DRAG, wxListEventHandler( CMainFrameBase::OnListColBeginDrag ), NULL, this );\r
287         m_listCtrlAll->Disconnect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CMainFrameBase::OnListItemActivated ), NULL, this );\r
288         m_listCtrlAll->Disconnect( wxEVT_PAINT, wxPaintEventHandler( CMainFrameBase::OnPaintListCtrl ), NULL, this );\r
289         m_listCtrlSentReceived->Disconnect( wxEVT_COMMAND_LIST_COL_BEGIN_DRAG, wxListEventHandler( CMainFrameBase::OnListColBeginDrag ), NULL, this );\r
290         m_listCtrlSentReceived->Disconnect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CMainFrameBase::OnListItemActivated ), NULL, this );\r
291         m_listCtrlSentReceived->Disconnect( wxEVT_PAINT, wxPaintEventHandler( CMainFrameBase::OnPaintListCtrl ), NULL, this );\r
292         m_listCtrlSent->Disconnect( wxEVT_COMMAND_LIST_COL_BEGIN_DRAG, wxListEventHandler( CMainFrameBase::OnListColBeginDrag ), NULL, this );\r
293         m_listCtrlSent->Disconnect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CMainFrameBase::OnListItemActivated ), NULL, this );\r
294         m_listCtrlSent->Disconnect( wxEVT_PAINT, wxPaintEventHandler( CMainFrameBase::OnPaintListCtrl ), NULL, this );\r
295         m_listCtrlReceived->Disconnect( wxEVT_COMMAND_LIST_COL_BEGIN_DRAG, wxListEventHandler( CMainFrameBase::OnListColBeginDrag ), NULL, this );\r
296         m_listCtrlReceived->Disconnect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CMainFrameBase::OnListItemActivated ), NULL, this );\r
297         m_listCtrlReceived->Disconnect( wxEVT_PAINT, wxPaintEventHandler( CMainFrameBase::OnPaintListCtrl ), NULL, this );\r
298 }\r
299 \r
300 CTxDetailsDialogBase::CTxDetailsDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )\r
301 {\r
302         this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
303         \r
304         wxBoxSizer* bSizer64;\r
305         bSizer64 = new wxBoxSizer( wxVERTICAL );\r
306         \r
307         wxBoxSizer* bSizer66;\r
308         bSizer66 = new wxBoxSizer( wxVERTICAL );\r
309         \r
310         m_htmlWin = new wxHtmlWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_SCROLLBAR_AUTO );\r
311         bSizer66->Add( m_htmlWin, 1, wxALL|wxEXPAND, 5 );\r
312         \r
313         bSizer64->Add( bSizer66, 1, wxEXPAND, 5 );\r
314         \r
315         wxBoxSizer* bSizer65;\r
316         bSizer65 = new wxBoxSizer( wxHORIZONTAL );\r
317         \r
318         m_buttonOK = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
319         bSizer65->Add( m_buttonOK, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
320         \r
321         bSizer64->Add( bSizer65, 0, wxALIGN_RIGHT, 5 );\r
322         \r
323         this->SetSizer( bSizer64 );\r
324         this->Layout();\r
325         \r
326         // Connect Events\r
327         m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CTxDetailsDialogBase::OnButtonOK ), NULL, this );\r
328 }\r
329 \r
330 CTxDetailsDialogBase::~CTxDetailsDialogBase()\r
331 {\r
332         // Disconnect Events\r
333         m_buttonOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CTxDetailsDialogBase::OnButtonOK ), NULL, this );\r
334 }\r
335 \r
336 COptionsDialogBase::COptionsDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )\r
337 {\r
338         this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
339         \r
340         wxBoxSizer* bSizer55;\r
341         bSizer55 = new wxBoxSizer( wxVERTICAL );\r
342         \r
343         wxBoxSizer* bSizer66;\r
344         bSizer66 = new wxBoxSizer( wxHORIZONTAL );\r
345         \r
346         m_listBox = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxSize( 110,-1 ), 0, NULL, wxLB_NEEDED_SB|wxLB_SINGLE ); \r
347         bSizer66->Add( m_listBox, 0, wxEXPAND|wxRIGHT, 5 );\r
348         \r
349         m_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );\r
350         m_scrolledWindow->SetScrollRate( 5, 5 );\r
351         wxBoxSizer* bSizer63;\r
352         bSizer63 = new wxBoxSizer( wxVERTICAL );\r
353         \r
354         m_panelMain = new wxPanel( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
355         wxBoxSizer* bSizer69;\r
356         bSizer69 = new wxBoxSizer( wxVERTICAL );\r
357         \r
358         \r
359         bSizer69->Add( 0, 16, 0, wxEXPAND, 5 );\r
360         \r
361         m_staticText32 = new wxStaticText( m_panelMain, wxID_ANY, _("Optional transaction fee you give to the nodes that process your transactions."), wxDefaultPosition, wxDefaultSize, 0 );\r
362         m_staticText32->Wrap( -1 );\r
363         m_staticText32->Hide();\r
364         \r
365         bSizer69->Add( m_staticText32, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
366         \r
367         wxBoxSizer* bSizer56;\r
368         bSizer56 = new wxBoxSizer( wxHORIZONTAL );\r
369         \r
370         m_staticText31 = new wxStaticText( m_panelMain, wxID_ANY, _("Transaction fee:"), wxDefaultPosition, wxDefaultSize, 0 );\r
371         m_staticText31->Wrap( -1 );\r
372         m_staticText31->Hide();\r
373         \r
374         bSizer56->Add( m_staticText31, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );\r
375         \r
376         m_textCtrlTransactionFee = new wxTextCtrl( m_panelMain, wxID_TRANSACTIONFEE, wxEmptyString, wxDefaultPosition, wxSize( 70,-1 ), 0 );\r
377         m_textCtrlTransactionFee->Hide();\r
378         \r
379         bSizer56->Add( m_textCtrlTransactionFee, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );\r
380         \r
381         bSizer69->Add( bSizer56, 0, wxEXPAND, 5 );\r
382         \r
383         wxBoxSizer* bSizer71;\r
384         bSizer71 = new wxBoxSizer( wxHORIZONTAL );\r
385         \r
386         m_checkBoxLimitProcessors = new wxCheckBox( m_panelMain, wxID_ANY, _("&Limit coin generation to"), wxDefaultPosition, wxDefaultSize, 0 );\r
387         \r
388         bSizer71->Add( m_checkBoxLimitProcessors, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
389         \r
390         m_spinCtrlLimitProcessors = new wxSpinCtrl( m_panelMain, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 48,-1 ), wxSP_ARROW_KEYS, 1, 999, 1 );\r
391         bSizer71->Add( m_spinCtrlLimitProcessors, 0, wxALIGN_CENTER_VERTICAL, 5 );\r
392         \r
393         m_staticText35 = new wxStaticText( m_panelMain, wxID_ANY, _("processors"), wxDefaultPosition, wxDefaultSize, 0 );\r
394         m_staticText35->Wrap( -1 );\r
395         bSizer71->Add( m_staticText35, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
396         \r
397         bSizer69->Add( bSizer71, 0, 0, 5 );\r
398         \r
399         m_checkBoxStartOnSystemStartup = new wxCheckBox( m_panelMain, wxID_ANY, _("&Start Bitcoin on system startup"), wxDefaultPosition, wxDefaultSize, 0 );\r
400         \r
401         bSizer69->Add( m_checkBoxStartOnSystemStartup, 0, wxALL, 5 );\r
402         \r
403         m_checkBoxMinimizeToTray = new wxCheckBox( m_panelMain, wxID_ANY, _("&Minimize to the tray instead of the taskbar"), wxDefaultPosition, wxDefaultSize, 0 );\r
404         \r
405         bSizer69->Add( m_checkBoxMinimizeToTray, 0, wxALL, 5 );\r
406         \r
407         m_checkBoxMinimizeOnClose = new wxCheckBox( m_panelMain, wxID_ANY, _("M&inimize to the tray on close"), wxDefaultPosition, wxDefaultSize, 0 );\r
408         \r
409         bSizer69->Add( m_checkBoxMinimizeOnClose, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );\r
410         \r
411         wxBoxSizer* bSizer102;\r
412         bSizer102 = new wxBoxSizer( wxHORIZONTAL );\r
413         \r
414         m_checkBoxUseProxy = new wxCheckBox( m_panelMain, wxID_ANY, _("&Connect through socks4 proxy: "), wxDefaultPosition, wxDefaultSize, 0 );\r
415         \r
416         bSizer102->Add( m_checkBoxUseProxy, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );\r
417         \r
418         bSizer69->Add( bSizer102, 1, wxEXPAND, 5 );\r
419         \r
420         wxBoxSizer* bSizer103;\r
421         bSizer103 = new wxBoxSizer( wxHORIZONTAL );\r
422         \r
423         \r
424         bSizer103->Add( 18, 0, 0, 0, 5 );\r
425         \r
426         m_staticTextProxyIP = new wxStaticText( m_panelMain, wxID_ANY, _("Proxy &IP:"), wxDefaultPosition, wxDefaultSize, 0 );\r
427         m_staticTextProxyIP->Wrap( -1 );\r
428         bSizer103->Add( m_staticTextProxyIP, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );\r
429         \r
430         m_textCtrlProxyIP = new wxTextCtrl( m_panelMain, wxID_PROXYIP, wxEmptyString, wxDefaultPosition, wxSize( 140,-1 ), 0 );\r
431         m_textCtrlProxyIP->SetMaxLength( 15 ); \r
432         bSizer103->Add( m_textCtrlProxyIP, 0, wxALIGN_CENTER_VERTICAL, 5 );\r
433         \r
434         m_staticTextProxyPort = new wxStaticText( m_panelMain, wxID_ANY, _(" &Port:"), wxDefaultPosition, wxDefaultSize, 0 );\r
435         m_staticTextProxyPort->Wrap( -1 );\r
436         bSizer103->Add( m_staticTextProxyPort, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );\r
437         \r
438         m_textCtrlProxyPort = new wxTextCtrl( m_panelMain, wxID_PROXYPORT, wxEmptyString, wxDefaultPosition, wxSize( 55,-1 ), 0 );\r
439         m_textCtrlProxyPort->SetMaxLength( 5 ); \r
440         bSizer103->Add( m_textCtrlProxyPort, 0, wxALIGN_CENTER_VERTICAL, 5 );\r
441         \r
442         bSizer69->Add( bSizer103, 1, wxEXPAND, 5 );\r
443         \r
444         m_panelMain->SetSizer( bSizer69 );\r
445         m_panelMain->Layout();\r
446         bSizer69->Fit( m_panelMain );\r
447         bSizer63->Add( m_panelMain, 0, wxEXPAND, 5 );\r
448         \r
449         m_panelTest2 = new wxPanel( m_scrolledWindow, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
450         wxBoxSizer* bSizer64;\r
451         bSizer64 = new wxBoxSizer( wxVERTICAL );\r
452         \r
453         \r
454         bSizer64->Add( 0, 16, 0, wxEXPAND, 5 );\r
455         \r
456         m_staticText321 = new wxStaticText( m_panelTest2, wxID_ANY, _("// [don't translate] Test panel 2 for future expansion"), wxDefaultPosition, wxDefaultSize, 0 );\r
457         m_staticText321->Wrap( -1 );\r
458         bSizer64->Add( m_staticText321, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
459         \r
460         m_staticText69 = new wxStaticText( m_panelTest2, wxID_ANY, _("// [don't translate] Let's not start multiple pages until the first page is filled up"), wxDefaultPosition, wxDefaultSize, 0 );\r
461         m_staticText69->Wrap( -1 );\r
462         bSizer64->Add( m_staticText69, 0, wxALL, 5 );\r
463         \r
464         m_panelTest2->SetSizer( bSizer64 );\r
465         m_panelTest2->Layout();\r
466         bSizer64->Fit( m_panelTest2 );\r
467         bSizer63->Add( m_panelTest2, 0, wxEXPAND, 5 );\r
468         \r
469         m_scrolledWindow->SetSizer( bSizer63 );\r
470         m_scrolledWindow->Layout();\r
471         bSizer63->Fit( m_scrolledWindow );\r
472         bSizer66->Add( m_scrolledWindow, 1, wxEXPAND|wxLEFT, 5 );\r
473         \r
474         bSizer55->Add( bSizer66, 1, wxEXPAND|wxALL, 9 );\r
475         \r
476         wxBoxSizer* bSizer58;\r
477         bSizer58 = new wxBoxSizer( wxHORIZONTAL );\r
478         \r
479         m_buttonOK = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
480         bSizer58->Add( m_buttonOK, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
481         \r
482         m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
483         bSizer58->Add( m_buttonCancel, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
484         \r
485         m_buttonApply = new wxButton( this, wxID_APPLY, _("&Apply"), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
486         bSizer58->Add( m_buttonApply, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
487         \r
488         bSizer55->Add( bSizer58, 0, wxALIGN_RIGHT, 5 );\r
489         \r
490         this->SetSizer( bSizer55 );\r
491         this->Layout();\r
492         \r
493         // Connect Events\r
494         m_listBox->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( COptionsDialogBase::OnListBox ), NULL, this );\r
495         m_textCtrlTransactionFee->Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( COptionsDialogBase::OnKillFocusTransactionFee ), NULL, this );\r
496         m_checkBoxLimitProcessors->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( COptionsDialogBase::OnCheckBoxLimitProcessors ), NULL, this );\r
497         m_checkBoxMinimizeToTray->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( COptionsDialogBase::OnCheckBoxMinimizeToTray ), NULL, this );\r
498         m_checkBoxUseProxy->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( COptionsDialogBase::OnCheckBoxUseProxy ), NULL, this );\r
499         m_textCtrlProxyIP->Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( COptionsDialogBase::OnKillFocusProxy ), NULL, this );\r
500         m_textCtrlProxyPort->Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( COptionsDialogBase::OnKillFocusProxy ), NULL, this );\r
501         m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( COptionsDialogBase::OnButtonOK ), NULL, this );\r
502         m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( COptionsDialogBase::OnButtonCancel ), NULL, this );\r
503         m_buttonApply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( COptionsDialogBase::OnButtonApply ), NULL, this );\r
504 }\r
505 \r
506 COptionsDialogBase::~COptionsDialogBase()\r
507 {\r
508         // Disconnect Events\r
509         m_listBox->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( COptionsDialogBase::OnListBox ), NULL, this );\r
510         m_textCtrlTransactionFee->Disconnect( wxEVT_KILL_FOCUS, wxFocusEventHandler( COptionsDialogBase::OnKillFocusTransactionFee ), NULL, this );\r
511         m_checkBoxLimitProcessors->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( COptionsDialogBase::OnCheckBoxLimitProcessors ), NULL, this );\r
512         m_checkBoxMinimizeToTray->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( COptionsDialogBase::OnCheckBoxMinimizeToTray ), NULL, this );\r
513         m_checkBoxUseProxy->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( COptionsDialogBase::OnCheckBoxUseProxy ), NULL, this );\r
514         m_textCtrlProxyIP->Disconnect( wxEVT_KILL_FOCUS, wxFocusEventHandler( COptionsDialogBase::OnKillFocusProxy ), NULL, this );\r
515         m_textCtrlProxyPort->Disconnect( wxEVT_KILL_FOCUS, wxFocusEventHandler( COptionsDialogBase::OnKillFocusProxy ), NULL, this );\r
516         m_buttonOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( COptionsDialogBase::OnButtonOK ), NULL, this );\r
517         m_buttonCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( COptionsDialogBase::OnButtonCancel ), NULL, this );\r
518         m_buttonApply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( COptionsDialogBase::OnButtonApply ), NULL, this );\r
519 }\r
520 \r
521 CAboutDialogBase::CAboutDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )\r
522 {\r
523         this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
524         \r
525         wxBoxSizer* bSizer63;\r
526         bSizer63 = new wxBoxSizer( wxHORIZONTAL );\r
527         \r
528         m_bitmap = new wxStaticBitmap( this, wxID_ANY, wxBitmap( about_xpm ), wxDefaultPosition, wxDefaultSize, 0 );\r
529         bSizer63->Add( m_bitmap, 0, 0, 5 );\r
530         \r
531         wxBoxSizer* bSizer60;\r
532         bSizer60 = new wxBoxSizer( wxVERTICAL );\r
533         \r
534         wxBoxSizer* bSizer62;\r
535         bSizer62 = new wxBoxSizer( wxHORIZONTAL );\r
536         \r
537         wxBoxSizer* bSizer631;\r
538         bSizer631 = new wxBoxSizer( wxVERTICAL );\r
539         \r
540         \r
541         bSizer631->Add( 0, 65, 0, wxEXPAND, 5 );\r
542         \r
543         wxBoxSizer* bSizer64;\r
544         bSizer64 = new wxBoxSizer( wxHORIZONTAL );\r
545         \r
546         m_staticText40 = new wxStaticText( this, wxID_ANY, _("Bitcoin "), wxDefaultPosition, wxDefaultSize, 0 );\r
547         m_staticText40->Wrap( -1 );\r
548         m_staticText40->SetFont( wxFont( 10, 74, 90, 92, false, wxT("Tahoma") ) );\r
549         \r
550         bSizer64->Add( m_staticText40, 0, wxALIGN_BOTTOM|wxTOP|wxBOTTOM|wxLEFT, 5 );\r
551         \r
552         m_staticTextVersion = new wxStaticText( this, wxID_ANY, _("version"), wxDefaultPosition, wxDefaultSize, 0 );\r
553         m_staticTextVersion->Wrap( -1 );\r
554         m_staticTextVersion->SetFont( wxFont( 10, 74, 90, 90, false, wxT("Tahoma") ) );\r
555         \r
556         bSizer64->Add( m_staticTextVersion, 0, wxALIGN_BOTTOM|wxTOP|wxBOTTOM|wxRIGHT, 5 );\r
557         \r
558         bSizer631->Add( bSizer64, 0, wxEXPAND, 5 );\r
559         \r
560         \r
561         bSizer631->Add( 0, 4, 0, wxEXPAND, 5 );\r
562         \r
563         m_staticTextMain = new wxStaticText( this, wxID_ANY, _("Copyright (c) 2009-2010 Satoshi Nakamoto.\n\nThis is experimental software.  Do not rely on it for actual financial transactions.\n\nDistributed under the MIT/X11 software license, see the accompanying file \nlicense.txt or http://www.opensource.org/licenses/mit-license.php.\n\nThis product includes software developed by the OpenSSL Project for use in the \nOpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by \nEric Young (eay@cryptsoft.com)."), wxDefaultPosition, wxDefaultSize, 0 );\r
564         m_staticTextMain->Wrap( -1 );\r
565         bSizer631->Add( m_staticTextMain, 0, wxALL, 5 );\r
566         \r
567         \r
568         bSizer631->Add( 0, 0, 1, wxEXPAND, 5 );\r
569         \r
570         bSizer62->Add( bSizer631, 1, wxEXPAND, 5 );\r
571         \r
572         bSizer60->Add( bSizer62, 1, wxEXPAND, 5 );\r
573         \r
574         wxBoxSizer* bSizer61;\r
575         bSizer61 = new wxBoxSizer( wxHORIZONTAL );\r
576         \r
577         \r
578         bSizer61->Add( 0, 0, 1, wxEXPAND, 5 );\r
579         \r
580         m_buttonOK = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
581         bSizer61->Add( m_buttonOK, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
582         \r
583         bSizer60->Add( bSizer61, 0, wxALIGN_RIGHT|wxEXPAND|wxRIGHT, 5 );\r
584         \r
585         bSizer63->Add( bSizer60, 1, wxEXPAND|wxLEFT, 5 );\r
586         \r
587         this->SetSizer( bSizer63 );\r
588         this->Layout();\r
589         \r
590         // Connect Events\r
591         m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAboutDialogBase::OnButtonOK ), NULL, this );\r
592 }\r
593 \r
594 CAboutDialogBase::~CAboutDialogBase()\r
595 {\r
596         // Disconnect Events\r
597         m_buttonOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAboutDialogBase::OnButtonOK ), NULL, this );\r
598 }\r
599 \r
600 CSendDialogBase::CSendDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )\r
601 {\r
602         this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
603         \r
604         wxBoxSizer* bSizer21;\r
605         bSizer21 = new wxBoxSizer( wxVERTICAL );\r
606         \r
607         \r
608         bSizer21->Add( 0, 5, 0, wxEXPAND, 5 );\r
609         \r
610         wxFlexGridSizer* fgSizer1;\r
611         fgSizer1 = new wxFlexGridSizer( 0, 2, 0, 0 );\r
612         fgSizer1->AddGrowableCol( 1 );\r
613         fgSizer1->SetFlexibleDirection( wxBOTH );\r
614         fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );\r
615         \r
616         \r
617         fgSizer1->Add( 0, 0, 0, wxEXPAND, 5 );\r
618         \r
619         m_staticTextInstructions = new wxStaticText( this, wxID_ANY, _("Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) or IP address (e.g. 123.45.6.7)"), wxDefaultPosition, wxDefaultSize, 0 );\r
620         m_staticTextInstructions->Wrap( -1 );\r
621         fgSizer1->Add( m_staticTextInstructions, 0, wxTOP|wxRIGHT|wxLEFT, 5 );\r
622         \r
623         wxBoxSizer* bSizer47;\r
624         bSizer47 = new wxBoxSizer( wxHORIZONTAL );\r
625         \r
626         bSizer47->SetMinSize( wxSize( 70,-1 ) ); \r
627         \r
628         bSizer47->Add( 0, 0, 1, wxEXPAND, 5 );\r
629         \r
630         m_bitmapCheckMark = new wxStaticBitmap( this, wxID_ANY, wxBitmap( check_xpm ), wxDefaultPosition, wxSize( 16,16 ), 0 );\r
631         bSizer47->Add( m_bitmapCheckMark, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );\r
632         \r
633         m_staticText36 = new wxStaticText( this, wxID_ANY, _("Pay &To:"), wxDefaultPosition, wxSize( -1,-1 ), wxALIGN_RIGHT );\r
634         m_staticText36->Wrap( -1 );\r
635         bSizer47->Add( m_staticText36, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );\r
636         \r
637         fgSizer1->Add( bSizer47, 1, wxEXPAND|wxLEFT, 5 );\r
638         \r
639         wxBoxSizer* bSizer19;\r
640         bSizer19 = new wxBoxSizer( wxHORIZONTAL );\r
641         \r
642         m_textCtrlAddress = new wxTextCtrl( this, wxID_TEXTCTRLPAYTO, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
643         bSizer19->Add( m_textCtrlAddress, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
644         \r
645         wxBoxSizer* bSizer66;\r
646         bSizer66 = new wxBoxSizer( wxHORIZONTAL );\r
647         \r
648         m_buttonPaste = new wxButton( this, wxID_BUTTONPASTE, _("&Paste"), wxDefaultPosition, wxSize( -1,-1 ), wxBU_EXACTFIT );\r
649         bSizer66->Add( m_buttonPaste, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxEXPAND, 5 );\r
650         \r
651         m_buttonAddress = new wxButton( this, wxID_BUTTONADDRESSBOOK, _(" Address &Book..."), wxDefaultPosition, wxDefaultSize, 0 );\r
652         bSizer66->Add( m_buttonAddress, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxEXPAND, 5 );\r
653         \r
654         bSizer19->Add( bSizer66, 0, wxALIGN_CENTER_VERTICAL, 5 );\r
655         \r
656         fgSizer1->Add( bSizer19, 1, wxEXPAND|wxRIGHT, 5 );\r
657         \r
658         m_staticText19 = new wxStaticText( this, wxID_ANY, _("&Amount:"), wxDefaultPosition, wxSize( -1,-1 ), wxALIGN_RIGHT );\r
659         m_staticText19->Wrap( -1 );\r
660         fgSizer1->Add( m_staticText19, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT|wxALIGN_RIGHT, 5 );\r
661         \r
662         m_textCtrlAmount = new wxTextCtrl( this, wxID_TEXTCTRLAMOUNT, wxEmptyString, wxDefaultPosition, wxSize( 145,-1 ), 0 );\r
663         m_textCtrlAmount->SetMaxLength( 20 ); \r
664         m_textCtrlAmount->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) );\r
665         \r
666         fgSizer1->Add( m_textCtrlAmount, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
667         \r
668         m_staticText20 = new wxStaticText( this, wxID_ANY, _("T&ransfer:"), wxDefaultPosition, wxSize( -1,-1 ), wxALIGN_RIGHT );\r
669         m_staticText20->Wrap( -1 );\r
670         m_staticText20->Hide();\r
671         \r
672         fgSizer1->Add( m_staticText20, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxTOP|wxBOTTOM|wxLEFT, 5 );\r
673         \r
674         wxString m_choiceTransferTypeChoices[] = { _(" Standard") };\r
675         int m_choiceTransferTypeNChoices = sizeof( m_choiceTransferTypeChoices ) / sizeof( wxString );\r
676         m_choiceTransferType = new wxChoice( this, wxID_CHOICETRANSFERTYPE, wxDefaultPosition, wxDefaultSize, m_choiceTransferTypeNChoices, m_choiceTransferTypeChoices, 0 );\r
677         m_choiceTransferType->SetSelection( 0 );\r
678         m_choiceTransferType->Hide();\r
679         \r
680         fgSizer1->Add( m_choiceTransferType, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );\r
681         \r
682         \r
683         fgSizer1->Add( 0, 3, 0, wxEXPAND, 5 );\r
684         \r
685         \r
686         fgSizer1->Add( 0, 0, 0, wxEXPAND, 5 );\r
687         \r
688         bSizer21->Add( fgSizer1, 0, wxEXPAND|wxLEFT, 5 );\r
689         \r
690         wxBoxSizer* bSizer672;\r
691         bSizer672 = new wxBoxSizer( wxHORIZONTAL );\r
692         \r
693         wxBoxSizer* bSizer681;\r
694         bSizer681 = new wxBoxSizer( wxVERTICAL );\r
695         \r
696         m_staticTextFrom = new wxStaticText( this, wxID_ANY, _("&From:"), wxDefaultPosition, wxDefaultSize, 0 );\r
697         m_staticTextFrom->Wrap( -1 );\r
698         bSizer681->Add( m_staticTextFrom, 0, wxBOTTOM|wxLEFT, 5 );\r
699         \r
700         m_textCtrlFrom = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
701         bSizer681->Add( m_textCtrlFrom, 0, wxLEFT|wxEXPAND, 5 );\r
702         \r
703         bSizer672->Add( bSizer681, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );\r
704         \r
705         bSizer21->Add( bSizer672, 0, wxEXPAND, 5 );\r
706         \r
707         wxBoxSizer* bSizer67;\r
708         bSizer67 = new wxBoxSizer( wxHORIZONTAL );\r
709         \r
710         wxBoxSizer* bSizer68;\r
711         bSizer68 = new wxBoxSizer( wxVERTICAL );\r
712         \r
713         m_staticTextMessage = new wxStaticText( this, wxID_ANY, _("&Message:"), wxDefaultPosition, wxDefaultSize, 0 );\r
714         m_staticTextMessage->Wrap( -1 );\r
715         bSizer68->Add( m_staticTextMessage, 0, wxTOP|wxBOTTOM|wxLEFT, 5 );\r
716         \r
717         m_textCtrlMessage = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );\r
718         bSizer68->Add( m_textCtrlMessage, 1, wxEXPAND|wxLEFT, 5 );\r
719         \r
720         bSizer67->Add( bSizer68, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );\r
721         \r
722         bSizer21->Add( bSizer67, 1, wxEXPAND, 5 );\r
723         \r
724         wxBoxSizer* bSizer23;\r
725         bSizer23 = new wxBoxSizer( wxHORIZONTAL );\r
726         \r
727         \r
728         bSizer23->Add( 0, 0, 1, wxEXPAND, 5 );\r
729         \r
730         m_buttonSend = new wxButton( this, wxID_BUTTONSEND, _("&Send"), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
731         m_buttonSend->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) );\r
732         \r
733         bSizer23->Add( m_buttonSend, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
734         \r
735         m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
736         bSizer23->Add( m_buttonCancel, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
737         \r
738         bSizer21->Add( bSizer23, 0, wxEXPAND, 5 );\r
739         \r
740         this->SetSizer( bSizer21 );\r
741         this->Layout();\r
742         \r
743         // Connect Events\r
744         m_textCtrlAddress->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this );\r
745         m_textCtrlAddress->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( CSendDialogBase::OnTextAddress ), NULL, this );\r
746         m_buttonPaste->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonPaste ), NULL, this );\r
747         m_buttonAddress->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonAddressBook ), NULL, this );\r
748         m_textCtrlAmount->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this );\r
749         m_textCtrlAmount->Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( CSendDialogBase::OnKillFocusAmount ), NULL, this );\r
750         m_textCtrlFrom->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this );\r
751         m_textCtrlMessage->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this );\r
752         m_buttonSend->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonSend ), NULL, this );\r
753         m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonCancel ), NULL, this );\r
754 }\r
755 \r
756 CSendDialogBase::~CSendDialogBase()\r
757 {\r
758         // Disconnect Events\r
759         m_textCtrlAddress->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this );\r
760         m_textCtrlAddress->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( CSendDialogBase::OnTextAddress ), NULL, this );\r
761         m_buttonPaste->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonPaste ), NULL, this );\r
762         m_buttonAddress->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonAddressBook ), NULL, this );\r
763         m_textCtrlAmount->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this );\r
764         m_textCtrlAmount->Disconnect( wxEVT_KILL_FOCUS, wxFocusEventHandler( CSendDialogBase::OnKillFocusAmount ), NULL, this );\r
765         m_textCtrlFrom->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this );\r
766         m_textCtrlMessage->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( CSendDialogBase::OnKeyDown ), NULL, this );\r
767         m_buttonSend->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonSend ), NULL, this );\r
768         m_buttonCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendDialogBase::OnButtonCancel ), NULL, this );\r
769 }\r
770 \r
771 CSendingDialogBase::CSendingDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )\r
772 {\r
773         this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
774         \r
775         wxBoxSizer* bSizer68;\r
776         bSizer68 = new wxBoxSizer( wxVERTICAL );\r
777         \r
778         m_staticTextSending = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,14 ), 0 );\r
779         m_staticTextSending->Wrap( -1 );\r
780         bSizer68->Add( m_staticTextSending, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 8 );\r
781         \r
782         m_textCtrlStatus = new wxTextCtrl( this, wxID_ANY, _("\n\nConnecting..."), wxDefaultPosition, wxDefaultSize, wxTE_CENTRE|wxTE_MULTILINE|wxTE_NO_VSCROLL|wxTE_READONLY|wxNO_BORDER );\r
783         m_textCtrlStatus->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );\r
784         \r
785         bSizer68->Add( m_textCtrlStatus, 1, wxEXPAND|wxRIGHT|wxLEFT, 10 );\r
786         \r
787         wxBoxSizer* bSizer69;\r
788         bSizer69 = new wxBoxSizer( wxHORIZONTAL );\r
789         \r
790         \r
791         bSizer69->Add( 0, 0, 1, wxEXPAND, 5 );\r
792         \r
793         m_buttonOK = new wxButton( this, wxID_ANY, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );\r
794         m_buttonOK->Enable( false );\r
795         \r
796         bSizer69->Add( m_buttonOK, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
797         \r
798         m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
799         bSizer69->Add( m_buttonCancel, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
800         \r
801         bSizer68->Add( bSizer69, 0, wxEXPAND, 5 );\r
802         \r
803         this->SetSizer( bSizer68 );\r
804         this->Layout();\r
805         \r
806         // Connect Events\r
807         this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( CSendingDialogBase::OnClose ) );\r
808         this->Connect( wxEVT_PAINT, wxPaintEventHandler( CSendingDialogBase::OnPaint ) );\r
809         m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendingDialogBase::OnButtonOK ), NULL, this );\r
810         m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendingDialogBase::OnButtonCancel ), NULL, this );\r
811 }\r
812 \r
813 CSendingDialogBase::~CSendingDialogBase()\r
814 {\r
815         // Disconnect Events\r
816         this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( CSendingDialogBase::OnClose ) );\r
817         this->Disconnect( wxEVT_PAINT, wxPaintEventHandler( CSendingDialogBase::OnPaint ) );\r
818         m_buttonOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendingDialogBase::OnButtonOK ), NULL, this );\r
819         m_buttonCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CSendingDialogBase::OnButtonCancel ), NULL, this );\r
820 }\r
821 \r
822 CYourAddressDialogBase::CYourAddressDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )\r
823 {\r
824         this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
825         \r
826         wxBoxSizer* bSizer68;\r
827         bSizer68 = new wxBoxSizer( wxVERTICAL );\r
828         \r
829         \r
830         bSizer68->Add( 0, 5, 0, wxEXPAND, 5 );\r
831         \r
832         m_staticText45 = new wxStaticText( this, wxID_ANY, _("These are your Bitcoin addresses for receiving payments.  You may want to give a different one to each sender so you can keep track of who is paying you.  The highlighted address is displayed in the main window."), wxDefaultPosition, wxDefaultSize, 0 );\r
833         m_staticText45->Wrap( 590 );\r
834         bSizer68->Add( m_staticText45, 0, wxALL, 5 );\r
835         \r
836         m_listCtrl = new wxListCtrl( this, wxID_LISTCTRL, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_SORT_ASCENDING );\r
837         bSizer68->Add( m_listCtrl, 1, wxALL|wxEXPAND, 5 );\r
838         \r
839         wxBoxSizer* bSizer69;\r
840         bSizer69 = new wxBoxSizer( wxHORIZONTAL );\r
841         \r
842         \r
843         bSizer69->Add( 0, 0, 1, wxEXPAND, 5 );\r
844         \r
845         m_buttonRename = new wxButton( this, wxID_BUTTONRENAME, _("&Edit..."), wxDefaultPosition, wxDefaultSize, 0 );\r
846         bSizer69->Add( m_buttonRename, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
847         \r
848         m_buttonNew = new wxButton( this, wxID_BUTTONNEW, _(" &New Address... "), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
849         bSizer69->Add( m_buttonNew, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
850         \r
851         m_buttonCopy = new wxButton( this, wxID_BUTTONCOPY, _(" &Copy to Clipboard "), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
852         bSizer69->Add( m_buttonCopy, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
853         \r
854         m_buttonOK = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );\r
855         bSizer69->Add( m_buttonOK, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
856         \r
857         m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
858         m_buttonCancel->Hide();\r
859         \r
860         bSizer69->Add( m_buttonCancel, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
861         \r
862         bSizer68->Add( bSizer69, 0, wxEXPAND, 5 );\r
863         \r
864         this->SetSizer( bSizer68 );\r
865         this->Layout();\r
866         \r
867         // Connect Events\r
868         this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( CYourAddressDialogBase::OnClose ) );\r
869         m_listCtrl->Connect( wxEVT_COMMAND_LIST_END_LABEL_EDIT, wxListEventHandler( CYourAddressDialogBase::OnListEndLabelEdit ), NULL, this );\r
870         m_listCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CYourAddressDialogBase::OnListItemActivated ), NULL, this );\r
871         m_listCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( CYourAddressDialogBase::OnListItemSelected ), NULL, this );\r
872         m_buttonRename->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CYourAddressDialogBase::OnButtonRename ), NULL, this );\r
873         m_buttonNew->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CYourAddressDialogBase::OnButtonNew ), NULL, this );\r
874         m_buttonCopy->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CYourAddressDialogBase::OnButtonCopy ), NULL, this );\r
875         m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CYourAddressDialogBase::OnButtonOK ), NULL, this );\r
876         m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CYourAddressDialogBase::OnButtonCancel ), NULL, this );\r
877 }\r
878 \r
879 CYourAddressDialogBase::~CYourAddressDialogBase()\r
880 {\r
881         // Disconnect Events\r
882         this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( CYourAddressDialogBase::OnClose ) );\r
883         m_listCtrl->Disconnect( wxEVT_COMMAND_LIST_END_LABEL_EDIT, wxListEventHandler( CYourAddressDialogBase::OnListEndLabelEdit ), NULL, this );\r
884         m_listCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CYourAddressDialogBase::OnListItemActivated ), NULL, this );\r
885         m_listCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( CYourAddressDialogBase::OnListItemSelected ), NULL, this );\r
886         m_buttonRename->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CYourAddressDialogBase::OnButtonRename ), NULL, this );\r
887         m_buttonNew->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CYourAddressDialogBase::OnButtonNew ), NULL, this );\r
888         m_buttonCopy->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CYourAddressDialogBase::OnButtonCopy ), NULL, this );\r
889         m_buttonOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CYourAddressDialogBase::OnButtonOK ), NULL, this );\r
890         m_buttonCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CYourAddressDialogBase::OnButtonCancel ), NULL, this );\r
891 }\r
892 \r
893 CAddressBookDialogBase::CAddressBookDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )\r
894 {\r
895         this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
896         \r
897         wxBoxSizer* bSizer58;\r
898         bSizer58 = new wxBoxSizer( wxVERTICAL );\r
899         \r
900         m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );\r
901         m_panelSending = new wxPanel( m_notebook, wxID_PANELSENDING, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
902         wxBoxSizer* bSizer68;\r
903         bSizer68 = new wxBoxSizer( wxVERTICAL );\r
904         \r
905         \r
906         bSizer68->Add( 0, 0, 0, wxEXPAND, 5 );\r
907         \r
908         m_staticText55 = new wxStaticText( m_panelSending, wxID_ANY, _("Bitcoin Address"), wxDefaultPosition, wxDefaultSize, 0 );\r
909         m_staticText55->Wrap( -1 );\r
910         m_staticText55->Hide();\r
911         \r
912         bSizer68->Add( m_staticText55, 0, wxTOP|wxRIGHT|wxLEFT, 5 );\r
913         \r
914         m_listCtrlSending = new wxListCtrl( m_panelSending, wxID_LISTCTRLSENDING, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_SORT_ASCENDING );\r
915         bSizer68->Add( m_listCtrlSending, 1, wxALL|wxEXPAND, 5 );\r
916         \r
917         m_panelSending->SetSizer( bSizer68 );\r
918         m_panelSending->Layout();\r
919         bSizer68->Fit( m_panelSending );\r
920         m_notebook->AddPage( m_panelSending, _("Sending"), false );\r
921         m_panelReceiving = new wxPanel( m_notebook, wxID_PANELRECEIVING, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );\r
922         wxBoxSizer* bSizer681;\r
923         bSizer681 = new wxBoxSizer( wxVERTICAL );\r
924         \r
925         \r
926         bSizer681->Add( 0, 0, 0, wxEXPAND, 5 );\r
927         \r
928         m_staticText45 = new wxStaticText( m_panelReceiving, wxID_ANY, _("These are your Bitcoin addresses for receiving payments.  You can give a different one to each sender to keep track of who is paying you.  The highlighted address will be displayed in the main window."), wxDefaultPosition, wxDefaultSize, 0 );\r
929         m_staticText45->Wrap( 570 );\r
930         bSizer681->Add( m_staticText45, 0, wxTOP|wxRIGHT|wxLEFT, 6 );\r
931         \r
932         \r
933         bSizer681->Add( 0, 2, 0, wxEXPAND, 5 );\r
934         \r
935         m_listCtrlReceiving = new wxListCtrl( m_panelReceiving, wxID_LISTCTRLRECEIVING, wxDefaultPosition, wxDefaultSize, wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_SORT_ASCENDING );\r
936         bSizer681->Add( m_listCtrlReceiving, 1, wxALL|wxEXPAND, 5 );\r
937         \r
938         m_panelReceiving->SetSizer( bSizer681 );\r
939         m_panelReceiving->Layout();\r
940         bSizer681->Fit( m_panelReceiving );\r
941         m_notebook->AddPage( m_panelReceiving, _("Receiving"), true );\r
942         \r
943         bSizer58->Add( m_notebook, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );\r
944         \r
945         wxBoxSizer* bSizer69;\r
946         bSizer69 = new wxBoxSizer( wxHORIZONTAL );\r
947         \r
948         \r
949         bSizer69->Add( 0, 0, 1, wxEXPAND, 5 );\r
950         \r
951         m_buttonDelete = new wxButton( this, wxID_BUTTONDELETE, _("&Delete"), wxDefaultPosition, wxDefaultSize, 0 );\r
952         bSizer69->Add( m_buttonDelete, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
953         \r
954         m_buttonCopy = new wxButton( this, wxID_BUTTONCOPY, _(" &Copy to Clipboard "), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
955         bSizer69->Add( m_buttonCopy, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
956         \r
957         m_buttonEdit = new wxButton( this, wxID_BUTTONEDIT, _("&Edit..."), wxDefaultPosition, wxDefaultSize, 0 );\r
958         bSizer69->Add( m_buttonEdit, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
959         \r
960         m_buttonNew = new wxButton( this, wxID_BUTTONNEW, _(" &New Address... "), wxDefaultPosition, wxDefaultSize, 0 );\r
961         bSizer69->Add( m_buttonNew, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
962         \r
963         m_buttonOK = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
964         bSizer69->Add( m_buttonOK, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
965         \r
966         m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
967         bSizer69->Add( m_buttonCancel, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
968         \r
969         bSizer58->Add( bSizer69, 0, wxEXPAND, 5 );\r
970         \r
971         this->SetSizer( bSizer58 );\r
972         this->Layout();\r
973         \r
974         // Connect Events\r
975         this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( CAddressBookDialogBase::OnClose ) );\r
976         m_notebook->Connect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( CAddressBookDialogBase::OnNotebookPageChanged ), NULL, this );\r
977         m_listCtrlSending->Connect( wxEVT_COMMAND_LIST_END_LABEL_EDIT, wxListEventHandler( CAddressBookDialogBase::OnListEndLabelEdit ), NULL, this );\r
978         m_listCtrlSending->Connect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CAddressBookDialogBase::OnListItemActivated ), NULL, this );\r
979         m_listCtrlSending->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( CAddressBookDialogBase::OnListItemSelected ), NULL, this );\r
980         m_listCtrlReceiving->Connect( wxEVT_COMMAND_LIST_END_LABEL_EDIT, wxListEventHandler( CAddressBookDialogBase::OnListEndLabelEdit ), NULL, this );\r
981         m_listCtrlReceiving->Connect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CAddressBookDialogBase::OnListItemActivated ), NULL, this );\r
982         m_listCtrlReceiving->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( CAddressBookDialogBase::OnListItemSelected ), NULL, this );\r
983         m_buttonDelete->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAddressBookDialogBase::OnButtonDelete ), NULL, this );\r
984         m_buttonCopy->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAddressBookDialogBase::OnButtonCopy ), NULL, this );\r
985         m_buttonEdit->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAddressBookDialogBase::OnButtonEdit ), NULL, this );\r
986         m_buttonNew->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAddressBookDialogBase::OnButtonNew ), NULL, this );\r
987         m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAddressBookDialogBase::OnButtonOK ), NULL, this );\r
988         m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAddressBookDialogBase::OnButtonCancel ), NULL, this );\r
989 }\r
990 \r
991 CAddressBookDialogBase::~CAddressBookDialogBase()\r
992 {\r
993         // Disconnect Events\r
994         this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( CAddressBookDialogBase::OnClose ) );\r
995         m_notebook->Disconnect( wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler( CAddressBookDialogBase::OnNotebookPageChanged ), NULL, this );\r
996         m_listCtrlSending->Disconnect( wxEVT_COMMAND_LIST_END_LABEL_EDIT, wxListEventHandler( CAddressBookDialogBase::OnListEndLabelEdit ), NULL, this );\r
997         m_listCtrlSending->Disconnect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CAddressBookDialogBase::OnListItemActivated ), NULL, this );\r
998         m_listCtrlSending->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( CAddressBookDialogBase::OnListItemSelected ), NULL, this );\r
999         m_listCtrlReceiving->Disconnect( wxEVT_COMMAND_LIST_END_LABEL_EDIT, wxListEventHandler( CAddressBookDialogBase::OnListEndLabelEdit ), NULL, this );\r
1000         m_listCtrlReceiving->Disconnect( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, wxListEventHandler( CAddressBookDialogBase::OnListItemActivated ), NULL, this );\r
1001         m_listCtrlReceiving->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( CAddressBookDialogBase::OnListItemSelected ), NULL, this );\r
1002         m_buttonDelete->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAddressBookDialogBase::OnButtonDelete ), NULL, this );\r
1003         m_buttonCopy->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAddressBookDialogBase::OnButtonCopy ), NULL, this );\r
1004         m_buttonEdit->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAddressBookDialogBase::OnButtonEdit ), NULL, this );\r
1005         m_buttonNew->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAddressBookDialogBase::OnButtonNew ), NULL, this );\r
1006         m_buttonOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAddressBookDialogBase::OnButtonOK ), NULL, this );\r
1007         m_buttonCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CAddressBookDialogBase::OnButtonCancel ), NULL, this );\r
1008 }\r
1009 \r
1010 CGetTextFromUserDialogBase::CGetTextFromUserDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )\r
1011 {\r
1012         this->SetSizeHints( wxDefaultSize, wxDefaultSize );\r
1013         \r
1014         wxBoxSizer* bSizer79;\r
1015         bSizer79 = new wxBoxSizer( wxVERTICAL );\r
1016         \r
1017         wxBoxSizer* bSizer81;\r
1018         bSizer81 = new wxBoxSizer( wxVERTICAL );\r
1019         \r
1020         \r
1021         bSizer81->Add( 0, 0, 1, wxEXPAND, 5 );\r
1022         \r
1023         m_staticTextMessage1 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
1024         m_staticTextMessage1->Wrap( -1 );\r
1025         bSizer81->Add( m_staticTextMessage1, 0, wxTOP|wxRIGHT|wxLEFT, 5 );\r
1026         \r
1027         m_textCtrl1 = new wxTextCtrl( this, wxID_TEXTCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );\r
1028         bSizer81->Add( m_textCtrl1, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );\r
1029         \r
1030         m_staticTextMessage2 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );\r
1031         m_staticTextMessage2->Wrap( -1 );\r
1032         m_staticTextMessage2->Hide();\r
1033         \r
1034         bSizer81->Add( m_staticTextMessage2, 0, wxTOP|wxRIGHT|wxLEFT, 5 );\r
1035         \r
1036         m_textCtrl2 = new wxTextCtrl( this, wxID_TEXTCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );\r
1037         m_textCtrl2->Hide();\r
1038         \r
1039         bSizer81->Add( m_textCtrl2, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );\r
1040         \r
1041         \r
1042         bSizer81->Add( 0, 0, 1, wxEXPAND, 5 );\r
1043         \r
1044         bSizer79->Add( bSizer81, 1, wxEXPAND|wxALL, 10 );\r
1045         \r
1046         wxBoxSizer* bSizer80;\r
1047         bSizer80 = new wxBoxSizer( wxHORIZONTAL );\r
1048         \r
1049         \r
1050         bSizer80->Add( 0, 0, 1, wxEXPAND, 5 );\r
1051         \r
1052         m_buttonOK = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,-1 ), 0 );\r
1053         bSizer80->Add( m_buttonOK, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
1054         \r
1055         m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );\r
1056         bSizer80->Add( m_buttonCancel, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );\r
1057         \r
1058         bSizer79->Add( bSizer80, 0, wxEXPAND, 5 );\r
1059         \r
1060         this->SetSizer( bSizer79 );\r
1061         this->Layout();\r
1062         \r
1063         // Connect Events\r
1064         this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( CGetTextFromUserDialogBase::OnClose ) );\r
1065         m_textCtrl1->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( CGetTextFromUserDialogBase::OnKeyDown ), NULL, this );\r
1066         m_textCtrl2->Connect( wxEVT_KEY_DOWN, wxKeyEventHandler( CGetTextFromUserDialogBase::OnKeyDown ), NULL, this );\r
1067         m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CGetTextFromUserDialogBase::OnButtonOK ), NULL, this );\r
1068         m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CGetTextFromUserDialogBase::OnButtonCancel ), NULL, this );\r
1069 }\r
1070 \r
1071 CGetTextFromUserDialogBase::~CGetTextFromUserDialogBase()\r
1072 {\r
1073         // Disconnect Events\r
1074         this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( CGetTextFromUserDialogBase::OnClose ) );\r
1075         m_textCtrl1->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( CGetTextFromUserDialogBase::OnKeyDown ), NULL, this );\r
1076         m_textCtrl2->Disconnect( wxEVT_KEY_DOWN, wxKeyEventHandler( CGetTextFromUserDialogBase::OnKeyDown ), NULL, this );\r
1077         m_buttonOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CGetTextFromUserDialogBase::OnButtonOK ), NULL, this );\r
1078         m_buttonCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CGetTextFromUserDialogBase::OnButtonCancel ), NULL, this );\r
1079 }\r