]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/dbgrptg.cpp
Put a humane end to the pathetic flailing over whether this can
[wxWidgets.git] / src / generic / dbgrptg.cpp
index c09e021cd73f659ff43b29eff22af13ec5eb64ab..92a3b55c502bfe984183573adc78e2256b158e85 100644 (file)
@@ -29,7 +29,7 @@
     #include "wx/textctrl.h"
 #endif // WX_PRECOMP
 
-#if wxUSE_DEBUGREPORT
+#if wxUSE_DEBUGREPORT && wxUSE_XML
 
 #include "wx/debugrpt.h"
 
@@ -168,9 +168,11 @@ wxDumpOpenExternalDlg::wxDumpOpenExternalDlg(wxWindow *parent,
                                 wxID_ANY,
                                 wxEmptyString,
                                 wxDefaultPosition,
-                                wxSize(250, -1),
-                                0,
-                                wxTextValidator(wxFILTER_NONE, &m_command)
+                                wxSize(250, wxDefaultCoord),
+                                0
+#if wxUSE_VALIDATORS
+                                ,wxTextValidator(wxFILTER_NONE, &m_command)
+#endif
                               );
     sizerH->Add(command,
                     wxSizerFlags(1).Align(wxALIGN_CENTER_VERTICAL));
@@ -284,14 +286,9 @@ wxDebugReportDialog::wxDebugReportDialog(wxDebugReport& dbgrpt)
         << _T('\n')
         << _T("             \"") << dbgrpt.GetDirectory() << _T("\"\n")
         << _T('\n')
-        << _("The report contains the files listed below. If any of these ")
-        << _("files contain private information,\n")
-        << _("please uncheck them and they will be removed from the report.\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')
-        << _("If you wish to suppress this debug report completely, please ")
-        << _("choose the \"Cancel\" button,\n")
-        << _("but be warned that it may hinder improving the program, so if\n")
-        << _("at all possible please do continue with the report generation.\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')
         << _("              Thank you and we're sorry for the inconvenience!\n")
         << _T("\n\n"); // just some white space to separate from other stuff
@@ -325,8 +322,7 @@ wxDebugReportDialog::wxDebugReportDialog(wxDebugReport& dbgrpt)
     // lower part of the dialog: notes field
     wxSizer *sizerNotes = new wxStaticBoxSizer(wxVERTICAL, this, _("&Notes:"));
 
-    msg = _("If you have any additional information pertaining to this bug\n");
-    msg << _("report, please enter it here and it will be joined to it:");
+    msg = _("If you have any additional information pertaining to this bug\nreport, please enter it here and it will be joined to it:");
 
     m_notes = new wxTextCtrl(this, wxID_ANY, wxEmptyString,
                              wxDefaultPosition, wxDefaultSize,
@@ -387,14 +383,8 @@ bool wxDebugReportDialog::TransferDataFromWindow()
     const wxString notes = m_notes->GetValue();
     if ( !notes.empty() )
     {
-        // for now it's fixed, could make it configurable in the future...
-        const wxChar *NOTES_FILE_NAME = _T("notes.txt");
-        wxFileName fn(m_dbgrpt.GetDirectory(), NOTES_FILE_NAME);
-        wxFFile file(fn.GetFullPath(), _T("w"));
-        if ( file.IsOpened() && file.Write(notes) )
-        {
-            m_dbgrpt.AddFile(NOTES_FILE_NAME, _T("user notes"));
-        }
+        // for now filename fixed, could make it configurable in the future...
+        m_dbgrpt.AddText(_T("notes.txt"), notes, _T("user notes"));
     }
 
     return true;
@@ -429,12 +419,15 @@ void wxDebugReportDialog::OnOpen(wxCommandEvent& )
 
     // try to get the command to open this kind of files ourselves
     wxString command;
+#if wxUSE_MIMETYPE
     wxFileType *
         ft = wxTheMimeTypesManager->GetFileTypeFromExtension(fn.GetExt());
     if ( ft )
     {
         command = ft->GetOpenCommand(fn.GetFullPath());
+        delete ft;
     }
+#endif // wxUSE_MIMETYPE
 
     // if we couldn't, ask the user
     if ( command.empty() )
@@ -446,13 +439,20 @@ void wxDebugReportDialog::OnOpen(wxCommandEvent& )
 
             // if we don't have place marker for file name in the command...
             wxString cmd = dlg.GetCommand();
-            if ( cmd.find(_T('%')) == wxString::npos )
+            if ( !cmd.empty() )
             {
-                // ...add it
-                cmd += _T(" \"%s\"");
+#if wxUSE_MIMETYPE
+                if ( cmd.find(_T('%')) != wxString::npos )
+                {
+                    command = wxFileType::ExpandCommand(cmd, fn.GetFullPath());
+                }
+                else // no %s nor %1
+#endif // wxUSE_MIMETYPE
+                {
+                    // append the file name to the end
+                    command << cmd << _T(" \"") << fn.GetFullPath() << _T('"');
+                }
             }
-
-            command = wxFileType::ExpandCommand(cmd, fn.GetFullPath());
         }
     }