mirror of
https://github.com/JakubMelka/PDF4QT.git
synced 2025-06-05 21:59:17 +02:00
Issue #247: option to hide cross when adding annotations
This commit is contained in:
@@ -216,11 +216,13 @@ PDFWidgetTool* PDFWidgetTool::getTopToolstackTool() const
|
|||||||
void PDFWidgetTool::addTool(PDFWidgetTool* tool)
|
void PDFWidgetTool::addTool(PDFWidgetTool* tool)
|
||||||
{
|
{
|
||||||
tool->setActive(isActive());
|
tool->setActive(isActive());
|
||||||
|
connect(tool, &PDFWidgetTool::messageDisplayRequest, this, &PDFWidgetTool::messageDisplayRequest);
|
||||||
m_toolStack.push_back(tool);
|
m_toolStack.push_back(tool);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PDFWidgetTool::removeTool()
|
void PDFWidgetTool::removeTool()
|
||||||
{
|
{
|
||||||
|
disconnect(m_toolStack.back(), &PDFWidgetTool::messageDisplayRequest, this, &PDFWidgetTool::messageDisplayRequest);
|
||||||
m_toolStack.back()->setActive(false);
|
m_toolStack.back()->setActive(false);
|
||||||
m_toolStack.pop_back();
|
m_toolStack.pop_back();
|
||||||
}
|
}
|
||||||
@@ -1272,7 +1274,8 @@ PDFPickTool::PDFPickTool(PDFDrawWidgetProxy* proxy, PDFPickTool::Mode mode, QObj
|
|||||||
m_mode(mode),
|
m_mode(mode),
|
||||||
m_pageIndex(-1),
|
m_pageIndex(-1),
|
||||||
m_drawSelectionRectangle(true),
|
m_drawSelectionRectangle(true),
|
||||||
m_selectionRectangleColor(Qt::blue)
|
m_selectionRectangleColor(Qt::blue),
|
||||||
|
m_hideLargeCross(false)
|
||||||
{
|
{
|
||||||
switch (m_mode)
|
switch (m_mode)
|
||||||
{
|
{
|
||||||
@@ -1362,10 +1365,21 @@ void PDFPickTool::drawPostRendering(QPainter* painter, QRect rect) const
|
|||||||
QPoint vtop = snappedPoint;
|
QPoint vtop = snappedPoint;
|
||||||
QPoint vbottom = snappedPoint;
|
QPoint vbottom = snappedPoint;
|
||||||
|
|
||||||
|
if (!m_hideLargeCross)
|
||||||
|
{
|
||||||
hleft.setX(0);
|
hleft.setX(0);
|
||||||
hright.setX(rect.width());
|
hright.setX(rect.width());
|
||||||
vtop.setY(0);
|
vtop.setY(0);
|
||||||
vbottom.setY(rect.height());
|
vbottom.setY(rect.height());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const int markSize = PDFWidgetUtils::scaleDPI_x(getProxy()->getWidget(), 4);
|
||||||
|
hleft.setX(hleft.x() - markSize);
|
||||||
|
hright.setX(hright.x() + markSize);
|
||||||
|
vtop.setY(vtop.y() - markSize);
|
||||||
|
vbottom.setY(vbottom.y() + markSize);
|
||||||
|
}
|
||||||
|
|
||||||
painter->setPen(Qt::black);
|
painter->setPen(Qt::black);
|
||||||
painter->drawLine(hleft, hright);
|
painter->drawLine(hleft, hright);
|
||||||
@@ -1494,6 +1508,19 @@ void PDFPickTool::mouseMoveEvent(QWidget* widget, QMouseEvent* event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PDFPickTool::keyPressEvent(QWidget* widget, QKeyEvent* event)
|
||||||
|
{
|
||||||
|
if (event->key() == Qt::Key_C)
|
||||||
|
{
|
||||||
|
m_hideLargeCross = !m_hideLargeCross;
|
||||||
|
Q_EMIT getProxy()->repaintNeeded();
|
||||||
|
event->accept();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
BaseClass::keyPressEvent(widget, event);
|
||||||
|
}
|
||||||
|
|
||||||
QPointF PDFPickTool::getSnappedPoint() const
|
QPointF PDFPickTool::getSnappedPoint() const
|
||||||
{
|
{
|
||||||
return m_snapper.getSnappedPoint();
|
return m_snapper.getSnappedPoint();
|
||||||
@@ -1514,6 +1541,8 @@ void PDFPickTool::setActiveImpl(bool active)
|
|||||||
if (active)
|
if (active)
|
||||||
{
|
{
|
||||||
buildSnapData();
|
buildSnapData();
|
||||||
|
|
||||||
|
Q_EMIT messageDisplayRequest(tr("Use key 'C' to show/hide large cross."), 15000);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -368,6 +368,7 @@ public:
|
|||||||
virtual void mousePressEvent(QWidget* widget, QMouseEvent* event) override;
|
virtual void mousePressEvent(QWidget* widget, QMouseEvent* event) override;
|
||||||
virtual void mouseReleaseEvent(QWidget* widget, QMouseEvent* event) override;
|
virtual void mouseReleaseEvent(QWidget* widget, QMouseEvent* event) override;
|
||||||
virtual void mouseMoveEvent(QWidget* widget, QMouseEvent* event) override;
|
virtual void mouseMoveEvent(QWidget* widget, QMouseEvent* event) override;
|
||||||
|
virtual void keyPressEvent(QWidget* widget, QKeyEvent* event) override;
|
||||||
|
|
||||||
QPointF getSnappedPoint() const;
|
QPointF getSnappedPoint() const;
|
||||||
PDFInteger getPageIndex() const { return m_pageIndex; }
|
PDFInteger getPageIndex() const { return m_pageIndex; }
|
||||||
@@ -408,6 +409,7 @@ private:
|
|||||||
std::vector<QPointF> m_pickedPoints;
|
std::vector<QPointF> m_pickedPoints;
|
||||||
bool m_drawSelectionRectangle;
|
bool m_drawSelectionRectangle;
|
||||||
QColor m_selectionRectangleColor;
|
QColor m_selectionRectangleColor;
|
||||||
|
bool m_hideLargeCross;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Tool for selection of table in document. Rows and columns
|
/// Tool for selection of table in document. Rows and columns
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
CURRENT:
|
CURRENT:
|
||||||
- Issue #248: update version and year in Help > About page
|
- Issue #248: update version and year in Help > About page
|
||||||
|
- Issue #247: option to hide cross when adding annotations
|
||||||
|
|
||||||
V: 1.5.0.0 9.3.2025
|
V: 1.5.0.0 9.3.2025
|
||||||
- Issue #244: PageMaster: united one document after remove pages leads to lose the outline
|
- Issue #244: PageMaster: united one document after remove pages leads to lose the outline
|
||||||
|
Reference in New Issue
Block a user