Mercurial > minori
comparison src/gui/widgets/text.cpp @ 50:10868c3fb2be
text.cpp: set paragraph width from document, labelled texts are now...
dependent on sizeHint()
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Mon, 25 Sep 2023 13:50:56 -0400 |
parents | f4bea5ef5b8a |
children | 75c804f713b2 |
comparison
equal
deleted
inserted
replaced
49:f4bea5ef5b8a | 50:10868c3fb2be |
---|---|
81 labels = new Paragraph(label, this); | 81 labels = new Paragraph(label, this); |
82 labels->setTextInteractionFlags(Qt::NoTextInteraction); | 82 labels->setTextInteractionFlags(Qt::NoTextInteraction); |
83 labels->setAttribute(Qt::WidgetAttribute::WA_TransparentForMouseEvents); | 83 labels->setAttribute(Qt::WidgetAttribute::WA_TransparentForMouseEvents); |
84 labels->setWordWrapMode(QTextOption::NoWrap); | 84 labels->setWordWrapMode(QTextOption::NoWrap); |
85 labels->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); | 85 labels->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); |
86 labels->setFixedWidth(123); | |
87 | 86 |
88 paragraph = new Paragraph(data, this); | 87 paragraph = new Paragraph(data, this); |
89 paragraph->setTextInteractionFlags(Qt::NoTextInteraction); | 88 paragraph->setTextInteractionFlags(Qt::NoTextInteraction); |
90 paragraph->setAttribute(Qt::WidgetAttribute::WA_TransparentForMouseEvents); | 89 paragraph->setAttribute(Qt::WidgetAttribute::WA_TransparentForMouseEvents); |
91 paragraph->setWordWrapMode(QTextOption::NoWrap); | 90 paragraph->setWordWrapMode(QTextOption::NoWrap); |
92 | 91 |
93 QHBoxLayout* content_layout = new QHBoxLayout; | 92 QHBoxLayout* content_layout = new QHBoxLayout(content); |
94 content_layout->addWidget(labels, 0, Qt::AlignTop); | 93 content_layout->addWidget(labels, 0, Qt::AlignTop); |
95 content_layout->addWidget(paragraph, 0, Qt::AlignTop); | 94 content_layout->addWidget(paragraph, 0, Qt::AlignTop); |
96 content_layout->setSpacing(0); | 95 content_layout->setSpacing(20); |
97 content_layout->setMargin(0); | 96 content_layout->setMargin(0); |
98 content->setLayout(content_layout); | |
99 | 97 |
100 content->setContentsMargins(12, 0, 0, 0); | 98 content->setContentsMargins(12, 0, 0, 0); |
101 | 99 |
102 layout()->addWidget(header); | 100 layout()->addWidget(header); |
103 layout()->addWidget(content); | 101 layout()->addWidget(content); |
167 doc->adjustSize(); | 165 doc->adjustSize(); |
168 long h = 0; | 166 long h = 0; |
169 for (QTextBlock line = doc->begin(); line != doc->end(); line = line.next()) { | 167 for (QTextBlock line = doc->begin(); line != doc->end(); line = line.next()) { |
170 h += doc->documentLayout()->blockBoundingRect(line).height(); | 168 h += doc->documentLayout()->blockBoundingRect(line).height(); |
171 } | 169 } |
172 return QSize(QPlainTextEdit::sizeHint().width(), h); | 170 return QSize(doc->size().width(), h); |
173 } | 171 } |
174 | 172 |
175 QSize Paragraph::sizeHint() const { | 173 QSize Paragraph::sizeHint() const { |
176 return minimumSizeHint(); | 174 return minimumSizeHint(); |
177 } | 175 } |