Compare commits

..

3 commits

Author SHA1 Message Date
Roman Telezhynskyi c026f42689 MSVC warning. 2023-11-16 11:34:28 +02:00
Roman Telezhynskyi 3d0573f2a7 QWidget::setWindowFlag was introduced since Qt 5.9. 2023-11-16 11:32:13 +02:00
Roman Telezhynskyi 0225ade6fc Remove caching label placeholders. 2023-11-16 11:19:24 +02:00
6 changed files with 34 additions and 38 deletions

View file

@ -1047,7 +1047,7 @@ auto MApplication::StartWithKnownMeasurementFiles(QCommandLineParser &parser) ->
const QStringList args = parser.positionalArguments();
return std::all_of(args.begin(), args.end(),
[this, args](const auto &arg)
[this](const auto &arg)
{
NewMainKMWindow();
if (not MainKMWindow()->LoadFile(arg))

View file

@ -926,7 +926,7 @@ void VAbstractPattern::SetMPath(const QString &path)
RemoveDimensions();
}
m_MPath = path;
patternLabelWasChanged = true;
SetPatternWasChanged(true);
modified = true;
emit patternChanged(false);
}
@ -1039,7 +1039,7 @@ void VAbstractPattern::SetPatternName(const QString &qsName)
m_patternName = qsName;
CheckTagExists(TagPatternName);
setTagText(TagPatternName, m_patternName);
patternLabelWasChanged = true;
SetPatternWasChanged(true);
modified = true;
emit patternChanged(false);
}
@ -1056,7 +1056,7 @@ void VAbstractPattern::SetCompanyName(const QString &qsName)
m_companyName = qsName;
CheckTagExists(TagCompanyName);
setTagText(TagCompanyName, m_companyName);
patternLabelWasChanged = true;
SetPatternWasChanged(true);
modified = true;
emit patternChanged(false);
}
@ -1073,7 +1073,7 @@ void VAbstractPattern::SetPatternNumber(const QString &qsNum)
m_patternNumber = qsNum;
CheckTagExists(TagPatternNum);
setTagText(TagPatternNum, m_patternNumber);
patternLabelWasChanged = true;
SetPatternWasChanged(true);
modified = true;
emit patternChanged(false);
}
@ -1089,7 +1089,7 @@ void VAbstractPattern::SetCustomerName(const QString &qsName)
{
CheckTagExists(TagCustomerName);
setTagText(TagCustomerName, qsName);
patternLabelWasChanged = true;
SetPatternWasChanged(true);
modified = true;
emit patternChanged(false);
}
@ -1105,7 +1105,7 @@ void VAbstractPattern::SetCustomerBirthDate(const QDate &date)
{
CheckTagExists(TagCustomerBirthDate);
setTagText(TagCustomerBirthDate, date.toString("yyyy-MM-dd"));
patternLabelWasChanged = true;
SetPatternWasChanged(true);
modified = true;
emit patternChanged(false);
}
@ -1121,7 +1121,7 @@ void VAbstractPattern::SetCustomerEmail(const QString &email)
{
CheckTagExists(TagCustomerEmail);
setTagText(TagCustomerEmail, email);
patternLabelWasChanged = true;
SetPatternWasChanged(true);
modified = true;
emit patternChanged(false);
}
@ -1138,7 +1138,7 @@ void VAbstractPattern::SetLabelDateFormat(const QString &format)
m_labelDateFormat = format;
QDomElement tag = CheckTagExists(TagPatternLabel);
SetAttribute(tag, AttrDateFormat, m_labelDateFormat);
patternLabelWasChanged = true;
SetPatternWasChanged(true);
modified = true;
emit patternChanged(false);
}
@ -1163,7 +1163,7 @@ void VAbstractPattern::SetLabelTimeFormat(const QString &format)
{
QDomElement tag = CheckTagExists(TagPatternLabel);
SetAttribute(tag, AttrTimeFormat, format);
patternLabelWasChanged = true;
SetPatternWasChanged(true);
modified = true;
emit patternChanged(false);
}
@ -1175,7 +1175,7 @@ void VAbstractPattern::SetPatternLabelTemplate(const QVector<VLabelTemplateLine>
RemoveAllChildren(tag);
SetLabelTemplate(tag, lines);
patternLabelLines = lines;
patternLabelWasChanged = true;
SetPatternWasChanged(true);
modified = true;
emit patternChanged(false);
}
@ -1208,7 +1208,7 @@ auto VAbstractPattern::SetWatermarkPath(const QString &path) -> bool
parent.removeChild(tag);
emit patternChanged(false);
patternLabelWasChanged = true;
SetPatternWasChanged(true);
m_watermarkPath = path;
modified = true;
return true;
@ -1217,7 +1217,7 @@ auto VAbstractPattern::SetWatermarkPath(const QString &path) -> bool
if (setTagText(tag, path))
{
emit patternChanged(false);
patternLabelWasChanged = true;
SetPatternWasChanged(true);
m_watermarkPath = path;
modified = true;
return true;
@ -1242,7 +1242,7 @@ void VAbstractPattern::SetPatternMaterials(const QMap<int, QString> &materials)
RemoveAllChildren(tag);
SetMaterials(tag, materials);
patternMaterials = materials;
patternLabelWasChanged = true;
SetPatternWasChanged(true);
modified = true;
emit patternChanged(false);
}

View file

@ -273,18 +273,6 @@ auto operator>>(QDataStream &dataStream, VTextManager &data) -> QDataStream &
namespace
{
QT_WARNING_PUSH
QT_WARNING_DISABLE_CLANG("-Wunused-member-function")
Q_GLOBAL_STATIC(QDateTime, placeholdersExpirationTime) // NOLINT
using VPlaceholdersCache = QMap<QString, QString>;
Q_GLOBAL_STATIC(VPlaceholdersCache, placeholdersCache) // NOLINT
QT_WARNING_POP
const qint64 placeholdersExpirationTimeout = 15; // seconds
//---------------------------------------------------------------------------------------------------------------------
void PrepareMeasurementsPlaceholders(const VContainer *data, QMap<QString, QString> &placeholders)
{
@ -455,12 +443,6 @@ auto PreparePlaceholders(const VAbstractPattern *doc, const VContainer *data, bo
SCASSERT(doc != nullptr)
SCASSERT(data != nullptr)
if (placeholdersExpirationTime->isValid() && QDateTime::currentDateTime() <= *placeholdersExpirationTime)
{
*placeholdersExpirationTime = QDateTime::currentDateTime().addSecs(placeholdersExpirationTimeout);
return *placeholdersCache;
}
QMap<QString, QString> placeholders;
// Pattern tags
@ -517,9 +499,6 @@ auto PreparePlaceholders(const VAbstractPattern *doc, const VContainer *data, bo
placeholders.insert(pl_mInterlining, phTr->translate("Placeholder", "Interlining"));
placeholders.insert(pl_wCut, phTr->translate("Placeholder", "Cut"));
*placeholdersCache = placeholders;
*placeholdersExpirationTime = QDateTime::currentDateTime().addSecs(placeholdersExpirationTimeout);
return placeholders;
}
@ -902,7 +881,7 @@ void VTextManager::Update(VAbstractPattern *pDoc, const VContainer *pattern)
}
//---------------------------------------------------------------------------------------------------------------------
auto VTextManager::BreakTextIntoLines(const QString &text, const QFont &font, int maxWidth) const -> QStringList
auto VTextManager::BreakTextIntoLines(const QString &text, const QFont &font, int maxWidth) -> QStringList
{
QFontMetrics fontMetrics(font);
QStringList words = text.split(' ');

View file

@ -124,7 +124,7 @@ private:
static const quint32 streamHeader;
static const quint16 classVersion;
auto BreakTextIntoLines(const QString &text, const QFont &font, int maxWidth) const -> QStringList;
static auto BreakTextIntoLines(const QString &text, const QFont &font, int maxWidth) -> QStringList;
auto BreakTextIntoLines(const QString &text, const VSvgFont &font, int maxWidth, qreal penWidth) const
-> QStringList;
};

View file

@ -493,4 +493,21 @@ inline void RemoveLast(QString &str)
#endif
}
//---------------------------------------------------------------------------------------------------------------------
inline void SetWindowFlag(QWidget *widget, Qt::WindowType flag, bool on = true)
{
#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)
widget->setWindowFlag(flag, on);
#else
if (on)
{
widget->setWindowFlags(widget->windowFlags() | flag);
}
else
{
widget->setWindowFlags(widget->windowFlags() & ~flag);
}
#endif
}
#endif // COMPATIBILITY_H

View file

@ -414,7 +414,7 @@ void VAbstractMainWindow::ExportDataToCSV()
//---------------------------------------------------------------------------------------------------------------------
void VAbstractMainWindow::AlwaysOnTop(bool state)
{
setWindowFlag(Qt::WindowStaysOnTopHint, state);
SetWindowFlag(this, Qt::WindowStaysOnTopHint, state);
destroy();
create();
setVisible(true);