diff options
Diffstat (limited to 'src/Main/Forms/WaitDialog.h')
-rw-r--r-- | src/Main/Forms/WaitDialog.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Main/Forms/WaitDialog.h b/src/Main/Forms/WaitDialog.h index 89de8718..53f5048b 100644 --- a/src/Main/Forms/WaitDialog.h +++ b/src/Main/Forms/WaitDialog.h @@ -53,61 +53,61 @@ namespace VeraCrypt WaitStaticText->SetLabel (label); WaitProgessBar->Pulse(); Layout(); GetSizer()->Fit( this ); Centre( wxBOTH ); Connect( wxID_ANY, wxEVT_COMMAND_WAITDIALOGTHREAD_COMPLETED, wxCommandEventHandler( WaitDialog::OnThreadCompletion ) ); Connect( wxID_ANY, wxEVT_COMMAND_WAITDIALOG_ADMIN_PASSWORD, wxCommandEventHandler( WaitDialog::OnAdminPasswordRequest ) ); Connect( wxID_ANY, wxEVT_COMMAND_WAITDIALOG_PIN, wxCommandEventHandler( WaitDialog::OnPinRequest ) ); Connect( wxID_ANY, wxEVT_COMMAND_WAITDIALOG_SHOW_MSG, wxCommandEventHandler( WaitDialog::OnShowMsg ) ); Connect( wxEVT_TIMER, wxTimerEventHandler( WaitDialog::OnProgressTimer ), NULL, this ); m_thread = new WaitThread(this, pRoutine); } ~WaitDialog() { Disconnect( wxEVT_TIMER, wxTimerEventHandler( WaitDialog::OnProgressTimer )); Disconnect( wxID_ANY, wxEVT_COMMAND_WAITDIALOGTHREAD_COMPLETED, wxCommandEventHandler( WaitDialog::OnThreadCompletion ) ); Disconnect( wxID_ANY, wxEVT_COMMAND_WAITDIALOG_ADMIN_PASSWORD, wxCommandEventHandler( WaitDialog::OnAdminPasswordRequest ) ); Disconnect( wxID_ANY, wxEVT_COMMAND_WAITDIALOG_PIN, wxCommandEventHandler( WaitDialog::OnPinRequest ) ); Disconnect( wxID_ANY, wxEVT_COMMAND_WAITDIALOG_SHOW_MSG, wxCommandEventHandler( WaitDialog::OnShowMsg ) ); } virtual void OnWaitDialogInit( wxInitDialogEvent& event ) { m_thread->Run(); m_timer.Start(100); m_bThreadRunning = true; } - int GetCharWidth (wxWindow *window) const + static int ComputeCharWidth (wxWindow *window) { int width; int height; window->GetTextExtent (L"a", &width, &height); if (width < 1) return 7; return width; } class ShowMessageParam { public: wxString m_message; wxString m_caption; long m_style; bool m_topMost; ShowMessageParam(const wxString &message, const wxString &caption,long style, bool topMost) : m_message(message), m_caption(caption), m_style(style), m_topMost(topMost) {} }; int RequestShowMessage (const wxString &message, const wxString &caption,long style, bool topMost) { long lResult = -1; if (m_queue.IsOk()) { wxString sResult; ShowMessageParam* pParam = new ShowMessageParam(message, caption, style, topMost); @@ -152,61 +152,61 @@ namespace VeraCrypt { event.Veto (); } else event.Skip (); } void OnThreadCompletion(wxCommandEvent &) { m_bThreadRunning = false; m_queue.Clear(); EndModal(0); } void OnAdminPasswordRequest(wxCommandEvent &) { wxPasswordEntryDialog dialog (this, LangString["LINUX_ADMIN_PW_QUERY"], LangString["LINUX_ADMIN_PW_QUERY_TITLE"]); if (dialog.ShowModal() != wxID_OK) m_queue.Post(wxT("")); else m_queue.Post(dialog.GetValue()); } void OnPinRequest(wxCommandEvent &e) { wxPasswordEntryDialog dialog (this, wxString::Format (LangString["ENTER_TOKEN_PASSWORD"], e.GetString()), LangString["IDD_TOKEN_PASSWORD"]); - dialog.SetSize (wxSize (GetCharWidth (&dialog) * 50, -1)); + dialog.SetSize (wxSize (ComputeCharWidth (&dialog) * 50, -1)); if (dialog.ShowModal() != wxID_OK) m_queue.Post(wxT("")); else m_queue.Post(dialog.GetValue()); } void OnShowMsg(wxCommandEvent &e) { ShowMessageParam* pParam = (ShowMessageParam*) e.GetClientData(); if (pParam->m_topMost) { if (!IsActive()) RequestUserAttention (wxUSER_ATTENTION_ERROR); pParam->m_style |= wxSTAY_ON_TOP; } wxMessageDialog cur(this, pParam->m_message, pParam->m_caption, pParam->m_style); cur.SetYesNoLabels(LangString["UISTR_YES"], LangString["UISTR_NO"]); int iResult = (cur.ShowModal() == wxID_YES ? wxYES : wxNO); delete pParam; m_queue.Post(wxString::Format(wxT("%d"), iResult)); } void OnProgressTimer(wxTimerEvent& event) { WaitProgessBar->Pulse(); } virtual void Run(void) { ShowModal(); if (m_pRoutine->HasException()) ThrowException(m_pRoutine->m_pException); } |