diff --git a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/pqHelpWindow.h b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/pqHelpWindow.h index 064fc415a3faa8218334f7186a0b05129b525fec..f7cf098c0bbb086b689793b39d1c6126ee71154f 100644 --- a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/pqHelpWindow.h +++ b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/pqHelpWindow.h @@ -62,6 +62,7 @@ public slots: /// shows that page. virtual void showHomePage(const QString &namespace_name); virtual void showHomePage(); + virtual void printPage(); signals: /// fired to relay warning messages from the help system. diff --git a/MantidQt/MantidWidgets/src/pqHelpWindow.cxx b/MantidQt/MantidWidgets/src/pqHelpWindow.cxx index 9722259573c477150da52de0aa5e4c071a00fd39..b4f07dc82a2ddf955b55f75405127805509a51b8 100644 --- a/MantidQt/MantidWidgets/src/pqHelpWindow.cxx +++ b/MantidQt/MantidWidgets/src/pqHelpWindow.cxx @@ -42,6 +42,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <QNetworkProxy> #include <QNetworkReply> #include <QPointer> +#include <QPrinter> +#include <QPrintDialog> #include <QPushButton> #include <QTextBrowser> #include <QTextStream> @@ -196,6 +198,7 @@ pqHelpWindow::pqHelpWindow( // add a navigation toolbar QToolBar *navigation = new QToolBar("Navigation"); QPushButton *home = new QPushButton("Home"); + QPushButton *print = new QPushButton("Print"); m_forward = new QToolButton(); m_forward->setArrowType(Qt::RightArrow); @@ -210,6 +213,7 @@ pqHelpWindow::pqHelpWindow( m_backward->setAutoRaise(true); navigation->addWidget(home); + navigation->addWidget(print); navigation->addWidget(m_backward); navigation->addWidget(m_forward); navigation->setAllowedAreas(Qt::TopToolBarArea | Qt::RightToolBarArea); @@ -258,6 +262,7 @@ pqHelpWindow::pqHelpWindow( // connect the navigation buttons connect(home, SIGNAL(clicked()), this, SLOT(showHomePage())); + connect(print, SIGNAL(clicked()), this, SLOT(printPage())); connect(m_forward, SIGNAL(clicked()), m_browser, SLOT(forward())); connect(m_backward, SIGNAL(clicked()), m_browser, SLOT(back())); connect(m_forward, SIGNAL(clicked()), this, SLOT(updateNavButtons())); @@ -319,6 +324,17 @@ void pqHelpWindow::showPage(const QUrl& url) } } +//----------------------------------------------------------------------------- +void pqHelpWindow::printPage() +{ + QPrinter printer; + QPrintDialog *dialog = new QPrintDialog(&printer, this); + dialog->setWindowTitle(tr("Print Document")); + if (dialog->exec() != QDialog::Accepted) + return; + m_browser->print(&printer); +} + //----------------------------------------------------------------------------- void pqHelpWindow::updateNavButtons() {