mirror of
https://gitlab.com/smart-pattern/valentina.git
synced 2024-09-19 23:34:04 +02:00
Compare commits
6 commits
a7d61cb87c
...
225cb47f17
Author | SHA1 | Date | |
---|---|---|---|
225cb47f17 | |||
25a8da8259 | |||
f527c035bf | |||
23ccdf667d | |||
6471840acf | |||
0524ae2d7c |
49
appveyor.yml
49
appveyor.yml
|
@ -39,8 +39,29 @@ shallow_clone: false # default is "false"
|
||||||
environment:
|
environment:
|
||||||
ACCESS_TOKEN:
|
ACCESS_TOKEN:
|
||||||
secure: RUhnEHqaR8KhalOMWwZZOoO342Ja50QV4KpEWdm9g3pG+jG7i6aJqUmeKF1l5VN6dzksk1u+yN6pOLnU8oGcaVQ6v+1dpKK1oZvF0tyHhNE=
|
secure: RUhnEHqaR8KhalOMWwZZOoO342Ja50QV4KpEWdm9g3pG+jG7i6aJqUmeKF1l5VN6dzksk1u+yN6pOLnU8oGcaVQ6v+1dpKK1oZvF0tyHhNE=
|
||||||
|
APPVEYOR_SAVE_CACHE_ON_ERROR: "true"
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
|
- job_name: Windows_Qt_6_5_(MSVC_x64)
|
||||||
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
||||||
|
COMPILER: msvc
|
||||||
|
QT: Qt\6.5\msvc2019_64
|
||||||
|
QT_VERSION: Qt6_5
|
||||||
|
BUILD_SYSTEM: "qbs"
|
||||||
|
QMAKE: qmake.exe
|
||||||
|
ENABLE_PCH: true
|
||||||
|
MSVC_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.30.30705\\bin\\Hostx64\\x64"
|
||||||
|
VSINSTALLDIR: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\"
|
||||||
|
ARCH: x64
|
||||||
|
PYTHON: "C:\\Python311-x64"
|
||||||
|
PLATFORM: "Windows10+"
|
||||||
|
CHOCOLATEY_PACKAGES: false
|
||||||
|
WINDEPLOYQT_BIN_PATH: "undefined"
|
||||||
|
WINDEPLOYQT_COMPILER_RUNTIME: "true"
|
||||||
|
WINDEPLOYQT_NO_COMPILER_RUNTIME: "false"
|
||||||
|
DEPLOY: true
|
||||||
|
RUN_TESTS: true
|
||||||
|
|
||||||
- job_name: Windows_Qt_6_5_(GCC_x64)
|
- job_name: Windows_Qt_6_5_(GCC_x64)
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
||||||
COMPILER: mingw
|
COMPILER: mingw
|
||||||
|
@ -59,6 +80,8 @@ environment:
|
||||||
CHOCOLATEY_PACKAGES: true
|
CHOCOLATEY_PACKAGES: true
|
||||||
CHOCOLATEY_MINGW_VERSION: 13.2.0
|
CHOCOLATEY_MINGW_VERSION: 13.2.0
|
||||||
WINDEPLOYQT_BIN_PATH: "undefined"
|
WINDEPLOYQT_BIN_PATH: "undefined"
|
||||||
|
WINDEPLOYQT_COMPILER_RUNTIME: "false"
|
||||||
|
WINDEPLOYQT_NO_COMPILER_RUNTIME: "true"
|
||||||
DEPLOY: true
|
DEPLOY: true
|
||||||
RUN_TESTS: true
|
RUN_TESTS: true
|
||||||
|
|
||||||
|
@ -131,6 +154,8 @@ environment:
|
||||||
PLATFORM: "Windows7+"
|
PLATFORM: "Windows7+"
|
||||||
CHOCOLATEY_PACKAGES: false
|
CHOCOLATEY_PACKAGES: false
|
||||||
WINDEPLOYQT_BIN_PATH: "undefined"
|
WINDEPLOYQT_BIN_PATH: "undefined"
|
||||||
|
WINDEPLOYQT_COMPILER_RUNTIME: "true"
|
||||||
|
WINDEPLOYQT_NO_COMPILER_RUNTIME: "false"
|
||||||
DEPLOY: true
|
DEPLOY: true
|
||||||
RUN_TESTS: true
|
RUN_TESTS: true
|
||||||
|
|
||||||
|
@ -158,24 +183,6 @@ environment:
|
||||||
PLATFORM: "Windows7+"
|
PLATFORM: "Windows7+"
|
||||||
DEPLOY: false
|
DEPLOY: false
|
||||||
|
|
||||||
- job_name: Windows_Qt_6_5_(MSVC_x64)
|
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
|
||||||
COMPILER: msvc
|
|
||||||
QT: Qt\6.5\msvc2019_64
|
|
||||||
QT_VERSION: Qt6_5
|
|
||||||
BUILD_SYSTEM: "qbs"
|
|
||||||
QMAKE: qmake.exe
|
|
||||||
ENABLE_PCH: true
|
|
||||||
MSVC_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.30.30705\\bin\\Hostx64\\x64"
|
|
||||||
VSINSTALLDIR: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\"
|
|
||||||
ARCH: x64
|
|
||||||
PYTHON: "C:\\Python311-x64"
|
|
||||||
PLATFORM: "Windows10+"
|
|
||||||
CHOCOLATEY_PACKAGES: false
|
|
||||||
WINDEPLOYQT_BIN_PATH: "undefined"
|
|
||||||
DEPLOY: false
|
|
||||||
RUN_TESTS: true
|
|
||||||
|
|
||||||
- job_name: Windows_Qt_5_15_(qbs_GCC_x64)
|
- job_name: Windows_Qt_5_15_(qbs_GCC_x64)
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
||||||
COMPILER: mingw
|
COMPILER: mingw
|
||||||
|
@ -193,6 +200,8 @@ environment:
|
||||||
PLATFORM: "Windows7+"
|
PLATFORM: "Windows7+"
|
||||||
CHOCOLATEY_PACKAGES: false
|
CHOCOLATEY_PACKAGES: false
|
||||||
WINDEPLOYQT_BIN_PATH: "undefined"
|
WINDEPLOYQT_BIN_PATH: "undefined"
|
||||||
|
WINDEPLOYQT_COMPILER_RUNTIME: "true"
|
||||||
|
WINDEPLOYQT_NO_COMPILER_RUNTIME: "false"
|
||||||
DEPLOY: false
|
DEPLOY: false
|
||||||
RUN_TESTS: true
|
RUN_TESTS: true
|
||||||
|
|
||||||
|
@ -211,6 +220,8 @@ environment:
|
||||||
PLATFORM: "Windows7+"
|
PLATFORM: "Windows7+"
|
||||||
CHOCOLATEY_PACKAGES: false
|
CHOCOLATEY_PACKAGES: false
|
||||||
WINDEPLOYQT_BIN_PATH: "undefined"
|
WINDEPLOYQT_BIN_PATH: "undefined"
|
||||||
|
WINDEPLOYQT_COMPILER_RUNTIME: "true"
|
||||||
|
WINDEPLOYQT_NO_COMPILER_RUNTIME: "false"
|
||||||
DEPLOY: false
|
DEPLOY: false
|
||||||
RUN_TESTS: true
|
RUN_TESTS: true
|
||||||
|
|
||||||
|
@ -418,7 +429,7 @@ for:
|
||||||
build_script:
|
build_script:
|
||||||
- conan profile list
|
- conan profile list
|
||||||
- conan install . -s os=Windows --build=missing -pr valentina
|
- conan install . -s os=Windows --build=missing -pr valentina
|
||||||
- qbs build -f valentina.qbs -d %APPVEYOR_BUILD_FOLDER%\build --jobs %NUMBER_OF_PROCESSORS% config:release qbs.installRoot:%APPVEYOR_BUILD_FOLDER%\build\install-root\valentina profile:qt6 project.enableConan:true modules.buildconfig.enableCcache:false project.conanProfiles:valentina modules.buildconfig.enablePCH:%ENABLE_PCH% modules.windeployqt.windeployqtProgramBinPath:%WINDEPLOYQT_BIN_PATH%
|
- qbs build -f valentina.qbs -d %APPVEYOR_BUILD_FOLDER%\build --jobs %NUMBER_OF_PROCESSORS% config:release qbs.installRoot:%APPVEYOR_BUILD_FOLDER%\build\install-root\valentina profile:qt6 project.enableConan:true modules.buildconfig.enableCcache:false project.conanProfiles:valentina modules.buildconfig.enablePCH:%ENABLE_PCH% modules.windeployqt.windeployqtProgramBinPath:%WINDEPLOYQT_BIN_PATH% modules.windeployqt.compilerRuntime:%WINDEPLOYQT_COMPILER_RUNTIME% modules.windeployqt.noCompilerRuntime:%WINDEPLOYQT_NO_COMPILER_RUNTIME%
|
||||||
|
|
||||||
test_script:
|
test_script:
|
||||||
- path
|
- path
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import qbs.Utilities
|
import qbs.Utilities
|
||||||
|
|
||||||
VLib {
|
VLib {
|
||||||
Depends { name: "windeployqt"; }
|
Depends { name: "windeployqt"; condition: qbs.targetOS.contains("windows") }
|
||||||
Depends { name: "i18nconfig"; }
|
Depends { name: "i18nconfig"; }
|
||||||
|
|
||||||
buildconfig.staticBuild: false
|
buildconfig.staticBuild: false
|
||||||
|
@ -28,7 +28,7 @@ VLib {
|
||||||
}
|
}
|
||||||
|
|
||||||
Properties {
|
Properties {
|
||||||
condition: i18nconfig.limitDeploymentOfQtTranslations
|
condition: qbs.targetOS.contains("windows") && i18nconfig.limitDeploymentOfQtTranslations
|
||||||
windeployqt.languages: i18nconfig.qtTranslationLocales.join(',')
|
windeployqt.languages: i18nconfig.qtTranslationLocales.join(',')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ Module {
|
||||||
|
|
||||||
Rule {
|
Rule {
|
||||||
// alwaysRun: true
|
// alwaysRun: true
|
||||||
condition: product.qbs.targetOS.contains("windows")
|
condition: product.qbs.targetOS.contains("windows") && product.qbs.buildVariant === "release"
|
||||||
inputs: product.type.contains("dynamiclibrary") ? ["dynamiclibrary"] : ["application"]
|
inputs: product.type.contains("dynamiclibrary") ? ["dynamiclibrary"] : ["application"]
|
||||||
|
|
||||||
prepare: {
|
prepare: {
|
||||||
|
@ -145,7 +145,8 @@ Module {
|
||||||
|
|
||||||
if (product.windeployqt.compilerRuntime)
|
if (product.windeployqt.compilerRuntime)
|
||||||
cmdArgs.push("--compiler-runtime")
|
cmdArgs.push("--compiler-runtime")
|
||||||
else if (product.windeployqt.noCompilerRuntime)
|
|
||||||
|
if (product.windeployqt.noCompilerRuntime)
|
||||||
cmdArgs.push("--no-compiler-runtime")
|
cmdArgs.push("--no-compiler-runtime")
|
||||||
|
|
||||||
if (product.windeployqt.noVirtualkeyboard &&
|
if (product.windeployqt.noVirtualkeyboard &&
|
||||||
|
|
|
@ -779,14 +779,16 @@ auto VPiece::SeamAllowancePointsWithRotation(const VContainer *data, vsizetype m
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
VSAPoint ekvPoint = VPiecePath::PreparePointEkv(node, data);
|
VSAPoint ekvPoint = VPiecePath::PreparePointEkv(node, data);
|
||||||
if (showMirrorLine && VFuzzyComparePoints(ekvPoint, mirrorLine.p1()))
|
if (showMirrorLine)
|
||||||
{
|
{
|
||||||
ekvPoint.SetSAAfter(0);
|
if (VFuzzyComparePoints(ekvPoint, mirrorLine.p1()))
|
||||||
}
|
{
|
||||||
|
ekvPoint.SetSAAfter(0);
|
||||||
if (showMirrorLine && VFuzzyComparePoints(ekvPoint, mirrorLine.p2()))
|
}
|
||||||
{
|
else if (VFuzzyComparePoints(ekvPoint, mirrorLine.p2()))
|
||||||
ekvPoint.SetSABefore(0);
|
{
|
||||||
|
ekvPoint.SetSABefore(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pointsEkv.append(ekvPoint);
|
pointsEkv.append(ekvPoint);
|
||||||
|
@ -832,7 +834,7 @@ auto VPiece::SeamAllowancePointsWithRotation(const VContainer *data, vsizetype m
|
||||||
const QSharedPointer<VAbstractCurve> curve = data->GeometricObject<VAbstractCurve>(node.GetId());
|
const QSharedPointer<VAbstractCurve> curve = data->GeometricObject<VAbstractCurve>(node.GetId());
|
||||||
|
|
||||||
pointsEkv += VPiecePath::CurveSeamAllowanceSegment(data, unitedPath, curve, i, node.GetReverse(),
|
pointsEkv += VPiecePath::CurveSeamAllowanceSegment(data, unitedPath, curve, i, node.GetReverse(),
|
||||||
width, GetName());
|
width, mirrorLine, GetName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1081,7 +1083,8 @@ auto VPiece::GetNodeSAPoints(const QVector<VPieceNode> &path, vsizetype index, c
|
||||||
const QSharedPointer<VAbstractCurve> curve = data->GeometricObject<VAbstractCurve>(node.GetId());
|
const QSharedPointer<VAbstractCurve> curve = data->GeometricObject<VAbstractCurve>(node.GetId());
|
||||||
const qreal width = ToPixel(GetSAWidth(), *data->GetPatternUnit());
|
const qreal width = ToPixel(GetSAWidth(), *data->GetPatternUnit());
|
||||||
|
|
||||||
points += VPiecePath::CurveSeamAllowanceSegment(data, path, curve, index, node.GetReverse(), width, GetName());
|
points += VPiecePath::CurveSeamAllowanceSegment(data, path, curve, index, node.GetReverse(), width, QLineF(),
|
||||||
|
GetName());
|
||||||
}
|
}
|
||||||
return points;
|
return points;
|
||||||
}
|
}
|
||||||
|
|
|
@ -552,7 +552,8 @@ auto VPiecePath::SeamAllowancePoints(const VContainer *data, qreal width, bool r
|
||||||
case (Tool::NodeSplinePath):
|
case (Tool::NodeSplinePath):
|
||||||
{
|
{
|
||||||
const QSharedPointer<VAbstractCurve> curve = data->GeometricObject<VAbstractCurve>(node.GetId());
|
const QSharedPointer<VAbstractCurve> curve = data->GeometricObject<VAbstractCurve>(node.GetId());
|
||||||
pointsEkv += CurveSeamAllowanceSegment(data, d->m_nodes, curve, i, node.GetReverse(), width, GetName());
|
pointsEkv += CurveSeamAllowanceSegment(data, d->m_nodes, curve, i, node.GetReverse(), width, QLineF(),
|
||||||
|
GetName());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1152,10 +1153,34 @@ auto VPiecePath::PreparePointEkv(const VPieceNode &node, const VContainer *data)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
auto VPiecePath::CurveSeamAllowanceSegment(const VContainer *data, const QVector<VPieceNode> &nodes,
|
auto VPiecePath::CurveSeamAllowanceSegment(const VContainer *data, const QVector<VPieceNode> &nodes,
|
||||||
const QSharedPointer<VAbstractCurve> &curve, vsizetype i, bool reverse,
|
const QSharedPointer<VAbstractCurve> &curve, vsizetype i, bool reverse,
|
||||||
qreal width, const QString &piece) -> QVector<VSAPoint>
|
qreal width, const QLineF &mirrorLine, const QString &piece)
|
||||||
|
-> QVector<VSAPoint>
|
||||||
{
|
{
|
||||||
const VSAPoint begin = StartSegment(data, nodes, i);
|
VSAPoint begin = StartSegment(data, nodes, i);
|
||||||
const VSAPoint end = EndSegment(data, nodes, i);
|
if (!mirrorLine.isNull())
|
||||||
|
{
|
||||||
|
if (VFuzzyComparePoints(begin, mirrorLine.p1()))
|
||||||
|
{
|
||||||
|
begin.SetSAAfter(0);
|
||||||
|
}
|
||||||
|
else if (VFuzzyComparePoints(begin, mirrorLine.p2()))
|
||||||
|
{
|
||||||
|
begin.SetSABefore(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
VSAPoint end = EndSegment(data, nodes, i);
|
||||||
|
if (!mirrorLine.isNull())
|
||||||
|
{
|
||||||
|
if (VFuzzyComparePoints(end, mirrorLine.p1()))
|
||||||
|
{
|
||||||
|
end.SetSAAfter(0);
|
||||||
|
}
|
||||||
|
else if (VFuzzyComparePoints(end, mirrorLine.p2()))
|
||||||
|
{
|
||||||
|
end.SetSABefore(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const QVector<QPointF> points = curve->GetSegmentPoints(begin, end, reverse, piece);
|
const QVector<QPointF> points = curve->GetSegmentPoints(begin, end, reverse, piece);
|
||||||
if (points.size() < 2)
|
if (points.size() < 2)
|
||||||
|
|
|
@ -137,7 +137,8 @@ public:
|
||||||
|
|
||||||
static auto CurveSeamAllowanceSegment(const VContainer *data, const QVector<VPieceNode> &nodes,
|
static auto CurveSeamAllowanceSegment(const VContainer *data, const QVector<VPieceNode> &nodes,
|
||||||
const QSharedPointer<VAbstractCurve> &curve, vsizetype i, bool reverse,
|
const QSharedPointer<VAbstractCurve> &curve, vsizetype i, bool reverse,
|
||||||
qreal width, const QString &piece = QString()) -> QVector<VSAPoint>;
|
qreal width, const QLineF &mirrorLine, const QString &piece = QString())
|
||||||
|
-> QVector<VSAPoint>;
|
||||||
|
|
||||||
static auto NodeName(const QVector<VPieceNode> &nodes, vsizetype nodeIndex, const VContainer *data) -> QString;
|
static auto NodeName(const QVector<VPieceNode> &nodes, vsizetype nodeIndex, const VContainer *data) -> QString;
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#include "../../support/dialogeditlabel.h"
|
#include "../../support/dialogeditlabel.h"
|
||||||
#include "../../support/dialogeditwrongformula.h"
|
#include "../../support/dialogeditwrongformula.h"
|
||||||
#include "../vgeometry/vplacelabelitem.h"
|
#include "../vgeometry/vplacelabelitem.h"
|
||||||
|
#include "../vmisc/def.h"
|
||||||
#include "../vmisc/theme/vtheme.h"
|
#include "../vmisc/theme/vtheme.h"
|
||||||
#include "../vmisc/typedef.h"
|
#include "../vmisc/typedef.h"
|
||||||
#include "../vmisc/vabstractvalapplication.h"
|
#include "../vmisc/vabstractvalapplication.h"
|
||||||
|
@ -49,7 +50,6 @@
|
||||||
#include "../vpatterndb/vpiecenode.h"
|
#include "../vpatterndb/vpiecenode.h"
|
||||||
#include "../vpatterndb/vpiecepath.h"
|
#include "../vpatterndb/vpiecepath.h"
|
||||||
#include "../vwidgets/fancytabbar/fancytabbar.h"
|
#include "../vwidgets/fancytabbar/fancytabbar.h"
|
||||||
#include "def.h"
|
|
||||||
#include "dialogpatternmaterials.h"
|
#include "dialogpatternmaterials.h"
|
||||||
#include "dialogpiecepath.h"
|
#include "dialogpiecepath.h"
|
||||||
#include "dialogplacelabel.h"
|
#include "dialogplacelabel.h"
|
||||||
|
@ -4039,6 +4039,8 @@ void DialogSeamAllowance::InitMirrorLinePoint(QComboBox *box)
|
||||||
box->blockSignals(true);
|
box->blockSignals(true);
|
||||||
box->clear();
|
box->clear();
|
||||||
|
|
||||||
|
box->addItem(tr("None"), QUuid());
|
||||||
|
|
||||||
const QVector<VPieceNode> nodes = GetListInternals<VPieceNode>(uiTabPaths->listWidgetMainPath);
|
const QVector<VPieceNode> nodes = GetListInternals<VPieceNode>(uiTabPaths->listWidgetMainPath);
|
||||||
|
|
||||||
for (const auto &node : nodes)
|
for (const auto &node : nodes)
|
||||||
|
|
Loading…
Reference in a new issue