diff --git a/include/wx/html/htmprint.h b/include/wx/html/htmprint.h index f84dea24af..d185767c94 100644 --- a/include/wx/html/htmprint.h +++ b/include/wx/html/htmprint.h @@ -179,14 +179,14 @@ class WXDLLEXPORT wxHtmlEasyPrinting : public wxObject wxHtmlEasyPrinting(const wxString& name = "Printing", wxFrame *parent_frame = NULL); ~wxHtmlEasyPrinting(); - void PreviewFile(const wxString &htmlfile); - void PreviewText(const wxString &htmltext, const wxString& basepath = wxEmptyString); + bool PreviewFile(const wxString &htmlfile); + bool PreviewText(const wxString &htmltext, const wxString& basepath = wxEmptyString); // Preview file / html-text for printing // (and offers printing) // basepath is base directory for opening subsequent files (e.g. from tag) - void PrintFile(const wxString &htmlfile); - void PrintText(const wxString &htmltext, const wxString& basepath = wxEmptyString); + bool PrintFile(const wxString &htmlfile); + bool PrintText(const wxString &htmltext, const wxString& basepath = wxEmptyString); // Print file / html-text w/o preview void PrinterSetup(); @@ -211,8 +211,8 @@ class WXDLLEXPORT wxHtmlEasyPrinting : public wxObject private: wxHtmlPrintout *CreatePrintout(); - void DoPreview(wxHtmlPrintout *printout1, wxHtmlPrintout *printout2); - void DoPrint(wxHtmlPrintout *printout); + bool DoPreview(wxHtmlPrintout *printout1, wxHtmlPrintout *printout2); + bool DoPrint(wxHtmlPrintout *printout); wxPrintData *m_PrintData; wxPageSetupDialogData *m_PageSetupData; diff --git a/src/html/htmprint.cpp b/src/html/htmprint.cpp index ddf57fb31a..82f3e09fce 100644 --- a/src/html/htmprint.cpp +++ b/src/html/htmprint.cpp @@ -436,54 +436,54 @@ wxHtmlEasyPrinting::~wxHtmlEasyPrinting() -void wxHtmlEasyPrinting::PreviewFile(const wxString &htmlfile) +bool wxHtmlEasyPrinting::PreviewFile(const wxString &htmlfile) { wxHtmlPrintout *p1 = CreatePrintout(); p1 -> SetHtmlFile(htmlfile); wxHtmlPrintout *p2 = CreatePrintout(); p2 -> SetHtmlFile(htmlfile); - DoPreview(p1, p2); + return DoPreview(p1, p2); } -void wxHtmlEasyPrinting::PreviewText(const wxString &htmltext, const wxString &basepath) +bool wxHtmlEasyPrinting::PreviewText(const wxString &htmltext, const wxString &basepath) { wxHtmlPrintout *p1 = CreatePrintout(); p1 -> SetHtmlText(htmltext, basepath, TRUE); wxHtmlPrintout *p2 = CreatePrintout(); p2 -> SetHtmlText(htmltext, basepath, TRUE); - DoPreview(p1, p2); + return DoPreview(p1, p2); } -void wxHtmlEasyPrinting::PrintFile(const wxString &htmlfile) +bool wxHtmlEasyPrinting::PrintFile(const wxString &htmlfile) { wxHtmlPrintout *p = CreatePrintout(); p -> SetHtmlFile(htmlfile); - DoPrint(p); + return DoPrint(p); } -void wxHtmlEasyPrinting::PrintText(const wxString &htmltext, const wxString &basepath) +bool wxHtmlEasyPrinting::PrintText(const wxString &htmltext, const wxString &basepath) { wxHtmlPrintout *p = CreatePrintout(); p -> SetHtmlText(htmltext, basepath, TRUE); - DoPrint(p); + return DoPrint(p); } -void wxHtmlEasyPrinting::DoPreview(wxHtmlPrintout *printout1, wxHtmlPrintout *printout2) +bool wxHtmlEasyPrinting::DoPreview(wxHtmlPrintout *printout1, wxHtmlPrintout *printout2) { // Pass two printout objects: for preview, and possible printing. wxPrintDialogData printDialogData(*m_PrintData); wxPrintPreview *preview = new wxPrintPreview(printout1, printout2, &printDialogData); if (!preview -> Ok()) { delete preview; - wxMessageBox(_("There was a problem previewing.\nPerhaps your current printer is not set correctly?"), _("Previewing"), wxOK); + return FALSE; } else { @@ -493,20 +493,26 @@ void wxHtmlEasyPrinting::DoPreview(wxHtmlPrintout *printout1, wxHtmlPrintout *pr frame -> Centre(wxBOTH); frame -> Initialize(); frame -> Show(TRUE); + return TRUE; } } -void wxHtmlEasyPrinting::DoPrint(wxHtmlPrintout *printout) +bool wxHtmlEasyPrinting::DoPrint(wxHtmlPrintout *printout) { wxPrintDialogData printDialogData(*m_PrintData); wxPrinter printer(&printDialogData); if (!printer.Print(m_Frame, printout, TRUE)) - wxMessageBox(_("There was a problem printing.\nPerhaps your current printer is not set correctly?"), _("Printing"), wxOK); + { + return FALSE; + } else + { (*m_PrintData) = printer.GetPrintDialogData().GetPrintData(); + return TRUE; + } }