Issue #100: Annotation rectangle

This commit is contained in:
Jakub Melka
2023-10-18 20:11:43 +02:00
parent edc86a84fa
commit 3d32db2046
8 changed files with 151 additions and 2 deletions

View File

@@ -98,5 +98,6 @@
<file>resources/sidebar-thumbnails.png</file>
<file>resources/sidebar-visibility.png</file>
<file>resources/sidebar-attachment.png</file>
<file>resources/annot-rectangle.svg</file>
</qresource>
</RCC>

View File

@@ -982,6 +982,8 @@ void PDFProgramController::initializeToolManager()
m_toolManager->addTool(createStraightLineTool);
pdf::PDFCreateLineTypeTool* createPolylineTool = new pdf::PDFCreateLineTypeTool(m_pdfWidget->getDrawWidgetProxy(), m_toolManager, pdf::PDFCreateLineTypeTool::Type::PolyLine, m_actionManager->getAction(PDFActionManager::CreatePolyline), this);
m_toolManager->addTool(createPolylineTool);
pdf::PDFCreateLineTypeTool* createRectangleTool = new pdf::PDFCreateLineTypeTool(m_pdfWidget->getDrawWidgetProxy(), m_toolManager, pdf::PDFCreateLineTypeTool::Type::Rectangle, m_actionManager->getAction(PDFActionManager::CreateRectangle), this);
m_toolManager->addTool(createRectangleTool);
pdf::PDFCreateLineTypeTool* createPolygonTool = new pdf::PDFCreateLineTypeTool(m_pdfWidget->getDrawWidgetProxy(), m_toolManager, pdf::PDFCreateLineTypeTool::Type::Polygon, m_actionManager->getAction(PDFActionManager::CreatePolygon), this);
m_toolManager->addTool(createPolygonTool);
pdf::PDFCreateEllipseTool* createEllipseTool = new pdf::PDFCreateEllipseTool(m_pdfWidget->getDrawWidgetProxy(), m_toolManager, m_actionManager->getAction(PDFActionManager::CreateEllipse), this);

View File

@@ -134,6 +134,7 @@ public:
CreateInlineText,
CreateStraightLine,
CreatePolyline,
CreateRectangle,
CreatePolygon,
CreateEllipse,
CreateFreehandCurve,

View File

@@ -141,6 +141,7 @@ PDFViewerMainWindow::PDFViewerMainWindow(QWidget* parent) :
m_actionManager->setAction(PDFActionManager::CreateInlineText, ui->actionInlineText);
m_actionManager->setAction(PDFActionManager::CreateStraightLine, ui->actionCreateStraightLine);
m_actionManager->setAction(PDFActionManager::CreatePolyline, ui->actionCreatePolyline);
m_actionManager->setAction(PDFActionManager::CreateRectangle, ui->actionCreateRectangle);
m_actionManager->setAction(PDFActionManager::CreatePolygon, ui->actionCreatePolygon);
m_actionManager->setAction(PDFActionManager::CreateEllipse, ui->actionCreateEllipse);
m_actionManager->setAction(PDFActionManager::CreateFreehandCurve, ui->actionCreateFreehandCurve);

View File

@@ -181,6 +181,7 @@
<addaction name="actionInlineText"/>
<addaction name="actionCreateStraightLine"/>
<addaction name="actionCreatePolyline"/>
<addaction name="actionCreateRectangle"/>
<addaction name="actionCreatePolygon"/>
<addaction name="actionCreateEllipse"/>
<addaction name="actionCreateFreehandCurve"/>
@@ -763,6 +764,18 @@
<string>Polyline</string>
</property>
</action>
<action name="actionCreateRectangle">
<property name="checkable">
<bool>true</bool>
</property>
<property name="icon">
<iconset resource="pdf4qtviewer.qrc">
<normaloff>:/resources/annot-rectangle.svg</normaloff>:/resources/annot-rectangle.svg</iconset>
</property>
<property name="text">
<string>Rectangle</string>
</property>
</action>
<action name="actionCreatePolygon">
<property name="checkable">
<bool>true</bool>

View File

@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Vrstva_1"
x="0px"
y="0px"
width="24px"
height="24px"
viewBox="0 0 24 24"
enable-background="new 0 0 24 24"
xml:space="preserve"
sodipodi:docname="annot-rectangle.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><metadata
id="metadata17"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs15" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="3840"
inkscape:window-height="2035"
id="namedview13"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-x="-13"
inkscape:window-y="-13"
inkscape:window-maximized="1"
inkscape:current-layer="Vrstva_1" />
<g
id="g8">
<g
id="g6">
<path
d="m 22,10 v 5 c 0,5 -2,7 -7,7 H 9 C 4,22 2,20 2,15 V 9 C 2,4 4,2 9,2 h 5"
id="path2"
inkscape:connector-curvature="0"
style="fill:none;stroke:#292d32;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round" />
<path
d="M 22,10 H 18 C 15,10 14,9 14,6 V 2 Z"
id="path4"
inkscape:connector-curvature="0"
style="fill:none;stroke:#292d32;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round" />
</g>
</g>
<g
id="g10">
</g>
<rect
style="opacity:1;fill:none;fill-opacity:1;stroke:#292d32;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect824"
width="9.1525431"
height="7.9322033"
x="7.6271186"
y="11.694916"
ry="0" /></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB