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;
+ }
}