Refactoring.

Code style.
This commit is contained in:
Roman Telezhynskyi 2023-07-25 14:02:01 +03:00
parent ccdabec868
commit d1cbb61238
20 changed files with 984 additions and 990 deletions

View file

@ -27,10 +27,10 @@
*************************************************************************/ *************************************************************************/
#include "vpdialogabout.h" #include "vpdialogabout.h"
#include "ui_vpdialogabout.h"
#include "../vmisc/projectversion.h"
#include "../vmisc/def.h"
#include "../fervor/fvupdater.h" #include "../fervor/fvupdater.h"
#include "../vmisc/def.h"
#include "../vmisc/projectversion.h"
#include "ui_vpdialogabout.h"
#include <QDate> #include <QDate>
#include <QDesktopServices> #include <QDesktopServices>
@ -46,29 +46,31 @@
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
VPDialogAbout::VPDialogAbout(QWidget *parent) VPDialogAbout::VPDialogAbout(QWidget *parent)
:QDialog(parent), : QDialog(parent),
ui(new Ui::VPDialogAbout), ui(new Ui::VPDialogAbout),
m_isInitialized(false) m_isInitialized(false)
{ {
ui->setupUi(this); ui->setupUi(this);
//mApp->Settings()->GetOsSeparator() ? setLocale(QLocale()) : setLocale(QLocale::c()); // mApp->Settings()->GetOsSeparator() ? setLocale(QLocale()) : setLocale(QLocale::c());
RetranslateUi(); RetranslateUi();
connect(ui->pushButton_Web_Site, &QPushButton::clicked, this, []() connect(ui->pushButton_Web_Site, &QPushButton::clicked, this,
{ []()
if ( not QDesktopServices::openUrl(QUrl(QStringLiteral(VER_COMPANYDOMAIN_STR)))) {
{ if (not QDesktopServices::openUrl(QUrl(QStringLiteral(VER_COMPANYDOMAIN_STR))))
qWarning() << tr("Cannot open your default browser"); {
} qWarning() << tr("Cannot open your default browser");
}); }
});
connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &VPDialogAbout::close); connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &VPDialogAbout::close);
connect(ui->pushButtonCheckUpdate, &QPushButton::clicked, []() connect(ui->pushButtonCheckUpdate, &QPushButton::clicked,
{ []()
// Set feed URL before doing anything else {
FvUpdater::sharedUpdater()->SetFeedURL(FvUpdater::CurrentFeedURL()); // Set feed URL before doing anything else
FvUpdater::sharedUpdater()->CheckForUpdatesNotSilent(); FvUpdater::sharedUpdater()->SetFeedURL(FvUpdater::CurrentFeedURL());
}); FvUpdater::sharedUpdater()->CheckForUpdatesNotSilent();
});
// By default on Windows font point size 8 points we need 11 like on Linux. // By default on Windows font point size 8 points we need 11 like on Linux.
FontPointSize(ui->label_Legal_Stuff, 11); FontPointSize(ui->label_Legal_Stuff, 11);
@ -99,8 +101,8 @@ void VPDialogAbout::changeEvent(QEvent *event)
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
void VPDialogAbout::showEvent(QShowEvent *event) void VPDialogAbout::showEvent(QShowEvent *event)
{ {
QDialog::showEvent( event ); QDialog::showEvent(event);
if ( event->spontaneous() ) if (event->spontaneous())
{ {
return; return;
} }
@ -114,7 +116,7 @@ void VPDialogAbout::showEvent(QShowEvent *event)
setMaximumSize(size()); setMaximumSize(size());
setMinimumSize(size()); setMinimumSize(size());
m_isInitialized = true;//first show windows are held m_isInitialized = true; // first show windows are held
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------

View file

@ -65,8 +65,6 @@ auto main(int argc, char *argv[]) -> int
Q_INIT_RESOURCE(win_theme); // NOLINT Q_INIT_RESOURCE(win_theme); // NOLINT
#endif #endif
QT_REQUIRE_VERSION(argc, argv, "5.4.0") // clazy:exclude=qstring-arg,qstring-allocations NOLINT
#if defined(Q_OS_WIN) #if defined(Q_OS_WIN)
VAbstractApplication::WinAttachConsole(); VAbstractApplication::WinAttachConsole();
#endif #endif
@ -92,6 +90,8 @@ auto main(int argc, char *argv[]) -> int
VPApplication app(argc, argv); VPApplication app(argc, argv);
app.InitOptions(); app.InitOptions();
QT_REQUIRE_VERSION(argc, argv, "5.4.0") // clazy:exclude=qstring-arg,qstring-allocations NOLINT
#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) #if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
VPApplication::setDesktopFileName(QStringLiteral("ua.com.smart-pattern.puzzle.desktop")); VPApplication::setDesktopFileName(QStringLiteral("ua.com.smart-pattern.puzzle.desktop"));
#endif #endif

View file

@ -27,10 +27,10 @@
*************************************************************************/ *************************************************************************/
#include "dialogabouttape.h" #include "dialogabouttape.h"
#include "ui_dialogabouttape.h" #include "../fervor/fvupdater.h"
#include "../vmisc/def.h" #include "../vmisc/def.h"
#include "../vmisc/projectversion.h" #include "../vmisc/projectversion.h"
#include "../fervor/fvupdater.h" #include "ui_dialogabouttape.h"
#include <QDate> #include <QDate>
#include <QDesktopServices> #include <QDesktopServices>
@ -46,30 +46,32 @@
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
DialogAboutTape::DialogAboutTape(QWidget *parent) DialogAboutTape::DialogAboutTape(QWidget *parent)
:QDialog(parent), : QDialog(parent),
ui(new Ui::DialogAboutTape), ui(new Ui::DialogAboutTape),
m_isInitialized(false) m_isInitialized(false)
{ {
ui->setupUi(this); ui->setupUi(this);
//mApp->Settings()->GetOsSeparator() ? setLocale(QLocale()) : setLocale(QLocale::c()); // mApp->Settings()->GetOsSeparator() ? setLocale(QLocale()) : setLocale(QLocale::c());
RetranslateUi(); RetranslateUi();
connect(ui->pushButton_Web_Site, &QPushButton::clicked, this, []() connect(ui->pushButton_Web_Site, &QPushButton::clicked, this,
{ []()
if (not QDesktopServices::openUrl( {
if (not QDesktopServices::openUrl(
QUrl(QStringLiteral("https://%1").arg(QStringLiteral(VER_COMPANYDOMAIN_STR))))) QUrl(QStringLiteral("https://%1").arg(QStringLiteral(VER_COMPANYDOMAIN_STR)))))
{ {
qWarning() << tr("Cannot open your default browser"); qWarning() << tr("Cannot open your default browser");
} }
}); });
connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &DialogAboutTape::close); connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &DialogAboutTape::close);
connect(ui->pushButtonCheckUpdate, &QPushButton::clicked, []() connect(ui->pushButtonCheckUpdate, &QPushButton::clicked,
{ []()
// Set feed URL before doing anything else {
FvUpdater::sharedUpdater()->SetFeedURL(FvUpdater::CurrentFeedURL()); // Set feed URL before doing anything else
FvUpdater::sharedUpdater()->CheckForUpdatesNotSilent(); FvUpdater::sharedUpdater()->SetFeedURL(FvUpdater::CurrentFeedURL());
}); FvUpdater::sharedUpdater()->CheckForUpdatesNotSilent();
});
// By default on Windows font point size 8 points we need 11 like on Linux. // By default on Windows font point size 8 points we need 11 like on Linux.
FontPointSize(ui->label_Legal_Stuff, 11); FontPointSize(ui->label_Legal_Stuff, 11);
@ -100,8 +102,8 @@ void DialogAboutTape::changeEvent(QEvent *event)
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
void DialogAboutTape::showEvent(QShowEvent *event) void DialogAboutTape::showEvent(QShowEvent *event)
{ {
QDialog::showEvent( event ); QDialog::showEvent(event);
if ( event->spontaneous() ) if (event->spontaneous())
{ {
return; return;
} }
@ -115,7 +117,7 @@ void DialogAboutTape::showEvent(QShowEvent *event)
setMaximumSize(size()); setMaximumSize(size());
setMinimumSize(size()); setMinimumSize(size());
m_isInitialized = true;//first show windows are held m_isInitialized = true; // first show windows are held
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------

View file

@ -63,8 +63,6 @@ auto main(int argc, char *argv[]) -> int
Q_INIT_RESOURCE(win_theme); // NOLINT Q_INIT_RESOURCE(win_theme); // NOLINT
#endif #endif
QT_REQUIRE_VERSION(argc, argv, "5.4.0") // clazy:exclude=qstring-arg,qstring-allocations NOLINT
#if defined(Q_OS_WIN) #if defined(Q_OS_WIN)
VAbstractApplication::WinAttachConsole(); VAbstractApplication::WinAttachConsole();
#endif #endif
@ -90,6 +88,8 @@ auto main(int argc, char *argv[]) -> int
MApplication app(argc, argv); MApplication app(argc, argv);
app.InitOptions(); app.InitOptions();
QT_REQUIRE_VERSION(argc, argv, "5.4.0") // clazy:exclude=qstring-arg,qstring-allocations NOLINT
#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) #if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
MApplication::setDesktopFileName(QStringLiteral("ua.com.smart-pattern.tape.desktop")); MApplication::setDesktopFileName(QStringLiteral("ua.com.smart-pattern.tape.desktop"));
#endif #endif

View file

@ -27,15 +27,15 @@
*************************************************************************/ *************************************************************************/
#include "dialogaboutapp.h" #include "dialogaboutapp.h"
#include "../fervor/fvupdater.h"
#include "../vmisc/projectversion.h"
#include "../vmisc/vabstractvalapplication.h"
#include "../vmisc/vvalentinasettings.h"
#include "ui_dialogaboutapp.h" #include "ui_dialogaboutapp.h"
#include <QDate> #include <QDate>
#include <QDesktopServices> #include <QDesktopServices>
#include <QMessageBox> #include <QMessageBox>
#include <QtDebug> #include <QtDebug>
#include "../fervor/fvupdater.h"
#include "../vmisc/projectversion.h"
#include "../vmisc/vabstractvalapplication.h"
#include "../vmisc/vvalentinasettings.h"
#if !defined(BUILD_REVISION) && defined(QBS_BUILD) #if !defined(BUILD_REVISION) && defined(QBS_BUILD)
#include <vcsRepoState.h> #include <vcsRepoState.h>
@ -43,8 +43,8 @@
#endif #endif
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
DialogAboutApp::DialogAboutApp(QWidget *parent) : DialogAboutApp::DialogAboutApp(QWidget *parent)
QDialog(parent), : QDialog(parent),
ui(new Ui::DialogAboutApp) ui(new Ui::DialogAboutApp)
{ {
ui->setupUi(this); ui->setupUi(this);
@ -64,23 +64,24 @@ DialogAboutApp::DialogAboutApp(QWidget *parent) :
"KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY " "KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY "
"AND FITNESS FOR A PARTICULAR PURPOSE.")); "AND FITNESS FOR A PARTICULAR PURPOSE."));
ui->pushButton_Web_Site->setText(tr("Web site : %1").arg(QStringLiteral(VER_COMPANYDOMAIN_STR))); ui->pushButton_Web_Site->setText(tr("Web site : %1").arg(QStringLiteral(VER_COMPANYDOMAIN_STR)));
connect(ui->pushButton_Web_Site, &QPushButton::clicked, this, []() connect(ui->pushButton_Web_Site, &QPushButton::clicked, this,
{ []()
if (not QDesktopServices::openUrl( {
if (not QDesktopServices::openUrl(
QUrl(QStringLiteral("https://%1").arg(QStringLiteral(VER_COMPANYDOMAIN_STR))))) QUrl(QStringLiteral("https://%1").arg(QStringLiteral(VER_COMPANYDOMAIN_STR)))))
{ {
qWarning() << tr("Cannot open your default browser"); qWarning() << tr("Cannot open your default browser");
} }
}); });
connect(ui->pushButtonCheckUpdate, &QPushButton::clicked, []() connect(ui->pushButtonCheckUpdate, &QPushButton::clicked,
{ []()
// Set feed URL before doing anything else {
FvUpdater::sharedUpdater()->SetFeedURL(FvUpdater::CurrentFeedURL()); // Set feed URL before doing anything else
FvUpdater::sharedUpdater()->CheckForUpdatesNotSilent(); FvUpdater::sharedUpdater()->SetFeedURL(FvUpdater::CurrentFeedURL());
}); FvUpdater::sharedUpdater()->CheckForUpdatesNotSilent();
});
// By default on Windows font point size 8 points we need 11 like on Linux. // By default on Windows font point size 8 points we need 11 like on Linux.
FontPointSize(ui->label_Legal_Stuff, 11); FontPointSize(ui->label_Legal_Stuff, 11);
@ -98,8 +99,8 @@ DialogAboutApp::~DialogAboutApp()
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
void DialogAboutApp::showEvent(QShowEvent *event) void DialogAboutApp::showEvent(QShowEvent *event)
{ {
QDialog::showEvent( event ); QDialog::showEvent(event);
if ( event->spontaneous() ) if (event->spontaneous())
{ {
return; return;
} }
@ -113,7 +114,7 @@ void DialogAboutApp::showEvent(QShowEvent *event)
setMaximumSize(size()); setMaximumSize(size());
setMinimumSize(size()); setMinimumSize(size());
m_isInitialized = true;//first show windows are held m_isInitialized = true; // first show windows are held
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------

View file

@ -27,35 +27,35 @@
*************************************************************************/ *************************************************************************/
#include "dialoglayoutsettings.h" #include "dialoglayoutsettings.h"
#include "ui_dialoglayoutsettings.h"
#include "../vmisc/vvalentinasettings.h"
#include "../vmisc/vabstractvalapplication.h" #include "../vmisc/vabstractvalapplication.h"
#include "../vmisc/vvalentinasettings.h"
#include "ui_dialoglayoutsettings.h"
#if QT_VERSION < QT_VERSION_CHECK(5, 7, 0) #if QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
#include "../vmisc/backport/qoverload.h" #include "../vmisc/backport/qoverload.h"
#endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0) #endif // QT_VERSION < QT_VERSION_CHECK(5, 7, 0)
#include "../vlayout/vlayoutgenerator.h" #include "../vlayout/vlayoutgenerator.h"
#include <QMessageBox> #include <QMessageBox>
#include <QPushButton>
#include <QPrinterInfo> #include <QPrinterInfo>
#include <QPushButton>
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
DialogLayoutSettings::DialogLayoutSettings(VLayoutGenerator *generator, QWidget *parent, bool disableSettings) DialogLayoutSettings::DialogLayoutSettings(VLayoutGenerator *generator, QWidget *parent, bool disableSettings)
: VAbstractLayoutDialog(parent), : VAbstractLayoutDialog(parent),
m_disableSettings(disableSettings), m_disableSettings(disableSettings),
ui(new Ui::DialogLayoutSettings), ui(new Ui::DialogLayoutSettings),
m_oldPaperUnit(Unit::Mm), m_oldPaperUnit(Unit::Mm),
m_oldLayoutUnit(Unit::Mm), m_oldLayoutUnit(Unit::Mm),
m_generator(generator), m_generator(generator),
m_isInitialized(false) m_isInitialized(false)
{ {
ui->setupUi(this); ui->setupUi(this);
VAbstractValApplication::VApp()->ValentinaSettings()->GetOsSeparator() ? setLocale(QLocale()) VAbstractValApplication::VApp()->ValentinaSettings()->GetOsSeparator() ? setLocale(QLocale())
: setLocale(QLocale::c()); : setLocale(QLocale::c());
//moved from ReadSettings - well...it seems it can be done once only (i.e. constructor) because Init funcs dont // moved from ReadSettings - well...it seems it can be done once only (i.e. constructor) because Init funcs dont
//even cleanse lists before adding // even cleanse lists before adding
InitPaperUnits(); InitPaperUnits();
InitLayoutUnits(); InitLayoutUnits();
InitTemplates(ui->comboBoxTemplates); InitTemplates(ui->comboBoxTemplates);
@ -63,7 +63,7 @@ DialogLayoutSettings::DialogLayoutSettings(VLayoutGenerator *generator, QWidget
MinimumLayoutSize(); MinimumLayoutSize();
InitPrinter(); InitPrinter();
//in export console mode going to use defaults // in export console mode going to use defaults
if (not disableSettings) if (not disableSettings)
{ {
ReadSettings(); ReadSettings();
@ -73,35 +73,35 @@ DialogLayoutSettings::DialogLayoutSettings(VLayoutGenerator *generator, QWidget
RestoreDefaults(); RestoreDefaults();
} }
connect(ui->comboBoxPrinter, QOverload<int>::of(&QComboBox::currentIndexChanged), connect(ui->comboBoxPrinter, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
this, &DialogLayoutSettings::PrinterMargins); &DialogLayoutSettings::PrinterMargins);
connect(ui->comboBoxTemplates, QOverload<int>::of(&QComboBox::currentIndexChanged), connect(ui->comboBoxTemplates, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
this, &DialogLayoutSettings::TemplateSelected); &DialogLayoutSettings::TemplateSelected);
connect(ui->comboBoxPaperSizeUnit, QOverload<int>::of(&QComboBox::currentIndexChanged), connect(ui->comboBoxPaperSizeUnit, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
this, &DialogLayoutSettings::ConvertPaperSize); &DialogLayoutSettings::ConvertPaperSize);
connect(ui->doubleSpinBoxPaperWidth, QOverload<double>::of(&QDoubleSpinBox::valueChanged), connect(ui->doubleSpinBoxPaperWidth, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
this, &DialogLayoutSettings::PaperSizeChanged); &DialogLayoutSettings::PaperSizeChanged);
connect(ui->doubleSpinBoxPaperHeight, QOverload<double>::of(&QDoubleSpinBox::valueChanged), connect(ui->doubleSpinBoxPaperHeight, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
this, &DialogLayoutSettings::PaperSizeChanged); &DialogLayoutSettings::PaperSizeChanged);
connect(ui->doubleSpinBoxPaperWidth, QOverload<double>::of(&QDoubleSpinBox::valueChanged), connect(ui->doubleSpinBoxPaperWidth, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
this, &DialogLayoutSettings::FindTemplate); &DialogLayoutSettings::FindTemplate);
connect(ui->doubleSpinBoxPaperHeight, QOverload<double>::of(&QDoubleSpinBox::valueChanged), connect(ui->doubleSpinBoxPaperHeight, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
this, &DialogLayoutSettings::FindTemplate); &DialogLayoutSettings::FindTemplate);
connect(ui->doubleSpinBoxPaperWidth, QOverload<double>::of(&QDoubleSpinBox::valueChanged), connect(ui->doubleSpinBoxPaperWidth, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
this, &DialogLayoutSettings::CorrectMaxFileds); &DialogLayoutSettings::CorrectMaxFileds);
connect(ui->doubleSpinBoxPaperHeight, QOverload<double>::of(&QDoubleSpinBox::valueChanged), connect(ui->doubleSpinBoxPaperHeight, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this,
this, &DialogLayoutSettings::CorrectMaxFileds); &DialogLayoutSettings::CorrectMaxFileds);
connect(ui->checkBoxIgnoreFileds, &QCheckBox::stateChanged, this, &DialogLayoutSettings::IgnoreAllFields); connect(ui->checkBoxIgnoreFileds, &QCheckBox::stateChanged, this, &DialogLayoutSettings::IgnoreAllFields);
connect(ui->toolButtonPortrait, &QToolButton::toggled, this, &DialogLayoutSettings::Swap); connect(ui->toolButtonPortrait, &QToolButton::toggled, this, &DialogLayoutSettings::Swap);
connect(ui->toolButtonLandscape, &QToolButton::toggled, this, &DialogLayoutSettings::Swap); connect(ui->toolButtonLandscape, &QToolButton::toggled, this, &DialogLayoutSettings::Swap);
connect(ui->comboBoxLayoutUnit, QOverload<int>::of(&QComboBox::currentIndexChanged), connect(ui->comboBoxLayoutUnit, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
this, &DialogLayoutSettings::ConvertLayoutSize); &DialogLayoutSettings::ConvertLayoutSize);
QPushButton *bOk = ui->buttonBox->button(QDialogButtonBox::Ok); QPushButton *bOk = ui->buttonBox->button(QDialogButtonBox::Ok);
connect(bOk, &QPushButton::clicked, this, &DialogLayoutSettings::DialogAccepted); connect(bOk, &QPushButton::clicked, this, &DialogLayoutSettings::DialogAccepted);
@ -407,7 +407,7 @@ void DialogLayoutSettings::FindTemplate()
const Unit paperUnit = PaperUnit(); const Unit paperUnit = PaperUnit();
const int max = static_cast<int>(PaperSizeTemplate::Custom); const int max = static_cast<int>(PaperSizeTemplate::Custom);
for (int i=0; i < max; ++i) for (int i = 0; i < max; ++i)
{ {
const QSizeF tmplSize = GetTemplateSize(static_cast<PaperSizeTemplate>(i), paperUnit); const QSizeF tmplSize = GetTemplateSize(static_cast<PaperSizeTemplate>(i), paperUnit);
if (QSizeF(width, height) == tmplSize || QSizeF(height, width) == tmplSize) if (QSizeF(width, height) == tmplSize || QSizeF(height, width) == tmplSize)
@ -473,7 +473,7 @@ void DialogLayoutSettings::ConvertPaperSize()
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
auto DialogLayoutSettings::SelectPaperUnit(const QString& units) -> bool auto DialogLayoutSettings::SelectPaperUnit(const QString &units) -> bool
{ {
qint32 indexUnit = ui->comboBoxPaperSizeUnit->findData(units); qint32 indexUnit = ui->comboBoxPaperSizeUnit->findData(units);
if (indexUnit != -1) if (indexUnit != -1)
@ -509,15 +509,15 @@ auto DialogLayoutSettings::PageToPixels(qreal value) const -> qreal
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
auto DialogLayoutSettings::MakeGroupsHelp() -> QString auto DialogLayoutSettings::MakeGroupsHelp() -> QString
{ {
//that is REALLY dummy ... can't figure fast how to automate generation... :/ // that is REALLY dummy ... can't figure fast how to automate generation... :/
return tr("\n\tThree groups: big, middle, small = 0;\n\tTwo groups: big, small = 1;\n\tDescending area = 2"); return tr("\n\tThree groups: big, middle, small = 0;\n\tTwo groups: big, small = 1;\n\tDescending area = 2");
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
void DialogLayoutSettings::showEvent(QShowEvent *event) void DialogLayoutSettings::showEvent(QShowEvent *event)
{ {
VAbstractLayoutDialog::showEvent( event ); VAbstractLayoutDialog::showEvent(event);
if ( event->spontaneous() ) if (event->spontaneous())
{ {
return; return;
} }
@ -534,7 +534,7 @@ void DialogLayoutSettings::showEvent(QShowEvent *event)
resize(sz); resize(sz);
} }
m_isInitialized = true;//first show windows are held m_isInitialized = true; // first show windows are held
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
@ -585,7 +585,7 @@ void DialogLayoutSettings::PaperSizeChanged()
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
auto DialogLayoutSettings::SelectTemplate(const PaperSizeTemplate& id) -> bool auto DialogLayoutSettings::SelectTemplate(const PaperSizeTemplate &id) -> bool
{ {
int index = ui->comboBoxTemplates->findData(static_cast<VIndexType>(id)); int index = ui->comboBoxTemplates->findData(static_cast<VIndexType>(id));
if (index > -1) if (index > -1)
@ -657,7 +657,7 @@ void DialogLayoutSettings::DialogAccepted()
QMessageBox::StandardButton answer; QMessageBox::StandardButton answer;
answer = QMessageBox::question(this, tr("Wrong fields."), answer = QMessageBox::question(this, tr("Wrong fields."),
tr("Margins go beyond printing. \n\nApply settings anyway?"), tr("Margins go beyond printing. \n\nApply settings anyway?"),
QMessageBox::Yes|QMessageBox::No, QMessageBox::No); QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
if (answer == QMessageBox::No) if (answer == QMessageBox::No)
{ {
SetMinMargins(fields, minFields); SetMinMargins(fields, minFields);
@ -675,7 +675,7 @@ void DialogLayoutSettings::DialogAccepted()
} }
} }
//don't want to break visual settings when cmd used // don't want to break visual settings when cmd used
if (not m_disableSettings) if (not m_disableSettings)
{ {
WriteSettings(); WriteSettings();
@ -687,7 +687,7 @@ void DialogLayoutSettings::DialogAccepted()
void DialogLayoutSettings::RestoreDefaults() void DialogLayoutSettings::RestoreDefaults()
{ {
ui->comboBoxTemplates->blockSignals(true); ui->comboBoxTemplates->blockSignals(true);
ui->comboBoxTemplates->setCurrentIndex(0);//A0 ui->comboBoxTemplates->setCurrentIndex(0); // A0
TemplateSelected(); TemplateSelected();
ui->comboBoxTemplates->blockSignals(false); ui->comboBoxTemplates->blockSignals(false);
@ -734,8 +734,8 @@ void DialogLayoutSettings::CorrectMaxFileds()
const qreal height = ui->doubleSpinBoxPaperHeight->value(); const qreal height = ui->doubleSpinBoxPaperHeight->value();
// 80%/2 of paper size for each field // 80%/2 of paper size for each field
const qreal widthField = (width*80.0/100.0)/2.0; const qreal widthField = (width * 80.0 / 100.0) / 2.0;
const qreal heightField = (height*80.0/100.0)/2.0; const qreal heightField = (height * 80.0 / 100.0) / 2.0;
ui->doubleSpinBoxLeftField->setMaximum(widthField); ui->doubleSpinBoxLeftField->setMaximum(widthField);
ui->doubleSpinBoxRightField->setMaximum(widthField); ui->doubleSpinBoxRightField->setMaximum(widthField);
@ -762,8 +762,8 @@ void DialogLayoutSettings::InitPaperUnits()
// set default unit // set default unit
m_oldPaperUnit = StrToUnits(VAbstractValApplication::VApp()->ValentinaSettings()->GetUnit()); m_oldPaperUnit = StrToUnits(VAbstractValApplication::VApp()->ValentinaSettings()->GetUnit());
const qint32 indexUnit = ui->comboBoxPaperSizeUnit->findData( const qint32 indexUnit =
VAbstractValApplication::VApp()->ValentinaSettings()->GetUnit()); ui->comboBoxPaperSizeUnit->findData(VAbstractValApplication::VApp()->ValentinaSettings()->GetUnit());
if (indexUnit != -1) if (indexUnit != -1)
{ {
ui->comboBoxPaperSizeUnit->setCurrentIndex(indexUnit); ui->comboBoxPaperSizeUnit->setCurrentIndex(indexUnit);
@ -779,15 +779,14 @@ void DialogLayoutSettings::InitLayoutUnits()
// set default unit // set default unit
m_oldLayoutUnit = StrToUnits(VAbstractValApplication::VApp()->ValentinaSettings()->GetUnit()); m_oldLayoutUnit = StrToUnits(VAbstractValApplication::VApp()->ValentinaSettings()->GetUnit());
const qint32 indexUnit = ui->comboBoxLayoutUnit->findData( const qint32 indexUnit =
VAbstractValApplication::VApp()->ValentinaSettings()->GetUnit()); ui->comboBoxLayoutUnit->findData(VAbstractValApplication::VApp()->ValentinaSettings()->GetUnit());
if (indexUnit != -1) if (indexUnit != -1)
{ {
ui->comboBoxLayoutUnit->setCurrentIndex(indexUnit); ui->comboBoxLayoutUnit->setCurrentIndex(indexUnit);
} }
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
void DialogLayoutSettings::InitPrinter() void DialogLayoutSettings::InitPrinter()
{ {
@ -801,7 +800,7 @@ void DialogLayoutSettings::InitPrinter()
else else
{ {
const int index = ui->comboBoxPrinter->findText(QPrinterInfo::defaultPrinterName()); const int index = ui->comboBoxPrinter->findText(QPrinterInfo::defaultPrinterName());
if(index != -1) if (index != -1)
{ {
ui->comboBoxPrinter->setCurrentIndex(index); ui->comboBoxPrinter->setCurrentIndex(index);
} }
@ -816,17 +815,17 @@ auto DialogLayoutSettings::MakeHelpTemplateList() -> QString
auto cntr = static_cast<VIndexType>(PaperSizeTemplate::A0); auto cntr = static_cast<VIndexType>(PaperSizeTemplate::A0);
for (int i = 0; i < VAbstractLayoutDialog::PageFormatNames().size(); ++i) for (int i = 0; i < VAbstractLayoutDialog::PageFormatNames().size(); ++i)
{ {
if (cntr < static_cast<int>(PaperSizeTemplate::Custom))// Don't include custom template if (cntr < static_cast<int>(PaperSizeTemplate::Custom)) // Don't include custom template
{ {
out += "\t* "+VAbstractLayoutDialog::PageFormatNames().at(i)+" = "+ QString::number(cntr++); out += "\t* " + VAbstractLayoutDialog::PageFormatNames().at(i) + " = " + QString::number(cntr++);
if (i < VAbstractLayoutDialog::PageFormatNames().size() - 2) if (i < VAbstractLayoutDialog::PageFormatNames().size() - 2)
{ {
out += QLatin1String(",\n"); out += QLatin1String(",\n");
} }
else else
{ {
out += QLatin1String(".\n"); out += QLatin1String(".\n");
} }
} }
} }
@ -840,15 +839,15 @@ auto DialogLayoutSettings::MakeHelpTiledPdfTemplateList() -> QString
for (int i = 0; i <= static_cast<int>(PaperSizeTemplate::Tabloid); ++i) for (int i = 0; i <= static_cast<int>(PaperSizeTemplate::Tabloid); ++i)
{ {
out += "\t* "+VAbstractLayoutDialog::PageFormatNames().at(i)+" = "+ QString::number(i); out += "\t* " + VAbstractLayoutDialog::PageFormatNames().at(i) + " = " + QString::number(i);
if (i < static_cast<int>(PaperSizeTemplate::Tabloid)) if (i < static_cast<int>(PaperSizeTemplate::Tabloid))
{ {
out += QLatin1String(",\n"); out += QLatin1String(",\n");
} }
else else
{ {
out += QLatin1String(".\n"); out += QLatin1String(".\n");
} }
} }
return out; return out;
@ -1108,7 +1107,6 @@ void DialogLayoutSettings::SetMinMargins(const QMarginsF &fields, const QMargins
if (fields.bottom() < minFields.bottom()) if (fields.bottom() < minFields.bottom())
{ {
ui->doubleSpinBoxBottomField->setValue(UnitConvertor(minFields.bottom(), Unit::Px, ui->doubleSpinBoxBottomField->setValue(UnitConvertor(minFields.bottom(), Unit::Px, LayoutUnit()));
LayoutUnit()));
} }
} }

View file

@ -39,119 +39,119 @@
#include "../vmisc/diagnostic.h" #include "../vmisc/diagnostic.h"
#endif // QT_VERSION < QT_VERSION_CHECK(5, 5, 0) #endif // QT_VERSION < QT_VERSION_CHECK(5, 5, 0)
const QString CustomMSign = QStringLiteral("@"); const QString CustomMSign = QStringLiteral("@");
const QString CustomIncrSign = QStringLiteral("#"); const QString CustomIncrSign = QStringLiteral("#");
const QString AttrType = QStringLiteral("type"); const QString AttrType = QStringLiteral("type");
const QString AttrMx = QStringLiteral("mx"); const QString AttrMx = QStringLiteral("mx");
const QString AttrMy = QStringLiteral("my"); const QString AttrMy = QStringLiteral("my");
const QString AttrName = QStringLiteral("name"); const QString AttrName = QStringLiteral("name");
const QString AttrShortName = QStringLiteral("shortName"); const QString AttrShortName = QStringLiteral("shortName");
const QString AttrUUID = QStringLiteral("uuid"); const QString AttrUUID = QStringLiteral("uuid");
const QString AttrGradationLabel = QStringLiteral("gradationLabel"); const QString AttrGradationLabel = QStringLiteral("gradationLabel");
const QString AttrMx1 = QStringLiteral("mx1"); const QString AttrMx1 = QStringLiteral("mx1");
const QString AttrMy1 = QStringLiteral("my1"); const QString AttrMy1 = QStringLiteral("my1");
const QString AttrName1 = QStringLiteral("name1"); const QString AttrName1 = QStringLiteral("name1");
const QString AttrMx2 = QStringLiteral("mx2"); const QString AttrMx2 = QStringLiteral("mx2");
const QString AttrMy2 = QStringLiteral("my2"); const QString AttrMy2 = QStringLiteral("my2");
const QString AttrName2 = QStringLiteral("name2"); const QString AttrName2 = QStringLiteral("name2");
const QString AttrBaseLineP1 = QStringLiteral("baseLineP1"); const QString AttrBaseLineP1 = QStringLiteral("baseLineP1");
const QString AttrBaseLineP2 = QStringLiteral("baseLineP2"); const QString AttrBaseLineP2 = QStringLiteral("baseLineP2");
const QString AttrDartP1 = QStringLiteral("dartP1"); const QString AttrDartP1 = QStringLiteral("dartP1");
const QString AttrDartP2 = QStringLiteral("dartP2"); const QString AttrDartP2 = QStringLiteral("dartP2");
const QString AttrDartP3 = QStringLiteral("dartP3"); const QString AttrDartP3 = QStringLiteral("dartP3");
const QString AttrX = QStringLiteral("x"); const QString AttrX = QStringLiteral("x");
const QString AttrY = QStringLiteral("y"); const QString AttrY = QStringLiteral("y");
const QString AttrTypeLine = QStringLiteral("typeLine"); const QString AttrTypeLine = QStringLiteral("typeLine");
const QString AttrCut = QStringLiteral("cut"); const QString AttrCut = QStringLiteral("cut");
const QString AttrLength = QStringLiteral("length"); const QString AttrLength = QStringLiteral("length");
const QString AttrBasePoint = QStringLiteral("basePoint"); const QString AttrBasePoint = QStringLiteral("basePoint");
const QString AttrFirstPoint = QStringLiteral("firstPoint"); const QString AttrFirstPoint = QStringLiteral("firstPoint");
const QString AttrSecondPoint = QStringLiteral("secondPoint"); const QString AttrSecondPoint = QStringLiteral("secondPoint");
const QString AttrThirdPoint = QStringLiteral("thirdPoint"); const QString AttrThirdPoint = QStringLiteral("thirdPoint");
const QString AttrCenter = QStringLiteral("center"); const QString AttrCenter = QStringLiteral("center");
const QString AttrRadius = QStringLiteral("radius"); const QString AttrRadius = QStringLiteral("radius");
const QString AttrRadius1 = QStringLiteral("radius1"); const QString AttrRadius1 = QStringLiteral("radius1");
const QString AttrRadius2 = QStringLiteral("radius2"); const QString AttrRadius2 = QStringLiteral("radius2");
const QString AttrAngle = QStringLiteral("angle"); const QString AttrAngle = QStringLiteral("angle");
const QString AttrAngle1 = QStringLiteral("angle1"); const QString AttrAngle1 = QStringLiteral("angle1");
const QString AttrAngle2 = QStringLiteral("angle2"); const QString AttrAngle2 = QStringLiteral("angle2");
const QString AttrLength1 = QStringLiteral("length1"); const QString AttrLength1 = QStringLiteral("length1");
const QString AttrLength2 = QStringLiteral("length2"); const QString AttrLength2 = QStringLiteral("length2");
const QString AttrP1Line = QStringLiteral("p1Line"); const QString AttrP1Line = QStringLiteral("p1Line");
const QString AttrP2Line = QStringLiteral("p2Line"); const QString AttrP2Line = QStringLiteral("p2Line");
const QString AttrP1Line1 = QStringLiteral("p1Line1"); const QString AttrP1Line1 = QStringLiteral("p1Line1");
const QString AttrP2Line1 = QStringLiteral("p2Line1"); const QString AttrP2Line1 = QStringLiteral("p2Line1");
const QString AttrP1Line2 = QStringLiteral("p1Line2"); const QString AttrP1Line2 = QStringLiteral("p1Line2");
const QString AttrP2Line2 = QStringLiteral("p2Line2"); const QString AttrP2Line2 = QStringLiteral("p2Line2");
const QString AttrPShoulder = QStringLiteral("pShoulder"); const QString AttrPShoulder = QStringLiteral("pShoulder");
const QString AttrPoint1 = QStringLiteral("point1"); const QString AttrPoint1 = QStringLiteral("point1");
const QString AttrPoint2 = QStringLiteral("point2"); const QString AttrPoint2 = QStringLiteral("point2");
const QString AttrPoint3 = QStringLiteral("point3"); const QString AttrPoint3 = QStringLiteral("point3");
const QString AttrPoint4 = QStringLiteral("point4"); const QString AttrPoint4 = QStringLiteral("point4");
const QString AttrKAsm1 = QStringLiteral("kAsm1"); const QString AttrKAsm1 = QStringLiteral("kAsm1");
const QString AttrKAsm2 = QStringLiteral("kAsm2"); const QString AttrKAsm2 = QStringLiteral("kAsm2");
const QString AttrKCurve = QStringLiteral("kCurve"); const QString AttrKCurve = QStringLiteral("kCurve");
const QString AttrDuplicate = QStringLiteral("duplicate"); const QString AttrDuplicate = QStringLiteral("duplicate");
const QString AttrAScale = QStringLiteral("aScale"); const QString AttrAScale = QStringLiteral("aScale");
const QString AttrPathPoint = QStringLiteral("pathPoint"); const QString AttrPathPoint = QStringLiteral("pathPoint");
const QString AttrPSpline = QStringLiteral("pSpline"); const QString AttrPSpline = QStringLiteral("pSpline");
const QString AttrAxisP1 = QStringLiteral("axisP1"); const QString AttrAxisP1 = QStringLiteral("axisP1");
const QString AttrAxisP2 = QStringLiteral("axisP2"); const QString AttrAxisP2 = QStringLiteral("axisP2");
const QString AttrCurve = QStringLiteral("curve"); const QString AttrCurve = QStringLiteral("curve");
const QString AttrCurve1 = QStringLiteral("curve1"); const QString AttrCurve1 = QStringLiteral("curve1");
const QString AttrCurve2 = QStringLiteral("curve2"); const QString AttrCurve2 = QStringLiteral("curve2");
const QString AttrLineColor = QStringLiteral("lineColor"); const QString AttrLineColor = QStringLiteral("lineColor");
const QString AttrColor = QStringLiteral("color"); const QString AttrColor = QStringLiteral("color");
const QString AttrPenStyle = QStringLiteral("penStyle"); const QString AttrPenStyle = QStringLiteral("penStyle");
const QString AttrFirstArc = QStringLiteral("firstArc"); const QString AttrFirstArc = QStringLiteral("firstArc");
const QString AttrSecondArc = QStringLiteral("secondArc"); const QString AttrSecondArc = QStringLiteral("secondArc");
const QString AttrCrossPoint = QStringLiteral("crossPoint"); const QString AttrCrossPoint = QStringLiteral("crossPoint");
const QString AttrVCrossPoint = QStringLiteral("vCrossPoint"); const QString AttrVCrossPoint = QStringLiteral("vCrossPoint");
const QString AttrHCrossPoint = QStringLiteral("hCrossPoint"); const QString AttrHCrossPoint = QStringLiteral("hCrossPoint");
const QString AttrAxisType = QStringLiteral("axisType"); const QString AttrAxisType = QStringLiteral("axisType");
const QString AttrC1Center = QStringLiteral("c1Center"); const QString AttrC1Center = QStringLiteral("c1Center");
const QString AttrC2Center = QStringLiteral("c2Center"); const QString AttrC2Center = QStringLiteral("c2Center");
const QString AttrC1Radius = QStringLiteral("c1Radius"); const QString AttrC1Radius = QStringLiteral("c1Radius");
const QString AttrC2Radius = QStringLiteral("c2Radius"); const QString AttrC2Radius = QStringLiteral("c2Radius");
const QString AttrCCenter = QStringLiteral("cCenter"); const QString AttrCCenter = QStringLiteral("cCenter");
const QString AttrTangent = QStringLiteral("tangent"); const QString AttrTangent = QStringLiteral("tangent");
const QString AttrCRadius = QStringLiteral("cRadius"); const QString AttrCRadius = QStringLiteral("cRadius");
const QString AttrArc = QStringLiteral("arc"); const QString AttrArc = QStringLiteral("arc");
const QString AttrSuffix = QStringLiteral("suffix"); const QString AttrSuffix = QStringLiteral("suffix");
const QString AttrItem = QStringLiteral("item"); const QString AttrItem = QStringLiteral("item");
const QString AttrIdObject = QStringLiteral("idObject"); const QString AttrIdObject = QStringLiteral("idObject");
const QString AttrInLayout = QStringLiteral("inLayout"); const QString AttrInLayout = QStringLiteral("inLayout");
const QString AttrForbidFlipping = QStringLiteral("forbidFlipping"); const QString AttrForbidFlipping = QStringLiteral("forbidFlipping");
const QString AttrForceFlipping = QStringLiteral("forceFlipping"); const QString AttrForceFlipping = QStringLiteral("forceFlipping");
const QString AttrSewLineOnDrawing = QStringLiteral("sewLineOnDrawing"); const QString AttrSewLineOnDrawing = QStringLiteral("sewLineOnDrawing");
const QString AttrRotationAngle = QStringLiteral("rotationAngle"); const QString AttrRotationAngle = QStringLiteral("rotationAngle");
const QString AttrClosed = QStringLiteral("closed"); const QString AttrClosed = QStringLiteral("closed");
const QString AttrShowLabel = QStringLiteral("showLabel"); const QString AttrShowLabel = QStringLiteral("showLabel");
const QString AttrShowLabel1 = QStringLiteral("showLabel1"); const QString AttrShowLabel1 = QStringLiteral("showLabel1");
const QString AttrShowLabel2 = QStringLiteral("showLabel2"); const QString AttrShowLabel2 = QStringLiteral("showLabel2");
const QString AttrWidth = QStringLiteral("width"); const QString AttrWidth = QStringLiteral("width");
const QString AttrHeight = QStringLiteral("height"); const QString AttrHeight = QStringLiteral("height");
const QString AttrPlaceLabelType = QStringLiteral("placeLabelType"); const QString AttrPlaceLabelType = QStringLiteral("placeLabelType");
const QString AttrVersion = QStringLiteral("version"); const QString AttrVersion = QStringLiteral("version");
const QString AttrFirstToContour = QStringLiteral("firstToContour"); const QString AttrFirstToContour = QStringLiteral("firstToContour");
const QString AttrLastToContour = QStringLiteral("lastToContour"); const QString AttrLastToContour = QStringLiteral("lastToContour");
const QString AttrNotes = QStringLiteral("notes"); const QString AttrNotes = QStringLiteral("notes");
const QString AttrAlias = QStringLiteral("alias"); const QString AttrAlias = QStringLiteral("alias");
const QString AttrAlias1 = QStringLiteral("alias1"); const QString AttrAlias1 = QStringLiteral("alias1");
const QString AttrAlias2 = QStringLiteral("alias2"); const QString AttrAlias2 = QStringLiteral("alias2");
const QString AttrCurve1Alias1 = QStringLiteral("curve1Alias1"); const QString AttrCurve1Alias1 = QStringLiteral("curve1Alias1");
const QString AttrCurve1Alias2 = QStringLiteral("curve1Alias2"); const QString AttrCurve1Alias2 = QStringLiteral("curve1Alias2");
const QString AttrCurve2Alias1 = QStringLiteral("curve2Alias1"); const QString AttrCurve2Alias1 = QStringLiteral("curve2Alias1");
const QString AttrCurve2Alias2 = QStringLiteral("curve2Alias2"); const QString AttrCurve2Alias2 = QStringLiteral("curve2Alias2");
const QString AttrLayoutVersion = QStringLiteral("version"); const QString AttrLayoutVersion = QStringLiteral("version");
const QString TypeLineDefault = QStringLiteral("default"); const QString TypeLineDefault = QStringLiteral("default");
const QString TypeLineNone = QStringLiteral("none"); const QString TypeLineNone = QStringLiteral("none");
const QString TypeLineLine = QStringLiteral("hair"); const QString TypeLineLine = QStringLiteral("hair");
const QString TypeLineDashLine = QStringLiteral("dashLine"); const QString TypeLineDashLine = QStringLiteral("dashLine");
const QString TypeLineDotLine = QStringLiteral("dotLine"); const QString TypeLineDotLine = QStringLiteral("dotLine");
const QString TypeLineDashDotLine = QStringLiteral("dashDotLine"); const QString TypeLineDashDotLine = QStringLiteral("dashDotLine");
const QString TypeLineDashDotDotLine = QStringLiteral("dashDotDotLine"); const QString TypeLineDashDotDotLine = QStringLiteral("dashDotDotLine");
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
@ -161,14 +161,7 @@ const QString TypeLineDashDotDotLine = QStringLiteral("dashDotDotLine");
*/ */
auto StylesList() -> QStringList auto StylesList() -> QStringList
{ {
return QStringList{ return {TypeLineNone, TypeLineLine, TypeLineDashLine, TypeLineDotLine, TypeLineDashDotLine, TypeLineDashDotDotLine};
TypeLineNone,
TypeLineLine,
TypeLineDashLine,
TypeLineDotLine,
TypeLineDashDotLine,
TypeLineDashDotDotLine
};
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
@ -261,61 +254,61 @@ auto CurvePenStylesPics() -> QMap<QString, QIcon>
return map; return map;
} }
const QString ColorDefault = QStringLiteral("default"); const QString ColorDefault = QStringLiteral("default");
const QString ColorBlack = QStringLiteral("black"); const QString ColorBlack = QStringLiteral("black");
const QString ColorGreen = QStringLiteral("green"); const QString ColorGreen = QStringLiteral("green");
const QString ColorBlue = QStringLiteral("blue"); const QString ColorBlue = QStringLiteral("blue");
const QString ColorDarkRed = QStringLiteral("darkRed"); const QString ColorDarkRed = QStringLiteral("darkRed");
const QString ColorDarkGreen = QStringLiteral("darkGreen"); const QString ColorDarkGreen = QStringLiteral("darkGreen");
const QString ColorDarkBlue = QStringLiteral("darkBlue"); const QString ColorDarkBlue = QStringLiteral("darkBlue");
const QString ColorYellow = QStringLiteral("yellow"); const QString ColorYellow = QStringLiteral("yellow");
const QString ColorLightSalmon = QStringLiteral("lightsalmon"); const QString ColorLightSalmon = QStringLiteral("lightsalmon");
const QString ColorGoldenRod = QStringLiteral("goldenrod"); const QString ColorGoldenRod = QStringLiteral("goldenrod");
const QString ColorOrange = QStringLiteral("orange"); const QString ColorOrange = QStringLiteral("orange");
const QString ColorDeepPink = QStringLiteral("deeppink"); const QString ColorDeepPink = QStringLiteral("deeppink");
const QString ColorViolet = QStringLiteral("violet"); const QString ColorViolet = QStringLiteral("violet");
const QString ColorDarkViolet = QStringLiteral("darkviolet"); const QString ColorDarkViolet = QStringLiteral("darkviolet");
const QString ColorMediumSeaGreen = QStringLiteral("mediumseagreen"); const QString ColorMediumSeaGreen = QStringLiteral("mediumseagreen");
const QString ColorLime = QStringLiteral("lime"); const QString ColorLime = QStringLiteral("lime");
const QString ColorDeepSkyBlue = QStringLiteral("deepskyblue"); const QString ColorDeepSkyBlue = QStringLiteral("deepskyblue");
const QString ColorCornFlowerBlue = QStringLiteral("cornflowerblue"); const QString ColorCornFlowerBlue = QStringLiteral("cornflowerblue");
//variables // variables
const QString measurement_ = QStringLiteral("M_"); const QString measurement_ = QStringLiteral("M_");
const QString increment_ = QStringLiteral("Increment_"); const QString increment_ = QStringLiteral("Increment_");
const QString line_ = QStringLiteral("Line_"); const QString line_ = QStringLiteral("Line_");
const QString angleLine_ = QStringLiteral("AngleLine_"); const QString angleLine_ = QStringLiteral("AngleLine_");
const QString spl_ = QStringLiteral(SPL_); const QString spl_ = QStringLiteral(SPL_);
const QString arc_ = QStringLiteral(ARC_); const QString arc_ = QStringLiteral(ARC_);
const QString elarc_ = QStringLiteral(ELARC_); const QString elarc_ = QStringLiteral(ELARC_);
const QString splPath = QStringLiteral("SplPath"); const QString splPath = QStringLiteral("SplPath");
const QString radius_V = QStringLiteral("Radius"); const QString radius_V = QStringLiteral("Radius");
const QString radiusArc_ = radius_V + arc_; const QString radiusArc_ = radius_V + arc_;
const QString radius1ElArc_ = radius_V + QLatin1Char('1') + elarc_; const QString radius1ElArc_ = radius_V + QLatin1Char('1') + elarc_;
const QString radius2ElArc_ = radius_V + QLatin1Char('2') + elarc_; const QString radius2ElArc_ = radius_V + QLatin1Char('2') + elarc_;
const QString angle1_V = QStringLiteral("Angle1"); const QString angle1_V = QStringLiteral("Angle1");
const QString angle2_V = QStringLiteral("Angle2"); const QString angle2_V = QStringLiteral("Angle2");
const QString c1Length_V = QStringLiteral("C1Length"); const QString c1Length_V = QStringLiteral("C1Length");
const QString c2Length_V = QStringLiteral("C2Length"); const QString c2Length_V = QStringLiteral("C2Length");
const QString c1LengthSpl_ = c1Length_V + spl_; const QString c1LengthSpl_ = c1Length_V + spl_;
const QString c2LengthSpl_ = c2Length_V + spl_; const QString c2LengthSpl_ = c2Length_V + spl_;
const QString c1LengthSplPath = c1Length_V + splPath; const QString c1LengthSplPath = c1Length_V + splPath;
const QString c2LengthSplPath = c2Length_V + splPath; const QString c2LengthSplPath = c2Length_V + splPath;
const QString angle1Arc_ = angle1_V + arc_; const QString angle1Arc_ = angle1_V + arc_;
const QString angle2Arc_ = angle2_V + arc_; const QString angle2Arc_ = angle2_V + arc_;
const QString angle1ElArc_ = angle1_V + elarc_; const QString angle1ElArc_ = angle1_V + elarc_;
const QString angle2ElArc_ = angle2_V + elarc_; const QString angle2ElArc_ = angle2_V + elarc_;
const QString angle1Spl_ = angle1_V + spl_; const QString angle1Spl_ = angle1_V + spl_;
const QString angle2Spl_ = angle2_V + spl_; const QString angle2Spl_ = angle2_V + spl_;
const QString angle1SplPath = angle1_V + splPath; const QString angle1SplPath = angle1_V + splPath;
const QString angle2SplPath = angle2_V + splPath; const QString angle2SplPath = angle2_V + splPath;
const QString seg_ = QStringLiteral("Seg_"); const QString seg_ = QStringLiteral("Seg_");
const QString currentLength = QStringLiteral("CurrentLength"); const QString currentLength = QStringLiteral("CurrentLength");
const QString currentSeamAllowance = QStringLiteral("CurrentSeamAllowance"); const QString currentSeamAllowance = QStringLiteral("CurrentSeamAllowance");
const QString rotation_V = QStringLiteral("Rotation"); const QString rotation_V = QStringLiteral("Rotation");
const QString rotationElArc_ = rotation_V + elarc_; const QString rotationElArc_ = rotation_V + elarc_;
const QString pieceArea_ = QStringLiteral("PieceArea_"); const QString pieceArea_ = QStringLiteral("PieceArea_");
const QString pieceSeamLineArea_ = QStringLiteral("PieceSeamLineArea_"); const QString pieceSeamLineArea_ = QStringLiteral("PieceSeamLineArea_");
auto BuilInVariables() -> QStringList auto BuilInVariables() -> QStringList
{ {

View file

@ -32,7 +32,7 @@
#include <QtGlobal> #include <QtGlobal>
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
// extern Q_CORE_EXPORT int qt_ntfs_permission_lookup; // extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;
# include <qt_windows.h> #include <qt_windows.h>
#endif /*Q_OS_WIN*/ #endif /*Q_OS_WIN*/
#include <QColor> #include <QColor>
@ -40,8 +40,8 @@
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include "../vmisc/typedef.h"
#include "../vmisc/def.h" #include "../vmisc/def.h"
#include "../vmisc/typedef.h"
#if QT_VERSION < QT_VERSION_CHECK(5, 5, 0) #if QT_VERSION < QT_VERSION_CHECK(5, 5, 0)
#include "../vmisc/diagnostic.h" #include "../vmisc/diagnostic.h"
#endif // QT_VERSION < QT_VERSION_CHECK(5, 5, 0) #endif // QT_VERSION < QT_VERSION_CHECK(5, 5, 0)
@ -50,19 +50,19 @@ extern const QString CustomMSign;
extern const QString CustomIncrSign; extern const QString CustomIncrSign;
// Detect whether the compiler supports C++11 noexcept exception specifications. // Detect whether the compiler supports C++11 noexcept exception specifications.
# if defined(__clang__) #if defined(__clang__)
# if __has_feature(cxx_noexcept) #if __has_feature(cxx_noexcept)
# define V_NOEXCEPT_EXPR(x) noexcept(x) // Clang 3.0 and above have noexcept #define V_NOEXCEPT_EXPR(x) noexcept(x) // Clang 3.0 and above have noexcept
# endif #endif
# elif defined(__GNUC__) #elif defined(__GNUC__)
# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__GXX_EXPERIMENTAL_CXX0X__) #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__GXX_EXPERIMENTAL_CXX0X__)
# define V_NOEXCEPT_EXPR(x) noexcept(x) // GCC 4.7 and following have noexcept #define V_NOEXCEPT_EXPR(x) noexcept(x) // GCC 4.7 and following have noexcept
# endif #endif
# elif defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 190023026 #elif defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 190023026
# define V_NOEXCEPT_EXPR(x) noexcept(x) // Visual Studio 2015 and following have noexcept #define V_NOEXCEPT_EXPR(x) noexcept(x) // Visual Studio 2015 and following have noexcept
# else #else
# define V_NOEXCEPT_EXPR(x) #define V_NOEXCEPT_EXPR(x)
# endif #endif
extern const QString AttrType; extern const QString AttrType;
extern const QString AttrMx; extern const QString AttrMx;
@ -112,9 +112,9 @@ extern const QString AttrPoint1;
extern const QString AttrPoint2; extern const QString AttrPoint2;
extern const QString AttrPoint3; extern const QString AttrPoint3;
extern const QString AttrPoint4; extern const QString AttrPoint4;
extern const QString AttrKAsm1;// TODO. Delete if minimal supported version is 0.2.7 extern const QString AttrKAsm1; // TODO. Delete if minimal supported version is 0.2.7
extern const QString AttrKAsm2;// TODO. Delete if minimal supported version is 0.2.7 extern const QString AttrKAsm2; // TODO. Delete if minimal supported version is 0.2.7
extern const QString AttrKCurve;// TODO. Delete if minimal supported version is 0.2.7 extern const QString AttrKCurve; // TODO. Delete if minimal supported version is 0.2.7
extern const QString AttrDuplicate; extern const QString AttrDuplicate;
extern const QString AttrAScale; extern const QString AttrAScale;
extern const QString AttrPathPoint; extern const QString AttrPathPoint;
@ -202,7 +202,6 @@ extern const QString ColorLime;
extern const QString ColorDeepSkyBlue; extern const QString ColorDeepSkyBlue;
extern const QString ColorCornFlowerBlue; extern const QString ColorCornFlowerBlue;
// variables name // variables name
// Hacks for avoiding the linker error "undefined reference to" // Hacks for avoiding the linker error "undefined reference to"
#define SPL_ "Spl_" #define SPL_ "Spl_"
@ -253,25 +252,25 @@ QT_WARNING_DISABLE_GCC("-Weffc++")
struct VLabelTemplateLine struct VLabelTemplateLine
{ {
QString line; QString line;
bool bold; bool bold;
bool italic; bool italic;
int alignment; int alignment;
int fontSizeIncrement; int fontSizeIncrement;
}; };
struct VWatermarkData struct VWatermarkData
{ {
int opacity{20}; int opacity{20};
bool showText{true}; bool showText{true};
QString text{}; QString text{};
int textRotation{0}; int textRotation{0};
QFont font{}; QFont font{};
bool showImage{true}; bool showImage{true};
QString path{}; QString path{};
int imageRotation{0}; int imageRotation{0};
bool grayscale{false}; bool grayscale{false};
bool invalidFile{false}; bool invalidFile{false};
QColor textColor{Qt::black}; QColor textColor{Qt::black};
}; };
QT_WARNING_POP QT_WARNING_POP

View file

@ -2039,7 +2039,7 @@ auto VAbstractPattern::ListFinalMeasurementsExpressions() const -> QVector<VForm
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
auto VAbstractPattern::IsVariable(const QString &token) const -> bool auto VAbstractPattern::IsVariable(const QString &token) -> bool
{ {
for (const auto &var : BuilInVariables()) for (const auto &var : BuilInVariables())
{ {
@ -2054,16 +2054,11 @@ auto VAbstractPattern::IsVariable(const QString &token) const -> bool
} }
} }
if (token.startsWith('#')) return token.startsWith('#');
{
return true;
}
return false;
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
auto VAbstractPattern::IsFunction(const QString &token) const -> bool auto VAbstractPattern::IsFunction(const QString &token) -> bool
{ {
for (const auto &fn : BuilInFunctions()) for (const auto &fn : BuilInFunctions())
{ {

View file

@ -538,8 +538,8 @@ private:
auto ListPieceExpressions() const -> QVector<VFormulaField>; auto ListPieceExpressions() const -> QVector<VFormulaField>;
auto ListFinalMeasurementsExpressions() const -> QVector<VFormulaField>; auto ListFinalMeasurementsExpressions() const -> QVector<VFormulaField>;
auto IsVariable(const QString &token) const -> bool; static auto IsVariable(const QString &token) -> bool;
auto IsFunction(const QString &token) const -> bool; static auto IsFunction(const QString &token) -> bool;
auto ParseItemElement(const QDomElement &domElement) -> QPair<bool, QMap<quint32, quint32>>; auto ParseItemElement(const QDomElement &domElement) -> QPair<bool, QMap<quint32, quint32>>;

File diff suppressed because it is too large Load diff

View file

@ -71,7 +71,7 @@ class QMUPARSERSHARED_EXPORT QmuParserBase
public: public:
QmuParserBase(); QmuParserBase();
explicit QmuParserBase(const QmuParserBase &a_Parser); QmuParserBase(const QmuParserBase &a_Parser);
auto operator=(const QmuParserBase &a_Parser) -> QmuParserBase &; auto operator=(const QmuParserBase &a_Parser) -> QmuParserBase &;
virtual ~QmuParserBase(); virtual ~QmuParserBase();

View file

@ -27,132 +27,104 @@
namespace qmu namespace qmu
{ {
const QmuParserErrorMsg QmuParserErrorMsg::m_Instance;
//---------------------------------------------------------------------------------------------------------------------
QmuParserErrorMsg::~QmuParserErrorMsg()
{}
#define translate(context, source, disambiguation) QmuTranslation::translate((context), (source), (disambiguation)) #define translate(context, source, disambiguation) QmuTranslation::translate((context), (source), (disambiguation))
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
QmuParserErrorMsg::QmuParserErrorMsg() QmuParserErrorMsg::QmuParserErrorMsg()
: m_vErrMsg ()
{ {
m_vErrMsg.clear();
m_vErrMsg.insert(ecUNASSIGNABLE_TOKEN, m_vErrMsg.insert(ecUNASSIGNABLE_TOKEN,
translate("QmuParserErrorMsg", "Unexpected token \"$TOK$\" found at position $POS$.", translate("QmuParserErrorMsg", "Unexpected token \"$TOK$\" found at position $POS$.",
"Math parser error messages. Left untouched \"$TOK$\" and $POS$")); "Math parser error messages. Left untouched \"$TOK$\" and $POS$"));
m_vErrMsg.insert(ecINTERNAL_ERROR, m_vErrMsg.insert(ecINTERNAL_ERROR, translate("QmuParserErrorMsg", "Internal error", "Math parser error messages."));
translate("QmuParserErrorMsg", "Internal error",
"Math parser error messages."));
m_vErrMsg.insert(ecINVALID_NAME, m_vErrMsg.insert(ecINVALID_NAME,
translate("QmuParserErrorMsg", "Invalid function-, variable- or constant name: \"$TOK$\".", translate("QmuParserErrorMsg", "Invalid function-, variable- or constant name: \"$TOK$\".",
"Math parser error messages. Left untouched \"$TOK$\"")); "Math parser error messages. Left untouched \"$TOK$\""));
m_vErrMsg.insert(ecINVALID_BINOP_IDENT, m_vErrMsg.insert(ecINVALID_BINOP_IDENT,
translate("QmuParserErrorMsg", "Invalid binary operator identifier: \"$TOK$\".", translate("QmuParserErrorMsg", "Invalid binary operator identifier: \"$TOK$\".",
"Math parser error messages. Left untouched \"$TOK$\"")); "Math parser error messages. Left untouched \"$TOK$\""));
m_vErrMsg.insert(ecINVALID_INFIX_IDENT, m_vErrMsg.insert(ecINVALID_INFIX_IDENT,
translate("QmuParserErrorMsg", "Invalid infix operator identifier: \"$TOK$\".", translate("QmuParserErrorMsg", "Invalid infix operator identifier: \"$TOK$\".",
"Math parser error messages. Left untouched \"$TOK$\"")); "Math parser error messages. Left untouched \"$TOK$\""));
m_vErrMsg.insert(ecINVALID_POSTFIX_IDENT, m_vErrMsg.insert(ecINVALID_POSTFIX_IDENT,
translate("QmuParserErrorMsg", "Invalid postfix operator identifier: \"$TOK$\".", translate("QmuParserErrorMsg", "Invalid postfix operator identifier: \"$TOK$\".",
"Math parser error messages. Left untouched \"$TOK$\"")); "Math parser error messages. Left untouched \"$TOK$\""));
m_vErrMsg.insert(ecINVALID_FUN_PTR, m_vErrMsg.insert(ecINVALID_FUN_PTR, translate("QmuParserErrorMsg", "Invalid pointer to callback function.",
translate("QmuParserErrorMsg", "Invalid pointer to callback function.", "Math parser error messages."));
"Math parser error messages."));
m_vErrMsg.insert(ecEMPTY_EXPRESSION, m_vErrMsg.insert(ecEMPTY_EXPRESSION,
translate("QmuParserErrorMsg", "Expression is empty.", translate("QmuParserErrorMsg", "Expression is empty.", "Math parser error messages."));
"Math parser error messages."));
m_vErrMsg.insert(ecINVALID_VAR_PTR, m_vErrMsg.insert(ecINVALID_VAR_PTR,
translate("QmuParserErrorMsg", "Invalid pointer to variable.", translate("QmuParserErrorMsg", "Invalid pointer to variable.", "Math parser error messages."));
"Math parser error messages."));
m_vErrMsg.insert(ecUNEXPECTED_OPERATOR, m_vErrMsg.insert(ecUNEXPECTED_OPERATOR,
translate("QmuParserErrorMsg", "Unexpected operator \"$TOK$\" found at position $POS$", translate("QmuParserErrorMsg", "Unexpected operator \"$TOK$\" found at position $POS$",
"Math parser error messages. Left untouched \"$TOK$\" and $POS$")); "Math parser error messages. Left untouched \"$TOK$\" and $POS$"));
m_vErrMsg.insert(ecUNEXPECTED_EOF, m_vErrMsg.insert(ecUNEXPECTED_EOF, translate("QmuParserErrorMsg", "Unexpected end of expression at position $POS$",
translate("QmuParserErrorMsg", "Unexpected end of expression at position $POS$", "Math parser error messages. Left untouched $POS$"));
"Math parser error messages. Left untouched $POS$"));
m_vErrMsg.insert(ecUNEXPECTED_ARG_SEP, m_vErrMsg.insert(ecUNEXPECTED_ARG_SEP,
translate("QmuParserErrorMsg", "Unexpected argument separator at position $POS$", translate("QmuParserErrorMsg", "Unexpected argument separator at position $POS$",
"Math parser error messages. Left untouched $POS$")); "Math parser error messages. Left untouched $POS$"));
m_vErrMsg.insert(ecUNEXPECTED_PARENS, m_vErrMsg.insert(ecUNEXPECTED_PARENS,
translate("QmuParserErrorMsg", "Unexpected parenthesis \"$TOK$\" at position $POS$", translate("QmuParserErrorMsg", "Unexpected parenthesis \"$TOK$\" at position $POS$",
"Math parser error messages. Left untouched \"$TOK$\" and $POS$")); "Math parser error messages. Left untouched \"$TOK$\" and $POS$"));
m_vErrMsg.insert(ecUNEXPECTED_FUN, m_vErrMsg.insert(ecUNEXPECTED_FUN, translate("QmuParserErrorMsg", "Unexpected function \"$TOK$\" at position $POS$",
translate("QmuParserErrorMsg", "Unexpected function \"$TOK$\" at position $POS$", "Math parser error messages. Left untouched \"$TOK$\" and $POS$"));
"Math parser error messages. Left untouched \"$TOK$\" and $POS$"));
m_vErrMsg.insert(ecUNEXPECTED_VAL, m_vErrMsg.insert(ecUNEXPECTED_VAL,
translate("QmuParserErrorMsg", "Unexpected value \"$TOK$\" found at position $POS$", translate("QmuParserErrorMsg", "Unexpected value \"$TOK$\" found at position $POS$",
"Math parser error messages. Left untouched \"$TOK$\" and $POS$")); "Math parser error messages. Left untouched \"$TOK$\" and $POS$"));
m_vErrMsg.insert(ecUNEXPECTED_VAR, m_vErrMsg.insert(ecUNEXPECTED_VAR,
translate("QmuParserErrorMsg", "Unexpected variable \"$TOK$\" found at position $POS$", translate("QmuParserErrorMsg", "Unexpected variable \"$TOK$\" found at position $POS$",
"Math parser error messages. Left untouched \"$TOK$\" and $POS$")); "Math parser error messages. Left untouched \"$TOK$\" and $POS$"));
m_vErrMsg.insert(ecUNEXPECTED_ARG, m_vErrMsg.insert(ecUNEXPECTED_ARG,
translate("QmuParserErrorMsg", "Function arguments used without a function (position: $POS$)", translate("QmuParserErrorMsg", "Function arguments used without a function (position: $POS$)",
"Math parser error messages. Left untouched $POS$")); "Math parser error messages. Left untouched $POS$"));
m_vErrMsg.insert(ecMISSING_PARENS, m_vErrMsg.insert(ecMISSING_PARENS,
translate("QmuParserErrorMsg", "Missing parenthesis", translate("QmuParserErrorMsg", "Missing parenthesis", "Math parser error messages."));
"Math parser error messages."));
m_vErrMsg.insert(ecTOO_MANY_PARAMS, m_vErrMsg.insert(ecTOO_MANY_PARAMS,
translate("QmuParserErrorMsg", translate("QmuParserErrorMsg",
"Too many parameters for function \"$TOK$\" at expression position $POS$", "Too many parameters for function \"$TOK$\" at expression position $POS$",
"Math parser error messages. Left untouched \"$TOK$\" and $POS$")); "Math parser error messages. Left untouched \"$TOK$\" and $POS$"));
m_vErrMsg.insert(ecTOO_FEW_PARAMS, m_vErrMsg.insert(ecTOO_FEW_PARAMS,
translate("QmuParserErrorMsg", translate("QmuParserErrorMsg",
"Too few parameters for function \"$TOK$\" at expression position $POS$", "Too few parameters for function \"$TOK$\" at expression position $POS$",
"Math parser error messages. Left untouched \"$TOK$\" and $POS$")); "Math parser error messages. Left untouched \"$TOK$\" and $POS$"));
m_vErrMsg.insert(ecDIV_BY_ZERO, m_vErrMsg.insert(ecDIV_BY_ZERO, translate("QmuParserErrorMsg", "Divide by zero", "Math parser error messages."));
translate("QmuParserErrorMsg", "Divide by zero", m_vErrMsg.insert(ecDOMAIN_ERROR, translate("QmuParserErrorMsg", "Domain error", "Math parser error messages."));
"Math parser error messages.")); m_vErrMsg.insert(ecNAME_CONFLICT, translate("QmuParserErrorMsg", "Name conflict", "Math parser error messages."));
m_vErrMsg.insert(ecDOMAIN_ERROR, m_vErrMsg.insert(ecOPT_PRI, translate("QmuParserErrorMsg",
translate("QmuParserErrorMsg", "Domain error", "Invalid value for operator priority (must be greater or equal to zero).",
"Math parser error messages.")); "Math parser error messages."));
m_vErrMsg.insert(ecNAME_CONFLICT,
translate("QmuParserErrorMsg", "Name conflict",
"Math parser error messages."));
m_vErrMsg.insert(ecOPT_PRI,
translate("QmuParserErrorMsg",
"Invalid value for operator priority (must be greater or equal to zero).",
"Math parser error messages."));
m_vErrMsg.insert(ecBUILTIN_OVERLOAD, m_vErrMsg.insert(ecBUILTIN_OVERLOAD,
translate("QmuParserErrorMsg", translate("QmuParserErrorMsg",
"user defined binary operator \"$TOK$\" conflicts with a built in operator.", "user defined binary operator \"$TOK$\" conflicts with a built in operator.",
"Math parser error messages. Left untouched \"$TOK$\"")); "Math parser error messages. Left untouched \"$TOK$\""));
m_vErrMsg.insert(ecUNEXPECTED_STR, m_vErrMsg.insert(ecUNEXPECTED_STR,
translate("QmuParserErrorMsg", "Unexpected string token found at position $POS$.", translate("QmuParserErrorMsg", "Unexpected string token found at position $POS$.",
"Math parser error messages. Left untouched $POS$")); "Math parser error messages. Left untouched $POS$"));
m_vErrMsg.insert(ecUNTERMINATED_STRING, m_vErrMsg.insert(ecUNTERMINATED_STRING,
translate("QmuParserErrorMsg", "Unterminated string starting at position $POS$.", translate("QmuParserErrorMsg", "Unterminated string starting at position $POS$.",
"Math parser error messages. Left untouched $POS$")); "Math parser error messages. Left untouched $POS$"));
m_vErrMsg.insert(ecSTRING_EXPECTED, m_vErrMsg.insert(ecSTRING_EXPECTED,
translate("QmuParserErrorMsg", "String function called with a non string type of argument.", translate("QmuParserErrorMsg", "String function called with a non string type of argument.",
"Math parser error messages.")); "Math parser error messages."));
m_vErrMsg.insert(ecVAL_EXPECTED, m_vErrMsg.insert(ecVAL_EXPECTED,
translate("QmuParserErrorMsg", "String value used where a numerical argument is expected.", translate("QmuParserErrorMsg", "String value used where a numerical argument is expected.",
"Math parser error messages.")); "Math parser error messages."));
m_vErrMsg.insert(ecOPRT_TYPE_CONFLICT, m_vErrMsg.insert(ecOPRT_TYPE_CONFLICT,
translate("QmuParserErrorMsg", "No suitable overload for operator \"$TOK$\" at position $POS$.", translate("QmuParserErrorMsg", "No suitable overload for operator \"$TOK$\" at position $POS$.",
"Math parser error messages. Left untouched \"$TOK$\" and $POS$")); "Math parser error messages. Left untouched \"$TOK$\" and $POS$"));
m_vErrMsg.insert(ecSTR_RESULT, m_vErrMsg.insert(ecSTR_RESULT,
translate("QmuParserErrorMsg", "Function result is a string.", translate("QmuParserErrorMsg", "Function result is a string.", "Math parser error messages."));
"Math parser error messages.")); m_vErrMsg.insert(ecGENERIC, translate("QmuParserErrorMsg", "Parser error.", "Math parser error messages."));
m_vErrMsg.insert(ecGENERIC,
translate("QmuParserErrorMsg", "Parser error.",
"Math parser error messages."));
m_vErrMsg.insert(ecLOCALE, m_vErrMsg.insert(ecLOCALE,
translate("QmuParserErrorMsg", "Decimal separator is identic to function argument separator.", translate("QmuParserErrorMsg", "Decimal separator is identic to function argument separator.",
"Math parser error messages.")); "Math parser error messages."));
m_vErrMsg.insert(ecUNEXPECTED_CONDITIONAL, m_vErrMsg.insert(ecUNEXPECTED_CONDITIONAL,
translate("QmuParserErrorMsg", "The \"$TOK$\" operator must be preceeded by a closing bracket.", translate("QmuParserErrorMsg", "The \"$TOK$\" operator must be preceeded by a closing bracket.",
"Math parser error messages. Left untouched \"$TOK$\"")); "Math parser error messages. Left untouched \"$TOK$\""));
m_vErrMsg.insert(ecMISSING_ELSE_CLAUSE, m_vErrMsg.insert(ecMISSING_ELSE_CLAUSE,
translate("QmuParserErrorMsg", "If-then-else operator is missing an else clause", translate("QmuParserErrorMsg", "If-then-else operator is missing an else clause",
"Math parser error messages. Do not translate operator name.")); "Math parser error messages. Do not translate operator name."));
m_vErrMsg.insert(ecMISPLACED_COLON, m_vErrMsg.insert(ecMISPLACED_COLON, translate("QmuParserErrorMsg", "Misplaced colon at position $POS$",
translate("QmuParserErrorMsg", "Misplaced colon at position $POS$", "Math parser error messages. Left untouched $POS$"));
"Math parser error messages. Left untouched $POS$"));
} }
#undef translate #undef translate
@ -167,9 +139,15 @@ QmuParserErrorMsg::QmuParserErrorMsg()
* @brief Default constructor. * @brief Default constructor.
*/ */
QmuParserError::QmuParserError() QmuParserError::QmuParserError()
: QException(), m_sMsg(), m_sExpr(), m_sTok(), m_iPos ( -1 ), m_iErrc ( ecUNDEFINED ), : QException(),
m_ErrMsg ( QmuParserErrorMsg::Instance() ) m_sMsg(),
{} m_sExpr(),
m_sTok(),
m_iPos(-1),
m_iErrc(ecUNDEFINED),
m_ErrMsg(QmuParserErrorMsg::Instance())
{
}
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
/** /**
@ -177,23 +155,34 @@ QmuParserError::QmuParserError()
* *
* It does not contain any information but the error code. * It does not contain any information but the error code.
*/ */
QmuParserError::QmuParserError ( EErrorCodes a_iErrc ) QmuParserError::QmuParserError(EErrorCodes a_iErrc)
: QException(), m_sMsg(), m_sExpr(), m_sTok(), m_iPos ( -1 ), m_iErrc ( a_iErrc ), : QException(),
m_ErrMsg ( QmuParserErrorMsg::Instance() ) m_sMsg(),
m_sExpr(),
m_sTok(),
m_iPos(-1),
m_iErrc(a_iErrc),
m_ErrMsg(QmuParserErrorMsg::Instance())
{ {
m_sMsg = m_ErrMsg[m_iErrc]; m_sMsg = m_ErrMsg[m_iErrc];
m_sMsg.replace("$POS$", QString().setNum ( m_iPos )); m_sMsg.replace("$POS$", QString().setNum(m_iPos));
m_sMsg.replace("$TOK$", m_sTok ); m_sMsg.replace("$TOK$", m_sTok);
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
/** /**
* @brief Construct an error from a message text. * @brief Construct an error from a message text.
*/ */
QmuParserError::QmuParserError ( const QString &sMsg ) QmuParserError::QmuParserError(const QString &sMsg)
: QException(), m_sMsg(sMsg), m_sExpr(), m_sTok(), m_iPos ( -1 ), m_iErrc ( ecUNDEFINED ), : QException(),
m_ErrMsg ( QmuParserErrorMsg::Instance() ) m_sMsg(sMsg),
{} m_sExpr(),
m_sTok(),
m_iPos(-1),
m_iErrc(ecUNDEFINED),
m_ErrMsg(QmuParserErrorMsg::Instance())
{
}
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
/** /**
@ -203,13 +192,18 @@ QmuParserError::QmuParserError ( const QString &sMsg )
* @param [in] sExpr The expression related to the error. * @param [in] sExpr The expression related to the error.
* @param [in] iPos the position in the expression where the error occured. * @param [in] iPos the position in the expression where the error occured.
*/ */
QmuParserError::QmuParserError (EErrorCodes iErrc, const QString &sTok, const QString &sExpr, qmusizetype iPos ) QmuParserError::QmuParserError(EErrorCodes iErrc, const QString &sTok, const QString &sExpr, qmusizetype iPos)
: QException(), m_sMsg(), m_sExpr ( sExpr ), m_sTok ( sTok ), m_iPos ( iPos ), m_iErrc ( iErrc ), : QException(),
m_ErrMsg ( QmuParserErrorMsg::Instance() ) m_sMsg(),
m_sExpr(sExpr),
m_sTok(sTok),
m_iPos(iPos),
m_iErrc(iErrc),
m_ErrMsg(QmuParserErrorMsg::Instance())
{ {
m_sMsg = m_ErrMsg[m_iErrc]; m_sMsg = m_ErrMsg[m_iErrc];
m_sMsg.replace("$POS$", QString().setNum ( m_iPos )); m_sMsg.replace("$POS$", QString().setNum(m_iPos));
m_sMsg.replace("$TOK$", m_sTok ); m_sMsg.replace("$TOK$", m_sTok);
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
@ -219,43 +213,59 @@ QmuParserError::QmuParserError (EErrorCodes iErrc, const QString &sTok, const QS
* @param [in] a_iPos the position in the expression where the error occured. * @param [in] a_iPos the position in the expression where the error occured.
* @param [in] sTok The token string related to this error. * @param [in] sTok The token string related to this error.
*/ */
QmuParserError::QmuParserError ( EErrorCodes a_iErrc, int a_iPos, const QString &sTok ) QmuParserError::QmuParserError(EErrorCodes a_iErrc, int a_iPos, const QString &sTok)
: QException(), m_sMsg(), m_sExpr(), m_sTok ( sTok ), m_iPos ( a_iPos ), m_iErrc ( a_iErrc ), : QException(),
m_ErrMsg ( QmuParserErrorMsg::Instance() ) m_sMsg(),
m_sExpr(),
m_sTok(sTok),
m_iPos(a_iPos),
m_iErrc(a_iErrc),
m_ErrMsg(QmuParserErrorMsg::Instance())
{ {
m_sMsg = m_ErrMsg[m_iErrc]; m_sMsg = m_ErrMsg[m_iErrc];
m_sMsg.replace("$POS$", QString().setNum ( m_iPos )); m_sMsg.replace("$POS$", QString().setNum(m_iPos));
m_sMsg.replace("$TOK$", m_sTok ); m_sMsg.replace("$TOK$", m_sTok);
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
/** @brief Construct an error object. /** @brief Construct an error object.
* @param [in] szMsg The error message text. * @param [in] szMsg The error message text.
* @param [in] iPos the position related to the error. * @param [in] iPos the position related to the error.
* @param [in] sTok The token string related to this error. * @param [in] sTok The token string related to this error.
*/ */
QmuParserError::QmuParserError ( const QString &szMsg, int iPos, const QString &sTok ) QmuParserError::QmuParserError(const QString &szMsg, int iPos, const QString &sTok)
: QException(), m_sMsg ( szMsg ), m_sExpr(), m_sTok ( sTok ), m_iPos ( iPos ), m_iErrc ( ecGENERIC ), : QException(),
m_ErrMsg ( QmuParserErrorMsg::Instance() ) m_sMsg(szMsg),
m_sExpr(),
m_sTok(sTok),
m_iPos(iPos),
m_iErrc(ecGENERIC),
m_ErrMsg(QmuParserErrorMsg::Instance())
{ {
m_sMsg.replace("$POS$", QString().setNum ( m_iPos )); m_sMsg.replace("$POS$", QString().setNum(m_iPos));
m_sMsg.replace("$TOK$", m_sTok ); m_sMsg.replace("$TOK$", m_sTok);
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
/** /**
* @brief Copy constructor. * @brief Copy constructor.
*/ */
QmuParserError::QmuParserError ( const QmuParserError &a_Obj ) QmuParserError::QmuParserError(const QmuParserError &a_Obj)
: QException(), m_sMsg ( a_Obj.m_sMsg ), m_sExpr ( a_Obj.m_sExpr ), m_sTok ( a_Obj.m_sTok ), : QException(),
m_iPos ( a_Obj.m_iPos ), m_iErrc ( a_Obj.m_iErrc ), m_ErrMsg ( QmuParserErrorMsg::Instance() ) m_sMsg(a_Obj.m_sMsg),
{} m_sExpr(a_Obj.m_sExpr),
m_sTok(a_Obj.m_sTok),
m_iPos(a_Obj.m_iPos),
m_iErrc(a_Obj.m_iErrc),
m_ErrMsg(QmuParserErrorMsg::Instance())
{
}
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
/** @brief Assignment operator. */ /** @brief Assignment operator. */
auto QmuParserError::operator=(const QmuParserError &a_Obj) -> QmuParserError & auto QmuParserError::operator=(const QmuParserError &a_Obj) -> QmuParserError &
{ {
if ( this == &a_Obj ) if (this == &a_Obj)
{ {
return *this; return *this;
} }
@ -303,18 +313,22 @@ auto QmuParserError::clone() const -> QmuParserError *
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
QmuParserWarning::QmuParserWarning(const QString &sMsg) QmuParserWarning::QmuParserWarning(const QString &sMsg)
: QException(), m_sMsg ( sMsg ) : QException(),
{} m_sMsg(sMsg)
{
}
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
QmuParserWarning::QmuParserWarning(const QmuParserWarning &a_Obj) QmuParserWarning::QmuParserWarning(const QmuParserWarning &a_Obj)
: QException(), m_sMsg(a_Obj.m_sMsg) : QException(),
{} m_sMsg(a_Obj.m_sMsg)
{
}
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
auto QmuParserWarning::operator=(const QmuParserWarning &a_Obj) -> QmuParserWarning & auto QmuParserWarning::operator=(const QmuParserWarning &a_Obj) -> QmuParserWarning &
{ {
if ( this == &a_Obj ) if (this == &a_Obj)
{ {
return *this; return *this;
} }

View file

@ -104,10 +104,10 @@ enum EErrorCodes
class QMUPARSERSHARED_EXPORT QmuParserErrorMsg class QMUPARSERSHARED_EXPORT QmuParserErrorMsg
{ {
public: public:
typedef QmuParserErrorMsg self_type; using self_type = QmuParserErrorMsg;
QmuParserErrorMsg(); QmuParserErrorMsg();
~QmuParserErrorMsg(); ~QmuParserErrorMsg() = default;
static auto Instance() -> const QmuParserErrorMsg &; static auto Instance() -> const QmuParserErrorMsg &;
auto operator[](int a_iIdx) const -> QString; auto operator[](int a_iIdx) const -> QString;
@ -115,7 +115,7 @@ public:
private: private:
// cppcheck-suppress unknownMacro // cppcheck-suppress unknownMacro
Q_DISABLE_COPY_MOVE(QmuParserErrorMsg) // NOLINT Q_DISABLE_COPY_MOVE(QmuParserErrorMsg) // NOLINT
QMap<int, QmuTranslation> m_vErrMsg; ///< A map with the predefined error messages QMap<int, QmuTranslation> m_vErrMsg{}; ///< A map with the predefined error messages
}; };
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------

View file

@ -20,7 +20,6 @@
******************************************************************************************************/ ******************************************************************************************************/
#include "qmutranslation.h" #include "qmutranslation.h"
#include "qmuparserdef.h"
#include <QByteArray> #include <QByteArray>
#include <QCoreApplication> #include <QCoreApplication>
@ -37,29 +36,36 @@ auto QmuTranslation::translate(const char *context, const char *sourceText, cons
{ {
n = -1; n = -1;
} }
QmuTranslation t(context, sourceText, disambiguation, n);
return t; return {context, sourceText, disambiguation, n};
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
QmuTranslation::QmuTranslation() QmuTranslation::QmuTranslation()
: mcontext(), msourceText(), mdisambiguation(), mn(-1), localeName(), cachedTranslation() : mcontext(),
{} msourceText(),
mdisambiguation(),
mn(-1),
localeName(),
cachedTranslation()
{
}
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
QmuTranslation::QmuTranslation(const QString &context, const QString &sourceText, const QString &disambiguation, int n) QmuTranslation::QmuTranslation(const QString &context, const QString &sourceText, const QString &disambiguation, int n)
: mcontext(context), : mcontext(context),
msourceText(sourceText), msourceText(sourceText),
mdisambiguation(disambiguation), mdisambiguation(disambiguation),
mn(n), mn(n),
localeName(), localeName(),
cachedTranslation() cachedTranslation()
{} {
}
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
auto QmuTranslation::operator=(const QmuTranslation &tr) -> QmuTranslation & auto QmuTranslation::operator=(const QmuTranslation &tr) -> QmuTranslation &
{ {
if ( &tr == this ) if (&tr == this)
{ {
return *this; return *this;
} }
@ -74,13 +80,14 @@ auto QmuTranslation::operator=(const QmuTranslation &tr) -> QmuTranslation &
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
QmuTranslation::QmuTranslation(const QmuTranslation &tr) QmuTranslation::QmuTranslation(const QmuTranslation &tr)
: mcontext(tr.mcontext), : mcontext(tr.mcontext),
msourceText(tr.msourceText), msourceText(tr.msourceText),
mdisambiguation(tr.mdisambiguation), mdisambiguation(tr.mdisambiguation),
mn(tr.mn), mn(tr.mn),
localeName(), localeName(),
cachedTranslation() cachedTranslation()
{} {
}
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
auto QmuTranslation::translate(const QString &locale) const -> QString auto QmuTranslation::translate(const QString &locale) const -> QString

View file

@ -27,53 +27,53 @@
*************************************************************************/ *************************************************************************/
#include "vpatternrecipe.h" #include "vpatternrecipe.h"
#include "../ifc/exception/vexceptioninvalidhistory.h"
#include "../ifc/xml/vabstractpattern.h"
#include "../vgeometry/vcubicbezier.h"
#include "../vgeometry/vcubicbezierpath.h"
#include "../vgeometry/vpointf.h"
#include "../vgeometry/vsplinepath.h"
#include "../vmisc/projectversion.h" #include "../vmisc/projectversion.h"
#include "../vmisc/vabstractvalapplication.h" #include "../vmisc/vabstractvalapplication.h"
#include "../ifc/xml/vabstractpattern.h"
#include "../ifc/exception/vexceptioninvalidhistory.h"
#include "../vpatterndb/vcontainer.h"
#include "../vgeometry/vpointf.h"
#include "../vgeometry/vcubicbezier.h"
#include "../vgeometry/vsplinepath.h"
#include "../vgeometry/vcubicbezierpath.h"
#include "../vpatterndb/calculator.h" #include "../vpatterndb/calculator.h"
#include "../vpatterndb/variables/vincrement.h" #include "../vpatterndb/variables/vincrement.h"
#include "../vpatterndb/variables/vmeasurement.h" #include "../vpatterndb/variables/vmeasurement.h"
#include "../vpatterndb/vcontainer.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolalongline.h" #include "../vtools/tools/drawTools/operation/flipping/vtoolflippingbyaxis.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolbisector.h" #include "../vtools/tools/drawTools/operation/flipping/vtoolflippingbyline.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolendline.h" #include "../vtools/tools/drawTools/operation/vtoolmove.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolnormal.h" #include "../vtools/tools/drawTools/operation/vtoolrotation.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolshoulderpoint.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolheight.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoollineintersectaxis.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolcurveintersectaxis.h"
#include "../vtools/tools/drawTools/toolcurve/vtoolarc.h" #include "../vtools/tools/drawTools/toolcurve/vtoolarc.h"
#include "../vtools/tools/drawTools/toolcurve/vtoolellipticalarc.h"
#include "../vtools/tools/drawTools/toolcurve/vtoolarcwithlength.h" #include "../vtools/tools/drawTools/toolcurve/vtoolarcwithlength.h"
#include "../vtools/tools/drawTools/toolcurve/vtoolspline.h"
#include "../vtools/tools/drawTools/toolcurve/vtoolcubicbezier.h" #include "../vtools/tools/drawTools/toolcurve/vtoolcubicbezier.h"
#include "../vtools/tools/drawTools/toolcurve/vtoolsplinepath.h"
#include "../vtools/tools/drawTools/toolcurve/vtoolcubicbezierpath.h" #include "../vtools/tools/drawTools/toolcurve/vtoolcubicbezierpath.h"
#include "../vtools/tools/drawTools/vtoolline.h" #include "../vtools/tools/drawTools/toolcurve/vtoolellipticalarc.h"
#include "../vtools/tools/drawTools/toolcurve/vtoolspline.h"
#include "../vtools/tools/drawTools/toolcurve/vtoolsplinepath.h"
#include "../vtools/tools/drawTools/toolpoint/tooldoublepoint/vtooltruedarts.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutarc.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutspline.h" #include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutspline.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutsplinepath.h" #include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutsplinepath.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toolcut/vtoolcutarc.h" #include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolalongline.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoollineintersect.h" #include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolbisector.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointofcontact.h" #include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolcurveintersectaxis.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolendline.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolheight.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoollineintersectaxis.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolnormal.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoolshoulderpoint.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolbasepoint.h" #include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolbasepoint.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtooltriangle.h" #include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoollineintersect.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointfromarcandtangent.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointfromcircleandtangent.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointofcontact.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointofintersection.h" #include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointofintersection.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointofintersectionarcs.h" #include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointofintersectionarcs.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointofintersectioncircles.h" #include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointofintersectioncircles.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointofintersectioncurves.h" #include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointofintersectioncurves.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointfromcircleandtangent.h" #include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtooltriangle.h"
#include "../vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolpointfromarcandtangent.h" #include "../vtools/tools/drawTools/vtoolline.h"
#include "../vtools/tools/drawTools/toolpoint/tooldoublepoint/vtooltruedarts.h"
#include "../vtools/tools/drawTools/operation/vtoolrotation.h"
#include "../vtools/tools/drawTools/operation/flipping/vtoolflippingbyline.h"
#include "../vtools/tools/drawTools/operation/flipping/vtoolflippingbyaxis.h"
#include "../vtools/tools/drawTools/operation/vtoolmove.h"
namespace namespace
{ {
@ -103,19 +103,19 @@ inline auto FileComment() -> QString
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
template <typename T> auto GetPatternTool(quint32 id) -> T * template <typename T> auto GetPatternTool(quint32 id) -> T *
{ {
T* tool = qobject_cast<T*>(VAbstractPattern::getTool(id)); T *tool = qobject_cast<T *>(VAbstractPattern::getTool(id));
if (not tool) if (not tool)
{ {
throw VExceptionInvalidHistory(QObject::tr("Cannot cast tool with id '%1'.").arg(id)); throw VExceptionInvalidHistory(QObject::tr("Cannot cast tool with id '%1'.").arg(id));
} }
return tool; return tool;
} }
} // namespace } // namespace
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
VPatternRecipe::VPatternRecipe(VAbstractPattern *pattern, QObject *parent) VPatternRecipe::VPatternRecipe(VAbstractPattern *pattern, QObject *parent)
: VDomDocument(parent), : VDomDocument(parent),
m_pattern(pattern) m_pattern(pattern)
{ {
SCASSERT(pattern != nullptr) SCASSERT(pattern != nullptr)
@ -127,8 +127,9 @@ VPatternRecipe::VPatternRecipe(VAbstractPattern *pattern, QObject *parent)
recipeElement.appendChild(Content()); recipeElement.appendChild(Content());
appendChild(recipeElement); appendChild(recipeElement);
insertBefore(createProcessingInstruction(QStringLiteral("xml"), insertBefore(
QStringLiteral("version=\"1.0\" encoding=\"UTF-8\"")), firstChild()); createProcessingInstruction(QStringLiteral("xml"), QStringLiteral("version=\"1.0\" encoding=\"UTF-8\"")),
firstChild());
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
@ -150,8 +151,8 @@ auto VPatternRecipe::Prerequisite() -> QDomElement
QDomElement prerequisiteElement = createElement(QStringLiteral("prerequisite")); QDomElement prerequisiteElement = createElement(QStringLiteral("prerequisite"));
prerequisiteElement.appendChild(CreateElementWithText(QStringLiteral("valentina"), AppVersionStr())); prerequisiteElement.appendChild(CreateElementWithText(QStringLiteral("valentina"), AppVersionStr()));
prerequisiteElement.appendChild(CreateElementWithText(QStringLiteral("unit"), prerequisiteElement.appendChild(
UnitsToStr(VAbstractValApplication::VApp()->patternUnits()))); CreateElementWithText(QStringLiteral("unit"), UnitsToStr(VAbstractValApplication::VApp()->patternUnits())));
prerequisiteElement.appendChild(CreateElementWithText(QStringLiteral("author"), m_pattern->GetCompanyName())); prerequisiteElement.appendChild(CreateElementWithText(QStringLiteral("author"), m_pattern->GetCompanyName()));
prerequisiteElement.appendChild(CreateElementWithText(QStringLiteral("pattenName"), m_pattern->GetPatternName())); prerequisiteElement.appendChild(CreateElementWithText(QStringLiteral("pattenName"), m_pattern->GetPatternName()));
prerequisiteElement.appendChild(CreateElementWithText(QStringLiteral("description"), m_pattern->GetDescription())); prerequisiteElement.appendChild(CreateElementWithText(QStringLiteral("description"), m_pattern->GetDescription()));
@ -174,9 +175,9 @@ auto VPatternRecipe::Measurements() -> QDomElement
// Resore order // Resore order
std::sort(patternMeasurements.begin(), patternMeasurements.end(), std::sort(patternMeasurements.begin(), patternMeasurements.end(),
[](const QSharedPointer<VMeasurement> &a, const QSharedPointer<VMeasurement> &b) [](const QSharedPointer<VMeasurement> &a, const QSharedPointer<VMeasurement> &b)
{return a->Index() < b->Index();}); { return a->Index() < b->Index(); });
for(auto &m : patternMeasurements) for (auto &m : patternMeasurements)
{ {
measurements.appendChild(Measurement(m)); measurements.appendChild(Measurement(m));
} }
@ -231,9 +232,9 @@ auto VPatternRecipe::Increments() -> QDomElement
// Resore order // Resore order
std::sort(patternIncrements.begin(), patternIncrements.end(), std::sort(patternIncrements.begin(), patternIncrements.end(),
[](const QSharedPointer<VIncrement> &a, const QSharedPointer<VIncrement> &b) [](const QSharedPointer<VIncrement> &a, const QSharedPointer<VIncrement> &b)
{return a->GetIndex() < b->GetIndex();}); { return a->GetIndex() < b->GetIndex(); });
for(auto &incr : patternIncrements) for (auto &incr : patternIncrements)
{ {
if (not incr->IsPreviewCalculation()) if (not incr->IsPreviewCalculation())
{ {
@ -255,9 +256,9 @@ auto VPatternRecipe::PreviewCalculations() -> QDomElement
// Resore order // Resore order
std::sort(patternIncrements.begin(), patternIncrements.end(), std::sort(patternIncrements.begin(), patternIncrements.end(),
[](const QSharedPointer<VIncrement> &a, const QSharedPointer<VIncrement> &b) [](const QSharedPointer<VIncrement> &a, const QSharedPointer<VIncrement> &b)
{return a->GetIndex() < b->GetIndex();}); { return a->GetIndex() < b->GetIndex(); });
for(auto &incr : patternIncrements) for (auto &incr : patternIncrements)
{ {
if (incr->IsPreviewCalculation()) if (incr->IsPreviewCalculation())
{ {
@ -295,7 +296,7 @@ auto VPatternRecipe::Content() -> QDomElement
QDomElement content = createElement(QStringLiteral("content")); QDomElement content = createElement(QStringLiteral("content"));
const QDomNodeList draws = m_pattern->documentElement().elementsByTagName(VAbstractPattern::TagDraw); const QDomNodeList draws = m_pattern->documentElement().elementsByTagName(VAbstractPattern::TagDraw);
for (int i=0; i < draws.size(); ++i) for (int i = 0; i < draws.size(); ++i)
{ {
QDomElement draw = draws.at(i).toElement(); QDomElement draw = draws.at(i).toElement();
if (draw.isNull()) if (draw.isNull())
@ -350,8 +351,8 @@ auto VPatternRecipe::Step(const VToolRecord &tool, const VContainer &data) -> QD
} }
try try
{ {
QT_WARNING_PUSH QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Wswitch-default") QT_WARNING_DISABLE_GCC("-Wswitch-default")
switch (tool.getTypeTool()) switch (tool.getTypeTool())
{ {
case Tool::Arrow: case Tool::Arrow:
@ -360,8 +361,8 @@ QT_WARNING_DISABLE_GCC("-Wswitch-default")
case Tool::LinePoint: case Tool::LinePoint:
case Tool::AbstractSpline: case Tool::AbstractSpline:
case Tool::Cut: case Tool::Cut:
case Tool::Midpoint:// Same as Tool::AlongLine, but tool will never has such type case Tool::Midpoint: // Same as Tool::AlongLine, but tool will never has such type
case Tool::ArcIntersectAxis:// Same as Tool::CurveIntersectAxis, but tool will never has such type case Tool::ArcIntersectAxis: // Same as Tool::CurveIntersectAxis, but tool will never has such type
case Tool::BackgroundImage: case Tool::BackgroundImage:
case Tool::BackgroundImageControls: case Tool::BackgroundImageControls:
case Tool::BackgroundPixmapImage: case Tool::BackgroundPixmapImage:
@ -437,8 +438,8 @@ QT_WARNING_DISABLE_GCC("-Wswitch-default")
return FlippingByAxis(tool, data); return FlippingByAxis(tool, data);
case Tool::Move: case Tool::Move:
return Move(tool, data); return Move(tool, data);
//Because "history" not only show history of pattern, but help restore current data for each pattern's // Because "history" not only show history of pattern, but help restore current data for each pattern's
//piece, we need add record about details and nodes, but don't show them. // piece, we need add record about details and nodes, but don't show them.
case Tool::Piece: case Tool::Piece:
case Tool::UnionDetails: case Tool::UnionDetails:
case Tool::NodeArc: case Tool::NodeArc:
@ -454,7 +455,7 @@ QT_WARNING_DISABLE_GCC("-Wswitch-default")
case Tool::DuplicateDetail: case Tool::DuplicateDetail:
return QDomElement(); return QDomElement();
} }
QT_WARNING_POP QT_WARNING_POP
} }
catch (const VExceptionBadId &e) catch (const VExceptionBadId &e)
{ {
@ -495,20 +496,22 @@ auto VPatternRecipe::FinalMeasurement(const VFinalMeasurement &fm, const VContai
const qreal result = cal->EvalFormula(data.DataVariables(), fm.formula); const qreal result = cal->EvalFormula(data.DataVariables(), fm.formula);
if (qIsInf(result) || qIsNaN(result)) if (qIsInf(result) || qIsNaN(result))
{ {
const QString errorMsg = QString("%1\n\n%1").arg(tr("Reading final measurements error."), const QString errorMsg = QString("%1\n\n%1")
tr("Value for final measurtement '%1' is infinite or NaN. " .arg(tr("Reading final measurements error."),
"Please, check your calculations.").arg(fm.name)); tr("Value for final measurtement '%1' is infinite or NaN. "
VAbstractApplication::VApp()->IsPedantic() ? throw VException(errorMsg) "Please, check your calculations.")
: qWarning() .arg(fm.name));
<< VAbstractValApplication::warningMessageSignature + errorMsg; VAbstractApplication::VApp()->IsPedantic()
? throw VException(errorMsg)
: qWarning() << VAbstractValApplication::warningMessageSignature + errorMsg;
} }
SetAttribute(recipeFinalMeasurement, QStringLiteral("value"), result); SetAttribute(recipeFinalMeasurement, QStringLiteral("value"), result);
} }
catch (const qmu::QmuParserError &e) catch (const qmu::QmuParserError &e)
{ {
throw VExceptionInvalidHistory(tr("Unable to create record for final measurement '%1'. Error: %2") throw VExceptionInvalidHistory(
.arg(fm.name).arg(e.GetMsg())); tr("Unable to create record for final measurement '%1'. Error: %2").arg(fm.name).arg(e.GetMsg()));
} }
return recipeFinalMeasurement; return recipeFinalMeasurement;
@ -1142,14 +1145,14 @@ auto VPatternRecipe::Move(const VToolRecord &record, const VContainer &data) ->
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
inline void VPatternRecipe::Formula(QDomElement &step, const VFormula &formula, const QString &formulaStr, inline void VPatternRecipe::Formula(QDomElement &step, const VFormula &formula, const QString &formulaStr,
const QString &formulaValue) const QString &formulaValue)
{ {
if (formula.error()) if (formula.error())
{ {
throw VExceptionInvalidHistory(QObject::tr("Invalid formula '%1' for tool with id '%2'. %3.") throw VExceptionInvalidHistory(QObject::tr("Invalid formula '%1' for tool with id '%2'. %3.")
.arg(formula.GetFormula(FormulaType::ToSystem)) .arg(formula.GetFormula(FormulaType::ToSystem))
.arg(formula.getToolId()) .arg(formula.getToolId())
.arg(formula.Reason())); .arg(formula.Reason()));
} }
SetAttribute(step, formulaStr, formula.GetFormula(FormulaType::ToSystem)); SetAttribute(step, formulaStr, formula.GetFormula(FormulaType::ToSystem));
@ -1157,39 +1160,34 @@ inline void VPatternRecipe::Formula(QDomElement &step, const VFormula &formula,
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
template<typename T> template <typename T> inline void VPatternRecipe::LineAttributes(QDomElement &step, T *tool)
inline void VPatternRecipe::LineAttributes(QDomElement &step, T *tool)
{ {
SetAttribute(step, AttrLineColor, tool->GetLineColor()); SetAttribute(step, AttrLineColor, tool->GetLineColor());
SetAttribute(step, AttrTypeLine, tool->getLineType()); SetAttribute(step, AttrTypeLine, tool->getLineType());
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
template<typename T> template <typename T> void VPatternRecipe::CurveAttributes(QDomElement &step, T *tool)
void VPatternRecipe::CurveAttributes(QDomElement &step, T *tool)
{ {
SetAttribute(step, AttrLineColor, tool->GetLineColor()); SetAttribute(step, AttrLineColor, tool->GetLineColor());
SetAttribute(step, AttrPenStyle, tool->GetPenStyle()); SetAttribute(step, AttrPenStyle, tool->GetPenStyle());
SetAttribute(step, AttrAScale, tool->GetApproximationScale()); SetAttribute(step, AttrAScale, tool->GetApproximationScale());
SetAttribute(step, AttrDuplicate, tool->GetDuplicate()); SetAttribute(step, AttrDuplicate, tool->GetDuplicate());
SetAttributeOrRemoveIf<QString>(step, AttrAlias, tool->GetAliasSuffix(), SetAttributeOrRemoveIf<QString>(step, AttrAlias, tool->GetAliasSuffix(),
[](const QString &suffix) noexcept {return suffix.isEmpty();}); [](const QString &suffix) noexcept { return suffix.isEmpty(); });
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
template<typename T> template <typename T> void VPatternRecipe::CutCurveAttributes(QDomElement &step, T *tool)
void VPatternRecipe::CutCurveAttributes(QDomElement &step, T *tool)
{ {
SetAttributeOrRemoveIf<QString>(step, AttrAlias1, tool->GetAliasSuffix1(), SetAttributeOrRemoveIf<QString>(step, AttrAlias1, tool->GetAliasSuffix1(),
[](const QString &suffix) noexcept {return suffix.isEmpty();}); [](const QString &suffix) noexcept { return suffix.isEmpty(); });
SetAttributeOrRemoveIf<QString>(step, AttrAlias2, tool->GetAliasSuffix2(), SetAttributeOrRemoveIf<QString>(step, AttrAlias2, tool->GetAliasSuffix2(),
[](const QString &suffix) noexcept {return suffix.isEmpty();}); [](const QString &suffix) noexcept { return suffix.isEmpty(); });
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
template<typename T> template <typename T> inline void VPatternRecipe::ToolAttributes(QDomElement &step, T *tool)
inline void VPatternRecipe::ToolAttributes(QDomElement &step, T *tool)
{ {
SetAttribute(step, AttrType, T::ToolType); SetAttribute(step, AttrType, T::ToolType);
SetAttribute(step, AttrLabel, tool->name()); SetAttribute(step, AttrLabel, tool->name());
@ -1221,13 +1219,13 @@ auto VPatternRecipe::GroupOperationSource(VAbstractOperation *tool, quint32 id,
} }
catch (const VExceptionBadId &e) catch (const VExceptionBadId &e)
{ {
qCritical() << e.ErrorMessage()<<Q_FUNC_INFO; qCritical() << e.ErrorMessage() << Q_FUNC_INFO;
continue; continue;
} }
SetAttribute(node, AttrItem, obj->ObjectName()); SetAttribute(node, AttrItem, obj->ObjectName());
SetAttributeOrRemoveIf<QString>(node, AttrAlias, item.alias, SetAttributeOrRemoveIf<QString>(node, AttrAlias, item.alias,
[](const QString &alias) noexcept {return alias.isEmpty();}); [](const QString &alias) noexcept { return alias.isEmpty(); });
if (obj->getType() != GOType::Point) if (obj->getType() != GOType::Point)
{ {
@ -1244,7 +1242,7 @@ auto VPatternRecipe::GroupOperationSource(VAbstractOperation *tool, quint32 id,
QT_WARNING_PUSH QT_WARNING_PUSH
QT_WARNING_DISABLE_GCC("-Wswitch-default") QT_WARNING_DISABLE_GCC("-Wswitch-default")
switch(static_cast<GOType>(obj->getType())) switch (static_cast<GOType>(obj->getType()))
{ {
case GOType::Point: case GOType::Point:
SetAttribute(node, AttrType, QStringLiteral("point")); SetAttribute(node, AttrType, QStringLiteral("point"));

View file

@ -38,44 +38,44 @@ const QString degreeSymbol = QStringLiteral("°");
const QString trueStr = QStringLiteral("true"); const QString trueStr = QStringLiteral("true");
const QString falseStr = QStringLiteral("false"); const QString falseStr = QStringLiteral("false");
//functions // functions
const QString degTorad_F = QStringLiteral("degTorad"); const QString degTorad_F = QStringLiteral("degTorad");
const QString radTodeg_F = QStringLiteral("radTodeg"); const QString radTodeg_F = QStringLiteral("radTodeg");
const QString sin_F = QStringLiteral("sin"); const QString sin_F = QStringLiteral("sin");
const QString cos_F = QStringLiteral("cos"); const QString cos_F = QStringLiteral("cos");
const QString tan_F = QStringLiteral("tan"); const QString tan_F = QStringLiteral("tan");
const QString asin_F = QStringLiteral("asin"); const QString asin_F = QStringLiteral("asin");
const QString acos_F = QStringLiteral("acos"); const QString acos_F = QStringLiteral("acos");
const QString atan_F = QStringLiteral("atan"); const QString atan_F = QStringLiteral("atan");
const QString sinh_F = QStringLiteral("sinh"); const QString sinh_F = QStringLiteral("sinh");
const QString cosh_F = QStringLiteral("cosh"); const QString cosh_F = QStringLiteral("cosh");
const QString tanh_F = QStringLiteral("tanh"); const QString tanh_F = QStringLiteral("tanh");
const QString asinh_F = QStringLiteral("asinh"); const QString asinh_F = QStringLiteral("asinh");
const QString acosh_F = QStringLiteral("acosh"); const QString acosh_F = QStringLiteral("acosh");
const QString atanh_F = QStringLiteral("atanh"); const QString atanh_F = QStringLiteral("atanh");
const QString sinD_F = QStringLiteral("sinD"); const QString sinD_F = QStringLiteral("sinD");
const QString cosD_F = QStringLiteral("cosD"); const QString cosD_F = QStringLiteral("cosD");
const QString tanD_F = QStringLiteral("tanD"); const QString tanD_F = QStringLiteral("tanD");
const QString asinD_F = QStringLiteral("asinD"); const QString asinD_F = QStringLiteral("asinD");
const QString acosD_F = QStringLiteral("acosD"); const QString acosD_F = QStringLiteral("acosD");
const QString atanD_F = QStringLiteral("atanD"); const QString atanD_F = QStringLiteral("atanD");
const QString log2_F = QStringLiteral("log2"); const QString log2_F = QStringLiteral("log2");
const QString log10_F = QStringLiteral("log10"); const QString log10_F = QStringLiteral("log10");
const QString log_F = QStringLiteral("log"); const QString log_F = QStringLiteral("log");
const QString ln_F = QStringLiteral("ln"); const QString ln_F = QStringLiteral("ln");
const QString exp_F = QStringLiteral("exp"); const QString exp_F = QStringLiteral("exp");
const QString sqrt_F = QStringLiteral("sqrt"); const QString sqrt_F = QStringLiteral("sqrt");
const QString sign_F = QStringLiteral("sign"); const QString sign_F = QStringLiteral("sign");
const QString rint_F = QStringLiteral("rint"); const QString rint_F = QStringLiteral("rint");
const QString r2cm_F = QStringLiteral("r2cm"); const QString r2cm_F = QStringLiteral("r2cm");
const QString csrCm_F = QStringLiteral("csrCm"); const QString csrCm_F = QStringLiteral("csrCm");
const QString csrInch_F = QStringLiteral("csrInch"); const QString csrInch_F = QStringLiteral("csrInch");
const QString abs_F = QStringLiteral("abs"); const QString abs_F = QStringLiteral("abs");
const QString min_F = QStringLiteral("min"); const QString min_F = QStringLiteral("min");
const QString max_F = QStringLiteral("max"); const QString max_F = QStringLiteral("max");
const QString sum_F = QStringLiteral("sum"); const QString sum_F = QStringLiteral("sum");
const QString avg_F = QStringLiteral("avg"); const QString avg_F = QStringLiteral("avg");
const QString fmod_F = QStringLiteral("fmod"); const QString fmod_F = QStringLiteral("fmod");
const QString warning_F = QStringLiteral("warning"); const QString warning_F = QStringLiteral("warning");
auto BuilInFunctions() -> QStringList auto BuilInFunctions() -> QStringList
@ -88,13 +88,13 @@ auto BuilInFunctions() -> QStringList
const QString pl_size = QStringLiteral("size"); const QString pl_size = QStringLiteral("size");
const QString pl_height = QStringLiteral("height"); const QString pl_height = QStringLiteral("height");
const QString pl_hip = QStringLiteral("hip"); const QString pl_hip = QStringLiteral("hip");
const QString pl_waist = QStringLiteral("waist"); const QString pl_waist = QStringLiteral("waist");
const QString pl_sizeLabel = QStringLiteral("sizeLabel"); const QString pl_sizeLabel = QStringLiteral("sizeLabel");
const QString pl_heightLabel = QStringLiteral("heightLabel"); const QString pl_heightLabel = QStringLiteral("heightLabel");
const QString pl_hipLabel = QStringLiteral("hipLabel"); const QString pl_hipLabel = QStringLiteral("hipLabel");
const QString pl_waistLabel = QStringLiteral("waistLabel"); const QString pl_waistLabel = QStringLiteral("waistLabel");
const QString pl_dimensionX = QStringLiteral("dimensionX"); const QString pl_dimensionX = QStringLiteral("dimensionX");
const QString pl_dimensionY = QStringLiteral("dimensionY"); const QString pl_dimensionY = QStringLiteral("dimensionY");
@ -106,64 +106,64 @@ const QString pl_dimensionYLabel = QStringLiteral("dimensionYLabel");
const QString pl_dimensionWLabel = QStringLiteral("dimensionWLabel"); const QString pl_dimensionWLabel = QStringLiteral("dimensionWLabel");
const QString pl_dimensionZLabel = QStringLiteral("dimensionZLabel"); const QString pl_dimensionZLabel = QStringLiteral("dimensionZLabel");
const QString pl_date = QStringLiteral("date"); const QString pl_date = QStringLiteral("date");
const QString pl_time = QStringLiteral("time"); const QString pl_time = QStringLiteral("time");
const QString pl_birthDate = QStringLiteral("birthDate"); const QString pl_birthDate = QStringLiteral("birthDate");
const QString pl_patternName = QStringLiteral("patternName"); const QString pl_patternName = QStringLiteral("patternName");
const QString pl_patternNumber = QStringLiteral("patternNumber"); const QString pl_patternNumber = QStringLiteral("patternNumber");
const QString pl_author = QStringLiteral("author"); const QString pl_author = QStringLiteral("author");
const QString pl_customer = QStringLiteral("customer"); const QString pl_customer = QStringLiteral("customer");
const QString pl_email = QStringLiteral("email"); const QString pl_email = QStringLiteral("email");
const QString pl_userMaterial = QStringLiteral("userMaterial"); const QString pl_userMaterial = QStringLiteral("userMaterial");
const QString pl_pExt = QStringLiteral("pExt"); const QString pl_pExt = QStringLiteral("pExt");
const QString pl_pUnits = QStringLiteral("pUnits"); const QString pl_pUnits = QStringLiteral("pUnits");
const QString pl_pFileName = QStringLiteral("pFileName"); const QString pl_pFileName = QStringLiteral("pFileName");
const QString pl_mFileName = QStringLiteral("mFileName"); const QString pl_mFileName = QStringLiteral("mFileName");
const QString pl_mExt = QStringLiteral("mExt"); const QString pl_mExt = QStringLiteral("mExt");
const QString pl_mUnits = QStringLiteral("mUnits"); const QString pl_mUnits = QStringLiteral("mUnits");
const QString pl_mSizeUnits = QStringLiteral("mSizeUnits"); const QString pl_mSizeUnits = QStringLiteral("mSizeUnits");
const QString pl_areaUnits = QStringLiteral("areaUnits"); const QString pl_areaUnits = QStringLiteral("areaUnits");
const QString pl_pLetter = QStringLiteral("pLetter"); const QString pl_pLetter = QStringLiteral("pLetter");
const QString pl_pAnnotation = QStringLiteral("pAnnotation"); const QString pl_pAnnotation = QStringLiteral("pAnnotation");
const QString pl_pOrientation = QStringLiteral("pOrientation"); const QString pl_pOrientation = QStringLiteral("pOrientation");
const QString pl_pRotation = QStringLiteral("pRotation"); const QString pl_pRotation = QStringLiteral("pRotation");
const QString pl_pTilt = QStringLiteral("pTilt"); const QString pl_pTilt = QStringLiteral("pTilt");
const QString pl_pFoldPosition = QStringLiteral("pFoldPosition"); const QString pl_pFoldPosition = QStringLiteral("pFoldPosition");
const QString pl_pName = QStringLiteral("pName"); const QString pl_pName = QStringLiteral("pName");
const QString pl_pQuantity = QStringLiteral("pQuantity"); const QString pl_pQuantity = QStringLiteral("pQuantity");
const QString pl_mFabric = QStringLiteral("mFabric"); const QString pl_mFabric = QStringLiteral("mFabric");
const QString pl_mLining = QStringLiteral("mLining"); const QString pl_mLining = QStringLiteral("mLining");
const QString pl_mInterfacing = QStringLiteral("mInterfacing"); const QString pl_mInterfacing = QStringLiteral("mInterfacing");
const QString pl_mInterlining = QStringLiteral("mInterlining"); const QString pl_mInterlining = QStringLiteral("mInterlining");
const QString pl_wCut = QStringLiteral("wCut"); const QString pl_wCut = QStringLiteral("wCut");
const QString pl_wOnFold = QStringLiteral("wOnFold"); const QString pl_wOnFold = QStringLiteral("wOnFold");
const QString pl_measurement = QStringLiteral("measurement_"); const QString pl_measurement = QStringLiteral("measurement_");
const QString pl_finalMeasurement = QStringLiteral("finalMeasurement_"); const QString pl_finalMeasurement = QStringLiteral("finalMeasurement_");
const QString pl_currentArea = QStringLiteral("currentArea"); const QString pl_currentArea = QStringLiteral("currentArea");
const QString pl_currentSeamLineArea = QStringLiteral("currentSeamLineArea"); const QString pl_currentSeamLineArea = QStringLiteral("currentSeamLineArea");
const QString cursorArrowOpenHand = QStringLiteral("://cursor/cursor-arrow-openhand.png"); const QString cursorArrowOpenHand = QStringLiteral("://cursor/cursor-arrow-openhand.png");
const QString cursorArrowCloseHand = QStringLiteral("://cursor/cursor-arrow-closehand.png"); const QString cursorArrowCloseHand = QStringLiteral("://cursor/cursor-arrow-closehand.png");
const QString strOne = QStringLiteral("one"); const QString strOne = QStringLiteral("one");
const QString strTwo = QStringLiteral("two"); const QString strTwo = QStringLiteral("two");
const QString strThree = QStringLiteral("three"); const QString strThree = QStringLiteral("three");
const QString strStraightforward = QStringLiteral("straightforward"); const QString strStraightforward = QStringLiteral("straightforward");
const QString strBisector = QStringLiteral("bisector"); const QString strBisector = QStringLiteral("bisector");
const QString strIntersection = QStringLiteral("intersection"); const QString strIntersection = QStringLiteral("intersection");
const QString strIntersectionOnlyLeft = QStringLiteral("intersectionLeft"); const QString strIntersectionOnlyLeft = QStringLiteral("intersectionLeft");
const QString strIntersectionOnlyRight = QStringLiteral("intersectionRight"); const QString strIntersectionOnlyRight = QStringLiteral("intersectionRight");
const QString strIntersection2 = QStringLiteral("intersection2"); const QString strIntersection2 = QStringLiteral("intersection2");
const QString strIntersection2OnlyLeft = QStringLiteral("intersection2Left"); const QString strIntersection2OnlyLeft = QStringLiteral("intersection2Left");
const QString strIntersection2OnlyRight = QStringLiteral("intersection2Right"); const QString strIntersection2OnlyRight = QStringLiteral("intersection2Right");
const QString strTypeIncrement = QStringLiteral("increment"); const QString strTypeIncrement = QStringLiteral("increment");
const QString strTypeSeparator = QStringLiteral("separator"); const QString strTypeSeparator = QStringLiteral("separator");
const QString strTypeMeasurement = QStringLiteral("measurement"); const QString strTypeMeasurement = QStringLiteral("measurement");
const QString unitMM = QStringLiteral("mm"); const QString unitMM = QStringLiteral("mm");
const QString unitCM = QStringLiteral("cm"); const QString unitCM = QStringLiteral("cm");
const QString unitINCH = QStringLiteral("inch"); const QString unitINCH = QStringLiteral("inch");
const QString unitPX = QStringLiteral("px"); const QString unitPX = QStringLiteral("px");
const QString valentinaNamespace = QStringLiteral("valentina"); const QString valentinaNamespace = QStringLiteral("valentina");

View file

@ -28,8 +28,8 @@
#ifndef LITERALS_H #ifndef LITERALS_H
#define LITERALS_H #define LITERALS_H
#include <QtGlobal>
#include <QtCore/qcontainerfwd.h> #include <QtCore/qcontainerfwd.h>
#include <QtGlobal>
class QString; class QString;
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)

View file

@ -39,7 +39,7 @@ auto AppVersionStr() -> const QString &;
constexpr inline auto FormatVersion(unsigned major, unsigned minor, unsigned patch) -> unsigned constexpr inline auto FormatVersion(unsigned major, unsigned minor, unsigned patch) -> unsigned
{ {
return ((major<<16u)|(minor<<8u)|patch); return ((major << 16u) | (minor << 8u) | patch);
} }
constexpr inline auto AppVersion() -> unsigned constexpr inline auto AppVersion() -> unsigned
@ -50,24 +50,24 @@ constexpr inline auto AppVersion() -> unsigned
// Change version number in projectversion.cpp too. // Change version number in projectversion.cpp too.
// Synchronize valentina.nsi // Synchronize valentina.nsi
#define VER_FILEVERSION 0,7,52 #define VER_FILEVERSION 0, 7, 52
#define VER_FILEVERSION_STR "0.7.52\0" #define VER_FILEVERSION_STR "0.7.52\0"
#define V_PRERELEASE // Mark prerelease builds #define V_PRERELEASE // Mark prerelease builds
#define VER_PRODUCTVERSION VER_FILEVERSION #define VER_PRODUCTVERSION VER_FILEVERSION
#define VER_PRODUCTVERSION_STR VER_FILEVERSION_STR #define VER_PRODUCTVERSION_STR VER_FILEVERSION_STR
#define VER_COMPANYNAME_STR "ValentinaTeam" #define VER_COMPANYNAME_STR "ValentinaTeam"
//#define VER_FILEDESCRIPTION_STR "Patternmaking program." // Defined in program // #define VER_FILEDESCRIPTION_STR "Patternmaking program." // Defined in program
//#define VER_INTERNALNAME_STR "Valentina" // Defined in program // #define VER_INTERNALNAME_STR "Valentina" // Defined in program
#define VER_LEGALCOPYRIGHT_STR "Copyright © 2014-2022 Valentina Team" #define VER_LEGALCOPYRIGHT_STR "Copyright © 2014-2022 Valentina Team"
#define VER_LEGALTRADEMARKS1_STR "All Rights Reserved" #define VER_LEGALTRADEMARKS1_STR "All Rights Reserved"
#define VER_LEGALTRADEMARKS2_STR VER_LEGALTRADEMARKS1_STR #define VER_LEGALTRADEMARKS2_STR VER_LEGALTRADEMARKS1_STR
//#define VER_ORIGINALFILENAME_STR "valentina.exe" // Defined in program // #define VER_ORIGINALFILENAME_STR "valentina.exe" // Defined in program
//#define VER_PRODUCTNAME_STR "Valentina" // Defined in program // #define VER_PRODUCTNAME_STR "Valentina" // Defined in program
#define VER_COMPANYDOMAIN_STR "smart-pattern.com.ua" #define VER_COMPANYDOMAIN_STR "smart-pattern.com.ua"
auto compilerString() -> QString; auto compilerString() -> QString;
auto buildCompatibilityString() -> QString; auto buildCompatibilityString() -> QString;

View file

@ -27,17 +27,16 @@
*************************************************************************/ *************************************************************************/
#include "tst_buitinregexp.h" #include "tst_buitinregexp.h"
#include "../qmuparser/qmudef.h"
#include "../vpatterndb/vtranslatevars.h"
#include "../ifc/ifcdef.h" #include "../ifc/ifcdef.h"
#include "../vmisc/literals.h" #include "../vmisc/literals.h"
#include "../vpatterndb/vtranslatevars.h"
#include <QtTest>
#include <QTranslator> #include <QTranslator>
#include <QtTest>
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
TST_BuitInRegExp::TST_BuitInRegExp(const QString &locale, QObject *parent) TST_BuitInRegExp::TST_BuitInRegExp(const QString &locale, QObject *parent)
: TST_AbstractRegExp(locale, parent) : TST_AbstractRegExp(locale, parent)
{ {
} }
@ -64,7 +63,7 @@ void TST_BuitInRegExp::initTestCase()
QLocale::setDefault(QLocale(m_locale)); QLocale::setDefault(QLocale(m_locale));
InitTrMs();//Very important do this after loading QM files. InitTrMs(); // Very important do this after loading QM files.
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
@ -121,7 +120,7 @@ void TST_BuitInRegExp::TestCheckIsNamesUnique()
if (originalNames.size() > 1) if (originalNames.size() > 1)
{ {
const QString message = QString("Name is not unique. Translated name:'%1' also assosiated with: %2.") const QString message = QString("Name is not unique. Translated name:'%1' also assosiated with: %2.")
.arg(translatedName, originalNames.join(", ")); .arg(translatedName, originalNames.join(", "));
QFAIL(qUtf8Printable(message)); QFAIL(qUtf8Printable(message));
} }
} }
@ -197,8 +196,8 @@ void TST_BuitInRegExp::TestCheckUnderlineExists()
const QString translated = m_trMs->InternalVarToUser(name); const QString translated = m_trMs->InternalVarToUser(name);
if ((translated.right(1) == QLatin1String("_")) != exists) if ((translated.right(1) == QLatin1String("_")) != exists)
{ {
const QString message = QString("String '%1' doesn't contain underline. Original string is '%2'") const QString message =
.arg(translated, name); QString("String '%1' doesn't contain underline. Original string is '%2'").arg(translated, name);
QFAIL(qUtf8Printable(message)); QFAIL(qUtf8Printable(message));
} }
} }