diff --git a/src/app/valentina/mainwindow.cpp b/src/app/valentina/mainwindow.cpp
index 6eee2d14f..0f5cf844f 100644
--- a/src/app/valentina/mainwindow.cpp
+++ b/src/app/valentina/mainwindow.cpp
@@ -327,12 +327,19 @@ MainWindow::MainWindow(QWidget *parent)
ui->plainTextEditPatternMessages->SetFilter(text);
});
- connect(ui->toolButtonClearMessages, &QToolButton::clicked, this, [this]()
+ connect(ui->toolButtonClearMessages, &QToolButton::clicked, this, &MainWindow::ClearPatternMessages);
+
+ ui->toolButtonAutoRefresh->setChecked(qApp->ValentinaSettings()->GetAutoRefreshPatternMessage());
+ connect(ui->toolButtonAutoRefresh, &QToolButton::clicked, this, [](bool checked)
{
- ui->plainTextEditPatternMessages->clear();
- if (not m_unreadPatternMessage.isNull())
+ qApp->ValentinaSettings()->SetAutoRefreshPatternMessage(checked);
+ });
+
+ connect(doc, &VPattern::PreParseState, this, [this]()
+ {
+ if (ui->toolButtonAutoRefresh->isChecked())
{
- m_unreadPatternMessage->setText(QString());
+ ClearPatternMessages();
}
});
}
@@ -3703,6 +3710,16 @@ void MainWindow::ShowProgress()
}
}
+//---------------------------------------------------------------------------------------------------------------------
+void MainWindow::ClearPatternMessages()
+{
+ ui->plainTextEditPatternMessages->clear();
+ if (not m_unreadPatternMessage.isNull())
+ {
+ m_unreadPatternMessage->setText(QString());
+ }
+}
+
//---------------------------------------------------------------------------------------------------------------------
void MainWindow::SetDefaultHeight()
{
diff --git a/src/app/valentina/mainwindow.h b/src/app/valentina/mainwindow.h
index 192c66879..ea85cdd67 100644
--- a/src/app/valentina/mainwindow.h
+++ b/src/app/valentina/mainwindow.h
@@ -205,6 +205,7 @@ private slots:
void ChangedHeight(const QString &text);
void ShowProgress();
+ void ClearPatternMessages();
private:
Q_DISABLE_COPY(MainWindow)
diff --git a/src/app/valentina/mainwindow.ui b/src/app/valentina/mainwindow.ui
index 3be6831bd..16043d93f 100644
--- a/src/app/valentina/mainwindow.ui
+++ b/src/app/valentina/mainwindow.ui
@@ -2041,6 +2041,25 @@
+ -
+
+
+ Auto refresh the list with each parse
+
+
+ ...
+
+
+
+
+
+ true
+
+
+ false
+
+
+
-
diff --git a/src/app/valentina/xml/vpattern.cpp b/src/app/valentina/xml/vpattern.cpp
index 1b701d720..1c1691d76 100644
--- a/src/app/valentina/xml/vpattern.cpp
+++ b/src/app/valentina/xml/vpattern.cpp
@@ -167,6 +167,7 @@ void VPattern::Parse(const Document &parse)
break;
}
+ emit PreParseState();
m_parsing = true;
SCASSERT(sceneDraw != nullptr)
SCASSERT(sceneDetail != nullptr)
diff --git a/src/app/valentina/xml/vpattern.h b/src/app/valentina/xml/vpattern.h
index 4d6cfea6f..12b21681f 100644
--- a/src/app/valentina/xml/vpattern.h
+++ b/src/app/valentina/xml/vpattern.h
@@ -119,6 +119,9 @@ public:
int ElementsToParse() const;
+signals:
+ void PreParseState();
+
public slots:
virtual void LiteParseTree(const Document &parse) override;
diff --git a/src/libs/vmisc/vsettings.cpp b/src/libs/vmisc/vsettings.cpp
index 80053bf2c..12792f72a 100644
--- a/src/libs/vmisc/vsettings.cpp
+++ b/src/libs/vmisc/vsettings.cpp
@@ -71,6 +71,8 @@ namespace
{
Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationLabelLanguage,
(QLatin1String("configuration/label_language")))
+Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingAutoRefreshPatternMessage,
+ (QLatin1String("configuration/autoRefreshPatternMessage")))
Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsLayout, (QLatin1String("paths/layout")))
@@ -764,7 +766,19 @@ int VSettings::GetDefMaxPatternMessageFontSize()
void VSettings::SetPatternMessageFontSize(int size)
{
setValue(*settingPatternMessagesFontSize, qBound(GetDefMinPatternMessageFontSize(), size,
- GetDefMaxPatternMessageFontSize()));
+ GetDefMaxPatternMessageFontSize()));
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+bool VSettings::GetAutoRefreshPatternMessage() const
+{
+ return value(*settingAutoRefreshPatternMessage, true).toBool();
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+void VSettings::SetAutoRefreshPatternMessage(bool value)
+{
+ setValue(*settingAutoRefreshPatternMessage, value);
}
//---------------------------------------------------------------------------------------------------------------------
diff --git a/src/libs/vmisc/vsettings.h b/src/libs/vmisc/vsettings.h
index 68e094d2e..96e39c151 100644
--- a/src/libs/vmisc/vsettings.h
+++ b/src/libs/vmisc/vsettings.h
@@ -195,6 +195,9 @@ public:
static int GetDefMaxPatternMessageFontSize();
void SetPatternMessageFontSize(int size);
+ bool GetAutoRefreshPatternMessage() const;
+ void SetAutoRefreshPatternMessage(bool value);
+
private:
Q_DISABLE_COPY(VSettings)