From 6f66745ce3a66825002454cd1116bbfebe29445c Mon Sep 17 00:00:00 2001 From: zi-mozhuang <2802443161@qq.com> Date: Wed, 12 Aug 2026 15:07:52 +0800 Subject: [PATCH] Apply minimal title block fix to zh (from c77f78e4a) --- sources/bordertitleblock.h | 3 +++ sources/print/projectprintwindow.cpp | 10 +++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/sources/bordertitleblock.h b/sources/bordertitleblock.h index d13abad09..4a1b60a09 100644 --- a/sources/bordertitleblock.h +++ b/sources/bordertitleblock.h @@ -94,6 +94,9 @@ class BorderTitleBlock : public QObject QRectF titleBlockRect () const; + // @return the edge where title block is docked + Qt::Edge titleBlockEdge() const { return(m_edge); } + DiagramContext titleblockInformation() const; private: QRectF titleBlockRectForQPainter () const; diff --git a/sources/print/projectprintwindow.cpp b/sources/print/projectprintwindow.cpp index b115ad5b7..5d369b485 100644 --- a/sources/print/projectprintwindow.cpp +++ b/sources/print/projectprintwindow.cpp @@ -450,9 +450,13 @@ QRect ProjectPrintWindow::diagramRect(Diagram *diagram, const ExportProperties & { auto diagram_rect = diagram->border_and_titleblock.borderAndTitleBlockRect(); if (!option.draw_titleblock) { - auto titleblock_height = diagram->border_and_titleblock.titleBlockRect().height(); - diagram_rect.setHeight(diagram_rect.height() - titleblock_height); - } + auto tbt_rect = diagram->border_and_titleblock.titleBlockRect(); + if (diagram->border_and_titleblock.titleBlockEdge() == Qt::BottomEdge) + diagram_rect.setHeight(diagram_rect.height() - tbt_rect.height()); + else + diagram_rect.setWidth(diagram_rect.width() - tbt_rect.width()); + } + //Adjust the border of diagram to 1px (width of the line) diagram_rect.adjust(0,0,1,1);