settingsdialog:initial errors/warnings only once

work/spdx
Michail Vourlakos 4 years ago
parent 97b76a1bc7
commit 422c2f9d83

@ -525,20 +525,7 @@ void Layouts::initLayouts()
applyColumnWidths();
int erroredlayouts{0};
int warninglayouts{0};
for (int i=0; i<layouts.rowCount(); ++i) {
if (layouts[i].hasErrors()) {
erroredlayouts++;
} else if (layouts[i].hasWarnings()) {
warninglayouts++;
}
}
onCurrentRowChanged();
initialMessageForWarningLayouts(warninglayouts);
initialMessageForErroredLayouts(erroredlayouts);
showInitialErrorWarningMessages();
}
void Layouts::initialMessageForErroredLayouts(const int &count)
@ -618,6 +605,30 @@ void Layouts::messageForErroredLayout(const Data::Layout &layout)
}
}
void Layouts::showInitialErrorWarningMessages()
{
if (!m_hasShownInitialErrorWarningMessages) {
m_hasShownInitialErrorWarningMessages = true;
Latte::Data::LayoutsTable layouts = m_handler->corona()->layoutsManager()->synchronizer()->layoutsTable();
int erroredlayouts{0};
int warninglayouts{0};
for (int i=0; i<layouts.rowCount(); ++i) {
if (layouts[i].hasErrors()) {
erroredlayouts++;
} else if (layouts[i].hasWarnings()) {
warninglayouts++;
}
}
onCurrentRowChanged();
initialMessageForWarningLayouts(warninglayouts);
initialMessageForErroredLayouts(erroredlayouts);
}
}
void Layouts::onCurrentRowChanged()
{
if (!hasSelectedLayout()) {

@ -122,10 +122,12 @@ private slots:
void storeColumnWidths(bool inMultipleMode);
void applyColumnWidths(bool storeValues = false);
void showInitialErrorWarningMessages();
void onCurrentRowChanged();
void onNameDuplicatedFrom(const QString &provenId, const QString &trialId);
void onLayoutAddedExternally(const Data::Layout &layout);
void onLayoutActivitiesChangedExternally(const Data::Layout &layout);
void onLayoutActivitiesChangedExternally(const Data::Layout &layout);
private:
void initView();
@ -144,6 +146,8 @@ private:
Settings::Handler::TabLayouts *m_handler{nullptr};
Settings::Part::TemplatesKeeper *m_templatesKeeper{nullptr};
bool m_hasShownInitialErrorWarningMessages{false};
QString m_iconsPath;
QTableView *m_view{nullptr};

@ -114,7 +114,8 @@ void TabLayouts::initUi()
}
});
connect(m_ui->tabWidget, &QTabWidget::currentChanged, this, &TabLayouts::onCurrentPageChanged);
connect(m_ui->tabWidget, &QTabWidget::currentChanged, this, &TabLayouts::currentPageChanged);
connect(this, &TabLayouts::currentPageChanged, this, &TabLayouts::onCurrentPageChanged);
updatePerLayoutButtonsState();
}
@ -813,7 +814,7 @@ void TabLayouts::onRawLayoutDropped(const QString &rawLayout)
bool TabLayouts::isCurrentTab() const
{
return (m_layoutMenu->isEnabled() && (m_parentDialog->currentPage() == Dialog::LayoutPage));
return (m_parentDialog->currentPage() == Dialog::LayoutPage);
}
bool TabLayouts::isHoveringLayoutsTable(const QPoint &pos)
@ -826,9 +827,10 @@ bool TabLayouts::isHoveringLayoutsTable(const QPoint &pos)
}
void TabLayouts::onCurrentPageChanged(int page)
void TabLayouts::onCurrentPageChanged()
{
Dialog::ConfigurationPage cPage= static_cast<Dialog::ConfigurationPage>(page);
//int page = m_dialog->currentPage();
Dialog::ConfigurationPage cPage= m_parentDialog->currentPage();// static_cast<Dialog::ConfigurationPage>(page);
if (cPage == Dialog::LayoutPage) {
m_layoutMenu->setEnabled(true);

@ -95,6 +95,9 @@ public slots:
void resetDefaults() override;
void save() override;
signals:
void currentPageChanged();
private slots:
void initUi();
void initLayoutMenu();
@ -114,7 +117,7 @@ private slots:
void toggleEnabledLayout();
void showDetailsDialog();
void onCurrentPageChanged(int page);
void onCurrentPageChanged();
void onLayoutFilesDropped(const QStringList &paths);
void onRawLayoutDropped(const QString &rawLayout);
void updatePerLayoutButtonsState();

Loading…
Cancel
Save