comparison src/gui/widgets/poster.cc @ 348:6b0768158dcd

text: redesign almost every widget i.e. Paragraph is now a QLabel, etc etc, some things will probably break, idc
author Paper <paper@paper.us.eu.org>
date Tue, 25 Jun 2024 11:19:54 -0400
parents b1f625b0227c
children
comparison
equal deleted inserted replaced
347:a0aa8c8c4307 348:6b0768158dcd
14 #include <QMessageBox> 14 #include <QMessageBox>
15 #include <QPixmap> 15 #include <QPixmap>
16 #include <QThread> 16 #include <QThread>
17 #include <QUrl> 17 #include <QUrl>
18 18
19 #include <iostream>
20
19 Poster::Poster(QWidget* parent) : QFrame(parent) { 21 Poster::Poster(QWidget* parent) : QFrame(parent) {
20 QHBoxLayout* layout = new QHBoxLayout(this); 22 QHBoxLayout* layout = new QHBoxLayout(this);
21 layout->setContentsMargins(1, 1, 1, 1); 23 layout->setContentsMargins(1, 1, 1, 1);
22 24
23 setCursor(Qt::PointingHandCursor); 25 setCursor(Qt::PointingHandCursor);
24 setFixedSize(150, 225); 26 setFixedSize(150, 225); // FIXME need to kill this
25 setFrameShape(QFrame::Box); 27 setFrameShape(QFrame::Box);
26 setFrameShadow(QFrame::Plain); 28 setFrameShadow(QFrame::Plain);
27 29
28 label_.setAlignment(Qt::AlignCenter); 30 label_.setAlignment(Qt::AlignCenter);
29 layout->addWidget(&label_); 31 layout->addWidget(&label_);
99 if (pixmap.isNull()) 101 if (pixmap.isNull())
100 return; 102 return;
101 label_.setPixmap(pixmap.scaled(label_.size(), Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation)); 103 label_.setPixmap(pixmap.scaled(label_.size(), Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation));
102 } 104 }
103 105
106 bool Poster::hasHeightForWidth(void) const {
107 return true;
108 }
109
110 int Poster::heightForWidth(int w) const {
111 return static_cast<int>(static_cast<double>(w) * 225 / 150);
112 }
113
104 void Poster::resizeEvent(QResizeEvent*) { 114 void Poster::resizeEvent(QResizeEvent*) {
105 RenderToLabel(); 115 RenderToLabel();
106 } 116 }
117
118 QSize Poster::minimumSizeHint() const {
119 return QSize(120, heightForWidth(120));
120 }
121
122 QSize Poster::sizeHint() const {
123 return QSize(150, heightForWidth(150));
124 }