File indexing completed on 2024-05-12 15:50:10

0001 #include <QPixmap>
0002 #include <QThread>
0003 
0004 #include "MainWidget.h"
0005 
0006 MainWidget::MainWidget(QWidget *parent)
0007     : QWidget(parent)
0008     , m_image(new QLabel(this))
0009     , m_caption(new QLabel(tr("Hello Internet!"), m_image))
0010     , m_status(new QLabel(tr("Please wait..."), m_image))
0011 {
0012     setFixedSize(800, 450);
0013     // set style sheet for the text labels:
0014     m_caption->setContentsMargins(18, 9, 9, 9);
0015     m_caption->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
0016     m_caption->setWordWrap(true);
0017     m_caption->setStyleSheet(QStringLiteral("background-color: rgba(255, 255, 255, 200); font: italic 18pt \"Sans Serif\";"));
0018     m_status->setContentsMargins(18, 9, 9, 9);
0019     m_status->setStyleSheet(QStringLiteral("background-color: rgba(255, 255, 255, 200); font: 10pt \"Sans Serif\";"));
0020 }
0021 
0022 MainWidget::~MainWidget()
0023 {
0024 }
0025 
0026 void MainWidget::resizeEvent(QResizeEvent *)
0027 {
0028     m_image->setGeometry(0, 0, width(), height());
0029     m_caption->move(0, 0);
0030     m_caption->setFixedWidth(width());
0031     m_caption->setFixedHeight(qMax(m_caption->sizeHint().height(), height() / 3));
0032     m_status->setFixedWidth(width());
0033     m_status->setFixedHeight(qMax(m_status->sizeHint().height(), height() / 9));
0034     m_status->move(0, height() - m_status->height());
0035 }
0036 
0037 void MainWidget::setImage(QImage image)
0038 {
0039     Q_ASSERT(thread() == QThread::currentThread());
0040     m_image->setPixmap(QPixmap::fromImage(image));
0041 }
0042 
0043 void MainWidget::setCaption(QString text)
0044 {
0045     m_caption->setText(text);
0046 }
0047 
0048 void MainWidget::setStatus(QString text)
0049 {
0050     m_status->setText(text);
0051 }
0052 
0053 #include "moc_MainWidget.cpp"