New tools: Arc start point, Arc end point.
|
@ -56,6 +56,7 @@
|
||||||
- Tape app. New feature: Always keep on top.
|
- Tape app. New feature: Always keep on top.
|
||||||
- [smart-pattern/valentina#188] Label %mFileName% file name punctuation.
|
- [smart-pattern/valentina#188] Label %mFileName% file name punctuation.
|
||||||
- Adding removing nodes of curved path.
|
- Adding removing nodes of curved path.
|
||||||
|
- New tools: Arc start point, Arc end point.
|
||||||
|
|
||||||
# Valentina 0.7.52 September 12, 2022
|
# Valentina 0.7.52 September 12, 2022
|
||||||
- Fix crash when default locale is ru.
|
- Fix crash when default locale is ru.
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
PATTERN=*@2x.png
|
PATTERN=*@2x.png
|
||||||
TOOLICONPATH=../src/app/valentina/share/resources/toolicon/ # PNG tool icon should be here
|
TOOLICONPATH=../src/app/valentina/share/resources/toolicon/ # PNG tool icon should be here
|
||||||
OUTPATH=../src/app/valentina/share/resources/cursor
|
OUTPATH=../src/app/valentina/share/resources/toolcursor
|
||||||
|
|
||||||
COLOR_SCHEMES=("light" "dark")
|
COLOR_SCHEMES=("light" "dark")
|
||||||
|
|
||||||
|
|
|
@ -143,7 +143,7 @@ void VToolOptionsPropertyBrowser::ClearPropertyBrowser()
|
||||||
void VToolOptionsPropertyBrowser::ShowItemOptions(QGraphicsItem *item)
|
void VToolOptionsPropertyBrowser::ShowItemOptions(QGraphicsItem *item)
|
||||||
{
|
{
|
||||||
// This check helps to find missed tools in the switch
|
// This check helps to find missed tools in the switch
|
||||||
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Not all tools were used in switch.");
|
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 61, "Not all tools were used in switch.");
|
||||||
|
|
||||||
switch (item->type())
|
switch (item->type())
|
||||||
{
|
{
|
||||||
|
@ -276,7 +276,7 @@ void VToolOptionsPropertyBrowser::UpdateOptions()
|
||||||
}
|
}
|
||||||
|
|
||||||
// This check helps to find missed tools in the switch
|
// This check helps to find missed tools in the switch
|
||||||
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Not all tools were used in switch.");
|
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 61, "Not all tools were used in switch.");
|
||||||
|
|
||||||
switch (m_currentItem->type())
|
switch (m_currentItem->type())
|
||||||
{
|
{
|
||||||
|
@ -425,7 +425,7 @@ void VToolOptionsPropertyBrowser::userChangedData(VPE::VProperty *property)
|
||||||
}
|
}
|
||||||
|
|
||||||
// This check helps to find missed tools in the switch
|
// This check helps to find missed tools in the switch
|
||||||
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Not all tools were used in switch.");
|
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 61, "Not all tools were used in switch.");
|
||||||
|
|
||||||
switch (m_currentItem->type())
|
switch (m_currentItem->type())
|
||||||
{
|
{
|
||||||
|
|
|
@ -166,6 +166,8 @@ VValentinaShortcutManager::VValentinaShortcutManager(QObject *parent)
|
||||||
AddShortcut({VShortcutAction::ToolPin, {}, {}});
|
AddShortcut({VShortcutAction::ToolPin, {}, {}});
|
||||||
AddShortcut({VShortcutAction::ToolInsertNode, {}, {}});
|
AddShortcut({VShortcutAction::ToolInsertNode, {}, {}});
|
||||||
AddShortcut({VShortcutAction::ToolPlaceLabel, {}, {}});
|
AddShortcut({VShortcutAction::ToolPlaceLabel, {}, {}});
|
||||||
|
AddShortcut({VShortcutAction::ToolArcStart, {}, {}});
|
||||||
|
AddShortcut({VShortcutAction::ToolArcEnd, {}, {}});
|
||||||
|
|
||||||
QT_WARNING_POP
|
QT_WARNING_POP
|
||||||
}
|
}
|
||||||
|
|
|
@ -284,7 +284,7 @@ auto DialogHistory::RecordDescription(const VToolRecord &tool, HistoryRecord rec
|
||||||
-> HistoryRecord
|
-> HistoryRecord
|
||||||
{
|
{
|
||||||
// This check helps to find missed tools in the switch
|
// This check helps to find missed tools in the switch
|
||||||
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Not all tools were used in history.");
|
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 61, "Not all tools were used in history.");
|
||||||
|
|
||||||
switch (tool.getTypeTool())
|
switch (tool.getTypeTool())
|
||||||
{
|
{
|
||||||
|
@ -300,6 +300,8 @@ auto DialogHistory::RecordDescription(const VToolRecord &tool, HistoryRecord rec
|
||||||
case Tool::BackgroundImageControls:
|
case Tool::BackgroundImageControls:
|
||||||
case Tool::BackgroundPixmapImage:
|
case Tool::BackgroundPixmapImage:
|
||||||
case Tool::BackgroundSVGImage:
|
case Tool::BackgroundSVGImage:
|
||||||
|
case Tool::ArcStart: // Same as Tool::CutArc, but tool will never has such type
|
||||||
|
case Tool::ArcEnd: // Same as Tool::CutArc, but tool will never has such type
|
||||||
case Tool::LAST_ONE_DO_NOT_USE:
|
case Tool::LAST_ONE_DO_NOT_USE:
|
||||||
Q_UNREACHABLE(); //-V501
|
Q_UNREACHABLE(); //-V501
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -882,10 +882,12 @@ void MainWindow::SetToolButton(bool checked, Tool t, const QString &cursor, cons
|
||||||
m_dialogTool = new Dialog(pattern, doc, 0, this);
|
m_dialogTool = new Dialog(pattern, doc, 0, this);
|
||||||
|
|
||||||
// This check helps to find missed tools in the switch
|
// This check helps to find missed tools in the switch
|
||||||
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Check if need to extend.");
|
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 61, "Check if need to extend.");
|
||||||
|
|
||||||
switch (t)
|
switch (t)
|
||||||
{
|
{
|
||||||
|
case Tool::ArcStart:
|
||||||
|
case Tool::ArcEnd:
|
||||||
case Tool::Midpoint:
|
case Tool::Midpoint:
|
||||||
m_dialogTool->Build(t);
|
m_dialogTool->Build(t);
|
||||||
break;
|
break;
|
||||||
|
@ -1764,6 +1766,28 @@ void MainWindow::ToolInsertNode(bool checked)
|
||||||
LogPatternToolUsed(checked, QStringLiteral("Insert node tool"));
|
LogPatternToolUsed(checked, QStringLiteral("Insert node tool"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void MainWindow::ToolArcStart(bool checked)
|
||||||
|
{
|
||||||
|
ToolSelectArc();
|
||||||
|
// Reuse DialogCutArc and VToolCutArc but with different cursor
|
||||||
|
SetToolButtonWithApply<DialogCutArc>(checked, Tool::ArcStart, QStringLiteral("arc_start_cursor.png"),
|
||||||
|
tr("Select arc"), &MainWindow::ClosedDrawDialogWithApply<VToolCutArc>,
|
||||||
|
&MainWindow::ApplyDrawDialog<VToolCutArc>);
|
||||||
|
LogPatternToolUsed(checked, QStringLiteral("Arc start tool"));
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void MainWindow::ToolArcEnd(bool checked)
|
||||||
|
{
|
||||||
|
ToolSelectArc();
|
||||||
|
// Reuse DialogCutArc and VToolCutArc but with different cursor
|
||||||
|
SetToolButtonWithApply<DialogCutArc>(checked, Tool::ArcEnd, QStringLiteral("arc_end_cursor.png"), tr("Select arc"),
|
||||||
|
&MainWindow::ClosedDrawDialogWithApply<VToolCutArc>,
|
||||||
|
&MainWindow::ApplyDrawDialog<VToolCutArc>);
|
||||||
|
LogPatternToolUsed(checked, QStringLiteral("Arc end tool"));
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* @brief ShowTool highlight tool.Tip show tools tooltip.
|
* @brief ShowTool highlight tool.Tip show tools tooltip.
|
||||||
|
@ -3127,6 +3151,8 @@ void MainWindow::ToolBarDrawTools()
|
||||||
curveSegmentPointToolMenu->addAction(ui->actionSplineCutPointTool);
|
curveSegmentPointToolMenu->addAction(ui->actionSplineCutPointTool);
|
||||||
curveSegmentPointToolMenu->addAction(ui->actionSplinePathCutPointTool);
|
curveSegmentPointToolMenu->addAction(ui->actionSplinePathCutPointTool);
|
||||||
curveSegmentPointToolMenu->addAction(ui->actionArcCutPointTool);
|
curveSegmentPointToolMenu->addAction(ui->actionArcCutPointTool);
|
||||||
|
curveSegmentPointToolMenu->addAction(ui->actionArcStartPointTool);
|
||||||
|
curveSegmentPointToolMenu->addAction(ui->actionArcEndPointTool);
|
||||||
|
|
||||||
auto *curveSegmentPointTool = new VToolButtonPopup(this);
|
auto *curveSegmentPointTool = new VToolButtonPopup(this);
|
||||||
curveSegmentPointTool->setMenu(curveSegmentPointToolMenu);
|
curveSegmentPointTool->setMenu(curveSegmentPointToolMenu);
|
||||||
|
@ -3188,6 +3214,8 @@ void MainWindow::ToolBarDrawTools()
|
||||||
ui->toolBarPointTools->addAction(ui->actionSplineCutPointTool);
|
ui->toolBarPointTools->addAction(ui->actionSplineCutPointTool);
|
||||||
ui->toolBarPointTools->addAction(ui->actionSplinePathCutPointTool);
|
ui->toolBarPointTools->addAction(ui->actionSplinePathCutPointTool);
|
||||||
ui->toolBarPointTools->addAction(ui->actionArcCutPointTool);
|
ui->toolBarPointTools->addAction(ui->actionArcCutPointTool);
|
||||||
|
ui->toolBarPointTools->addAction(ui->actionArcStartPointTool);
|
||||||
|
ui->toolBarPointTools->addAction(ui->actionArcEndPointTool);
|
||||||
|
|
||||||
ui->toolBarPointTools->addAction(ui->actionIntersectionCurvesTool);
|
ui->toolBarPointTools->addAction(ui->actionIntersectionCurvesTool);
|
||||||
ui->toolBarPointTools->addAction(ui->actionPointOfIntersectionArcsTool);
|
ui->toolBarPointTools->addAction(ui->actionPointOfIntersectionArcsTool);
|
||||||
|
@ -3337,7 +3365,7 @@ void MainWindow::InitToolButtons()
|
||||||
connect(ui->actionToolSelect, &QAction::triggered, this, &MainWindow::ArrowTool);
|
connect(ui->actionToolSelect, &QAction::triggered, this, &MainWindow::ArrowTool);
|
||||||
|
|
||||||
// This check helps to find missed tools
|
// This check helps to find missed tools
|
||||||
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Check if all tools were connected.");
|
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 61, "Check if all tools were connected.");
|
||||||
|
|
||||||
auto InitToolButton = [this](VShortcutAction type, QAction *action, void (MainWindow::*slotFunction)(bool))
|
auto InitToolButton = [this](VShortcutAction type, QAction *action, void (MainWindow::*slotFunction)(bool))
|
||||||
{
|
{
|
||||||
|
@ -3404,6 +3432,8 @@ void MainWindow::InitToolButtons()
|
||||||
InitToolButton(VShortcutAction::ToolPin, ui->actionPinTool, &MainWindow::ToolPin);
|
InitToolButton(VShortcutAction::ToolPin, ui->actionPinTool, &MainWindow::ToolPin);
|
||||||
InitToolButton(VShortcutAction::ToolInsertNode, ui->actionInsertNodeTool, &MainWindow::ToolInsertNode);
|
InitToolButton(VShortcutAction::ToolInsertNode, ui->actionInsertNodeTool, &MainWindow::ToolInsertNode);
|
||||||
InitToolButton(VShortcutAction::ToolPlaceLabel, ui->actionPlaceLabelTool, &MainWindow::ToolPlaceLabel);
|
InitToolButton(VShortcutAction::ToolPlaceLabel, ui->actionPlaceLabelTool, &MainWindow::ToolPlaceLabel);
|
||||||
|
InitToolButton(VShortcutAction::ToolArcStart, ui->actionArcStartPointTool, &MainWindow::ToolArcStart);
|
||||||
|
InitToolButton(VShortcutAction::ToolArcEnd, ui->actionArcEndPointTool, &MainWindow::ToolArcEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -3454,7 +3484,7 @@ QT_WARNING_DISABLE_GCC("-Wswitch-default")
|
||||||
void MainWindow::CancelTool()
|
void MainWindow::CancelTool()
|
||||||
{
|
{
|
||||||
// This check helps to find missed tools in the switch
|
// This check helps to find missed tools in the switch
|
||||||
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Not all tools were handled.");
|
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 61, "Not all tools were handled.");
|
||||||
|
|
||||||
qCDebug(vMainWindow, "Canceling tool.");
|
qCDebug(vMainWindow, "Canceling tool.");
|
||||||
if (not m_dialogTool.isNull())
|
if (not m_dialogTool.isNull())
|
||||||
|
@ -3629,6 +3659,12 @@ void MainWindow::CancelTool()
|
||||||
case Tool::PlaceLabel:
|
case Tool::PlaceLabel:
|
||||||
ui->actionPlaceLabelTool->setChecked(false);
|
ui->actionPlaceLabelTool->setChecked(false);
|
||||||
break;
|
break;
|
||||||
|
case Tool::ArcStart:
|
||||||
|
ui->actionArcStartPointTool->setChecked(false);
|
||||||
|
break;
|
||||||
|
case Tool::ArcEnd:
|
||||||
|
ui->actionArcEndPointTool->setChecked(false);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Crash: using CRTL+Z while using line tool.
|
// Crash: using CRTL+Z while using line tool.
|
||||||
|
@ -3644,7 +3680,7 @@ void MainWindow::SetupDrawToolsIcons()
|
||||||
const QString resource = QStringLiteral("toolicon");
|
const QString resource = QStringLiteral("toolicon");
|
||||||
|
|
||||||
// This check helps to find missed tools
|
// This check helps to find missed tools
|
||||||
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Not all tools were handled.");
|
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 61, "Not all tools were handled.");
|
||||||
|
|
||||||
ui->actionLineTool->setIcon(VTheme::GetIconResource(resource, QStringLiteral("line.png")));
|
ui->actionLineTool->setIcon(VTheme::GetIconResource(resource, QStringLiteral("line.png")));
|
||||||
ui->actionEndLineTool->setIcon(VTheme::GetIconResource(resource, QStringLiteral("segment.png")));
|
ui->actionEndLineTool->setIcon(VTheme::GetIconResource(resource, QStringLiteral("segment.png")));
|
||||||
|
@ -3699,6 +3735,8 @@ void MainWindow::SetupDrawToolsIcons()
|
||||||
ui->actionPinTool->setIcon(VTheme::GetIconResource(resource, QStringLiteral("pin.png")));
|
ui->actionPinTool->setIcon(VTheme::GetIconResource(resource, QStringLiteral("pin.png")));
|
||||||
ui->actionInsertNodeTool->setIcon(VTheme::GetIconResource(resource, QStringLiteral("insert_node.png")));
|
ui->actionInsertNodeTool->setIcon(VTheme::GetIconResource(resource, QStringLiteral("insert_node.png")));
|
||||||
ui->actionPlaceLabelTool->setIcon(VTheme::GetIconResource(resource, QStringLiteral("place_label.png")));
|
ui->actionPlaceLabelTool->setIcon(VTheme::GetIconResource(resource, QStringLiteral("place_label.png")));
|
||||||
|
ui->actionArcStartPointTool->setIcon(VTheme::GetIconResource(resource, QStringLiteral("arc_start.png")));
|
||||||
|
ui->actionArcEndPointTool->setIcon(VTheme::GetIconResource(resource, QStringLiteral("arc_end.png")));
|
||||||
}
|
}
|
||||||
|
|
||||||
QT_WARNING_POP
|
QT_WARNING_POP
|
||||||
|
@ -5424,7 +5462,7 @@ void MainWindow::SetEnableTool(bool enable)
|
||||||
QT_WARNING_POP
|
QT_WARNING_POP
|
||||||
|
|
||||||
// This check helps to find missed tools
|
// This check helps to find missed tools
|
||||||
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Not all tools were handled.");
|
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 61, "Not all tools were handled.");
|
||||||
|
|
||||||
// Drawing Tools
|
// Drawing Tools
|
||||||
ui->actionEndLineTool->setEnabled(drawTools);
|
ui->actionEndLineTool->setEnabled(drawTools);
|
||||||
|
@ -5469,6 +5507,8 @@ void MainWindow::SetEnableTool(bool enable)
|
||||||
ui->actionInsertNodeTool->setEnabled(drawTools);
|
ui->actionInsertNodeTool->setEnabled(drawTools);
|
||||||
ui->actionPlaceLabelTool->setEnabled(drawTools);
|
ui->actionPlaceLabelTool->setEnabled(drawTools);
|
||||||
ui->actionExportDraw->setEnabled(drawTools);
|
ui->actionExportDraw->setEnabled(drawTools);
|
||||||
|
ui->actionArcStartPointTool->setEnabled(drawTools);
|
||||||
|
ui->actionArcEndPointTool->setEnabled(drawTools);
|
||||||
|
|
||||||
ui->actionLast_tool->setEnabled(drawTools);
|
ui->actionLast_tool->setEnabled(drawTools);
|
||||||
|
|
||||||
|
@ -5772,7 +5812,7 @@ QT_WARNING_DISABLE_GCC("-Wswitch-default")
|
||||||
void MainWindow::LastUsedTool()
|
void MainWindow::LastUsedTool()
|
||||||
{
|
{
|
||||||
// This check helps to find missed tools in the switch
|
// This check helps to find missed tools in the switch
|
||||||
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 59, "Not all tools were handled.");
|
Q_STATIC_ASSERT_X(static_cast<int>(Tool::LAST_ONE_DO_NOT_USE) == 61, "Not all tools were handled.");
|
||||||
|
|
||||||
if (m_currentTool == m_lastUsedTool)
|
if (m_currentTool == m_lastUsedTool)
|
||||||
{
|
{
|
||||||
|
@ -5976,6 +6016,14 @@ void MainWindow::LastUsedTool()
|
||||||
ui->actionPlaceLabelTool->setChecked(true);
|
ui->actionPlaceLabelTool->setChecked(true);
|
||||||
ToolPlaceLabel(true);
|
ToolPlaceLabel(true);
|
||||||
break;
|
break;
|
||||||
|
case Tool::ArcStart:
|
||||||
|
ui->actionArcStartPointTool->setChecked(true);
|
||||||
|
ToolArcStart(true);
|
||||||
|
break;
|
||||||
|
case Tool::ArcEnd:
|
||||||
|
ui->actionArcEndPointTool->setChecked(true);
|
||||||
|
ToolArcEnd(true);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -188,6 +188,8 @@ private slots:
|
||||||
void ToolArcWithLength(bool checked);
|
void ToolArcWithLength(bool checked);
|
||||||
void ToolTrueDarts(bool checked);
|
void ToolTrueDarts(bool checked);
|
||||||
void ToolInsertNode(bool checked);
|
void ToolInsertNode(bool checked);
|
||||||
|
void ToolArcStart(bool checked);
|
||||||
|
void ToolArcEnd(bool checked);
|
||||||
|
|
||||||
void ActionDraw(bool checked);
|
void ActionDraw(bool checked);
|
||||||
void ActionDetails(bool checked);
|
void ActionDetails(bool checked);
|
||||||
|
|
|
@ -2575,6 +2575,42 @@
|
||||||
<enum>QAction::NoRole</enum>
|
<enum>QAction::NoRole</enum>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="actionArcStartPointTool">
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="share/resources/toolicon.qrc">
|
||||||
|
<normaloff>:/toolicon/light/arc_start.png</normaloff>:/toolicon/light/arc_start.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Arc start point</string>
|
||||||
|
</property>
|
||||||
|
<property name="menuRole">
|
||||||
|
<enum>QAction::NoRole</enum>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionArcEndPointTool">
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="share/resources/toolicon.qrc">
|
||||||
|
<normaloff>:/toolicon/light/arc_end.png</normaloff>:/toolicon/light/arc_end.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Arc end point</string>
|
||||||
|
</property>
|
||||||
|
<property name="menuRole">
|
||||||
|
<enum>QAction::NoRole</enum>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
</widget>
|
</widget>
|
||||||
<layoutdefault spacing="6" margin="11"/>
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
|
|
|
@ -86,6 +86,10 @@
|
||||||
<file>toolcursor/light/place_label_cursor.png</file>
|
<file>toolcursor/light/place_label_cursor.png</file>
|
||||||
<file>toolcursor/light/duplicate_detail_cursor.png</file>
|
<file>toolcursor/light/duplicate_detail_cursor.png</file>
|
||||||
<file>toolcursor/light/duplicate_detail_cursor@2x.png</file>
|
<file>toolcursor/light/duplicate_detail_cursor@2x.png</file>
|
||||||
|
<file>toolcursor/light/arc_end_cursor.png</file>
|
||||||
|
<file>toolcursor/light/arc_end_cursor@2x.png</file>
|
||||||
|
<file>toolcursor/light/arc_start_cursor.png</file>
|
||||||
|
<file>toolcursor/light/arc_start_cursor@2x.png</file>
|
||||||
<file>toolcursor/dark/union_cursor.png</file>
|
<file>toolcursor/dark/union_cursor.png</file>
|
||||||
<file>toolcursor/dark/union_cursor@2x.png</file>
|
<file>toolcursor/dark/union_cursor@2x.png</file>
|
||||||
<file>toolcursor/dark/true_darts_cursor.png</file>
|
<file>toolcursor/dark/true_darts_cursor.png</file>
|
||||||
|
@ -172,5 +176,9 @@
|
||||||
<file>toolcursor/dark/arc_cursor@2x.png</file>
|
<file>toolcursor/dark/arc_cursor@2x.png</file>
|
||||||
<file>toolcursor/dark/along_line_cursor.png</file>
|
<file>toolcursor/dark/along_line_cursor.png</file>
|
||||||
<file>toolcursor/dark/along_line_cursor@2x.png</file>
|
<file>toolcursor/dark/along_line_cursor@2x.png</file>
|
||||||
|
<file>toolcursor/dark/arc_start_cursor@2x.png</file>
|
||||||
|
<file>toolcursor/dark/arc_end_cursor.png</file>
|
||||||
|
<file>toolcursor/dark/arc_end_cursor@2x.png</file>
|
||||||
|
<file>toolcursor/dark/arc_start_cursor.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
Before Width: | Height: | Size: 637 B After Width: | Height: | Size: 642 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 660 B After Width: | Height: | Size: 660 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 672 B |
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 792 B After Width: | Height: | Size: 835 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 656 B |
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 937 B After Width: | Height: | Size: 938 B |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 758 B After Width: | Height: | Size: 764 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1011 B After Width: | Height: | Size: 1013 B |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 929 B After Width: | Height: | Size: 945 B |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1004 B After Width: | Height: | Size: 1003 B |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 947 B After Width: | Height: | Size: 948 B |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 860 B After Width: | Height: | Size: 861 B |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 701 B After Width: | Height: | Size: 707 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 742 B After Width: | Height: | Size: 743 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 864 B After Width: | Height: | Size: 867 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 645 B After Width: | Height: | Size: 660 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 729 B After Width: | Height: | Size: 730 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 656 B After Width: | Height: | Size: 661 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 798 B After Width: | Height: | Size: 803 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 584 B After Width: | Height: | Size: 611 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 790 B After Width: | Height: | Size: 791 B |
Before Width: | Height: | Size: 736 B After Width: | Height: | Size: 735 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 893 B After Width: | Height: | Size: 921 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 854 B After Width: | Height: | Size: 862 B |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 905 B After Width: | Height: | Size: 914 B |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 878 B After Width: | Height: | Size: 879 B |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 945 B After Width: | Height: | Size: 951 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 635 B After Width: | Height: | Size: 651 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 782 B After Width: | Height: | Size: 785 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 757 B After Width: | Height: | Size: 760 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 641 B After Width: | Height: | Size: 647 B |
Before Width: | Height: | Size: 569 B After Width: | Height: | Size: 597 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 555 B After Width: | Height: | Size: 559 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 550 B |
After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 726 B After Width: | Height: | Size: 753 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 555 B |
After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 802 B After Width: | Height: | Size: 802 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 653 B After Width: | Height: | Size: 655 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 724 B After Width: | Height: | Size: 729 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 911 B After Width: | Height: | Size: 935 B |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 741 B After Width: | Height: | Size: 743 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 931 B After Width: | Height: | Size: 929 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 650 B After Width: | Height: | Size: 651 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 847 B After Width: | Height: | Size: 844 B |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 602 B After Width: | Height: | Size: 606 B |