aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/browsertab.cpp21
-rw-r--r--src/browsertab.hpp6
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;