Mercurial > minori
comparison src/gui/widgets/text.cc @ 295:b82841e76e79
*: better support on Windows
things now look much better in dark mode
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Sun, 12 May 2024 20:24:09 -0400 |
parents | 9a88e1725fd2 |
children | 6b0768158dcd |
comparison
equal
deleted
inserted
replaced
294:99cbc51433e4 | 295:b82841e76e79 |
---|---|
60 | 60 |
61 text_edit.setTextInteractionFlags(Qt::TextBrowserInteraction); | 61 text_edit.setTextInteractionFlags(Qt::TextBrowserInteraction); |
62 text_edit.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); | 62 text_edit.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
63 text_edit.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); | 63 text_edit.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); |
64 text_edit.setStyleSheet("background: transparent;"); | 64 text_edit.setStyleSheet("background: transparent;"); |
65 text_edit.setFrameStyle(QFrame::NoFrame); | |
65 | 66 |
66 text_edit.document()->setDocumentMargin(0); | 67 text_edit.document()->setDocumentMargin(0); |
67 | 68 |
68 SetText(text); | 69 SetText(text); |
69 | 70 |
77 QTextCursor cursor = text_edit.textCursor(); | 78 QTextCursor cursor = text_edit.textCursor(); |
78 cursor.setPosition(0); | 79 cursor.setPosition(0); |
79 text_edit.setTextCursor(cursor); | 80 text_edit.setTextCursor(cursor); |
80 } | 81 } |
81 | 82 |
82 QSize Paragraph::minimumSizeHint() const { | 83 bool Paragraph::hasHeightForWidth() const { |
83 return QSize(0, 0); | 84 return true; |
84 } | 85 } |
85 | 86 |
86 /* highly based upon... some stackoverflow answer for PyQt */ | 87 int Paragraph::heightForWidth(int w) const { |
87 QSize Paragraph::sizeHint() const { | |
88 QTextDocument* doc = text_edit.document(); | 88 QTextDocument* doc = text_edit.document(); |
89 doc->adjustSize(); | 89 doc->setTextWidth(w); |
90 | 90 |
91 long h = 0; | 91 return doc->size().toSize().height(); |
92 for (QTextBlock line = doc->begin(); line != doc->end(); line = line.next()) | |
93 h += doc->documentLayout()->blockBoundingRect(line).height(); | |
94 | |
95 return QSize(doc->size().width(), h); | |
96 } | 92 } |
97 | 93 |
98 QPlainTextEdit* Paragraph::GetLabel() { | 94 QPlainTextEdit* Paragraph::GetLabel() { |
99 return &text_edit; | 95 return &text_edit; |
100 } | 96 } |