diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/browsertab.cpp | 21 | ||||
| -rw-r--r-- | src/browsertab.hpp | 6 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/browsertab.cpp b/src/browsertab.cpp index c86051d..1455ea8 100644 --- a/src/browsertab.cpp +++ b/src/browsertab.cpp @@ -730,6 +730,7 @@ void BrowserTab::renderPage(const QByteArray &data, const MimeType &mime) this->ui->text_browser->setDocument(document.get()); this->current_document = std::move(document); + this->updatePageMargins(); this->needs_rerender = false; @@ -1312,6 +1313,20 @@ void BrowserTab::setUiDensity(UIDensity density) } } +void BrowserTab::updatePageMargins() +{ + if (!this->current_document) return; + + QTextFrame *root = this->current_document->rootFrame(); + QTextFrameFormat fmt = root->frameFormat(); + int margin = std::max((this->width() - 900) / 2, 30); + fmt.setLeftMargin(margin); + fmt.setRightMargin(margin); + root->setFrameFormat(fmt); + + this->ui->text_browser->setDocument(this->current_document.get()); +} + bool BrowserTab::trySetClientCertificate(const QString &query) { CertificateSelectionDialog dialog{this}; @@ -1652,3 +1667,9 @@ void BrowserTab::on_close_search_clicked() { this->ui->search_bar->setVisible(false); } + +void BrowserTab::resizeEvent(QResizeEvent * event) +{ + this->updatePageMargins(); + QWidget::resizeEvent(event); +} diff --git a/src/browsertab.hpp b/src/browsertab.hpp index 27add74..8172122 100644 --- a/src/browsertab.hpp +++ b/src/browsertab.hpp @@ -101,6 +101,8 @@ public: void setUiDensity(UIDensity density); + void updatePageMargins(); + signals: void titleChanged(QString const & title); void locationChanged(QUrl const & url); @@ -186,6 +188,10 @@ private: bool enableClientCertificate(CryptoIdentity const & ident); void disableClientCertificate(); + +protected: + void resizeEvent(QResizeEvent * event); + public: Ui::BrowserTab *ui; |
