WSJT-X/widgets/HelpTextWindow.cpp
Bill Somerville c9977e2a9c
Fix the minimum size of help text windows to the content size
This could make  help text windows bigger than the  screen, if we want
to  go there  then  using  a QLabel  sub-class  will  need to  change,
probably  by using  a  read-only QTextEdit  instead  as that  provides
scroll bars. Maybe  consider a multi-column table for  the contents as
an alternative to scroll bars.
2020-05-15 14:42:03 +01:00

33 lines
1.0 KiB
C++

#include "HelpTextWindow.hpp"
#include <QApplication>
#include <QString>
#include <QPalette>
#include <QFile>
#include <QTextStream>
#include "qt_helpers.hpp"
#include "widgets/MessageBox.hpp"
#include "moc_HelpTextWindow.cpp"
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;
}
setWindowTitle(QApplication::applicationName () + " - " + title);
setMargin (10);
setBackgroundRole (QPalette::Base);
setAutoFillBackground (true);
setStyleSheet (font_as_stylesheet (font));
setText (QTextStream {&source}.readAll ());
setMinimumSize (sizeHint ());
}