WSJT-X/HelpTextWindow.cpp
Bill Somerville 3f1ea9d10c Make message boxes more platform independent with a wrapper
Instead  of  using the  Qt  QMessageBox  class  directly a  new  class
MessageBox  (MessageBox.hpp)  has been  added  to  deal with  platform
independence issues like the title not being shown on Mac OS X.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6861 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-03 20:31:19 +00:00

30 lines
996 B
C++

#include "HelpTextWindow.hpp"
#include <QApplication>
#include <QString>
#include <QPalette>
#include <QFile>
#include <QTextStream>
#include "qt_helpers.hpp"
#include <MessageBox.hpp>
HelpTextWindow::HelpTextWindow (QString const& title, QString const& file_name, QFont const& font, QWidget * parent)
: QLabel {parent, Qt::WindowCloseButtonHint | Qt::WindowMinimizeButtonHint}
{
QFile source {file_name};
if (!source.open (QIODevice::ReadOnly | QIODevice::Text))
{
MessageBox::warning_message (this, tr ("Help file error")
, tr ("Cannot open \"%1\" for reading").arg (source.fileName ())
, tr ("Error: %1").arg (source.errorString ()));
return;
}
setText (QTextStream {&source}.readAll ());
setWindowTitle(QApplication::applicationName () + " - " + title);
setMargin (10);
setBackgroundRole (QPalette::Base);
setAutoFillBackground (true);
setStyleSheet (font_as_stylesheet (font));
}