]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/dbgrptg.cpp
Change wxNotebook selection before sending page changed event in wxMSW.
[wxWidgets.git] / src / generic / dbgrptg.cpp
index d959d0ea4f379a73456b6b3b85f3baab9efbf6dd..5d967fc7eb6976c415dca91def339524dec81fbd 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     2005-01-21
 // RCS-ID:      $Id$
 // Copyright:   (c) 2005 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// License:     wxWindows licence
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -46,6 +46,7 @@
 
 #ifdef __WXMSW__
     #include "wx/evtloop.h"     // for SetCriticalWindow()
+    #include "wx/scopeguard.h"
 #endif // __WXMSW__
 
 // ----------------------------------------------------------------------------
@@ -312,15 +313,15 @@ wxDebugReportDialog::wxDebugReportDialog(wxDebugReport& dbgrpt)
     debugDir = debugDirFilename.GetPath();
 #endif
     msg << _("A debug report has been generated in the directory\n")
-        << _T('\n')
-        << _T("             \"") << debugDir << _T("\"\n")
-        << _T('\n')
+        << wxT('\n')
+        << wxT("             \"") << debugDir << wxT("\"\n")
+        << wxT('\n')
         << _("The report contains the files listed below. If any of these files contain private information,\nplease uncheck them and they will be removed from the report.\n")
-        << _T('\n')
+        << wxT('\n')
         << _("If you wish to suppress this debug report completely, please choose the \"Cancel\" button,\nbut be warned that it may hinder improving the program, so if\nat all possible please do continue with the report generation.\n")
-        << _T('\n')
+        << wxT('\n')
         << _("              Thank you and we're sorry for the inconvenience!\n")
-        << _T("\n\n"); // just some white space to separate from other stuff
+        << wxT("\n\n"); // just some white space to separate from other stuff
 
     const wxSizerFlags flagsFixed(SizerFlags(0));
     const wxSizerFlags flagsExpand(SizerFlags(1));
@@ -333,9 +334,9 @@ wxDebugReportDialog::wxDebugReportDialog(wxDebugReport& dbgrpt)
     // ... and the list of files in this debug report with buttons to view them
     wxSizer *sizerFileBtns = new wxBoxSizer(wxVERTICAL);
     sizerFileBtns->AddStretchSpacer(1);
-    sizerFileBtns->Add(new wxButton(this, wxID_VIEW_DETAILS, _T("&View...")),
+    sizerFileBtns->Add(new wxButton(this, wxID_VIEW_DETAILS, _("&View...")),
                         wxSizerFlags().Border(wxBOTTOM));
-    sizerFileBtns->Add(new wxButton(this, wxID_OPEN, _T("&Open...")),
+    sizerFileBtns->Add(new wxButton(this, wxID_OPEN, _("&Open...")),
                         wxSizerFlags().Border(wxTOP));
     sizerFileBtns->AddStretchSpacer(1);
 
@@ -386,7 +387,7 @@ bool wxDebugReportDialog::TransferDataToWindow()
             desc;
         if ( m_dbgrpt.GetFile(n, &name, &desc) )
         {
-            m_checklst->Append(name + _T(" (") + desc + _T(')'));
+            m_checklst->Append(name + wxT(" (") + desc + wxT(')'));
             m_checklst->Check(n);
 
             m_files.Add(name);
@@ -413,7 +414,7 @@ bool wxDebugReportDialog::TransferDataFromWindow()
     if ( !notes.empty() )
     {
         // for now filename fixed, could make it configurable in the future...
-        m_dbgrpt.AddText(_T("notes.txt"), notes, _T("user notes"));
+        m_dbgrpt.AddText(wxT("notes.txt"), notes, wxT("user notes"));
     }
 
     return true;
@@ -426,7 +427,7 @@ bool wxDebugReportDialog::TransferDataFromWindow()
 void wxDebugReportDialog::OnView(wxCommandEvent& )
 {
     const int sel = m_checklst->GetSelection();
-    wxCHECK_RET( sel != wxNOT_FOUND, _T("invalid selection in OnView()") );
+    wxCHECK_RET( sel != wxNOT_FOUND, wxT("invalid selection in OnView()") );
 
     wxFileName fn(m_dbgrpt.GetDirectory(), m_files[sel]);
     wxString str;
@@ -442,7 +443,7 @@ void wxDebugReportDialog::OnView(wxCommandEvent& )
 void wxDebugReportDialog::OnOpen(wxCommandEvent& )
 {
     const int sel = m_checklst->GetSelection();
-    wxCHECK_RET( sel != wxNOT_FOUND, _T("invalid selection in OnOpen()") );
+    wxCHECK_RET( sel != wxNOT_FOUND, wxT("invalid selection in OnOpen()") );
 
     wxFileName fn(m_dbgrpt.GetDirectory(), m_files[sel]);
 
@@ -471,7 +472,7 @@ void wxDebugReportDialog::OnOpen(wxCommandEvent& )
             if ( !cmd.empty() )
             {
 #if wxUSE_MIMETYPE
-                if ( cmd.find(_T('%')) != wxString::npos )
+                if ( cmd.find(wxT('%')) != wxString::npos )
                 {
                     command = wxFileType::ExpandCommand(cmd, fn.GetFullPath());
                 }
@@ -479,7 +480,7 @@ void wxDebugReportDialog::OnOpen(wxCommandEvent& )
 #endif // wxUSE_MIMETYPE
                 {
                     // append the file name to the end
-                    command << cmd << _T(" \"") << fn.GetFullPath() << _T('"');
+                    command << cmd << wxT(" \"") << fn.GetFullPath() << wxT('"');
                 }
             }
         }
@@ -517,6 +518,9 @@ bool wxDebugReportPreviewStd::Show(wxDebugReport& dbgrpt) const
     // before entering the event loop (from ShowModal()), block the event
     // handling for all other windows as this could result in more crashes
     wxEventLoop::SetCriticalWindow(&dlg);
+
+    wxON_BLOCK_EXIT1( wxEventLoop::SetCriticalWindow,
+                        static_cast<wxWindow *>(NULL) );
 #endif // __WXMSW__
 
     return dlg.ShowModal() == wxID_OK && dbgrpt.GetFilesCount() != 0;