From 7320c1c5dfa7ee7809a3acb26bd65e73ff4c7d65 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Tue, 16 May 2023 19:20:49 +0300 Subject: [PATCH] Refactoring. Fix code style. --- .../preferencesconfigurationpage.cpp | 93 +++-- .../preferencesconfigurationpage.h | 11 +- src/libs/vlayout/vtextmanager.cpp | 113 +++--- src/libs/vmisc/def.cpp | 103 ++---- src/libs/vmisc/def.h | 334 +++++++++++------ src/libs/vmisc/vabstractvalapplication.cpp | 11 +- src/libs/vmisc/vabstractvalapplication.h | 67 ++-- src/libs/vmisc/vcommonsettings.cpp | 284 +++++++------- src/libs/vmisc/vcommonsettings.h | 32 +- src/libs/vpatterndb/vcontainer.cpp | 83 ++--- .../dialogs/support/dialogeditlabel.cpp | 169 +++++---- src/libs/vtools/tools/vtoolseamallowance.cpp | 350 +++++++++--------- 12 files changed, 877 insertions(+), 773 deletions(-) diff --git a/src/app/valentina/dialogs/configpages/preferencesconfigurationpage.cpp b/src/app/valentina/dialogs/configpages/preferencesconfigurationpage.cpp index 5e5f1bd74..501f48bdd 100644 --- a/src/app/valentina/dialogs/configpages/preferencesconfigurationpage.cpp +++ b/src/app/valentina/dialogs/configpages/preferencesconfigurationpage.cpp @@ -27,11 +27,12 @@ *************************************************************************/ #include "preferencesconfigurationpage.h" -#include "ui_preferencesconfigurationpage.h" #include "../../core/vapplication.h" -#include "../vpatterndb/pmsystems.h" -#include "../vmisc/vvalentinasettings.h" #include "../vmisc/literals.h" +#include "../vmisc/vvalentinasettings.h" +#include "../vpatterndb/pmsystems.h" +#include "def.h" +#include "ui_preferencesconfigurationpage.h" #if QT_VERSION < QT_VERSION_CHECK(5, 7, 0) #include "../vmisc/backport/qoverload.h" #endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0) @@ -43,8 +44,8 @@ //--------------------------------------------------------------------------------------------------------------------- PreferencesConfigurationPage::PreferencesConfigurationPage(QWidget *parent) - : QWidget(parent), - ui(new Ui::PreferencesConfigurationPage) + : QWidget(parent), + ui(new Ui::PreferencesConfigurationPage) { ui->setupUi(this); RetranslateUi(); @@ -55,10 +56,8 @@ PreferencesConfigurationPage::PreferencesConfigurationPage(QWidget *parent) ui->autoSaveCheck->setChecked(VAbstractValApplication::VApp()->ValentinaSettings()->GetAutosaveState()); InitLanguages(ui->langCombo); - connect(ui->langCombo, QOverload::of(&QComboBox::currentIndexChanged), this, [this]() - { - m_langChanged = true; - }); + connect(ui->langCombo, QOverload::of(&QComboBox::currentIndexChanged), this, + [this]() { m_langChanged = true; }); //-------------------- Decimal separator setup ui->osOptionCheck->setChecked(VAbstractValApplication::VApp()->ValentinaSettings()->GetOsSeparator()); @@ -71,10 +70,8 @@ PreferencesConfigurationPage::PreferencesConfigurationPage(QWidget *parent) ui->unitCombo->setCurrentIndex(indexUnit); } - connect(ui->unitCombo, QOverload::of(&QComboBox::currentIndexChanged), this, [this]() - { - m_unitChanged = true; - }); + connect(ui->unitCombo, QOverload::of(&QComboBox::currentIndexChanged), this, + [this]() { m_unitChanged = true; }); //----------------------- Label language SetLabelComboBox(VApplication::LabelLanguages()); @@ -84,24 +81,23 @@ PreferencesConfigurationPage::PreferencesConfigurationPage(QWidget *parent) { ui->labelCombo->setCurrentIndex(index); } - connect(ui->labelCombo, QOverload::of(&QComboBox::currentIndexChanged), this, [this]() - { - m_labelLangChanged = true; - }); + connect(ui->labelCombo, QOverload::of(&QComboBox::currentIndexChanged), this, + [this]() { m_labelLangChanged = true; }); //---------------------- Pattern making system ui->systemBookValueLabel->setFixedHeight(4 * QFontMetrics(ui->systemBookValueLabel->font()).lineSpacing()); - connect(ui->systemCombo, QOverload::of(&QComboBox::currentIndexChanged), this, [this]() - { - m_systemChanged = true; - QString text = VAbstractApplication::VApp()->TrVars() - ->PMSystemAuthor(ui->systemCombo->currentData().toString()); - ui->systemAuthorValueLabel->setText(text); - ui->systemAuthorValueLabel->setToolTip(text); + connect(ui->systemCombo, QOverload::of(&QComboBox::currentIndexChanged), this, + [this]() + { + m_systemChanged = true; + QString text = + VAbstractApplication::VApp()->TrVars()->PMSystemAuthor(ui->systemCombo->currentData().toString()); + ui->systemAuthorValueLabel->setText(text); + ui->systemAuthorValueLabel->setToolTip(text); - text = VAbstractApplication::VApp()->TrVars()->PMSystemBook(ui->systemCombo->currentData().toString()); - ui->systemBookValueLabel->setPlainText(text); - }); + text = VAbstractApplication::VApp()->TrVars()->PMSystemBook(ui->systemCombo->currentData().toString()); + ui->systemBookValueLabel->setPlainText(text); + }); // set default pattern making system index = ui->systemCombo->findData(VAbstractValApplication::VApp()->ValentinaSettings()->GetPMSystemCode()); @@ -111,14 +107,15 @@ PreferencesConfigurationPage::PreferencesConfigurationPage(QWidget *parent) } //----------------------------- Pattern Editing - connect(ui->resetWarningsButton, &QPushButton::released, this, []() - { - VValentinaSettings *settings = VAbstractValApplication::VApp()->ValentinaSettings(); + connect(ui->resetWarningsButton, &QPushButton::released, this, + []() + { + VValentinaSettings *settings = VAbstractValApplication::VApp()->ValentinaSettings(); - settings->SetConfirmItemDelete(true); - settings->SetConfirmFormatRewriting(true); - settings->SetAskContinueIfLayoutStale(true); - }); + settings->SetConfirmItemDelete(true); + settings->SetConfirmFormatRewriting(true); + settings->SetAskContinueIfLayoutStale(true); + }); VValentinaSettings *settings = VAbstractValApplication::VApp()->ValentinaSettings(); @@ -181,7 +178,7 @@ auto PreferencesConfigurationPage::Apply() -> QStringList QTimer *autoSaveTimer = VApplication::VApp()->getAutoSaveTimer(); SCASSERT(autoSaveTimer) - ui->autoSaveCheck->isChecked() ? autoSaveTimer->start(ui->autoTime->value()*60000) : autoSaveTimer->stop(); + ui->autoSaveCheck->isChecked() ? autoSaveTimer->start(ui->autoTime->value() * 60000) : autoSaveTimer->stop(); settings->SetOsSeparator(ui->osOptionCheck->isChecked()); settings->SetToolBarStyle(ui->toolBarStyleCheck->isChecked()); @@ -285,21 +282,21 @@ void PreferencesConfigurationPage::RetranslateUi() ui->osOptionCheck->setText(tr("With OS options") + QStringLiteral(" (%1)").arg(LocaleDecimalPoint(QLocale()))); { - ui->unitCombo->blockSignals(true); - const auto unit = qvariant_cast(ui->unitCombo->currentData()); - ui->unitCombo->clear(); - InitUnits(); - ui->unitCombo->setCurrentIndex(ui->unitCombo->findData(unit)); - ui->unitCombo->blockSignals(false); + ui->unitCombo->blockSignals(true); + const auto unit = qvariant_cast(ui->unitCombo->currentData()); + ui->unitCombo->clear(); + InitUnits(); + ui->unitCombo->setCurrentIndex(ui->unitCombo->findData(unit)); + ui->unitCombo->blockSignals(false); } { - const auto code = qvariant_cast(ui->systemCombo->currentData()); - ui->systemCombo->blockSignals(true); - ui->systemCombo->clear(); - InitPMSystems(ui->systemCombo); - ui->systemCombo->setCurrentIndex(-1); - ui->systemCombo->blockSignals(false); - ui->systemCombo->setCurrentIndex(ui->systemCombo->findData(code)); + const auto code = qvariant_cast(ui->systemCombo->currentData()); + ui->systemCombo->blockSignals(true); + ui->systemCombo->clear(); + InitPMSystems(ui->systemCombo); + ui->systemCombo->setCurrentIndex(-1); + ui->systemCombo->blockSignals(false); + ui->systemCombo->setCurrentIndex(ui->systemCombo->findData(code)); } } diff --git a/src/app/valentina/dialogs/configpages/preferencesconfigurationpage.h b/src/app/valentina/dialogs/configpages/preferencesconfigurationpage.h index c545f12d9..fd3f9cd95 100644 --- a/src/app/valentina/dialogs/configpages/preferencesconfigurationpage.h +++ b/src/app/valentina/dialogs/configpages/preferencesconfigurationpage.h @@ -31,24 +31,23 @@ #include -#include "../vmisc/defglobal.h" - namespace Ui { - class PreferencesConfigurationPage; +class PreferencesConfigurationPage; } class PreferencesConfigurationPage : public QWidget { Q_OBJECT // NOLINT -public: - explicit PreferencesConfigurationPage(QWidget *parent = nullptr); +public : explicit PreferencesConfigurationPage(QWidget *parent = nullptr); ~PreferencesConfigurationPage() override; auto Apply() -> QStringList; + protected: - void changeEvent(QEvent* event) override; + void changeEvent(QEvent *event) override; + private: // cppcheck-suppress unknownMacro Q_DISABLE_COPY_MOVE(PreferencesConfigurationPage) // NOLINT diff --git a/src/libs/vlayout/vtextmanager.cpp b/src/libs/vlayout/vtextmanager.cpp index df7c02369..abbf61811 100644 --- a/src/libs/vlayout/vtextmanager.cpp +++ b/src/libs/vlayout/vtextmanager.cpp @@ -26,28 +26,29 @@ ** *************************************************************************/ +#include #include +#include #include +#include // QFlags #include +#include #include #include -#include -#include -#include // QFlags #include #include #include "../ifc/xml/vabstractpattern.h" -#include "../vpatterndb/floatItemData/vpiecelabeldata.h" #include "../vmisc/vabstractvalapplication.h" +#include "../vpatterndb/floatItemData/vpiecelabeldata.h" #if QT_VERSION < QT_VERSION_CHECK(5, 9, 0) -# include "../vmisc/vdatastreamenum.h" +#include "../vmisc/vdatastreamenum.h" #endif -#include "../vpatterndb/vcontainer.h" #include "../vpatterndb/calculator.h" #include "../vpatterndb/variables/vmeasurement.h" +#include "../vpatterndb/vcontainer.h" #include "vtextmanager.h" const quint32 TextLine::streamHeader = 0xA3881E49; // CRC-32Q string "TextLine" @@ -55,7 +56,7 @@ const quint16 TextLine::classVersion = 1; // Friend functions //--------------------------------------------------------------------------------------------------------------------- -auto operator<<(QDataStream &dataStream, const TextLine &data) -> QDataStream& +auto operator<<(QDataStream &dataStream, const TextLine &data) -> QDataStream & { dataStream << TextLine::streamHeader << TextLine::classVersion; @@ -72,7 +73,7 @@ auto operator<<(QDataStream &dataStream, const TextLine &data) -> QDataStream& } //--------------------------------------------------------------------------------------------------------------------- -auto operator>>(QDataStream &dataStream, TextLine &data) -> QDataStream& +auto operator>>(QDataStream &dataStream, TextLine &data) -> QDataStream & { quint32 actualStreamHeader = 0; dataStream >> actualStreamHeader; @@ -81,8 +82,8 @@ auto operator>>(QDataStream &dataStream, TextLine &data) -> QDataStream& { QString message = QCoreApplication::tr("TextLine prefix mismatch error: actualStreamHeader = 0x%1 and " "streamHeader = 0x%2") - .arg(actualStreamHeader, 8, 0x10, QChar('0')) - .arg(TextLine::streamHeader, 8, 0x10, QChar('0')); + .arg(actualStreamHeader, 8, 0x10, QChar('0')) + .arg(TextLine::streamHeader, 8, 0x10, QChar('0')); throw VException(message); } @@ -93,7 +94,8 @@ auto operator>>(QDataStream &dataStream, TextLine &data) -> QDataStream& { QString message = QCoreApplication::tr("TextLine compatibility error: actualClassVersion = %1 and " "classVersion = %2") - .arg(actualClassVersion).arg(TextLine::classVersion); + .arg(actualClassVersion) + .arg(TextLine::classVersion); throw VException(message); } @@ -103,10 +105,10 @@ auto operator>>(QDataStream &dataStream, TextLine &data) -> QDataStream& dataStream >> data.m_italic; dataStream >> data.m_eAlign; -// if (actualClassVersion >= 2) -// { + // if (actualClassVersion >= 2) + // { -// } + // } return dataStream; } @@ -121,7 +123,7 @@ Q_GLOBAL_STATIC(QVector, m_patternLabelLines) // NOLINT // Friend functions //--------------------------------------------------------------------------------------------------------------------- -auto operator<<(QDataStream &dataStream, const VTextManager &data) -> QDataStream& +auto operator<<(QDataStream &dataStream, const VTextManager &data) -> QDataStream & { dataStream << VTextManager::streamHeader << VTextManager::classVersion; @@ -135,7 +137,7 @@ auto operator<<(QDataStream &dataStream, const VTextManager &data) -> QDataStrea } //--------------------------------------------------------------------------------------------------------------------- -auto operator>>(QDataStream &dataStream, VTextManager &data) -> QDataStream& +auto operator>>(QDataStream &dataStream, VTextManager &data) -> QDataStream & { quint32 actualStreamHeader = 0; dataStream >> actualStreamHeader; @@ -144,8 +146,8 @@ auto operator>>(QDataStream &dataStream, VTextManager &data) -> QDataStream& { QString message = QCoreApplication::tr("VTextManager prefix mismatch error: actualStreamHeader = 0x%1 and " "streamHeader = 0x%2") - .arg(actualStreamHeader, 8, 0x10, QChar('0')) - .arg(VTextManager::streamHeader, 8, 0x10, QChar('0')); + .arg(actualStreamHeader, 8, 0x10, QChar('0')) + .arg(VTextManager::streamHeader, 8, 0x10, QChar('0')); throw VException(message); } @@ -156,17 +158,18 @@ auto operator>>(QDataStream &dataStream, VTextManager &data) -> QDataStream& { QString message = QCoreApplication::tr("VTextManager compatibility error: actualClassVersion = %1 and " "classVersion = %2") - .arg(actualClassVersion).arg(VTextManager::classVersion); + .arg(actualClassVersion) + .arg(VTextManager::classVersion); throw VException(message); } dataStream >> data.m_font; dataStream >> data.m_liLines; -// if (actualClassVersion >= 2) -// { + // if (actualClassVersion >= 2) + // { -// } + // } return dataStream; } @@ -205,8 +208,8 @@ auto PreparePlaceholders(const VAbstractPattern *doc, const VContainer *data) -> { placeholders.insert(pl_customer, VAbstractValApplication::VApp()->GetCustomerName()); - const QString birthDate = locale.toString(VAbstractValApplication::VApp()->GetCustomerBirthDate(), - doc->GetLabelDateFormat()); + const QString birthDate = + locale.toString(VAbstractValApplication::VApp()->GetCustomerBirthDate(), doc->GetLabelDateFormat()); placeholders.insert(pl_birthDate, birthDate); placeholders.insert(pl_email, VAbstractValApplication::VApp()->CustomerEmail()); @@ -256,7 +259,8 @@ auto PreparePlaceholders(const VAbstractPattern *doc, const VContainer *data) -> } placeholders.insert(pl_mExt, VAbstractValApplication::VApp()->GetMeasurementsType() == MeasurementsType::Multisize - ? QStringLiteral("vst") : QStringLiteral("vit")); + ? QStringLiteral("vst") + : QStringLiteral("vit")); const QMap materials = doc->GetPatternMaterials(); for (int i = 0; i < userMaterialPlaceholdersQuantity; ++i) @@ -273,7 +277,7 @@ auto PreparePlaceholders(const VAbstractPattern *doc, const VContainer *data) -> } { - const QMap > measurements = data->DataMeasurements(); + const QMap> measurements = data->DataMeasurements(); auto i = measurements.constBegin(); while (i != measurements.constEnd()) { @@ -290,7 +294,7 @@ auto PreparePlaceholders(const VAbstractPattern *doc, const VContainer *data) -> placeholders.insert(pl_currentArea, QString()); placeholders.insert(pl_currentSeamLineArea, QString()); - for (int i=0; i < measurements.size(); ++i) + for (int i = 0; i < measurements.size(); ++i) { const VFinalMeasurement &m = measurements.at(i); @@ -304,9 +308,12 @@ auto PreparePlaceholders(const VAbstractPattern *doc, const VContainer *data) -> catch (qmu::QmuParserError &e) { const QString errorMsg = QObject::tr("Failed to prepare final measurement placeholder. Parser error at " - "line %1: %2.").arg(i+1).arg(e.GetMsg()); - VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) : - qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; + "line %1: %2.") + .arg(i + 1) + .arg(e.GetMsg()); + VAbstractApplication::VApp()->IsPedantic() + ? throw VException(errorMsg) + : qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; } } } @@ -362,8 +369,9 @@ void InitPiecePlaceholders(QMap &placeholders, const QString & catch (qmu::QmuParserError &e) { const QString errorMsg = QObject::tr("Failed to prepare full piece area placeholder. %2.").arg(e.GetMsg()); - VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) : - qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; + VAbstractApplication::VApp()->IsPedantic() + ? throw VException(errorMsg) + : qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; } try @@ -375,8 +383,9 @@ void InitPiecePlaceholders(QMap &placeholders, const QString & catch (qmu::QmuParserError &e) { const QString errorMsg = QObject::tr("Failed to prepare piece seam line area placeholder. %2.").arg(e.GetMsg()); - VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) : - qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; + VAbstractApplication::VApp()->IsPedantic() + ? throw VException(errorMsg) + : qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; } } @@ -387,10 +396,11 @@ auto ReplacePlaceholders(const QMap &placeholders, QString lin auto TestDimension = [per, placeholders, line](const QString &placeholder, const QString &errorMsg) { - if (line.contains(per+placeholder+per) && placeholders.value(placeholder) == QChar('0')) + if (line.contains(per + placeholder + per) && placeholders.value(placeholder) == QChar('0')) { - VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) : - qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; + VAbstractApplication::VApp()->IsPedantic() + ? throw VException(errorMsg) + : qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; } }; @@ -407,7 +417,7 @@ auto ReplacePlaceholders(const QMap &placeholders, QString lin auto i = placeholders.constBegin(); while (i != placeholders.constEnd()) { - line.replace(per+i.key()+per, i.value()); + line.replace(per + i.key() + per, i.value()); ++i; } return line; @@ -435,7 +445,7 @@ auto PrepareLines(const QVector &lines) -> QVector return textLines; } -} // namespace +} // namespace //--------------------------------------------------------------------------------------------------------------------- /** @@ -452,7 +462,7 @@ auto VTextManager::GetSpacing() const -> int * @brief SetFont set the text base font * @param font text base font */ -void VTextManager::SetFont(const QFont& font) +void VTextManager::SetFont(const QFont &font) { m_font = font; } @@ -462,7 +472,7 @@ void VTextManager::SetFont(const QFont& font) * @brief GetFont returns the text base font * @return text base font */ -auto VTextManager::GetFont() const -> const QFont& +auto VTextManager::GetFont() const -> const QFont & { return m_font; } @@ -505,7 +515,7 @@ auto VTextManager::GetSourceLinesCount() const -> vsizetype * @param i index of the requested line * @return reference to the requested TextLine object */ -auto VTextManager::GetSourceLine(vsizetype i) const -> const TextLine& +auto VTextManager::GetSourceLine(vsizetype i) const -> const TextLine & { Q_ASSERT(i >= 0); Q_ASSERT(i < m_liLines.count()); @@ -518,7 +528,7 @@ auto VTextManager::MaxLineWidth(int width) const -> int int maxWidth = 0; for (int i = 0; i < m_liLines.count(); ++i) { - const TextLine& tl = m_liLines.at(i); + const TextLine &tl = m_liLines.at(i); QFont fnt = m_font; fnt.setPixelSize(fnt.pixelSize() + tl.m_iFontSize); @@ -551,8 +561,8 @@ void VTextManager::FitFontSize(qreal fW, qreal fH) { int iFS = 0; if (GetSourceLinesCount() > 0) - {//division by zero - iFS = 3*qFloor(fH/static_cast(GetSourceLinesCount()))/4; + { // division by zero + iFS = 3 * qFloor(fH / static_cast(GetSourceLinesCount())) / 4; } if (iFS < MIN_FONT_SIZE) @@ -567,7 +577,7 @@ void VTextManager::FitFontSize(qreal fW, qreal fH) QFont fnt; for (vsizetype i = 0; i < GetSourceLinesCount(); ++i) { - const TextLine& tl = GetSourceLine(i); + const TextLine &tl = GetSourceLine(i); fnt = m_font; fnt.setPixelSize(iFS + tl.m_iFontSize); fnt.setBold(tl.m_bold); @@ -593,8 +603,7 @@ void VTextManager::FitFontSize(qreal fW, qreal fH) fnt.setPixelSize(iFS + maxLine.m_iFontSize); QFontMetrics fm(fnt); lineLength = TextWidth(fm, maxLine.m_qsText); - } - while (lineLength > fW && iFS > MIN_FONT_SIZE); + } while (lineLength > fW && iFS > MIN_FONT_SIZE); } SetFontSize(iFS); } @@ -605,17 +614,17 @@ void VTextManager::FitFontSize(qreal fW, qreal fH) * @param qsName detail name * @param data reference to the detail data */ -void VTextManager::Update(const QString& qsName, const VPieceLabelData& data, const VContainer *pattern) +void VTextManager::Update(const QString &qsName, const VPieceLabelData &data, const VContainer *pattern) { m_liLines.clear(); QMap placeholders = - PreparePlaceholders(VAbstractValApplication::VApp()->getCurrentDocument(), pattern); + PreparePlaceholders(VAbstractValApplication::VApp()->getCurrentDocument(), pattern); InitPiecePlaceholders(placeholders, qsName, data, pattern); QVector lines = data.GetLabelTemplate(); - for (auto & line : lines) + for (auto &line : lines) { line.line = ReplacePlaceholders(placeholders, line.line); } @@ -642,7 +651,7 @@ void VTextManager::Update(VAbstractPattern *pDoc, const VContainer *pattern) const QMap placeholders = PreparePlaceholders(pDoc, pattern); - for (auto & line : lines) + for (auto &line : lines) { line.line = ReplacePlaceholders(placeholders, line.line); } diff --git a/src/libs/vmisc/def.cpp b/src/libs/vmisc/def.cpp index 720d2dd58..e38cd7f34 100644 --- a/src/libs/vmisc/def.cpp +++ b/src/libs/vmisc/def.cpp @@ -33,9 +33,12 @@ #include #include #include +#include #include #include #include +#include +#include #include #include #include @@ -44,19 +47,16 @@ #include #include #include +#include #include #include #include -#include -#include -#include -#include -#include #include +#include #include "vabstractapplication.h" #if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) -# include "vdatastreamenum.h" +#include "vdatastreamenum.h" #endif #include "../ifc/exception/vexception.h" #include "literals.h" @@ -95,27 +95,8 @@ void SetItemOverrideCursor(QGraphicsItem *item, const QString &pixmapPath, int h //--------------------------------------------------------------------------------------------------------------------- auto SupportedLocales() -> QStringList { - return QStringList - { - "uk_UA", - "de_DE", - "cs_CZ", - "he_IL", - "fr_FR", - "it_IT", - "nl_NL", - "id_ID", - "es_ES", - "fi_FI", - "en_US", - "en_CA", - "en_IN", - "ro_RO", - "zh_CN", - "pt_BR", - "el_GR", - "pl_PL" - }; + return QStringList{"uk_UA", "de_DE", "cs_CZ", "he_IL", "fr_FR", "it_IT", "nl_NL", "id_ID", "es_ES", + "fi_FI", "en_US", "en_CA", "en_IN", "ro_RO", "zh_CN", "pt_BR", "el_GR", "pl_PL"}; } //--------------------------------------------------------------------------------------------------------------------- @@ -224,12 +205,10 @@ auto darkenPixmap(const QPixmap &pixmap) -> QPixmap void ShowInGraphicalShell(const QString &filePath) { #ifdef Q_OS_MAC - QStringList args{ - "-e", "tell application \"Finder\"", - "-e", "activate", - "-e", "select POSIX file \""+filePath+"\"", - "-e", "end tell" - }; + QStringList args{"-e", "tell application \"Finder\"", + "-e", "activate", + "-e", "select POSIX file \"" + filePath + "\"", + "-e", "end tell"}; QProcess::startDetached(QStringLiteral("osascript"), args); #elif defined(Q_OS_WIN) QProcess::startDetached(QStringLiteral("explorer"), QStringList{"/select", QDir::toNativeSeparators(filePath)}); @@ -238,7 +217,8 @@ void ShowInGraphicalShell(const QString &filePath) QString command = QStringLiteral("dbus-send --reply-timeout=%1 --session --dest=org.freedesktop.FileManager1 " "--type=method_call /org/freedesktop/FileManager1 " "org.freedesktop.FileManager1.ShowItems array:string:\"%2\" string:\"\"") - .arg(timeout).arg(QUrl::fromLocalFile(filePath).toString()); + .arg(timeout) + .arg(QUrl::fromLocalFile(filePath).toString()); // Sending message through dbus will highlighting file QProcess dbus; @@ -321,17 +301,17 @@ void MacosEnableLayerBacking() #endif // MACOS_LAYER_BACKING_AFFECTED #endif // Q_OS_MAC -Q_GLOBAL_STATIC_WITH_ARGS(const QString, strTMark, (QLatin1String("tMark"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, strVMark, (QLatin1String("vMark"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, strVMark2, (QLatin1String("vMark2"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, strUMark, (QLatin1String("uMark"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, strBoxMark, (QLatin1String("boxMark"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, strTMark, (QLatin1String("tMark"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, strVMark, (QLatin1String("vMark"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, strVMark2, (QLatin1String("vMark2"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, strUMark, (QLatin1String("uMark"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, strBoxMark, (QLatin1String("boxMark"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, strCheckMark, (QLatin1String("checkMark"))) // NOLINT //--------------------------------------------------------------------------------------------------------------------- auto PassmarkLineTypeToString(PassmarkLineType type) -> QString { - switch(type) + switch (type) { case PassmarkLineType::OneLine: return strOne; @@ -364,7 +344,7 @@ auto StringToPassmarkLineType(const QString &value) -> PassmarkLineType const QStringList values{strOne, strTwo, strThree, *strTMark, *strVMark, *strVMark2, *strUMark, *strBoxMark, *strCheckMark}; - switch(values.indexOf(value)) + switch (values.indexOf(value)) { case 0: // strOne return PassmarkLineType::OneLine; @@ -393,7 +373,7 @@ auto StringToPassmarkLineType(const QString &value) -> PassmarkLineType //--------------------------------------------------------------------------------------------------------------------- auto PassmarkAngleTypeToString(PassmarkAngleType type) -> QString { - switch(type) + switch (type) { case PassmarkAngleType::Straightforward: return strStraightforward; @@ -425,7 +405,7 @@ auto StringToPassmarkAngleType(const QString &value) -> PassmarkAngleType strStraightforward, strBisector, strIntersection, strIntersectionOnlyLeft, strIntersectionOnlyRight, strIntersection2, strIntersection2OnlyLeft, strIntersection2OnlyRight}; - switch(values.indexOf(value)) + switch (values.indexOf(value)) { case 0: return PassmarkAngleType::Straightforward; @@ -449,20 +429,19 @@ auto StringToPassmarkAngleType(const QString &value) -> PassmarkAngleType return PassmarkAngleType::Straightforward; } - //--------------------------------------------------------------------------------------------------------------------- auto StrToUnits(const QString &unit) -> Unit { const QStringList units{unitMM, unitCM, unitINCH, unitPX}; switch (units.indexOf(unit)) { - case 0:// mm + case 0: // mm return Unit::Mm; - case 2:// inch + case 2: // inch return Unit::Inch; - case 3:// px + case 3: // px return Unit::Px; - case 1:// cm + case 1: // cm default: return Unit::Cm; } @@ -591,8 +570,8 @@ auto operator>>(QDataStream &in, CustomSARecord &record) -> QDataStream & { QString message = QCoreApplication::tr("CustomSARecord prefix mismatch error: actualStreamHeader = 0x%1 " "and streamHeader = 0x%2") - .arg(actualStreamHeader, 8, 0x10, QChar('0')) - .arg(CustomSARecord::streamHeader, 8, 0x10, QChar('0')); + .arg(actualStreamHeader, 8, 0x10, QChar('0')) + .arg(CustomSARecord::streamHeader, 8, 0x10, QChar('0')); throw VException(message); } @@ -603,7 +582,8 @@ auto operator>>(QDataStream &in, CustomSARecord &record) -> QDataStream & { QString message = QCoreApplication::tr("CustomSARecord compatibility error: actualClassVersion = %1 and " "classVersion = %2") - .arg(actualClassVersion).arg(CustomSARecord::classVersion); + .arg(actualClassVersion) + .arg(CustomSARecord::classVersion); throw VException(message); } @@ -613,10 +593,10 @@ auto operator>>(QDataStream &in, CustomSARecord &record) -> QDataStream & in >> record.reverse; in >> record.includeType; -// if (actualClassVersion >= 2) -// { + // if (actualClassVersion >= 2) + // { -// } + // } return in; } @@ -624,7 +604,7 @@ auto operator>>(QDataStream &in, CustomSARecord &record) -> QDataStream & //--------------------------------------------------------------------------------------------------------------------- auto IncrementTypeToString(IncrementType type) -> QString { - switch(type) + switch (type) { case IncrementType::Increment: return strTypeIncrement; @@ -640,9 +620,9 @@ auto IncrementTypeToString(IncrementType type) -> QString //--------------------------------------------------------------------------------------------------------------------- auto StringToIncrementType(const QString &value) -> IncrementType { - const QStringList values { strTypeIncrement, strTypeSeparator }; + const QStringList values{strTypeIncrement, strTypeSeparator}; - switch(values.indexOf(value)) + switch (values.indexOf(value)) { case 0: return IncrementType::Increment; @@ -657,7 +637,7 @@ auto StringToIncrementType(const QString &value) -> IncrementType //--------------------------------------------------------------------------------------------------------------------- auto MeasurementTypeToString(MeasurementType type) -> QString { - switch(type) + switch (type) { case MeasurementType::Measurement: return strTypeMeasurement; @@ -673,9 +653,9 @@ auto MeasurementTypeToString(MeasurementType type) -> QString //--------------------------------------------------------------------------------------------------------------------- auto StringToMeasurementType(const QString &value) -> MeasurementType { - const QStringList values { strTypeMeasurement, strTypeSeparator }; + const QStringList values{strTypeMeasurement, strTypeSeparator}; - switch(values.indexOf(value)) + switch (values.indexOf(value)) { case 0: return MeasurementType::Measurement; @@ -703,8 +683,7 @@ auto SplitFilePaths(const QString &path) -> QStringList result.prepend(lastFileName); subPath = fileInfo.path(); } - } - while(not lastFileName.isEmpty()); + } while (not lastFileName.isEmpty()); return result; } diff --git a/src/libs/vmisc/def.h b/src/libs/vmisc/def.h index 9c7a049d8..da2d48061 100644 --- a/src/libs/vmisc/def.h +++ b/src/libs/vmisc/def.h @@ -31,17 +31,17 @@ #include #ifdef Q_OS_WIN -# include +#include #endif /*Q_OS_WIN*/ -#include +#include +#include #include #include #include #include #include -#include -#include +#include #include "debugbreak.h" #include "defglobal.h" @@ -56,16 +56,16 @@ template class QSharedPointer; // Backport of relaxed constexpr #if QT_VERSION < QT_VERSION_CHECK(5, 5, 0) #if defined Q_COMPILER_CONSTEXPR -# if defined(__cpp_constexpr) && __cpp_constexpr-0 >= 201304 -# define Q_DECL_RELAXED_CONSTEXPR constexpr -# define Q_RELAXED_CONSTEXPR constexpr -# else -# define Q_DECL_RELAXED_CONSTEXPR -# define Q_RELAXED_CONSTEXPR const -# endif +#if defined(__cpp_constexpr) && __cpp_constexpr - 0 >= 201304 +#define Q_DECL_RELAXED_CONSTEXPR constexpr +#define Q_RELAXED_CONSTEXPR constexpr #else -# define Q_DECL_RELAXED_CONSTEXPR -# define Q_RELAXED_CONSTEXPR const +#define Q_DECL_RELAXED_CONSTEXPR +#define Q_RELAXED_CONSTEXPR const +#endif +#else +#define Q_DECL_RELAXED_CONSTEXPR +#define Q_RELAXED_CONSTEXPR const #endif #endif @@ -83,15 +83,63 @@ constexpr qreal maxCurveApproximationScale = 10.0; constexpr int minLabelFontSize = 5; constexpr int maxLabelFontSize = 100; -enum class NodeDetail : qint8 { Contour, Modeling }; -enum class SceneObject : qint8 { Point, Line, Spline, Arc, ElArc, SplinePath, Detail, Unknown }; -enum class MeasurementsType : qint8 { Multisize, Individual, Unknown}; -enum class Unit : qint8 { Mm = 0, Cm, Inch, Px, LAST_UNIT_DO_NOT_USE}; -enum class Source : qint8 { FromGui, FromFile, FromTool }; -enum class NodeUsage : bool {NotInUse = false, InUse = true}; -enum class SelectionType : bool {ByMousePress, ByMouseRelease}; -enum class PageOrientation : bool {Portrait = true, Landscape = false}; -enum class Draw : qint8 { Calculation, Modeling, Layout }; +enum class NodeDetail : qint8 +{ + Contour, + Modeling +}; +enum class SceneObject : qint8 +{ + Point, + Line, + Spline, + Arc, + ElArc, + SplinePath, + Detail, + Unknown +}; +enum class MeasurementsType : qint8 +{ + Multisize, + Individual, + Unknown +}; +enum class Unit : qint8 +{ + Mm = 0, + Cm, + Inch, + Px, + LAST_UNIT_DO_NOT_USE +}; +enum class Source : qint8 +{ + FromGui, + FromFile, + FromTool +}; +enum class NodeUsage : bool +{ + NotInUse = false, + InUse = true +}; +enum class SelectionType : bool +{ + ByMousePress, + ByMouseRelease +}; +enum class PageOrientation : bool +{ + Portrait = true, + Landscape = false +}; +enum class Draw : qint8 +{ + Calculation, + Modeling, + Layout +}; enum class PieceNodeAngle : quint8 { @@ -147,7 +195,13 @@ enum class PiecePathIncludeType : quint8 AsCustomSA = 1 }; -enum class PiecePathType : quint8 {PiecePath = 0, CustomSeamAllowance = 1, InternalPath = 2, Unknown = 3}; +enum class PiecePathType : quint8 +{ + PiecePath = 0, + CustomSeamAllowance = 1, + InternalPath = 2, + Unknown = 3 +}; typedef int ToolVisHolderType; enum class Tool : ToolVisHolderType @@ -211,7 +265,7 @@ enum class Tool : ToolVisHolderType BackgroundImageControls, BackgroundPixmapImage, BackgroundSVGImage, - LAST_ONE_DO_NOT_USE //add new stuffs above this, this constant must be last and never used + LAST_ONE_DO_NOT_USE // add new stuffs above this, this constant must be last and never used }; enum class Vis : ToolVisHolderType @@ -270,30 +324,51 @@ enum class Vis : ToolVisHolderType PieceItem, TextGraphicsItem, ScenePoint, - LAST_ONE_DO_NOT_USE //add new stuffs above this, this constant must be last and never used + LAST_ONE_DO_NOT_USE // add new stuffs above this, this constant must be last and never used }; enum class Layout : ToolVisHolderType { GrainlineItem = static_cast(Vis::LAST_ONE_DO_NOT_USE), - LAST_ONE_DO_NOT_USE //add new stuffs above this, this constant must be last and never used + LAST_ONE_DO_NOT_USE // add new stuffs above this, this constant must be last and never used }; -enum class VarType : qint8 { Measurement, MeasurementSeparator, Increment, IncrementSeparator, LineLength, CurveLength, - CurveCLength, LineAngle, CurveAngle, ArcRadius, PieceExternalArea, PieceSeamLineArea, - Unknown }; +enum class VarType : qint8 +{ + Measurement, + MeasurementSeparator, + Increment, + IncrementSeparator, + LineLength, + CurveLength, + CurveCLength, + LineAngle, + CurveAngle, + ArcRadius, + PieceExternalArea, + PieceSeamLineArea, + Unknown +}; -enum class IncrementType : qint8 { Increment, Separator }; +enum class IncrementType : qint8 +{ + Increment, + Separator +}; auto IncrementTypeToString(IncrementType type) -> QString; auto StringToIncrementType(const QString &value) -> IncrementType; -enum class MeasurementType : qint8 { Measurement, Separator }; +enum class MeasurementType : qint8 +{ + Measurement, + Separator +}; auto MeasurementTypeToString(MeasurementType type) -> QString; auto StringToMeasurementType(const QString &value) -> MeasurementType; -enum class IMD: qint8 // Individual measurement dimension +enum class IMD : qint8 // Individual measurement dimension { N, // None X, // height @@ -327,47 +402,46 @@ enum class IMD: qint8 // Individual measurement dimension */ #ifndef V_NO_ASSERT -#define SCASSERT(cond) \ -if (!(cond)) \ -{ \ - qCritical("ASSERT: %s in %s (%s:%u)", \ - #cond, Q_FUNC_INFO , __FILE__, __LINE__); \ - debug_break(); \ - abort(); \ -} +#define SCASSERT(cond) \ + if (!(cond)) \ + { \ + qCritical("ASSERT: %s in %s (%s:%u)", #cond, Q_FUNC_INFO, __FILE__, __LINE__); \ + debug_break(); \ + abort(); \ + } #else // define but disable this function if debugging is not set #define SCASSERT(cond) qt_noop(); #endif /* V_NO_ASSERT */ #ifndef __has_cpp_attribute -# define __has_cpp_attribute(x) 0 +#define __has_cpp_attribute(x) 0 #endif #if QT_VERSION < QT_VERSION_CHECK(5, 8, 0) #ifndef QT_HAS_CPP_ATTRIBUTE #ifdef __has_cpp_attribute -# define QT_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) +#define QT_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x) #else -# define QT_HAS_CPP_ATTRIBUTE(x) 0 +#define QT_HAS_CPP_ATTRIBUTE(x) 0 #endif #endif // QT_HAS_CPP_ATTRIBUTE #if defined(__cplusplus) #if QT_HAS_CPP_ATTRIBUTE(clang::fallthrough) -# define Q_FALLTHROUGH() [[clang::fallthrough]] +#define Q_FALLTHROUGH() [[clang::fallthrough]] #elif QT_HAS_CPP_ATTRIBUTE(gnu::fallthrough) -# define Q_FALLTHROUGH() [[gnu::fallthrough]] +#define Q_FALLTHROUGH() [[gnu::fallthrough]] #elif QT_HAS_CPP_ATTRIBUTE(fallthrough) -# define Q_FALLTHROUGH() [[fallthrough]] +#define Q_FALLTHROUGH() [[fallthrough]] #endif #endif #ifndef Q_FALLTHROUGH -# if (defined(Q_CC_GNU) && Q_CC_GNU >= 700) && !defined(Q_CC_INTEL) -# define Q_FALLTHROUGH() __attribute__((fallthrough)) -# else -# define Q_FALLTHROUGH() (void)0 +#if (defined(Q_CC_GNU) && Q_CC_GNU >= 700) && !defined(Q_CC_INTEL) +#define Q_FALLTHROUGH() __attribute__((fallthrough)) +#else +#define Q_FALLTHROUGH() (void)0 #endif #endif // defined(__cplusplus) #endif // QT_VERSION < QT_VERSION_CHECK(5, 8, 0) @@ -392,11 +466,10 @@ void InitHighDpiScaling(int argc, char *argv[]); // We'll assume that it will be fixed in 5.12.11, 5.15.3, and 6.0.1. // Feel free to add other versions if needed. -#define MACOS_LAYER_BACKING_AFFECTED \ -(QT_VERSION >= QT_VERSION_CHECK(5, 12, 0) && QT_VERSION < QT_VERSION_CHECK(5, 12, 11) \ - || (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) && QT_VERSION < QT_VERSION_CHECK(5, 15, 3)) \ - || (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) && QT_VERSION < QT_VERSION_CHECK(6, 0, 1)) \ - ) +#define MACOS_LAYER_BACKING_AFFECTED \ + (QT_VERSION >= QT_VERSION_CHECK(5, 12, 0) && QT_VERSION < QT_VERSION_CHECK(5, 12, 11) || \ + (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) && QT_VERSION < QT_VERSION_CHECK(5, 15, 3)) || \ + (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) && QT_VERSION < QT_VERSION_CHECK(6, 0, 1))) #if MACOS_LAYER_BACKING_AFFECTED #include @@ -408,7 +481,7 @@ void MacosEnableLayerBacking(); const int userMaterialPlaceholdersQuantity = 20; auto QPixmapFromCache(const QString &pixmapPath) -> QPixmap; -void SetItemOverrideCursor(QGraphicsItem *item, const QString & pixmapPath, int hotX = -1, int hotY = -1); +void SetItemOverrideCursor(QGraphicsItem *item, const QString &pixmapPath, int hotX = -1, int hotY = -1); template constexpr inline auto MmToPixel(T val) noexcept -> T { @@ -442,9 +515,18 @@ Q_DECL_RELAXED_CONSTEXPR inline auto ToPixel(double val, const Unit &unit) -> do return 0; } -template constexpr inline auto PixelToInch(T pix) -> T {return pix / PrintDPI;} -template constexpr inline auto PixelToMm(T pix) -> T {return PixelToInch(pix) * 25.4;} -template constexpr inline auto PixelToCm(T pix) -> T {return PixelToInch(pix) * 2.54;} +template constexpr inline auto PixelToInch(T pix) -> T +{ + return pix / PrintDPI; +} +template constexpr inline auto PixelToMm(T pix) -> T +{ + return PixelToInch(pix) * 25.4; +} +template constexpr inline auto PixelToCm(T pix) -> T +{ + return PixelToInch(pix) * 2.54; +} //--------------------------------------------------------------------------------------------------------------------- Q_DECL_RELAXED_CONSTEXPR inline auto FromPixel(double pix, const Unit &unit) -> double @@ -465,48 +547,66 @@ Q_DECL_RELAXED_CONSTEXPR inline auto FromPixel(double pix, const Unit &unit) -> return 0; } -template constexpr inline auto Inch2ToPixel2(T val) -> T {return val * (PrintDPI * PrintDPI);} -template constexpr inline auto Mm2ToPixel2(T val) -> T {return Inch2ToPixel2(val * 0.001550031);} -template constexpr inline auto Cm2ToPixel2(T val) -> T {return Inch2ToPixel2(val * 0.15500031);} +template constexpr inline auto Inch2ToPixel2(T val) -> T +{ + return val * (PrintDPI * PrintDPI); +} +template constexpr inline auto Mm2ToPixel2(T val) -> T +{ + return Inch2ToPixel2(val * 0.001550031); +} +template constexpr inline auto Cm2ToPixel2(T val) -> T +{ + return Inch2ToPixel2(val * 0.15500031); +} //--------------------------------------------------------------------------------------------------------------------- Q_DECL_RELAXED_CONSTEXPR inline auto ToPixel2(double val, const Unit &unit) -> double { switch (unit) { - case Unit::Mm: - return Mm2ToPixel2(val); - case Unit::Cm: - return Cm2ToPixel2(val); - case Unit::Inch: - return Inch2ToPixel2(val); - case Unit::Px: - return val; - default: - break; + case Unit::Mm: + return Mm2ToPixel2(val); + case Unit::Cm: + return Cm2ToPixel2(val); + case Unit::Inch: + return Inch2ToPixel2(val); + case Unit::Px: + return val; + default: + break; } return 0; } -template constexpr inline auto Pixel2ToInch2(T pix) -> T { return pix / (PrintDPI * PrintDPI);} -template constexpr inline auto Pixel2ToMm2(T pix) -> T { return Pixel2ToInch2(pix) / 0.001550031;} -template constexpr inline auto Pixel2ToCm2(T pix) -> T { return Pixel2ToInch2(pix) / 0.15500031;} +template constexpr inline auto Pixel2ToInch2(T pix) -> T +{ + return pix / (PrintDPI * PrintDPI); +} +template constexpr inline auto Pixel2ToMm2(T pix) -> T +{ + return Pixel2ToInch2(pix) / 0.001550031; +} +template constexpr inline auto Pixel2ToCm2(T pix) -> T +{ + return Pixel2ToInch2(pix) / 0.15500031; +} //--------------------------------------------------------------------------------------------------------------------- Q_DECL_RELAXED_CONSTEXPR inline auto FromPixel2(double pix, const Unit &unit) -> double { switch (unit) { - case Unit::Mm: - return Pixel2ToMm2(pix); - case Unit::Cm: - return Pixel2ToCm2(pix); - case Unit::Inch: - return Pixel2ToInch2(pix); - case Unit::Px: - return pix; - default: - break; + case Unit::Mm: + return Pixel2ToMm2(pix); + case Unit::Cm: + return Pixel2ToCm2(pix); + case Unit::Inch: + return Pixel2ToInch2(pix); + case Unit::Px: + return pix; + default: + break; } return 0; } @@ -587,8 +687,8 @@ Q_DECL_RELAXED_CONSTEXPR inline auto UnitConvertor(qreal value, const Unit &from * @brief UnitConvertor Converts the values of the given margin from given unit to the new unit. * returns a new instand of QMarginsF. */ -Q_DECL_RELAXED_CONSTEXPR inline auto UnitConvertor(const QMarginsF &margins, const Unit &from, - const Unit &to) -> QMarginsF +Q_DECL_RELAXED_CONSTEXPR inline auto UnitConvertor(const QMarginsF &margins, const Unit &from, const Unit &to) + -> QMarginsF { const qreal left = UnitConvertor(margins.left(), from, to); const qreal top = UnitConvertor(margins.top(), from, to); @@ -617,11 +717,11 @@ void ShowInGraphicalShell(const QString &filePath); Q_REQUIRED_RESULT Q_DECL_RELAXED_CONSTEXPR static inline auto VFuzzyComparePossibleNulls(double p1, double p2) -> bool; Q_DECL_RELAXED_CONSTEXPR static inline auto VFuzzyComparePossibleNulls(double p1, double p2) -> bool { - if(qFuzzyIsNull(p1)) + if (qFuzzyIsNull(p1)) { return qFuzzyIsNull(p2); } - else if(qFuzzyIsNull(p2)) + else if (qFuzzyIsNull(p2)) { return false; } @@ -637,12 +737,13 @@ Q_DECL_RELAXED_CONSTEXPR static inline auto VFuzzyComparePossibleNulls(double p1 struct CustomSARecord { CustomSARecord() - : startPoint(0), - path(0), - endPoint(0), - reverse(false), - includeType(PiecePathIncludeType::AsCustomSA) - {} + : startPoint(0), + path(0), + endPoint(0), + reverse(false), + includeType(PiecePathIncludeType::AsCustomSA) + { + } friend auto operator<<(QDataStream &out, const CustomSARecord &record) -> QDataStream &; friend auto operator>>(QDataStream &in, CustomSARecord &record) -> QDataStream &; @@ -672,28 +773,27 @@ Q_DECLARE_TYPEINFO(CustomSARecord, Q_MOVABLE_TYPE); // NOLINT ** this file shall be copyright (C) 2006-2008 by Adam Higerd. ****************************************************************************/ -#define QXT_DECLARE_PRIVATE(PUB) friend class PUB##Private; QxtPrivateInterface qxt_d; +#define QXT_DECLARE_PRIVATE(PUB) \ + friend class PUB##Private; \ + QxtPrivateInterface qxt_d; #define QXT_DECLARE_PUBLIC(PUB) friend class PUB; #define QXT_INIT_PRIVATE(PUB) qxt_d.setPublic(this); -#define QXT_D(PUB) PUB##Private& d = qxt_d() -#define QXT_P(PUB) PUB& p = qxt_p() +#define QXT_D(PUB) PUB##Private &d = qxt_d() +#define QXT_P(PUB) PUB &p = qxt_p() QT_WARNING_PUSH QT_WARNING_DISABLE_GCC("-Wsuggest-final-types") QT_WARNING_DISABLE_GCC("-Wsuggest-final-methods") -template -class QxtPrivate +template class QxtPrivate { public: - QxtPrivate(): qxt_p_ptr(nullptr) - {} - virtual ~QxtPrivate() - {} - inline void QXT_setPublic(PUB* pub) + QxtPrivate() + : qxt_p_ptr(nullptr) { - qxt_p_ptr = pub; } + virtual ~QxtPrivate() {} + inline void QXT_setPublic(PUB *pub) { qxt_p_ptr = pub; } protected: inline auto qxt_p() -> PUB & { return *qxt_p_ptr; } @@ -703,28 +803,24 @@ protected: private: Q_DISABLE_COPY_MOVE(QxtPrivate) // NOLINT - PUB* qxt_p_ptr; + PUB *qxt_p_ptr; }; // cppcheck-suppress unknownMacro QT_WARNING_POP -template -class QxtPrivateInterface +template class QxtPrivateInterface { friend class QxtPrivate; -public: - QxtPrivateInterface() : pvt(new PVT) - {} - ~QxtPrivateInterface() - { - delete pvt; - } - inline void setPublic(PUB* pub) +public: + QxtPrivateInterface() + : pvt(new PVT) { - pvt->QXT_setPublic(pub); } + ~QxtPrivateInterface() { delete pvt; } + + inline void setPublic(PUB *pub) { pvt->QXT_setPublic(pub); } inline auto operator()() -> PVT & { return *static_cast(pvt); } inline auto operator()() const -> const PVT & { return *static_cast(pvt); } inline auto operator->() -> PVT * { return static_cast(pvt); } @@ -732,7 +828,7 @@ public: private: Q_DISABLE_COPY_MOVE(QxtPrivateInterface) // NOLINT - QxtPrivate* pvt; + QxtPrivate *pvt; }; #endif // DEF_H diff --git a/src/libs/vmisc/vabstractvalapplication.cpp b/src/libs/vmisc/vabstractvalapplication.cpp index 9742525d2..315783e1e 100644 --- a/src/libs/vmisc/vabstractvalapplication.cpp +++ b/src/libs/vmisc/vabstractvalapplication.cpp @@ -29,12 +29,14 @@ #include "customevents.h" #include "vvalentinasettings.h" +#include #include //--------------------------------------------------------------------------------------------------------------------- VAbstractValApplication::VAbstractValApplication(int &argc, char **argv) - : VAbstractApplication(argc, argv) -{} + : VAbstractApplication(argc, argv) +{ +} //--------------------------------------------------------------------------------------------------------------------- auto VAbstractValApplication::toPixel(double val) const -> double @@ -71,11 +73,12 @@ void VAbstractValApplication::OpenSettings() auto VAbstractValApplication::ValentinaSettings() -> VValentinaSettings * { SCASSERT(settings != nullptr) - return qobject_cast(settings); + + return qobject_cast(settings); } //--------------------------------------------------------------------------------------------------------------------- auto VAbstractValApplication::VApp() -> VAbstractValApplication * { - return qobject_cast(QCoreApplication::instance()); + return qobject_cast(QCoreApplication::instance()); } diff --git a/src/libs/vmisc/vabstractvalapplication.h b/src/libs/vmisc/vabstractvalapplication.h index d67eafcf7..e71286e3b 100644 --- a/src/libs/vmisc/vabstractvalapplication.h +++ b/src/libs/vmisc/vabstractvalapplication.h @@ -32,34 +32,35 @@ #include -class VAbstractValApplication;// use in define +class VAbstractValApplication; // use in define class VAbstractPattern; class VMainGraphicsView; class QGraphicsScene; class VValentinaSettings; +class QTranslator; class VAbstractValApplication : public VAbstractApplication { Q_OBJECT // NOLINT -public: - VAbstractValApplication(int &argc, char **argv); - virtual ~VAbstractValApplication() =default; + + public : VAbstractValApplication(int &argc, char **argv); + virtual ~VAbstractValApplication() = default; auto GetCustomerName() const -> QString; - void SetCustomerName(const QString &name); + void SetCustomerName(const QString &name); auto GetCustomerBirthDate() const -> QDate; - void SetCustomerBirthDate(const QDate &date); + void SetCustomerBirthDate(const QDate &date); auto CustomerEmail() const -> QString; - void SetCustomerEmail(const QString &email); + void SetCustomerEmail(const QString &email); auto patternUnits() const -> Unit; auto patternUnitsP() const -> const Unit *; - void SetPatternUnits(const Unit &patternUnit); + void SetPatternUnits(const Unit &patternUnit); auto GetMeasurementsType() const -> MeasurementsType; - void SetMeasurementsType(const MeasurementsType &patternType); + void SetMeasurementsType(const MeasurementsType &patternType); auto MeasurementsUnits() const -> Unit; void SetMeasurementsUnits(const Unit &measurementsUnits); @@ -70,26 +71,26 @@ public: auto toPixel(double val) const -> double; auto fromPixel(double pix) const -> double; - void setCurrentDocument(VAbstractPattern *doc); + void setCurrentDocument(VAbstractPattern *doc); auto getCurrentDocument() const -> VAbstractPattern *; auto getSceneView() const -> VMainGraphicsView *; - void setSceneView(VMainGraphicsView *value); + void setSceneView(VMainGraphicsView *value); auto getCurrentScene() const -> QGraphicsScene *; - void setCurrentScene(QGraphicsScene **value); + void setCurrentScene(QGraphicsScene **value); auto getMainWindow() const -> QWidget *; - void setMainWindow(QWidget *value); + void setMainWindow(QWidget *value); auto GetPatternPath() const -> QString; - void SetPatternPath(const QString &value); + void SetPatternPath(const QString &value); auto GetUserMaterials() const -> QMap; - void SetUserMaterials(const QMap &userMaterials); + void SetUserMaterials(const QMap &userMaterials); auto GetDrawMode() const -> const Draw &; - void SetDrawMode(const Draw &value); + void SetDrawMode(const Draw &value); auto getOpeningPattern() const -> bool; void setOpeningPattern(); @@ -97,28 +98,28 @@ public: void PostWarningMessage(const QString &message, QtMsgType severity) const; auto GetDimensionHeight() const -> qreal; - void SetDimensionHeight(qreal dimensionHeight); + void SetDimensionHeight(qreal dimensionHeight); auto GetDimensionSize() const -> qreal; - void SetDimensionSize(qreal dimensionSize); + void SetDimensionSize(qreal dimensionSize); auto GetDimensionHip() const -> qreal; - void SetDimensionHip(qreal dimensionHip); + void SetDimensionHip(qreal dimensionHip); auto GetDimensionWaist() const -> qreal; - void SetDimensionWaist(qreal dimensionWaist); + void SetDimensionWaist(qreal dimensionWaist); auto GetDimensionHeightLabel() const -> QString; - void SetDimensionHeightLabel(const QString &label); + void SetDimensionHeightLabel(const QString &label); auto GetDimensionSizeLabel() const -> QString; - void SetDimensionSizeLabel(const QString &label); + void SetDimensionSizeLabel(const QString &label); auto GetDimensionHipLabel() const -> QString; - void SetDimensionHipLabel(const QString &label); + void SetDimensionHipLabel(const QString &label); auto GetDimensionWaistLabel() const -> QString; - void SetDimensionWaistLabel(const QString &label); + void SetDimensionWaistLabel(const QString &label); virtual void OpenSettings() override; auto ValentinaSettings() -> VValentinaSettings *; @@ -127,17 +128,17 @@ public: protected: QString m_customerName{}; - QDate m_customerBirthDate{}; + QDate m_customerBirthDate{}; QString m_customerEmail{}; - Unit m_patternUnits{Unit::Cm}; - MeasurementsType m_measurementsType{MeasurementsType::Unknown}; - Unit m_measurementsUnits{Unit::Cm}; - VAbstractPattern *m_doc{nullptr}; - VMainGraphicsView *m_sceneView{nullptr}; - QGraphicsScene **m_currentScene{nullptr}; - QString m_patternFilePath{}; - QMap m_userMaterials{}; + Unit m_patternUnits{Unit::Cm}; + MeasurementsType m_measurementsType{MeasurementsType::Unknown}; + Unit m_measurementsUnits{Unit::Cm}; + VAbstractPattern *m_doc{nullptr}; + VMainGraphicsView *m_sceneView{nullptr}; + QGraphicsScene **m_currentScene{nullptr}; + QString m_patternFilePath{}; + QMap m_userMaterials{}; qreal m_dimensionHeight{0}; qreal m_dimensionSize{0}; diff --git a/src/libs/vmisc/vcommonsettings.cpp b/src/libs/vmisc/vcommonsettings.cpp index 15f9ef629..b86319f23 100644 --- a/src/libs/vmisc/vcommonsettings.cpp +++ b/src/libs/vmisc/vcommonsettings.cpp @@ -29,16 +29,16 @@ #include "vcommonsettings.h" #include +#include #include #include +#include +#include #include +#include #include #include #include -#include -#include -#include -#include #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) #include "vtextcodec.h" @@ -46,9 +46,9 @@ #include #endif +#include "compatibility.h" #include "def.h" #include "defglobal.h" -#include "compatibility.h" #include "literals.h" const int VCommonSettings::defaultScrollingDuration = 300; @@ -77,94 +77,133 @@ Q_DECLARE_METATYPE(QMarginsF) // NOLINT namespace { -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsIndividualMeasurements, (QLatin1String("paths/individual_measurements"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsMultisizeMeasurements, (QLatin1String("paths/standard_measurements"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsPattern, (QLatin1String("paths/pattern"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsTemplates, (QLatin1String("paths/templates"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsLabelTemplate, (QLatin1String("paths/labels"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsIndividualMeasurements, + (QLatin1String("paths/individual_measurements"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsMultisizeMeasurements, + (QLatin1String("paths/standard_measurements"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsPattern, (QLatin1String("paths/pattern"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsTemplates, (QLatin1String("paths/templates"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsLabelTemplate, (QLatin1String("paths/labels"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsManualLayouts, (QLatin1String("paths/manualLayouts"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationOsSeparator, (QLatin1String("configuration/osSeparator"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationAutosaveState, (QLatin1String("configuration/autosave/state"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationAutosaveTime , (QLatin1String("configuration/autosave/time"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationOsSeparator, + (QLatin1String("configuration/osSeparator"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationAutosaveState, + (QLatin1String("configuration/autosave/state"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationAutosaveTime, + (QLatin1String("configuration/autosave/time"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationLocale, (QLatin1String("configuration/locale"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPMSystemCode, (QLatin1String("configuration/pmscode"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPMSystemCode, (QLatin1String("configuration/pmscode"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationUnit, (QLatin1String("configuration/unit"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationConfirmItemDeletion, (QLatin1String("configuration/confirm_item_deletion"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationConfirmFormatRewriting, (QLatin1String("configuration/confirm_format_rewriting"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationAskContinueIfLayoutStale, (QLatin1String("configuration/askContinueIfLayoutStale"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationToolBarStyle, (QLatin1String("configuration/tool_bar_style"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationFreeCurveMode, (QLatin1String("configuration/freeCurveMode"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationDoubleClickZoomFitBestCurrentPP, (QLatin1String("configuration/doubleClickZoomFitBestCurrentPP"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationInteractiveTools, (QLatin1String("configuration/interactiveTools"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationDontUseNativeDialog, (QLatin1String("configuration/dontUseNativeDialog"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationConfirmItemDeletion, + (QLatin1String("configuration/confirm_item_deletion"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationConfirmFormatRewriting, + (QLatin1String("configuration/confirm_format_rewriting"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationAskContinueIfLayoutStale, + (QLatin1String("configuration/askContinueIfLayoutStale"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationToolBarStyle, + (QLatin1String("configuration/tool_bar_style"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationFreeCurveMode, + (QLatin1String("configuration/freeCurveMode"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationDoubleClickZoomFitBestCurrentPP, + (QLatin1String("configuration/doubleClickZoomFitBestCurrentPP"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationInteractiveTools, + (QLatin1String("configuration/interactiveTools"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationDontUseNativeDialog, + (QLatin1String("configuration/dontUseNativeDialog"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternUndo, (QLatin1String("pattern/undo"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternForbidFlipping, (QLatin1String("pattern/forbidFlipping"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternForceFlipping, (QLatin1String("pattern/forceFlipping"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternSewLineOnDrawing, (QLatin1String("pattern/sewLineOnDrawing"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternForbidFlipping, + (QLatin1String("pattern/forbidFlipping"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternForceFlipping, + (QLatin1String("pattern/forceFlipping"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternSewLineOnDrawing, + (QLatin1String("pattern/sewLineOnDrawing"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternHideMainPath, (QLatin1String("pattern/hideMainPath"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingDoublePassmark, (QLatin1String("pattern/doublePassmark"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternDefaultSeamAllowance, (QLatin1String("pattern/defaultSeamAllowance"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingDoublePassmark, (QLatin1String("pattern/doublePassmark"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternDefaultSeamAllowance, + (QLatin1String("pattern/defaultSeamAllowance"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternLabelFont, (QLatin1String("pattern/labelFont"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternLineWidth, (QLatin1String("pattern/lineWidth"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternCurveApproximationScale, (QLatin1String("pattern/curveApproximationScale"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternShowCurveDetails, (QLatin1String("pattern/showCurveDetails"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternPieceShowMainPath, (QLatin1String("pattern/pieceShowMainPath"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternLabelFontSize, (QLatin1String("pattern/labelFontSize"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternCurveApproximationScale, + (QLatin1String("pattern/curveApproximationScale"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternShowCurveDetails, + (QLatin1String("pattern/showCurveDetails"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternPieceShowMainPath, + (QLatin1String("pattern/pieceShowMainPath"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternLabelFontSize, + (QLatin1String("pattern/labelFontSize"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternHideLabels, (QLatin1String("pattern/hideLabels"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternShowAccuracyRadius, (QLatin1String("pattern/showAccuracyRadius"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternUseOpenGLRender, (QLatin1String("pattern/useOpenGLRender"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternGraphicalOutput, (QLatin1String("pattern/graphicalOutput"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternShowAccuracyRadius, + (QLatin1String("pattern/showAccuracyRadius"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternUseOpenGLRender, + (QLatin1String("pattern/useOpenGLRender"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPatternGraphicalOutput, + (QLatin1String("pattern/graphicalOutput"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingGeneralRecentFileList, (QLatin1String("recentFileList"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingGeneralRecentFileList, (QLatin1String("recentFileList"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingGeneralRestoreFileList, (QLatin1String("restoreFileList"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingGeneralGeometry, (QLatin1String("geometry"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingGeneralToolbarsState, (QLatin1String("toolbarsState"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationDarkMode, (QLatin1String("configuration/dark_mode"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingGeneralGeometry, (QLatin1String("geometry"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingGeneralToolbarsState, (QLatin1String("toolbarsState"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationDarkMode, + (QLatin1String("configuration/dark_mode"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPreferenceDialogSize, (QLatin1String("preferenceDialogSize"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingToolSeamAllowanceDialogSize, (QLatin1String("toolSeamAllowanceDialogSize"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingIncrementsDialogSize, (QLatin1String("toolIncrementsDialogSize"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingFormulaWizardDialogSize, (QLatin1String("formulaWizardDialogSize"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingFinalMeasurementsDialogSize, (QLatin1String("finalMeasurementsDialogSize"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingLayoutSettingsDialogSize, (QLatin1String("layoutSettingsDialogSize"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingToolSeamAllowanceDialogSize, + (QLatin1String("toolSeamAllowanceDialogSize"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingIncrementsDialogSize, + (QLatin1String("toolIncrementsDialogSize"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingFormulaWizardDialogSize, + (QLatin1String("formulaWizardDialogSize"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingFinalMeasurementsDialogSize, + (QLatin1String("finalMeasurementsDialogSize"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingLayoutSettingsDialogSize, + (QLatin1String("layoutSettingsDialogSize"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingDialogSplinePathSize, (QLatin1String("splinePathDialogSize"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingAutomaticallyCheckUpdates, (QLatin1String("automaticallyCheckUpdates"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingLatestSkippedVersion, (QLatin1String("lastestSkippedVersion"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingAutomaticallyCheckUpdates, + (QLatin1String("automaticallyCheckUpdates"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingLatestSkippedVersion, + (QLatin1String("lastestSkippedVersion"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingDateOfLastRemind, (QLatin1String("dateOfLastRemind"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingCSVWithHeader, (QLatin1String("csv/withHeader"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingCSVCodec, (QLatin1String("csv/withCodec"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingCSVWithHeader, (QLatin1String("csv/withHeader"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingCSVCodec, (QLatin1String("csv/withCodec"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingCSVSeparator, (QLatin1String("csv/withSeparator"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingLabelDateFormat, (QLatin1String("label/dateFormat"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingLabelUserDateFormats, (QLatin1String("label/userDateFormats"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingLabelUserDateFormats, + (QLatin1String("label/userDateFormats"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingLabelTimeFormat, (QLatin1String("label/timeFormat"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingLabelUserTimeFormats, (QLatin1String("label/userTimeFormats"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingLabelUserTimeFormats, + (QLatin1String("label/userTimeFormats"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingScrollingDuration, (QLatin1String("scrolling/duration"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingScrollingUpdateInterval, (QLatin1String("scrolling/updateInterval"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingScrollingSensorMouseScale, (QLatin1String("scrolling/sensorMouseScale"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingScrollingWheelMouseScale, (QLatin1String("scrolling/wheelMouseScale"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingScrollingAcceleration, (QLatin1String("scrolling/acceleration"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingScrollingUpdateInterval, + (QLatin1String("scrolling/updateInterval"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingScrollingSensorMouseScale, + (QLatin1String("scrolling/sensorMouseScale"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingScrollingWheelMouseScale, + (QLatin1String("scrolling/wheelMouseScale"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingScrollingAcceleration, + (QLatin1String("scrolling/acceleration"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingTiledPDFMargins, (QLatin1String("tiledPDF/margins"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingTiledPDFMargins, (QLatin1String("tiledPDF/margins"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingTiledPDFOrientation, (QLatin1String("tiledPDF/orientation"))) // NOLINT Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingWatermarkEditorSize, (QLatin1String("watermarkEditorSize"))) // NOLINT -Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingWatermarkCustomColors, (QLatin1String("watermarkCustomColors"))) // NOLINT +Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingWatermarkCustomColors, + (QLatin1String("watermarkCustomColors"))) // NOLINT // Reading settings file is very expensive, cache curve approximation to speed up getting value -qreal curveApproximationCached = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) -Q_GLOBAL_STATIC(QString, localeCached) // NOLINT -qreal lineWidthCached = 0; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) -int labelFontSizeCached = 0; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) -int pieceShowMainPath = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) -int scrollingDurationCached = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) -int scrollingUpdateIntervalCached = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) +qreal curveApproximationCached = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) +Q_GLOBAL_STATIC(QString, localeCached) // NOLINT +qreal lineWidthCached = 0; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) +int labelFontSizeCached = 0; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) +int pieceShowMainPath = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) +int scrollingDurationCached = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) +int scrollingUpdateIntervalCached = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) qreal scrollingSensorMouseScaleCached = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) -qreal scrollingWheelMouseScaleCached = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) -qreal scrollingAccelerationCached = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) +qreal scrollingWheelMouseScaleCached = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) +qreal scrollingAccelerationCached = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) //--------------------------------------------------------------------------------------------------------------------- auto ClearFormats(const QStringList &predefinedFormats, QStringList formats) -> QStringList @@ -175,7 +214,7 @@ auto ClearFormats(const QStringList &predefinedFormats, QStringList formats) -> } return formats; } -} // namespace +} // namespace Q_GLOBAL_STATIC_WITH_ARGS(const QString, commonIniFilename, (QLatin1String("common"))) // NOLINT @@ -272,7 +311,7 @@ auto PrepareStandardFiles(const QString ¤tPath, const QString &standardPat QDir currentPathDir(currentPath); if ((currentPath == defPath || not currentPathDir.exists()) && standardPathDir.exists()) { - const QDir localdata (defPath); + const QDir localdata(defPath); if (localdata.mkpath(QChar('.'))) { SymlinkCopyDirRecursive(standardPath, defPath, false); @@ -281,18 +320,20 @@ auto PrepareStandardFiles(const QString ¤tPath, const QString &standardPat } return currentPath; } -} // namespace +} // namespace //--------------------------------------------------------------------------------------------------------------------- -VCommonSettings::VCommonSettings(Format format, Scope scope, const QString &organization, - const QString &application, QObject *parent) - :QSettings(format, scope, organization, application, parent) -{} +VCommonSettings::VCommonSettings(Format format, Scope scope, const QString &organization, const QString &application, + QObject *parent) + : QSettings(format, scope, organization, application, parent) +{ +} //--------------------------------------------------------------------------------------------------------------------- VCommonSettings::VCommonSettings(const QString &fileName, QSettings::Format format, QObject *parent) - :QSettings(fileName, format, parent) -{} + : QSettings(fileName, format, parent) +{ +} //--------------------------------------------------------------------------------------------------------------------- auto VCommonSettings::SharePath(const QString &shareItem) -> QString @@ -357,7 +398,7 @@ auto VCommonSettings::LabelTemplatesPath() -> QString } //--------------------------------------------------------------------------------------------------------------------- -auto VCommonSettings::PrepareStandardTemplates(const QString & currentPath) -> QString +auto VCommonSettings::PrepareStandardTemplates(const QString ¤tPath) -> QString { return PrepareStandardFiles(currentPath, StandardTemplatesPath(), GetDefPathTemplate()); } @@ -542,8 +583,8 @@ auto VCommonSettings::GetAutosaveTime() const -> int int val = value(*settingConfigurationAutosaveTime, 1).toInt(&ok); if (not ok) { - qDebug()<<"Could not convert value"< QString { - return value(*settingConfigurationUnit, - QLocale().measurementSystem() == QLocale::MetricSystem ? unitCM : unitINCH).toString(); + return value(*settingConfigurationUnit, QLocale().measurementSystem() == QLocale::MetricSystem ? unitCM : unitINCH) + .toString(); } //--------------------------------------------------------------------------------------------------------------------- @@ -666,7 +707,6 @@ void VCommonSettings::SetDarkMode(const bool &value) setValue(*settingConfigurationDarkMode, value); } - //--------------------------------------------------------------------------------------------------------------------- auto VCommonSettings::IsFreeCurveMode() const -> bool { @@ -710,8 +750,8 @@ auto VCommonSettings::GetUndoCount() const -> int int val = value(*settingPatternUndo, 0).toInt(&ok); if (not ok) { - qDebug()<<"Could not convert value"< QSize } //--------------------------------------------------------------------------------------------------------------------- -void VCommonSettings::SetPreferenceDialogSize(const QSize& sz) +void VCommonSettings::SetPreferenceDialogSize(const QSize &sz) { setValue(*settingPreferenceDialogSize, sz); } @@ -1025,7 +1065,7 @@ auto VCommonSettings::GetDefCSVCodec() -> int void VCommonSettings::SetCSVSeparator(const QChar &separator) { QSettings settings(this->format(), this->scope(), this->organizationName(), *commonIniFilename); - switch(separator.toLatin1()) + switch (separator.toLatin1()) { case '\t': settings.setValue(*settingCSVSeparator, 0); @@ -1047,7 +1087,7 @@ auto VCommonSettings::GetCSVSeparator() const -> QChar { QSettings settings(this->format(), this->scope(), this->organizationName(), *commonIniFilename); const quint8 separator = static_cast(settings.value(*settingCSVSeparator, 3).toUInt()); - switch(separator) + switch (separator) { case 0: return QChar('\t'); @@ -1101,9 +1141,8 @@ auto VCommonSettings::GetDefaultSeamAllowance() -> double double val = value(*settingPatternDefaultSeamAllowance, -1).toDouble(&ok); if (not ok) { - qDebug()<< "Could not convert value"< QString { - const QString format = value(*settingLabelDateFormat, - ConstFirst (VCommonSettings::PredefinedDateFormats())).toString(); + const QString format = + value(*settingLabelDateFormat, ConstFirst(VCommonSettings::PredefinedDateFormats())).toString(); const QStringList allFormats = VCommonSettings::PredefinedDateFormats() + GetUserDefinedDateFormats(); - return allFormats.contains(format) ? format : ConstFirst (VCommonSettings::PredefinedDateFormats()); + return allFormats.contains(format) ? format : ConstFirst(VCommonSettings::PredefinedDateFormats()); } //--------------------------------------------------------------------------------------------------------------------- @@ -1204,29 +1243,26 @@ void VCommonSettings::SetLabelDateFormat(const QString &format) //--------------------------------------------------------------------------------------------------------------------- auto VCommonSettings::PredefinedDateFormats() -> QStringList { - return QStringList - { - "MM-dd-yyyy", - "d/M/yy", - "ddddMMMM dd, yyyy", - "dd/MM/yy", - "dd/MM/yyyy", - "MMM d, yy", - "MMM d, yyyy", - "d. MMM. yyyy", - "MMMM d, yyyy", - "d. MMMM yyyy", - "ddd, MMM d, yy", - "ddd dd/MMM yy", - "ddd, MMMM d, yyyy", - "ddddMMMM d, yyyy", - "MM-dd", - "yy-MM-dd", - "yyyy-MM-dd", - "MM/yy", - "MMM dd", - "MMMM" - }; + return QStringList{"MM-dd-yyyy", + "d/M/yy", + "ddddMMMM dd, yyyy", + "dd/MM/yy", + "dd/MM/yyyy", + "MMM d, yy", + "MMM d, yyyy", + "d. MMM. yyyy", + "MMMM d, yyyy", + "d. MMMM yyyy", + "ddd, MMM d, yy", + "ddd dd/MMM yy", + "ddd, MMMM d, yyyy", + "ddddMMMM d, yyyy", + "MM-dd", + "yy-MM-dd", + "yyyy-MM-dd", + "MM/yy", + "MMM dd", + "MMMM"}; } //--------------------------------------------------------------------------------------------------------------------- @@ -1244,11 +1280,11 @@ void VCommonSettings::SetUserDefinedDateFormats(const QStringList &formats) //--------------------------------------------------------------------------------------------------------------------- auto VCommonSettings::GetLabelTimeFormat() const -> QString { - const QString format = value(*settingLabelTimeFormat, - ConstFirst (VCommonSettings::PredefinedTimeFormats())).toString(); + const QString format = + value(*settingLabelTimeFormat, ConstFirst(VCommonSettings::PredefinedTimeFormats())).toString(); const QStringList allFormats = VCommonSettings::PredefinedTimeFormats() + GetUserDefinedTimeFormats(); - return allFormats.contains(format) ? format : ConstFirst (VCommonSettings::PredefinedTimeFormats()); + return allFormats.contains(format) ? format : ConstFirst(VCommonSettings::PredefinedTimeFormats()); } //--------------------------------------------------------------------------------------------------------------------- @@ -1260,13 +1296,7 @@ void VCommonSettings::SetLabelTimeFormat(const QString &format) //--------------------------------------------------------------------------------------------------------------------- auto VCommonSettings::PredefinedTimeFormats() -> QStringList { - return QStringList - { - "hh:mm:ss", - "hh:mm:ss AP", - "hh:mm", - "hh:mm AP" - }; + return QStringList{"hh:mm:ss", "hh:mm:ss AP", "hh:mm", "hh:mm AP"}; } //--------------------------------------------------------------------------------------------------------------------- @@ -1383,7 +1413,7 @@ auto VCommonSettings::WidthMainLine() const -> qreal //--------------------------------------------------------------------------------------------------------------------- auto VCommonSettings::WidthHairLine() const -> qreal { - return WidthMainLine()/3.0; + return WidthMainLine() / 3.0; } //--------------------------------------------------------------------------------------------------------------------- @@ -1512,8 +1542,8 @@ void VCommonSettings::SetGraphicalOutput(const bool &value) auto VCommonSettings::GetTiledPDFMargins(const Unit &unit) const -> QMarginsF { // default value is 10mm. We save the margins in mm in the setting. - return UnitConvertor( - ValueOrDef(*this, *settingTiledPDFMargins, QMarginsF(10, 10, 10, 10)), Unit::Mm, unit); + return UnitConvertor(ValueOrDef(*this, *settingTiledPDFMargins, QMarginsF(10, 10, 10, 10)), Unit::Mm, + unit); } //--------------------------------------------------------------------------------------------------------------------- @@ -1539,7 +1569,7 @@ auto VCommonSettings::GetTiledPDFOrientation() const -> PageOrientation //--------------------------------------------------------------------------------------------------------------------- void VCommonSettings::SetTiledPDFOrientation(PageOrientation value) { - setValue(*settingTiledPDFOrientation, static_cast (value)); + setValue(*settingTiledPDFOrientation, static_cast(value)); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/libs/vmisc/vcommonsettings.h b/src/libs/vmisc/vcommonsettings.h index 9178e0e36..e134cd4a3 100644 --- a/src/libs/vmisc/vcommonsettings.h +++ b/src/libs/vmisc/vcommonsettings.h @@ -38,19 +38,18 @@ #include #include -#include "../vmisc/def.h" #include "../vlayout/vlayoutdef.h" +#include "../vmisc/def.h" class QMarginsF; class VCommonSettings : public QSettings { Q_OBJECT // NOLINT -public: - VCommonSettings(Format format, Scope scope, const QString &organization, const QString &application = QString(), - QObject *parent = nullptr); + public : VCommonSettings(Format format, Scope scope, const QString &organization, + const QString &application = QString(), QObject *parent = nullptr); VCommonSettings(const QString &fileName, Format format, QObject *parent = nullptr); - ~VCommonSettings() override =default; + ~VCommonSettings() override = default; static auto SharePath(const QString &shareItem) -> QString; static auto MultisizeTablesPath() -> QString; @@ -146,25 +145,25 @@ public: void SetToolbarsState(const QByteArray &value); auto GetPreferenceDialogSize() const -> QSize; - void SetPreferenceDialogSize(const QSize& sz); + void SetPreferenceDialogSize(const QSize &sz); auto GetToolSeamAllowanceDialogSize() const -> QSize; - void SetToolSeamAllowanceDialogSize(const QSize& sz); + void SetToolSeamAllowanceDialogSize(const QSize &sz); auto GetFormulaWizardDialogSize() const -> QSize; - void SetFormulaWizardDialogSize(const QSize& sz); + void SetFormulaWizardDialogSize(const QSize &sz); auto GetIncrementsDialogSize() const -> QSize; - void SetIncrementsDialogSize(const QSize& sz); + void SetIncrementsDialogSize(const QSize &sz); auto GetFinalMeasurementsDialogSize() const -> QSize; - void SetFinalMeasurementsDialogSize(const QSize& sz); + void SetFinalMeasurementsDialogSize(const QSize &sz); auto GetLayoutSettingsDialogSize() const -> QSize; - void SetLayoutSettingsDialogSize(const QSize& sz); + void SetLayoutSettingsDialogSize(const QSize &sz); auto GetDialogSplinePathSize() const -> QSize; - void SetDialogSplinePathSize(const QSize& sz); + void SetDialogSplinePathSize(const QSize &sz); auto IsAutomaticallyCheckUpdates() const -> bool; void SetAutomaticallyCheckUpdates(bool value); @@ -300,13 +299,12 @@ public: void SetGraphicalOutput(const bool &value); auto GetWatermarkEditorSize() const -> QSize; - void SetWatermarkEditorSize(const QSize& sz); + void SetWatermarkEditorSize(const QSize &sz); auto GetWatermarkCustomColors() const -> QVector; void SetWatermarkCustomColors(QVector colors); protected: - template static auto GetCachedValue(const QSettings &settings, T &cache, const QString &setting, T defValue, T valueMin, T valueMax) -> T; @@ -337,7 +335,7 @@ inline auto VCommonSettings::MaximalLineWidth() -> qreal } //--------------------------------------------------------------------------------------------------------------------- -template +template auto VCommonSettings::GetCachedValue(const QSettings &settings, T &cache, const QString &setting, T defValue, T valueMin, T valueMax) -> T { @@ -359,8 +357,8 @@ inline auto VCommonSettings::ValueOrDef(const QSettings &settings, const QString //--------------------------------------------------------------------------------------------------------------------- template <> -inline auto VCommonSettings::ValueOrDef(const QSettings &settings, const QString &setting, - const Cases &defValue) -> Cases +inline auto VCommonSettings::ValueOrDef(const QSettings &settings, const QString &setting, const Cases &defValue) + -> Cases { const QVariant val = settings.value(setting, QVariant::fromValue(static_cast(defValue))); const int g = val.canConvert() ? val.toInt() : static_cast(defValue); diff --git a/src/libs/vpatterndb/vcontainer.cpp b/src/libs/vpatterndb/vcontainer.cpp index 42d192062..3d3585243 100644 --- a/src/libs/vpatterndb/vcontainer.cpp +++ b/src/libs/vpatterndb/vcontainer.cpp @@ -28,26 +28,26 @@ #include "vcontainer.h" -#include +#include +#include #include #include -#include -#include +#include #include "../ifc/exception/vexception.h" #include "../vgeometry/vabstractcubicbezierpath.h" #include "../vgeometry/vabstractcurve.h" +#include "../vgeometry/varc.h" +#include "../vgeometry/vellipticalarc.h" #include "../vgeometry/vgeometrydef.h" #include "../vgeometry/vgobject.h" #include "../vgeometry/vpointf.h" #include "../vgeometry/vspline.h" -#include "../vgeometry/varc.h" -#include "../vgeometry/vellipticalarc.h" #include "../vmisc/literals.h" #include "variables/varcradius.h" #include "variables/vcurveangle.h" -#include "variables/vcurvelength.h" #include "variables/vcurveclength.h" +#include "variables/vcurvelength.h" #include "variables/vincrement.h" #include "variables/vlineangle.h" #include "variables/vlinelength.h" @@ -72,7 +72,7 @@ QMap VContainer::copyCounter = QMap(); * @brief VContainer create empty container */ VContainer::VContainer(const VTranslateVars *trVars, const Unit *patternUnit, const QString &nspace) - :d(new VContainerData(trVars, patternUnit, nspace)) + : d(new VContainerData(trVars, patternUnit, nspace)) { if (nspace.isEmpty()) { @@ -108,7 +108,7 @@ VContainer::VContainer(const VTranslateVars *trVars, const Unit *patternUnit, co */ auto VContainer::operator=(const VContainer &data) -> VContainer & { - if ( &data == this ) + if (&data == this) { return *this; } @@ -119,9 +119,9 @@ auto VContainer::operator=(const VContainer &data) -> VContainer & #ifdef Q_COMPILER_RVALUE_REFS //--------------------------------------------------------------------------------------------------------------------- -VContainer::VContainer(VContainer &&data) Q_DECL_NOTHROW - :d(std::move(data.d)) -{} +VContainer::VContainer(VContainer &&data) Q_DECL_NOTHROW : d(std::move(data.d)) +{ +} //--------------------------------------------------------------------------------------------------------------------- auto VContainer::operator=(VContainer &&data) Q_DECL_NOTHROW->VContainer & @@ -137,14 +137,15 @@ auto VContainer::operator=(VContainer &&data) Q_DECL_NOTHROW->VContainer & * @param data container */ VContainer::VContainer(const VContainer &data) - :d(data.d) + : d(data.d) { ++copyCounter[d->nspace]; } //--------------------------------------------------------------------------------------------------------------------- VContainer::~VContainer() -{} +{ +} //--------------------------------------------------------------------------------------------------------------------- auto VContainer::UniqueNamespace() -> QString @@ -153,8 +154,7 @@ auto VContainer::UniqueNamespace() -> QString do { candidate = QUuid::createUuid().toString(); - } - while(_id.contains(candidate)); + } while (_id.contains(candidate)); return candidate; } @@ -204,10 +204,8 @@ auto VContainer::GetPiece(quint32 id) const -> VPiece { return d->pieces->value(id); } - else - { - throw VExceptionBadId(tr("Can't find object"), id); - } + + throw VExceptionBadId(tr("Can't find object"), id); } //--------------------------------------------------------------------------------------------------------------------- @@ -330,12 +328,12 @@ auto VContainer::getId() const -> quint32 */ auto VContainer::getNextId() const -> quint32 { - //TODO. Current count of ids are very big and allow us save time before someone will reach its max value. - //Better way, of cource, is to seek free ids inside the set of values and reuse them. - //But for now better to keep it as it is now. + // TODO. Current count of ids are very big and allow us save time before someone will reach its max value. + // Better way, of cource, is to seek free ids inside the set of values and reuse them. + // But for now better to keep it as it is now. if (_id.value(d->nspace) == UINT_MAX) { - qCritical()<<(tr("Number of free id exhausted.")); + qCritical() << (tr("Number of free id exhausted.")); } _id[d->nspace]++; return _id.value(d->nspace); @@ -348,7 +346,7 @@ void VContainer::UpdateId(quint32 newId, const QString &nspace) { if (newId > _id.value(nspace)) { - _id[nspace] = newId; + _id[nspace] = newId; } } else @@ -392,15 +390,9 @@ void VContainer::ClearForFullParse() d->pieces->clear(); d->piecePaths->clear(); Q_STATIC_ASSERT_X(static_cast(VarType::Unknown) == 12, "Check that you used all types"); - ClearVariables(QVector{VarType::Increment, - VarType::IncrementSeparator, - VarType::LineAngle, - VarType::LineLength, - VarType::CurveLength, - VarType::CurveCLength, - VarType::ArcRadius, - VarType::CurveAngle, - VarType::PieceExternalArea, + ClearVariables(QVector{VarType::Increment, VarType::IncrementSeparator, VarType::LineAngle, + VarType::LineLength, VarType::CurveLength, VarType::CurveCLength, + VarType::ArcRadius, VarType::CurveAngle, VarType::PieceExternalArea, VarType::PieceSeamLineArea}); ClearGObjects(); ClearUniqueNames(); @@ -439,7 +431,7 @@ void VContainer::ClearVariables(const QVector &types) } else { - QHash >::iterator i; + QHash>::iterator i; for (i = d->variables.begin(); i != d->variables.end();) { if (types.contains(i.value()->GetType())) @@ -495,9 +487,8 @@ void VContainer::AddArc(const QSharedPointer &arc, const quint32 void VContainer::AddCurve(const QSharedPointer &curve, const quint32 &id, quint32 parentId) { const GOType curveType = curve->getType(); - if (curveType != GOType::Spline && curveType != GOType::SplinePath && - curveType != GOType::CubicBezier && curveType != GOType::CubicBezierPath && - curveType != GOType::Arc && curveType != GOType::EllipticalArc) + if (curveType != GOType::Spline && curveType != GOType::SplinePath && curveType != GOType::CubicBezier && + curveType != GOType::CubicBezierPath && curveType != GOType::Arc && curveType != GOType::EllipticalArc) { throw VException(tr("Can't create a curve with type '%1'").arg(static_cast(curveType))); } @@ -595,8 +586,8 @@ auto VContainer::DataMeasurements() const -> const QMap const QMap> { - QMap > measurements = DataVar(VarType::Measurement); - QMap > separators = DataVar(VarType::MeasurementSeparator); + QMap> measurements = DataVar(VarType::Measurement); + QMap> separators = DataVar(VarType::MeasurementSeparator); Insert(measurements, separators); @@ -612,8 +603,8 @@ auto VContainer::DataIncrements() const -> const QMap const QMap> { - QMap > increments = DataVar(VarType::Increment); - QMap > separators = DataVar(VarType::IncrementSeparator); + QMap> increments = DataVar(VarType::Increment); + QMap> separators = DataVar(VarType::IncrementSeparator); Insert(increments, separators); @@ -659,8 +650,8 @@ auto VContainer::DataAnglesCurves() const -> const QMap const QMap> { - QMap > externalAreas = DataVar(VarType::PieceExternalArea); - QMap > seamLineAreas = DataVar(VarType::PieceSeamLineArea); + QMap> externalAreas = DataVar(VarType::PieceExternalArea); + QMap> seamLineAreas = DataVar(VarType::PieceSeamLineArea); Insert(externalAreas, seamLineAreas); @@ -722,9 +713,9 @@ auto VContainer::GetTrVars() const -> const VTranslateVars * //--------------------------------------------------------------------------------------------------------------------- template auto VContainer::DataVar(const VarType &type) const -> const QMap> { - QMap > map; - //Sorting QHash by id - QHash >::const_iterator i; + QMap> map; + // Sorting QHash by id + QHash>::const_iterator i; for (i = d->variables.constBegin(); i != d->variables.constEnd(); ++i) { if (i.value()->GetType() == type) diff --git a/src/libs/vtools/dialogs/support/dialogeditlabel.cpp b/src/libs/vtools/dialogs/support/dialogeditlabel.cpp index 6760202b5..2e9ed6f7e 100644 --- a/src/libs/vtools/dialogs/support/dialogeditlabel.cpp +++ b/src/libs/vtools/dialogs/support/dialogeditlabel.cpp @@ -27,36 +27,36 @@ *************************************************************************/ #include "dialogeditlabel.h" -#include "ui_dialogeditlabel.h" #include "../vmisc/vabstractapplication.h" +#include "ui_dialogeditlabel.h" #if QT_VERSION < QT_VERSION_CHECK(5, 7, 0) #include "../vmisc/backport/qoverload.h" #endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0) -#include "../vformat/vlabeltemplate.h" -#include "../ifc/xml/vlabeltemplateconverter.h" -#include "../ifc/xml/vabstractpattern.h" #include "../ifc/exception/vexception.h" -#include "../vpatterndb/vcontainer.h" -#include "../vpatterndb/vpiece.h" -#include "../vpatterndb/floatItemData/vpiecelabeldata.h" +#include "../ifc/xml/vabstractpattern.h" +#include "../ifc/xml/vlabeltemplateconverter.h" +#include "../tools/dialogtool.h" +#include "../vformat/vlabeltemplate.h" #include "../vpatterndb/calculator.h" +#include "../vpatterndb/floatItemData/vpiecelabeldata.h" #include "../vpatterndb/variables/vmeasurement.h" #include "../vpatterndb/variables/vpiecearea.h" -#include "../tools/dialogtool.h" +#include "../vpatterndb/vcontainer.h" +#include "../vpatterndb/vpiece.h" +#include #include -#include #include #include -#include +#include //--------------------------------------------------------------------------------------------------------------------- DialogEditLabel::DialogEditLabel(const VAbstractPattern *doc, const VContainer *data, QWidget *parent) - : QDialog(parent), - ui(new Ui::DialogEditLabel), - m_placeholdersMenu(new QMenu(this)), - m_doc(doc), - m_data(data) + : QDialog(parent), + ui(new Ui::DialogEditLabel), + m_placeholdersMenu(new QMenu(this)), + m_doc(doc), + m_data(data) { ui->setupUi(this); @@ -77,12 +77,13 @@ DialogEditLabel::DialogEditLabel(const VAbstractPattern *doc, const VContainer * connect(ui->toolButtonImportLabel, &QToolButton::clicked, this, &DialogEditLabel::ImportTemplate); connect(ui->spinBoxFontSize, QOverload::of(&QSpinBox::valueChanged), this, &DialogEditLabel::SaveAdditionalFontSize); - connect(ui->toolButtonTop, &QToolButton::clicked, this, [this](){DialogTool::MoveListRowTop(ui->listWidgetEdit);}); - connect(ui->toolButtonUp, &QToolButton::clicked, this, [this](){DialogTool::MoveListRowUp(ui->listWidgetEdit);}); + connect(ui->toolButtonTop, &QToolButton::clicked, this, + [this]() { DialogTool::MoveListRowTop(ui->listWidgetEdit); }); + connect(ui->toolButtonUp, &QToolButton::clicked, this, [this]() { DialogTool::MoveListRowUp(ui->listWidgetEdit); }); connect(ui->toolButtonDown, &QToolButton::clicked, this, - [this](){DialogTool::MoveListRowDown(ui->listWidgetEdit);}); + [this]() { DialogTool::MoveListRowDown(ui->listWidgetEdit); }); connect(ui->toolButtonBottom, &QToolButton::clicked, this, - [this](){DialogTool::MoveListRowBottom(ui->listWidgetEdit);}); + [this]() { DialogTool::MoveListRowBottom(ui->listWidgetEdit); }); InitPlaceholders(); InitPlaceholdersMenu(); @@ -279,10 +280,11 @@ void DialogEditLabel::NewTemplate() { if (ui->listWidgetEdit->count() > 0) { - const QMessageBox::StandardButton answer = QMessageBox::question(this, tr("Create new template"), - tr("Creating new template will overwrite the current, do " - "you want to continue?"), - QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); + const QMessageBox::StandardButton answer = + QMessageBox::question(this, tr("Create new template"), + tr("Creating new template will overwrite the current, do " + "you want to continue?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); if (answer == QMessageBox::No) { return; @@ -300,7 +302,7 @@ void DialogEditLabel::ExportTemplate() { QString filters(tr("Label template") + QLatin1String("(*.xml)")); const QString path = - VCommonSettings::PrepareLabelTemplates(VAbstractApplication::VApp()->Settings()->GetPathLabelTemplate()); + VCommonSettings::PrepareLabelTemplates(VAbstractApplication::VApp()->Settings()->GetPathLabelTemplate()); QString fileName = QFileDialog::getSaveFileName(this, tr("Export label template"), path + QLatin1String("/") + tr("template") + QLatin1String(".xml"), @@ -311,7 +313,7 @@ void DialogEditLabel::ExportTemplate() return; } - QFileInfo f( fileName ); + QFileInfo f(fileName); if (f.suffix().isEmpty() && f.suffix() != QLatin1String("xml")) { fileName += QLatin1String(".xml"); @@ -340,10 +342,11 @@ void DialogEditLabel::ImportTemplate() { if (ui->listWidgetEdit->count() > 0) { - const QMessageBox::StandardButton answer = QMessageBox::question(this, tr("Import template"), - tr("Import template will overwrite the current, do " - "you want to continue?"), - QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); + const QMessageBox::StandardButton answer = + QMessageBox::question(this, tr("Import template"), + tr("Import template will overwrite the current, do " + "you want to continue?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); if (answer == QMessageBox::No) { return; @@ -351,9 +354,9 @@ void DialogEditLabel::ImportTemplate() } QString filter(tr("Label template") + QLatin1String(" (*.xml)")); - //Use standard path to label templates + // Use standard path to label templates const QString path = - VCommonSettings::PrepareLabelTemplates(VAbstractApplication::VApp()->Settings()->GetPathLabelTemplate()); + VCommonSettings::PrepareLabelTemplates(VAbstractApplication::VApp()->Settings()->GetPathLabelTemplate()); const QString fileName = QFileDialog::getOpenFileName(this, tr("Import template"), path, filter, nullptr, VAbstractApplication::VApp()->NativeFileDialog()); if (fileName.isEmpty()) @@ -453,7 +456,7 @@ void DialogEditLabel::SetupControls() ui->toolButtonDown->setEnabled(true); ui->toolButtonBottom->setEnabled(true); } - else if (ui->listWidgetEdit->currentRow() == ui->listWidgetEdit->count()-1) + else if (ui->listWidgetEdit->currentRow() == ui->listWidgetEdit->count() - 1) { ui->toolButtonTop->setEnabled(true); ui->toolButtonUp->setEnabled(true); @@ -518,22 +521,22 @@ void DialogEditLabel::InitPlaceholders() const QString pUnits = UnitsToStr(VAbstractValApplication::VApp()->patternUnits(), true); m_placeholders.insert(pl_pUnits, qMakePair(tr("Pattern units"), pUnits)); - m_placeholders.insert(pl_mSizeUnits, qMakePair(tr("Size units"), - UnitsToStr(VAbstractValApplication::VApp()->DimensionSizeUnits(), - true))); + m_placeholders.insert( + pl_mSizeUnits, + qMakePair(tr("Size units"), UnitsToStr(VAbstractValApplication::VApp()->DimensionSizeUnits(), true))); m_placeholders.insert(pl_areaUnits, qMakePair(tr("Area units"), pUnits + QStringLiteral("²"))); if (VAbstractValApplication::VApp()->GetMeasurementsType() == MeasurementsType::Individual) { - m_placeholders.insert(pl_customer, qMakePair(tr("Customer name"), - VAbstractValApplication::VApp()->GetCustomerName())); + m_placeholders.insert(pl_customer, + qMakePair(tr("Customer name"), VAbstractValApplication::VApp()->GetCustomerName())); - const QString birthDate = locale.toString(VAbstractValApplication::VApp()->GetCustomerBirthDate(), - m_doc->GetLabelDateFormat()); + const QString birthDate = + locale.toString(VAbstractValApplication::VApp()->GetCustomerBirthDate(), m_doc->GetLabelDateFormat()); m_placeholders.insert(pl_birthDate, qMakePair(tr("Customer birth date"), birthDate)); - m_placeholders.insert(pl_email, qMakePair(tr("Customer email"), - VAbstractValApplication::VApp()->CustomerEmail())); + m_placeholders.insert(pl_email, + qMakePair(tr("Customer email"), VAbstractValApplication::VApp()->CustomerEmail())); } else { @@ -571,41 +574,41 @@ void DialogEditLabel::InitPlaceholders() { QString label = VAbstractValApplication::VApp()->GetDimensionHeightLabel(); - m_placeholders.insert(pl_heightLabel, qMakePair(tr("Height label", "dimension"), - not label.isEmpty() ? label : heightValue)); - m_placeholders.insert(pl_dimensionX, qMakePair(tr("Dimension X label", "dimension"), - not label.isEmpty() ? label : heightValue)); + m_placeholders.insert(pl_heightLabel, + qMakePair(tr("Height label", "dimension"), not label.isEmpty() ? label : heightValue)); + m_placeholders.insert( + pl_dimensionX, qMakePair(tr("Dimension X label", "dimension"), not label.isEmpty() ? label : heightValue)); label = VAbstractValApplication::VApp()->GetDimensionSizeLabel(); - m_placeholders.insert(pl_sizeLabel, qMakePair(tr("Size label", "dimension"), - not label.isEmpty() ? label : sizeValue)); - m_placeholders.insert(pl_dimensionY, qMakePair(tr("Dimension Y label", "dimension"), - not label.isEmpty() ? label : sizeValue)); + m_placeholders.insert(pl_sizeLabel, + qMakePair(tr("Size label", "dimension"), not label.isEmpty() ? label : sizeValue)); + m_placeholders.insert(pl_dimensionY, + qMakePair(tr("Dimension Y label", "dimension"), not label.isEmpty() ? label : sizeValue)); label = VAbstractValApplication::VApp()->GetDimensionHipLabel(); - m_placeholders.insert(pl_hipLabel, qMakePair(tr("Hip label", "dimension"), - not label.isEmpty() ? label : hipValue)); - m_placeholders.insert(pl_dimensionZ, qMakePair(tr("Dimension Z label", "dimension"), - not label.isEmpty() ? label : hipValue)); + m_placeholders.insert(pl_hipLabel, + qMakePair(tr("Hip label", "dimension"), not label.isEmpty() ? label : hipValue)); + m_placeholders.insert(pl_dimensionZ, + qMakePair(tr("Dimension Z label", "dimension"), not label.isEmpty() ? label : hipValue)); label = VAbstractValApplication::VApp()->GetDimensionWaistLabel(); - m_placeholders.insert(pl_waistLabel, qMakePair(tr("Waist label", "dimension"), - not label.isEmpty() ? label : waistValue)); - m_placeholders.insert(pl_dimensionW, qMakePair(tr("Dimension W label", "dimension"), - not label.isEmpty() ? label : waistValue)); + m_placeholders.insert(pl_waistLabel, + qMakePair(tr("Waist label", "dimension"), not label.isEmpty() ? label : waistValue)); + m_placeholders.insert( + pl_dimensionW, qMakePair(tr("Dimension W label", "dimension"), not label.isEmpty() ? label : waistValue)); } - - m_placeholders.insert(pl_mExt, - qMakePair(tr("Measurments extension"), - VAbstractValApplication::VApp()->GetMeasurementsType() == MeasurementsType::Multisize - ? QStringLiteral("vst") : QStringLiteral("vit"))); + m_placeholders.insert( + pl_mExt, qMakePair(tr("Measurments extension"), + VAbstractValApplication::VApp()->GetMeasurementsType() == MeasurementsType::Multisize + ? QStringLiteral("vst") + : QStringLiteral("vit"))); const QString userMaterialStr = tr("User material"); const QMap materials = m_doc->GetPatternMaterials(); for (int i = 0; i < userMaterialPlaceholdersQuantity; ++i) { - const QString number = QString::number(i+1); + const QString number = QString::number(i + 1); QString materialDescription; QString value; @@ -623,7 +626,7 @@ void DialogEditLabel::InitPlaceholders() } { - const QMap > measurements = m_data->DataMeasurements(); + const QMap> measurements = m_data->DataMeasurements(); auto i = measurements.constBegin(); while (i != measurements.constEnd()) { @@ -642,7 +645,7 @@ void DialogEditLabel::InitPlaceholders() m_placeholders.insert(pl_currentArea, qMakePair(tr("Piece full area"), QString())); m_placeholders.insert(pl_currentSeamLineArea, qMakePair(tr("Piece seam line area"), QString())); - for (int i=0; i < measurements.size(); ++i) + for (int i = 0; i < measurements.size(); ++i) { const VFinalMeasurement &m = measurements.at(i); @@ -651,15 +654,18 @@ void DialogEditLabel::InitPlaceholders() QScopedPointer cal(new Calculator()); const qreal result = cal->EvalFormula(completeData.DataVariables(), m.formula); - m_placeholders.insert(pl_finalMeasurement + m.name, qMakePair(tr("Final measurement: %1").arg(m.name), - QString::number(result))); + m_placeholders.insert(pl_finalMeasurement + m.name, + qMakePair(tr("Final measurement: %1").arg(m.name), QString::number(result))); } catch (qmu::QmuParserError &e) { const QString errorMsg = QObject::tr("Failed to prepare final measurement placeholder. Parser error at " - "line %1: %2.").arg(i+1).arg(e.GetMsg()); - VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) : - qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; + "line %1: %2.") + .arg(i + 1) + .arg(e.GetMsg()); + VAbstractApplication::VApp()->IsPedantic() + ? throw VException(errorMsg) + : qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; } } } @@ -688,10 +694,11 @@ auto DialogEditLabel::ReplacePlaceholders(QString line) const -> QString auto TestDimension = [per, this, line](const QString &placeholder, const QString &errorMsg) { - if (line.contains(per+placeholder+per) && m_placeholders.value(placeholder).second == QChar('0')) + if (line.contains(per + placeholder + per) && m_placeholders.value(placeholder).second == QChar('0')) { - VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) : - qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; + VAbstractApplication::VApp()->IsPedantic() + ? throw VException(errorMsg) + : qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; } }; @@ -708,7 +715,7 @@ auto DialogEditLabel::ReplacePlaceholders(QString line) const -> QString auto i = m_placeholders.constBegin(); while (i != m_placeholders.constEnd()) { - line.replace(per+i.key()+per, i.value().second); + line.replace(per + i.key() + per, i.value().second); ++i; } return line; @@ -720,7 +727,7 @@ auto DialogEditLabel::GetTemplate() const -> QVector QVector lines; lines.reserve(ui->listWidgetEdit->count()); - for (int i=0; ilistWidgetEdit->count(); ++i) + for (int i = 0; i < ui->listWidgetEdit->count(); ++i) { const QListWidgetItem *lineItem = ui->listWidgetEdit->item(i); if (lineItem) @@ -775,7 +782,7 @@ void DialogEditLabel::SetTemplate(const QVector &lines) //--------------------------------------------------------------------------------------------------------------------- void DialogEditLabel::SetPiece(const VPiece &piece) { - const VPieceLabelData& pieceData = piece.GetPieceLabelData(); + const VPieceLabelData &pieceData = piece.GetPieceLabelData(); m_placeholders[pl_pLetter].second = pieceData.GetLetter(); m_placeholders[pl_pAnnotation].second = pieceData.GetAnnotation(); m_placeholders[pl_pOrientation].second = pieceData.GetOrientation(); @@ -803,8 +810,9 @@ void DialogEditLabel::SetPiece(const VPiece &piece) catch (qmu::QmuParserError &e) { const QString errorMsg = QObject::tr("Failed to prepare full piece area placeholder. %2.").arg(e.GetMsg()); - VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) : - qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; + VAbstractApplication::VApp()->IsPedantic() + ? throw VException(errorMsg) + : qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; } try @@ -816,8 +824,9 @@ void DialogEditLabel::SetPiece(const VPiece &piece) catch (qmu::QmuParserError &e) { const QString errorMsg = QObject::tr("Failed to prepare piece seam line area placeholder. %2.").arg(e.GetMsg()); - VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) : - qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; + VAbstractApplication::VApp()->IsPedantic() + ? throw VException(errorMsg) + : qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; } } diff --git a/src/libs/vtools/tools/vtoolseamallowance.cpp b/src/libs/vtools/tools/vtoolseamallowance.cpp index ef53f2c8d..e12510c25 100644 --- a/src/libs/vtools/tools/vtoolseamallowance.cpp +++ b/src/libs/vtools/tools/vtoolseamallowance.cpp @@ -70,7 +70,6 @@ #include "nodeDetails/vtoolplacelabel.h" #include -#include #include #include #include @@ -78,6 +77,7 @@ #include #include #include +#include #include #include #include @@ -96,30 +96,29 @@ using namespace bpstd::literals::chrono_literals; // Current version of seam allowance tag need for backward compatibility const quint8 VToolSeamAllowance::pieceVersion = 2; -const QString VToolSeamAllowance::TagCSA = QStringLiteral("csa"); // NOLINT(cert-err58-cpp) -const QString VToolSeamAllowance::TagRecord = QStringLiteral("record"); // NOLINT(cert-err58-cpp) -const QString VToolSeamAllowance::TagIPaths = QStringLiteral("iPaths"); // NOLINT(cert-err58-cpp) -const QString VToolSeamAllowance::TagPins = QStringLiteral("pins"); // NOLINT(cert-err58-cpp) +const QString VToolSeamAllowance::TagCSA = QStringLiteral("csa"); // NOLINT(cert-err58-cpp) +const QString VToolSeamAllowance::TagRecord = QStringLiteral("record"); // NOLINT(cert-err58-cpp) +const QString VToolSeamAllowance::TagIPaths = QStringLiteral("iPaths"); // NOLINT(cert-err58-cpp) +const QString VToolSeamAllowance::TagPins = QStringLiteral("pins"); // NOLINT(cert-err58-cpp) const QString VToolSeamAllowance::TagPlaceLabels = QStringLiteral("placeLabels"); // NOLINT(cert-err58-cpp) const QString VToolSeamAllowance::AttrSeamAllowance = QStringLiteral("seamAllowance"); // NOLINT(cert-err58-cpp) const QString VToolSeamAllowance::AttrHideMainPath = QStringLiteral("hideMainPath"); // NOLINT(cert-err58-cpp) const QString VToolSeamAllowance::AttrSeamAllowanceBuiltIn = // NOLINT(cert-err58-cpp) QStringLiteral("seamAllowanceBuiltIn"); -const QString VToolSeamAllowance::AttrUnited = QStringLiteral("united"); // NOLINT(cert-err58-cpp) -const QString VToolSeamAllowance::AttrFont = QStringLiteral("fontSize"); // NOLINT(cert-err58-cpp) +const QString VToolSeamAllowance::AttrUnited = QStringLiteral("united"); // NOLINT(cert-err58-cpp) +const QString VToolSeamAllowance::AttrFont = QStringLiteral("fontSize"); // NOLINT(cert-err58-cpp) const QString VToolSeamAllowance::AttrTopLeftPin = QStringLiteral("topLeftPin"); // NOLINT(cert-err58-cpp) const QString VToolSeamAllowance::AttrBottomRightPin = QStringLiteral("bottomRightPin"); // NOLINT(cert-err58-cpp) const QString VToolSeamAllowance::AttrCenterPin = QStringLiteral("centerPin"); // NOLINT(cert-err58-cpp) -const QString VToolSeamAllowance::AttrTopPin = QStringLiteral("topPin"); // NOLINT(cert-err58-cpp) -const QString VToolSeamAllowance::AttrBottomPin = QStringLiteral("bottomPin"); // NOLINT(cert-err58-cpp) -const QString VToolSeamAllowance::AttrPiecePriority = QStringLiteral("priority"); // NOLINT(cert-err58-cpp) +const QString VToolSeamAllowance::AttrTopPin = QStringLiteral("topPin"); // NOLINT(cert-err58-cpp) +const QString VToolSeamAllowance::AttrBottomPin = QStringLiteral("bottomPin"); // NOLINT(cert-err58-cpp) +const QString VToolSeamAllowance::AttrPiecePriority = QStringLiteral("priority"); // NOLINT(cert-err58-cpp) namespace { //--------------------------------------------------------------------------------------------------------------------- -template -auto FixLabelPins(T itemData, const QMap &mappedPins) -> T +template auto FixLabelPins(T itemData, const QMap &mappedPins) -> T { itemData.SetCenterPin(mappedPins.value(itemData.CenterPin(), NULL_ID)); itemData.SetTopLeftPin(mappedPins.value(itemData.TopLeftPin(), NULL_ID)); @@ -128,8 +127,7 @@ auto FixLabelPins(T itemData, const QMap &mappedPins) -> T } //--------------------------------------------------------------------------------------------------------------------- -template -auto FixGrainlinePins(T itemData, const QMap &mappedPins) -> T +template auto FixGrainlinePins(T itemData, const QMap &mappedPins) -> T { itemData.SetCenterPin(mappedPins.value(itemData.CenterPin(), NULL_ID)); itemData.SetTopPin(mappedPins.value(itemData.TopPin(), NULL_ID)); @@ -141,7 +139,7 @@ auto FixGrainlinePins(T itemData, const QMap &mappedPins) -> T auto DuplicatePins(const QVector &pins, const VToolSeamAllowanceInitData &initData) -> QMap { QMap newPins; - for(auto p : pins) + for (auto p : pins) { QSharedPointer pin = initData.data->GeometricObject(p); @@ -187,16 +185,14 @@ void UpdateLabelItem(VTextGraphicsItem *labelItem, QPointF pos, qreal labelAngle labelItem->Update(); labelItem->GetTextLines() > 0 ? labelItem->show() : labelItem->hide(); } -} // namespace +} // namespace //--------------------------------------------------------------------------------------------------------------------- -auto VToolSeamAllowance::Create(const QPointer &dialog, - VMainGraphicsScene *scene, - VAbstractPattern *doc, +auto VToolSeamAllowance::Create(const QPointer &dialog, VMainGraphicsScene *scene, VAbstractPattern *doc, VContainer *data) -> VToolSeamAllowance * { SCASSERT(not dialog.isNull()); - const QPointer dialogTool = qobject_cast(dialog); + const QPointer dialogTool = qobject_cast(dialog); SCASSERT(not dialogTool.isNull()) VToolSeamAllowanceInitData initData; @@ -222,8 +218,9 @@ auto VToolSeamAllowance::Create(const QPointer &dialog, { const QString errorMsg = QObject::tr("Piece '%1'. Unable to load default piece label template.\n%2\n%3") .arg(initData.detail.GetName(), e.ErrorMessage(), e.DetailedInformation()); - VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) : - qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; + VAbstractApplication::VApp()->IsPedantic() + ? throw VException(errorMsg) + : qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; } } @@ -282,18 +279,17 @@ auto VToolSeamAllowance::Create(VToolSeamAllowanceInitData &initData) -> VToolSe VMainGraphicsView::NewSceneRect(initData.scene, VAbstractValApplication::VApp()->getSceneView(), piece); VAbstractPattern::AddTool(initData.id, piece); } - //Very important to delete it. Only this tool need this special variable. + // Very important to delete it. Only this tool need this special variable. initData.data->RemoveVariable(currentSeamAllowance); return piece; } //--------------------------------------------------------------------------------------------------------------------- -auto VToolSeamAllowance::Duplicate(const QPointer &dialog, - VMainGraphicsScene *scene, - VAbstractPattern *doc) -> VToolSeamAllowance * +auto VToolSeamAllowance::Duplicate(const QPointer &dialog, VMainGraphicsScene *scene, VAbstractPattern *doc) + -> VToolSeamAllowance * { SCASSERT(not dialog.isNull()); - const QPointer dialogTool = qobject_cast(dialog); + const QPointer dialogTool = qobject_cast(dialog); SCASSERT(not dialogTool.isNull()) VToolSeamAllowanceInitData initData; @@ -327,8 +323,8 @@ auto VToolSeamAllowance::Duplicate(VToolSeamAllowanceInitData &initData) -> VToo QMap replacements; dupDetail.GetPath().SetNodes(DuplicateNodes(initData.detail.GetPath(), initData, replacements)); - dupDetail.SetCustomSARecords(DuplicateCustomSARecords(initData.detail.GetCustomSARecords(), initData, - replacements)); + dupDetail.SetCustomSARecords( + DuplicateCustomSARecords(initData.detail.GetCustomSARecords(), initData, replacements)); dupDetail.SetInternalPaths(DuplicateInternalPaths(initData.detail.GetInternalPaths(), initData)); dupDetail.SetPlaceLabels(DuplicatePlaceLabels(initData.detail.GetPlaceLabels(), initData)); dupDetail.SetUUID(QUuid::createUuid()); @@ -350,10 +346,10 @@ void VToolSeamAllowance::RemoveWithConfirm(bool ask) { DeleteToolWithConfirm(ask); } - catch(const VExceptionToolWasDeleted &e) + catch (const VExceptionToolWasDeleted &e) { Q_UNUSED(e); - return;//Leave this method immediately!!! + return; // Leave this method immediately!!! } } @@ -391,7 +387,7 @@ void VToolSeamAllowance::InsertNodes(const QVector &nodes, quint32 p newDet.GetPath().Append(node); // Seam allowance tool already initializated and can't init the node - auto *saTool = qobject_cast(VAbstractPattern::getTool(pieceId)); + auto *saTool = qobject_cast(VAbstractPattern::getTool(pieceId)); SCASSERT(saTool != nullptr); InitNode(node, scene, saTool); @@ -409,28 +405,28 @@ void VToolSeamAllowance::AddAttributes(VAbstractPattern *doc, QDomElement &domEl doc->SetAttribute(domElement, VDomDocument::AttrId, id); doc->SetAttribute(domElement, AttrName, piece.GetName()); doc->SetAttributeOrRemoveIf(domElement, AttrShortName, piece.GetShortName(), - [](const QString &name) noexcept {return name.isEmpty();}); + [](const QString &name) noexcept { return name.isEmpty(); }); doc->SetAttribute(domElement, AttrUUID, piece.GetUUID().toString()); doc->SetAttributeOrRemoveIf(domElement, AttrGradationLabel, piece.GetGradationLabel(), - [](const QString &label) noexcept {return label.isEmpty();}); + [](const QString &label) noexcept { return label.isEmpty(); }); doc->SetAttribute(domElement, AttrVersion, QString().setNum(pieceVersion)); doc->SetAttribute(domElement, AttrMx, VAbstractValApplication::VApp()->fromPixel(piece.GetMx())); doc->SetAttribute(domElement, AttrMy, VAbstractValApplication::VApp()->fromPixel(piece.GetMy())); doc->SetAttributeOrRemoveIf(domElement, AttrInLayout, piece.IsInLayout(), - [](bool inLayout) noexcept {return inLayout;}); + [](bool inLayout) noexcept { return inLayout; }); doc->SetAttribute(domElement, AttrForbidFlipping, piece.IsForbidFlipping()); doc->SetAttribute(domElement, AttrForceFlipping, piece.IsForceFlipping()); doc->SetAttribute(domElement, AttrSewLineOnDrawing, piece.IsSewLineOnDrawing()); doc->SetAttributeOrRemoveIf(domElement, AttrSeamAllowance, piece.IsSeamAllowance(), - [](bool seamAllowance) noexcept {return not seamAllowance;}); + [](bool seamAllowance) noexcept { return not seamAllowance; }); doc->SetAttribute(domElement, AttrHideMainPath, piece.IsHideMainPath()); doc->SetAttributeOrRemoveIf(domElement, AttrSeamAllowanceBuiltIn, piece.IsSeamAllowanceBuiltIn(), - [](bool builtin) noexcept {return not builtin;}); + [](bool builtin) noexcept { return not builtin; }); doc->SetAttribute(domElement, AttrWidth, piece.GetFormulaSAWidth()); doc->SetAttributeOrRemoveIf(domElement, AttrUnited, piece.IsUnited(), - [](bool united) noexcept {return not united;}); + [](bool united) noexcept { return not united; }); doc->SetAttributeOrRemoveIf(domElement, AttrPiecePriority, piece.GetPriority(), - [](uint priority) noexcept {return priority == 0;}); + [](uint priority) noexcept { return priority == 0; }); } //--------------------------------------------------------------------------------------------------------------------- @@ -495,7 +491,7 @@ void VToolSeamAllowance::AddPlaceLabels(VAbstractPattern *doc, QDomElement &domE void VToolSeamAllowance::AddPatternPieceData(VAbstractPattern *doc, QDomElement &domElement, const VPiece &piece) { QDomElement domData = doc->createElement(VAbstractPattern::TagData); - const VPieceLabelData& data = piece.GetPieceLabelData(); + const VPieceLabelData &data = piece.GetPieceLabelData(); doc->SetAttribute(domData, VAbstractPattern::AttrLetter, data.GetLetter()); doc->SetAttribute(domData, VAbstractPattern::AttrAnnotation, data.GetAnnotation()); doc->SetAttribute(domData, VAbstractPattern::AttrOrientation, data.GetOrientation()); @@ -512,11 +508,11 @@ void VToolSeamAllowance::AddPatternPieceData(VAbstractPattern *doc, QDomElement doc->SetAttribute(domData, AttrFont, data.GetFontSize()); doc->SetAttribute(domData, VAbstractPattern::AttrRotation, data.GetRotation()); doc->SetAttributeOrRemoveIf(domData, AttrCenterPin, data.CenterPin(), - [](quint32 pin) noexcept {return pin == NULL_ID;}); + [](quint32 pin) noexcept { return pin == NULL_ID; }); doc->SetAttributeOrRemoveIf(domData, AttrTopLeftPin, data.TopLeftPin(), - [](quint32 leftPin) noexcept {return leftPin == NULL_ID;}); + [](quint32 leftPin) noexcept { return leftPin == NULL_ID; }); doc->SetAttributeOrRemoveIf(domData, AttrBottomRightPin, data.BottomRightPin(), - [](quint32 rightPin) noexcept {return rightPin == NULL_ID;}); + [](quint32 rightPin) noexcept { return rightPin == NULL_ID; }); doc->SetLabelTemplate(domData, data.GetLabelTemplate()); domElement.appendChild(domData); @@ -526,7 +522,7 @@ void VToolSeamAllowance::AddPatternPieceData(VAbstractPattern *doc, QDomElement void VToolSeamAllowance::AddPatternInfo(VAbstractPattern *doc, QDomElement &domElement, const VPiece &piece) { QDomElement domData = doc->createElement(VAbstractPattern::TagPatternInfo); - const VPatternLabelData& geom = piece.GetPatternLabelData(); + const VPatternLabelData &geom = piece.GetPatternLabelData(); doc->SetAttribute(domData, VAbstractPattern::AttrVisible, geom.IsVisible()); doc->SetAttribute(domData, AttrMx, geom.GetPos().x()); doc->SetAttribute(domData, AttrMy, geom.GetPos().y()); @@ -535,11 +531,11 @@ void VToolSeamAllowance::AddPatternInfo(VAbstractPattern *doc, QDomElement &domE doc->SetAttribute(domData, AttrFont, geom.GetFontSize()); doc->SetAttribute(domData, VAbstractPattern::AttrRotation, geom.GetRotation()); doc->SetAttributeOrRemoveIf(domData, AttrCenterPin, geom.CenterPin(), - [](quint32 pin) noexcept {return pin <= NULL_ID;}); + [](quint32 pin) noexcept { return pin <= NULL_ID; }); doc->SetAttributeOrRemoveIf(domData, AttrTopLeftPin, geom.TopLeftPin(), - [](quint32 pin) noexcept {return pin <= NULL_ID;}); + [](quint32 pin) noexcept { return pin <= NULL_ID; }); doc->SetAttributeOrRemoveIf(domData, AttrBottomRightPin, geom.BottomRightPin(), - [](quint32 pin) noexcept {return pin <= NULL_ID;}); + [](quint32 pin) noexcept { return pin <= NULL_ID; }); domElement.appendChild(domData); } @@ -549,7 +545,7 @@ void VToolSeamAllowance::AddGrainline(VAbstractPattern *doc, QDomElement &domEle { // grainline QDomElement domData = doc->createElement(VAbstractPattern::TagGrainline); - const VGrainlineData& glGeom = piece.GetGrainlineGeometry(); + const VGrainlineData &glGeom = piece.GetGrainlineGeometry(); doc->SetAttribute(domData, VAbstractPattern::AttrVisible, glGeom.IsVisible()); doc->SetAttribute(domData, AttrMx, glGeom.GetPos().x()); doc->SetAttribute(domData, AttrMy, glGeom.GetPos().y()); @@ -557,11 +553,11 @@ void VToolSeamAllowance::AddGrainline(VAbstractPattern *doc, QDomElement &domEle doc->SetAttribute(domData, VAbstractPattern::AttrRotation, glGeom.GetRotation()); doc->SetAttribute(domData, VAbstractPattern::AttrArrows, static_cast(glGeom.GetArrowType())); doc->SetAttributeOrRemoveIf(domData, AttrCenterPin, glGeom.CenterPin(), - [](quint32 pin) noexcept {return pin <= NULL_ID;}); + [](quint32 pin) noexcept { return pin <= NULL_ID; }); doc->SetAttributeOrRemoveIf(domData, AttrTopPin, glGeom.TopPin(), - [](quint32 pin) noexcept {return pin <= NULL_ID;}); + [](quint32 pin) noexcept { return pin <= NULL_ID; }); doc->SetAttributeOrRemoveIf(domData, AttrBottomPin, glGeom.BottomPin(), - [](quint32 pin) noexcept {return pin <= NULL_ID;}); + [](quint32 pin) noexcept { return pin <= NULL_ID; }); domElement.appendChild(domData); } @@ -649,7 +645,10 @@ void VToolSeamAllowance::ReinitInternals(const VPiece &detail, VMainGraphicsScen } //--------------------------------------------------------------------------------------------------------------------- -auto VToolSeamAllowance::getTagName() const -> QString { return VAbstractPattern::TagDetail; } +auto VToolSeamAllowance::getTagName() const -> QString +{ + return VAbstractPattern::TagDetail; +} //--------------------------------------------------------------------------------------------------------------------- void VToolSeamAllowance::ShowVisualization(bool show) @@ -667,7 +666,7 @@ void VToolSeamAllowance::GroupVisibility(quint32 object, bool visible) //--------------------------------------------------------------------------------------------------------------------- void VToolSeamAllowance::FullUpdateFromFile() { - const bool updateChildren = false;// Chilren have their own signals. Avoid double refresh. + const bool updateChildren = false; // Chilren have their own signals. Avoid double refresh. RefreshGeometry(updateChildren); } @@ -757,7 +756,7 @@ void VToolSeamAllowance::Highlight(quint32 id) void VToolSeamAllowance::UpdateDetailLabel() { const VPiece detail = VAbstractTool::data.GetPiece(m_id); - const VPieceLabelData& labelData = detail.GetPieceLabelData(); + const VPieceLabelData &labelData = detail.GetPieceLabelData(); const QVector &pins = detail.GetPins(); if (labelData.IsVisible()) @@ -784,7 +783,7 @@ void VToolSeamAllowance::UpdateDetailLabel() void VToolSeamAllowance::UpdatePatternInfo() { const VPiece detail = VAbstractTool::data.GetPiece(m_id); - const VPatternLabelData& geom = detail.GetPatternLabelData(); + const VPatternLabelData &geom = detail.GetPatternLabelData(); const QVector &pins = detail.GetPins(); if (geom.IsVisible()) @@ -818,7 +817,7 @@ void VToolSeamAllowance::UpdatePassmarks() void VToolSeamAllowance::UpdateGrainline() { const VPiece detail = VAbstractTool::data.GetPiece(m_id); - const VGrainlineData& geom = detail.GetGrainlineGeometry(); + const VGrainlineData &geom = detail.GetGrainlineGeometry(); const QVector &pins = detail.GetPins(); if (geom.IsVisible()) @@ -841,10 +840,10 @@ void VToolSeamAllowance::UpdateGrainline() if (m_geometryIsReady && not IsGrainlinePositionValid()) { - const QString errorMsg = QObject::tr("Piece '%1'. Grainline is not valid.") - .arg(detail.GetName()); - VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) : - qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; + const QString errorMsg = QObject::tr("Piece '%1'. Grainline is not valid.").arg(detail.GetName()); + VAbstractApplication::VApp()->IsPedantic() + ? throw VException(errorMsg) + : qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; } } else @@ -857,7 +856,7 @@ void VToolSeamAllowance::UpdateGrainline() /** * @brief SaveMoveDetail saves the move detail operation to the undo stack */ -void VToolSeamAllowance::SaveMoveDetail(const QPointF& ptPos) +void VToolSeamAllowance::SaveMoveDetail(const QPointF &ptPos) { VPiece oldDet = VAbstractTool::data.GetPiece(m_id); VPiece newDet = oldDet; @@ -909,7 +908,6 @@ void VToolSeamAllowance::SaveRotationDetail(qreal dRot) VAbstractApplication::VApp()->getUndoStack()->push(rotateCommand); } - //--------------------------------------------------------------------------------------------------------------------- /** * @brief SaveMovePattern saves the pattern label position @@ -964,16 +962,15 @@ void VToolSeamAllowance::SaveRotationPattern(qreal dRot) VAbstractApplication::VApp()->getUndoStack()->push(rotateCommand); } - //--------------------------------------------------------------------------------------------------------------------- -void VToolSeamAllowance::SaveMoveGrainline(const QPointF& ptPos) +void VToolSeamAllowance::SaveMoveGrainline(const QPointF &ptPos) { VPiece oldDet = VAbstractTool::data.GetPiece(m_id); VPiece newDet = oldDet; newDet.GetGrainlineGeometry().SetPos(ptPos); qDebug() << "******* new grainline pos" << ptPos; - auto* moveCommand = new SavePieceOptions(oldDet, newDet, doc, m_id); + auto *moveCommand = new SavePieceOptions(oldDet, newDet, doc, m_id); moveCommand->setText(tr("move grainline")); VAbstractApplication::VApp()->getUndoStack()->push(moveCommand); } @@ -988,13 +985,13 @@ void VToolSeamAllowance::SaveResizeGrainline(qreal dLength) newDet.GetGrainlineGeometry().SetPos(m_grainLine->pos()); newDet.GetGrainlineGeometry().SetLength(QString().setNum(dLength)); - auto* resizeCommand = new SavePieceOptions(oldDet, newDet, doc, m_id); + auto *resizeCommand = new SavePieceOptions(oldDet, newDet, doc, m_id); resizeCommand->setText(tr("resize grainline")); VAbstractApplication::VApp()->getUndoStack()->push(resizeCommand); } //--------------------------------------------------------------------------------------------------------------------- -void VToolSeamAllowance::SaveRotateGrainline(qreal dRot, const QPointF& ptPos) +void VToolSeamAllowance::SaveRotateGrainline(qreal dRot, const QPointF &ptPos) { VPiece oldDet = VAbstractTool::data.GetPiece(m_id); VPiece newDet = oldDet; @@ -1076,14 +1073,14 @@ void VToolSeamAllowance::AddToFile() // nodes AddNodes(doc, domElement, piece); - //custom seam allowance + // custom seam allowance AddCSARecords(doc, domElement, piece.GetCustomSARecords()); AddInternalPaths(doc, domElement, piece.GetInternalPaths()); AddPins(doc, domElement, piece.GetPins()); AddPlaceLabels(doc, domElement, piece.GetPlaceLabels()); - VAbstractApplication::VApp()->getUndoStack()->push(new AddPiece(domElement, doc, VAbstractTool::data, - m_sceneDetails, m_drawName)); + VAbstractApplication::VApp()->getUndoStack()->push( + new AddPiece(domElement, doc, VAbstractTool::data, m_sceneDetails, m_drawName)); } //--------------------------------------------------------------------------------------------------------------------- @@ -1095,8 +1092,7 @@ void VToolSeamAllowance::RefreshDataInFile() // Refresh only parts that we possibly need to update { // TODO. Delete if minimal supported version is 0.4.0 - Q_STATIC_ASSERT_X(VPatternConverter::PatternMinVer < FormatVersion(0, 4, 0), - "Time to refactor the code."); + Q_STATIC_ASSERT_X(VPatternConverter::PatternMinVer < FormatVersion(0, 4, 0), "Time to refactor the code."); const uint version = VAbstractPattern::GetParametrUInt(domElement, AttrVersion, QChar('1')); if (version == 1) @@ -1133,8 +1129,8 @@ auto VToolSeamAllowance::itemChange(QGraphicsItem::GraphicsItemChange change, co // value - this is new position. const QPointF newPos = value.toPointF(); - VAbstractApplication::VApp()->getUndoStack()->push(new MovePiece(doc, newPos.x(), newPos.y(), m_id, - scene())); + VAbstractApplication::VApp()->getUndoStack()->push( + new MovePiece(doc, newPos.x(), newPos.y(), m_id, scene())); const QList viewList = scene()->views(); if (not viewList.isEmpty()) @@ -1172,7 +1168,7 @@ void VToolSeamAllowance::mousePressEvent(QGraphicsSceneMouseEvent *event) QGraphicsPathItem::mousePressEvent(event); // Somehow clicking on notselectable object do not clean previous selections. - if (not (flags() & ItemIsSelectable) && scene()) + if (not(flags() & ItemIsSelectable) && scene()) { scene()->clearSelection(); } @@ -1187,7 +1183,8 @@ void VToolSeamAllowance::mousePressEvent(QGraphicsSceneMouseEvent *event) if (selectionType == SelectionType::ByMouseRelease) { - event->accept();// Special for not selectable item first need to call standard mousePressEvent then accept event + event + ->accept(); // Special for not selectable item first need to call standard mousePressEvent then accept event } else { @@ -1307,12 +1304,12 @@ void VToolSeamAllowance::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) { DeleteFromMenu(); } - catch(const VExceptionToolWasDeleted &e) + catch (const VExceptionToolWasDeleted &e) { Q_UNUSED(e); - return;//Leave this method immediately!!! + return; // Leave this method immediately!!! } - //Leave this method immediately after call!!! + // Leave this method immediately after call!!! } } @@ -1339,14 +1336,14 @@ void VToolSeamAllowance::keyReleaseEvent(QKeyEvent *event) } DeleteToolWithConfirm(false); } - catch(const VExceptionToolWasDeleted &e) + catch (const VExceptionToolWasDeleted &e) { Q_UNUSED(e); if (not toolList.isEmpty()) { VAbstractApplication::VApp()->getUndoStack()->endMacro(); } - return;//Leave this method immediately!!! + return; // Leave this method immediately!!! } } break; @@ -1354,7 +1351,7 @@ void VToolSeamAllowance::keyReleaseEvent(QKeyEvent *event) break; } - QGraphicsPathItem::keyReleaseEvent ( event ); + QGraphicsPathItem::keyReleaseEvent(event); } //--------------------------------------------------------------------------------------------------------------------- @@ -1387,7 +1384,7 @@ VToolSeamAllowance::VToolSeamAllowance(const VToolSeamAllowanceInitData &initDat VToolSeamAllowance::AllowHover(true); this->setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); - this->setFlag(QGraphicsItem::ItemIsFocusable, true);// For keyboard input focus + this->setFlag(QGraphicsItem::ItemIsFocusable, true); // For keyboard input focus VToolSeamAllowance::ToolCreation(initData.typeCreation); setAcceptHoverEvents(m_acceptHoverEvents); @@ -1410,11 +1407,11 @@ void VToolSeamAllowance::UpdateExcludeState() const VPieceNode &node = path.at(i); if (node.GetTypeTool() == Tool::NodePoint) { - auto *tool = qobject_cast(VAbstractPattern::getTool(node.GetId())); + auto *tool = qobject_cast(VAbstractPattern::getTool(node.GetId())); SCASSERT(tool != nullptr); tool->SetExluded(node.IsExcluded()); - tool->setVisible(not node.IsExcluded());//Hide excluded point + tool->setVisible(not node.IsExcluded()); // Hide excluded point } } } @@ -1429,12 +1426,12 @@ void VToolSeamAllowance::UpdateInternalPaths() { try { - if (auto *tool = qobject_cast(VAbstractPattern::getTool(path))) + if (auto *tool = qobject_cast(VAbstractPattern::getTool(path))) { tool->RefreshGeometry(); } } - catch(const VExceptionBadId &) + catch (const VExceptionBadId &) { // ignore } @@ -1448,25 +1445,26 @@ void VToolSeamAllowance::RefreshGeometry(bool updateChildren) const VPiece detail = VAbstractTool::data.GetPiece(m_id); - QFuture futurePath = QtConcurrent::run([this, detail](){return detail.MainPathPath(getData());}); - QFuture futurePassmarks = - QtConcurrent::run([this, detail](){return detail.PassmarksPath(getData());}); + QFuture futurePath = QtConcurrent::run([this, detail]() { return detail.MainPathPath(getData()); }); + QFuture futurePassmarks = + QtConcurrent::run([this, detail]() { return detail.PassmarksPath(getData()); }); - QFuture > futureSeamAllowance; + QFuture> futureSeamAllowance; QFuture futureSeamAllowanceValid; if (detail.IsSeamAllowance()) { - futureSeamAllowance = QtConcurrent::run([this, detail](){return detail.SeamAllowancePoints(getData());}); - futureSeamAllowanceValid = QtConcurrent::run([this, detail](){return detail.IsSeamAllowanceValid(getData());}); + futureSeamAllowance = QtConcurrent::run([this, detail]() { return detail.SeamAllowancePoints(getData()); }); + futureSeamAllowanceValid = + QtConcurrent::run([this, detail]() { return detail.IsSeamAllowanceValid(getData()); }); } this->setPos(detail.GetMx(), detail.GetMy()); QPainterPath path; - if (VAbstractApplication::VApp()->Settings()->IsPieceShowMainPath() || not detail.IsHideMainPath() - || not detail.IsSeamAllowance() || detail.IsSeamAllowanceBuiltIn()) + if (VAbstractApplication::VApp()->Settings()->IsPieceShowMainPath() || not detail.IsHideMainPath() || + not detail.IsSeamAllowance() || detail.IsSeamAllowanceBuiltIn()) { m_mainPath = QPainterPath(); m_seamAllowance->setBrush(QBrush(Qt::Dense7Pattern)); @@ -1488,10 +1486,10 @@ void VToolSeamAllowance::RefreshGeometry(bool updateChildren) { if (not futureSeamAllowanceValid.result()) { - const QString errorMsg = QObject::tr("Piece '%1'. Seam allowance is not valid.") - .arg(detail.GetName()); - VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) : - qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; + const QString errorMsg = QObject::tr("Piece '%1'. Seam allowance is not valid.").arg(detail.GetName()); + VAbstractApplication::VApp()->IsPedantic() + ? throw VException(errorMsg) + : qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; } path.addPath(detail.SeamAllowancePath(futureSeamAllowance.result())); path.setFillRule(Qt::OddEvenFill); @@ -1508,19 +1506,20 @@ void VToolSeamAllowance::RefreshGeometry(bool updateChildren) if (VAbstractApplication::VApp()->IsAppInGUIMode()) { - QTimer::singleShot(V_MSECONDS(100), Qt::CoarseTimer, this, [this, updateChildren]() - { - this->setFlag(QGraphicsItem::ItemSendsGeometryChanges, false); - UpdateDetailLabel(); - UpdatePatternInfo(); - UpdateGrainline(); - UpdateExcludeState(); - if (updateChildren) - { - UpdateInternalPaths(); - } - this->setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); - }); + QTimer::singleShot(V_MSECONDS(100), Qt::CoarseTimer, this, + [this, updateChildren]() + { + this->setFlag(QGraphicsItem::ItemSendsGeometryChanges, false); + UpdateDetailLabel(); + UpdatePatternInfo(); + UpdateGrainline(); + UpdateExcludeState(); + if (updateChildren) + { + UpdateInternalPaths(); + } + this->setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); + }); } else { @@ -1546,7 +1545,7 @@ void VToolSeamAllowance::RefreshGeometry(bool updateChildren) void VToolSeamAllowance::SaveDialogChange(const QString &undoText) { SCASSERT(not m_dialog.isNull()); - auto *dialogTool = qobject_cast(m_dialog.data()); + auto *dialogTool = qobject_cast(m_dialog.data()); SCASSERT(dialogTool != nullptr); const VPiece newDet = dialogTool->GetPiece(); const VPiece oldDet = VAbstractTool::data.GetPiece(m_id); @@ -1562,7 +1561,7 @@ void VToolSeamAllowance::SaveDialogChange(const QString &undoText) if (groupChange) { - VAbstractApplication::VApp()->getUndoStack()->beginMacro(undoText.isEmpty() ? saveCommand->text(): undoText); + VAbstractApplication::VApp()->getUndoStack()->beginMacro(undoText.isEmpty() ? saveCommand->text() : undoText); for (auto command : undocommands) { @@ -1583,8 +1582,8 @@ void VToolSeamAllowance::SaveDialogChange(const QString &undoText) //--------------------------------------------------------------------------------------------------------------------- void VToolSeamAllowance::ShowOptions() { - QPointer dialog = new DialogSeamAllowance(getData(), doc, m_id, - VAbstractValApplication::VApp()->getMainWindow()); + QPointer dialog = + new DialogSeamAllowance(getData(), doc, m_id, VAbstractValApplication::VApp()->getMainWindow()); dialog->EnableApply(true); m_dialog = dialog; m_dialog->setModal(true); @@ -1605,17 +1604,15 @@ void VToolSeamAllowance::ToggleInLayout(bool checked) //--------------------------------------------------------------------------------------------------------------------- void VToolSeamAllowance::ToggleForbidFlipping(bool checked) { - VAbstractApplication::VApp()->getUndoStack()->push( - new TogglePieceForceForbidFlipping(m_id, checked, ForceForbidFlippingType::ForbidFlipping, - &(VAbstractTool::data), doc)); + VAbstractApplication::VApp()->getUndoStack()->push(new TogglePieceForceForbidFlipping( + m_id, checked, ForceForbidFlippingType::ForbidFlipping, &(VAbstractTool::data), doc)); } //--------------------------------------------------------------------------------------------------------------------- void VToolSeamAllowance::ToggleForceFlipping(bool checked) { - VAbstractApplication::VApp()->getUndoStack()->push( - new TogglePieceForceForbidFlipping(m_id, checked, ForceForbidFlippingType::ForceFlipping, - &(VAbstractTool::data), doc)); + VAbstractApplication::VApp()->getUndoStack()->push(new TogglePieceForceForbidFlipping( + m_id, checked, ForceForbidFlippingType::ForceFlipping, &(VAbstractTool::data), doc)); } //--------------------------------------------------------------------------------------------------------------------- @@ -1630,7 +1627,7 @@ void VToolSeamAllowance::ToggleExcludeState(quint32 id) const VPiece oldDet = VAbstractTool::data.GetPiece(m_id); VPiece newDet = oldDet; - for (int i = 0; i< oldDet.GetPath().CountNodes(); ++i) + for (int i = 0; i < oldDet.GetPath().CountNodes(); ++i) { VPieceNode node = oldDet.GetPath().at(i); if (node.GetId() == id && node.GetTypeTool() == Tool::NodePoint) @@ -1650,7 +1647,7 @@ void VToolSeamAllowance::ToggleTurnPointState(quint32 id) const VPiece oldDet = VAbstractTool::data.GetPiece(m_id); VPiece newDet = oldDet; - for (int i = 0; i< oldDet.GetPath().CountNodes(); ++i) + for (int i = 0; i < oldDet.GetPath().CountNodes(); ++i) { VPieceNode node = oldDet.GetPath().at(i); if (node.GetId() == id && node.GetTypeTool() == Tool::NodePoint) @@ -1670,7 +1667,7 @@ void VToolSeamAllowance::ToggleNodePointAngleType(quint32 id, PieceNodeAngle typ const VPiece oldDet = VAbstractTool::data.GetPiece(m_id); VPiece newDet = oldDet; - for (int i = 0; i< oldDet.GetPath().CountNodes(); ++i) + for (int i = 0; i < oldDet.GetPath().CountNodes(); ++i) { VPieceNode node = oldDet.GetPath().at(i); if (node.GetId() == id && node.GetTypeTool() == Tool::NodePoint) @@ -1690,7 +1687,7 @@ void VToolSeamAllowance::ToggleNodePointPassmark(quint32 id, bool toggle) const VPiece oldDet = VAbstractTool::data.GetPiece(m_id); VPiece newDet = oldDet; - for (int i = 0; i< oldDet.GetPath().CountNodes(); ++i) + for (int i = 0; i < oldDet.GetPath().CountNodes(); ++i) { VPieceNode node = oldDet.GetPath().at(i); if (node.GetId() == id && node.GetTypeTool() == Tool::NodePoint) @@ -1710,7 +1707,7 @@ void VToolSeamAllowance::TogglePassmarkAngleType(quint32 id, PassmarkAngleType t const VPiece oldDet = VAbstractTool::data.GetPiece(m_id); VPiece newDet = oldDet; - for (int i = 0; i< oldDet.GetPath().CountNodes(); ++i) + for (int i = 0; i < oldDet.GetPath().CountNodes(); ++i) { VPieceNode node = oldDet.GetPath().at(i); if (node.GetId() == id && node.GetTypeTool() == Tool::NodePoint) @@ -1730,7 +1727,7 @@ void VToolSeamAllowance::TogglePassmarkLineType(quint32 id, PassmarkLineType typ const VPiece oldDet = VAbstractTool::data.GetPiece(m_id); VPiece newDet = oldDet; - for (int i = 0; i< oldDet.GetPath().CountNodes(); ++i) + for (int i = 0; i < oldDet.GetPath().CountNodes(); ++i) { VPieceNode node = oldDet.GetPath().at(i); if (node.GetId() == id && node.GetTypeTool() == Tool::NodePoint) @@ -1766,19 +1763,17 @@ void VToolSeamAllowance::ResetPieceLabelTemplate() { const QString errorMsg = QObject::tr("Piece '%1'. Unable to load default piece label template.\n%2\n%3") .arg(newDet.GetName(), e.ErrorMessage(), e.DetailedInformation()); - VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) : - qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; + VAbstractApplication::VApp()->IsPedantic() + ? throw VException(errorMsg) + : qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg; } } } //--------------------------------------------------------------------------------------------------------------------- -auto VToolSeamAllowance::FindLabelGeometry(const VPatternLabelData &labelData, - const QVector &pins, - qreal &rotationAngle, - qreal &labelWidth, - qreal &labelHeight, - QPointF &pos) -> VPieceItem::MoveTypes +auto VToolSeamAllowance::FindLabelGeometry(const VPatternLabelData &labelData, const QVector &pins, + qreal &rotationAngle, qreal &labelWidth, qreal &labelHeight, QPointF &pos) + -> VPieceItem::MoveTypes { VPieceItem::MoveTypes restrictions = VPieceItem::AllModifications; @@ -1786,13 +1781,13 @@ auto VToolSeamAllowance::FindLabelGeometry(const VPatternLabelData &labelData, { if (not qmu::QmuTokenParser::IsSingle(labelData.GetRotation())) { - restrictions &= ~ VPieceItem::IsRotatable; + restrictions &= ~VPieceItem::IsRotatable; } Calculator cal1; rotationAngle = cal1.EvalFormula(VAbstractTool::data.DataVariables(), labelData.GetRotation()); } - catch(qmu::QmuParserError &e) + catch (qmu::QmuParserError &e) { Q_UNUSED(e); return VPieceItem::Error; @@ -1801,27 +1796,27 @@ auto VToolSeamAllowance::FindLabelGeometry(const VPatternLabelData &labelData, const quint32 topLeftPin = labelData.TopLeftPin(); const quint32 bottomRightPin = labelData.BottomRightPin(); - if (topLeftPin != NULL_ID && pins.contains(topLeftPin) && bottomRightPin != NULL_ID - && pins.contains(bottomRightPin)) + if (topLeftPin != NULL_ID && pins.contains(topLeftPin) && bottomRightPin != NULL_ID && + pins.contains(bottomRightPin)) { try { const auto topLeftPinPoint = VAbstractTool::data.GeometricObject(topLeftPin); const auto bottomRightPinPoint = VAbstractTool::data.GeometricObject(bottomRightPin); - const QRectF labelRect = QRectF(static_cast(*topLeftPinPoint), - static_cast(*bottomRightPinPoint)); + const QRectF labelRect = + QRectF(static_cast(*topLeftPinPoint), static_cast(*bottomRightPinPoint)); labelWidth = FromPixel(qAbs(labelRect.width()), *VDataTool::data.GetPatternUnit()); labelHeight = FromPixel(qAbs(labelRect.height()), *VDataTool::data.GetPatternUnit()); pos = labelRect.topLeft(); - restrictions &= ~ VPieceItem::IsMovable; - restrictions &= ~ VPieceItem::IsResizable; + restrictions &= ~VPieceItem::IsMovable; + restrictions &= ~VPieceItem::IsResizable; return restrictions; } - catch(const VExceptionBadId &) + catch (const VExceptionBadId &) { // do nothing. } @@ -1841,10 +1836,10 @@ auto VToolSeamAllowance::FindLabelGeometry(const VPatternLabelData &labelData, if (not widthIsSingle || not heightIsSingle) { - restrictions &= ~ VPieceItem::IsResizable; + restrictions &= ~VPieceItem::IsResizable; } } - catch(qmu::QmuParserError &e) + catch (qmu::QmuParserError &e) { Q_UNUSED(e); return VPieceItem::Error; @@ -1861,9 +1856,9 @@ auto VToolSeamAllowance::FindLabelGeometry(const VPatternLabelData &labelData, const qreal lHeight = ToPixel(labelHeight, *VDataTool::data.GetPatternUnit()); pos = static_cast(*centerPinPoint) - QRectF(0, 0, lWidth, lHeight).center(); - restrictions &= ~ VPieceItem::IsMovable; + restrictions &= ~VPieceItem::IsMovable; } - catch(const VExceptionBadId &) + catch (const VExceptionBadId &) { pos = labelData.GetPos(); } @@ -1877,11 +1872,8 @@ auto VToolSeamAllowance::FindLabelGeometry(const VPatternLabelData &labelData, } //--------------------------------------------------------------------------------------------------------------------- -auto VToolSeamAllowance::FindGrainlineGeometry(const VGrainlineData &geom, - const QVector &pins, - qreal &length, - qreal &rotationAngle, - QPointF &pos) -> VPieceItem::MoveTypes +auto VToolSeamAllowance::FindGrainlineGeometry(const VGrainlineData &geom, const QVector &pins, qreal &length, + qreal &rotationAngle, QPointF &pos) -> VPieceItem::MoveTypes { const quint32 topPin = geom.TopPin(); const quint32 bottomPin = geom.BottomPin(); @@ -1906,7 +1898,7 @@ auto VToolSeamAllowance::FindGrainlineGeometry(const VGrainlineData &geom, return VPieceItem::NotMovable; } - catch(const VExceptionBadId &) + catch (const VExceptionBadId &) { // do nothing. } @@ -1917,7 +1909,7 @@ auto VToolSeamAllowance::FindGrainlineGeometry(const VGrainlineData &geom, { if (not qmu::QmuTokenParser::IsSingle(geom.GetRotation())) { - restrictions &= ~ VPieceItem::IsRotatable; + restrictions &= ~VPieceItem::IsRotatable; } Calculator cal1; @@ -1925,13 +1917,13 @@ auto VToolSeamAllowance::FindGrainlineGeometry(const VGrainlineData &geom, if (not qmu::QmuTokenParser::IsSingle(geom.GetLength())) { - restrictions &= ~ VPieceItem::IsResizable; + restrictions &= ~VPieceItem::IsResizable; } Calculator cal2; length = cal2.EvalFormula(VAbstractTool::data.DataVariables(), geom.GetLength()); } - catch(qmu::QmuParserError &e) + catch (qmu::QmuParserError &e) { Q_UNUSED(e); return VPieceItem::Error; @@ -1945,17 +1937,17 @@ auto VToolSeamAllowance::FindGrainlineGeometry(const VGrainlineData &geom, const auto centerPinPoint = VAbstractTool::data.GeometricObject(centerPin); const qreal cLength = ToPixel(length, *VDataTool::data.GetPatternUnit()); - QLineF grainline(centerPinPoint->x(), centerPinPoint->y(), - centerPinPoint->x() + cLength / 2.0, centerPinPoint->y()); + QLineF grainline(centerPinPoint->x(), centerPinPoint->y(), centerPinPoint->x() + cLength / 2.0, + centerPinPoint->y()); grainline.setAngle(rotationAngle); grainline = QLineF(grainline.p2(), grainline.p1()); grainline.setLength(cLength); pos = grainline.p2(); - restrictions &= ~ VPieceItem::IsMovable; + restrictions &= ~VPieceItem::IsMovable; } - catch(const VExceptionBadId &) + catch (const VExceptionBadId &) { pos = geom.GetPos(); } @@ -1990,7 +1982,7 @@ void VToolSeamAllowance::InitNode(const VPieceNode &node, VMainGraphicsScene *sc { case (Tool::NodePoint): { - auto *tool = qobject_cast(VAbstractPattern::getTool(node.GetId())); + auto *tool = qobject_cast(VAbstractPattern::getTool(node.GetId())); SCASSERT(tool != nullptr); if (tool->parent() != parent) @@ -2014,15 +2006,15 @@ void VToolSeamAllowance::InitNode(const VPieceNode &node, VMainGraphicsScene *sc connect(tool, &VNodePoint::ChoosedTool, scene, &VMainGraphicsScene::ChoosedItem, Qt::UniqueConnection); connect(tool, &VNodePoint::TogglePassmarkAngleType, parent, &VToolSeamAllowance::TogglePassmarkAngleType, Qt::UniqueConnection); - connect(tool, &VNodePoint::TogglePassmarkLineType, parent, - &VToolSeamAllowance::TogglePassmarkLineType, Qt::UniqueConnection); + connect(tool, &VNodePoint::TogglePassmarkLineType, parent, &VToolSeamAllowance::TogglePassmarkLineType, + Qt::UniqueConnection); connect(tool, &VNodePoint::ResetPieceLabelTemplate, parent, &VToolSeamAllowance::ResetPieceLabelTemplate, Qt::UniqueConnection); tool->setParentItem(parent); tool->SetParentType(ParentType::Item); tool->SetExluded(node.IsExcluded()); } - tool->setVisible(not node.IsExcluded());//Hide excluded point + tool->setVisible(not node.IsExcluded()); // Hide excluded point break; } case (Tool::NodeArc): @@ -2032,7 +2024,7 @@ void VToolSeamAllowance::InitNode(const VPieceNode &node, VMainGraphicsScene *sc // Do nothing break; default: - qDebug()<<"Get wrong tool type. Ignore."; + qDebug() << "Get wrong tool type. Ignore."; break; } } @@ -2053,7 +2045,7 @@ void VToolSeamAllowance::InitInternalPaths(const VPiece &detail) const QVector paths = detail.GetInternalPaths(); for (auto path : paths) { - auto *tool = qobject_cast(VAbstractPattern::getTool(path)); + auto *tool = qobject_cast(VAbstractPattern::getTool(path)); SCASSERT(tool != nullptr); if (tool->parent() != this) @@ -2114,8 +2106,8 @@ auto VToolSeamAllowance::PrepareLabelData(const VPatternLabelData &labelData, co qreal labelWidth = 0; qreal labelHeight = 0; - const VTextGraphicsItem::MoveTypes type = FindLabelGeometry(labelData, pins, labelAngle, labelWidth, labelHeight, - pos); + const VTextGraphicsItem::MoveTypes type = + FindLabelGeometry(labelData, pins, labelAngle, labelWidth, labelHeight, pos); if (type & VGrainlineItem::Error) { labelItem->hide(); @@ -2139,14 +2131,14 @@ auto VToolSeamAllowance::PrepareLabelData(const VPatternLabelData &labelData, co auto VToolSeamAllowance::SelectedTools() const -> QList { QList tools; - if(m_sceneDetails) + if (m_sceneDetails) { const QList list = m_sceneDetails->selectedItems(); if (not list.isEmpty()) { tools.reserve(list.size()); - for(auto *item : list) + for (auto *item : list) { auto *tool = qgraphicsitem_cast(item); if (tool != nullptr && tool->getId() != m_id) @@ -2182,8 +2174,8 @@ void VToolSeamAllowance::AddPointRecords(VAbstractPattern *doc, QDomElement &dom QDomElement pinsElement = doc->createElement(tag); for (auto record : records) { - pinsElement.appendChild(doc->CreateElementWithText(VToolSeamAllowance::TagRecord, - QString().setNum(record))); + pinsElement.appendChild( + doc->CreateElementWithText(VToolSeamAllowance::TagRecord, QString().setNum(record))); } domElement.appendChild(pinsElement); } @@ -2236,7 +2228,7 @@ auto VToolSeamAllowance::DuplicateNode(const VPieceNode &node, const VToolSeamAl VNodeSplinePath::Create(initNodeData); break; default: - qDebug()<<"May be wrong tool type!!! Ignoring."< { QVector newRecords; newRecords.reserve(records.size()); - for(auto record : records) + for (auto record : records) { record.path = DuplicatePiecePath(record.path, initData); record.startPoint = replacements.value(record.startPoint, NULL_ID); @@ -2294,7 +2286,7 @@ auto VToolSeamAllowance::DuplicateInternalPaths(const QVector &iPaths, { QVector newPaths; newPaths.reserve(iPaths.size()); - for(auto iPath : iPaths) + for (auto iPath : iPaths) { newPaths.append(DuplicatePiecePath(iPath, initData)); } @@ -2307,7 +2299,7 @@ auto VToolSeamAllowance::DuplicatePlaceLabels(const QVector &placeLabel { QVector newPlaceLabels; newPlaceLabels.reserve(placeLabels.size()); - for(auto placeLabel : placeLabels) + for (auto placeLabel : placeLabels) { QSharedPointer label = initData.data->GeometricObject(placeLabel); auto *tool = qobject_cast(VAbstractPattern::getTool(placeLabel)); @@ -2341,7 +2333,7 @@ auto VToolSeamAllowance::DuplicateNodes(const VPiecePath &path, const VToolSeamA { QVector nodes; nodes.reserve(path.CountNodes()); - for (int i = 0; i< path.CountNodes(); ++i) + for (int i = 0; i < path.CountNodes(); ++i) { VPieceNode nodeD = path.at(i); const quint32 oldId = nodeD.GetId();