From 680174c389ea0bba34d72dd1a2a9777e2bb531d5 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Sun, 2 May 2021 09:59:54 +0300 Subject: [PATCH] viewsdialog:hide inlinemessages when change layout --- app/settings/generic/genericdialog.cpp | 14 ++++++++++++++ app/settings/generic/genericdialog.h | 2 +- app/settings/viewsdialog/viewshandler.cpp | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/settings/generic/genericdialog.cpp b/app/settings/generic/genericdialog.cpp index bebde9ded..783bbc9b6 100644 --- a/app/settings/generic/genericdialog.cpp +++ b/app/settings/generic/genericdialog.cpp @@ -65,6 +65,20 @@ KMessageWidget *GenericDialog::initMessageWidget() return messagewidget; } +void GenericDialog::deleteInlineMessages() +{ + //QVBoxLayout *vlayout = qobject_cast(layout()); + + for (int i=0; i(child); + + if(messagewidget) { + delete messagewidget; + } + } +} + KMessageBox::ButtonCode GenericDialog::saveChangesConfirmation(const QString &text) { QString dialogtext = text.isEmpty() ? i18n("The settings have changed.
Do you want to apply the changes or discard them?") : text; diff --git a/app/settings/generic/genericdialog.h b/app/settings/generic/genericdialog.h index e8a7ae67c..f9ba4d942 100644 --- a/app/settings/generic/genericdialog.h +++ b/app/settings/generic/genericdialog.h @@ -46,7 +46,7 @@ public: ~GenericDialog(); void showInlineMessage(const QString &msg, const KMessageWidget::MessageType &type, const bool &isPersistent = false, QList actions = QList()); - void hideInlineMessage(); + void deleteInlineMessages(); KMessageBox::ButtonCode saveChangesConfirmation(const QString &text); diff --git a/app/settings/viewsdialog/viewshandler.cpp b/app/settings/viewsdialog/viewshandler.cpp index 9615e4dce..80ec2d071 100644 --- a/app/settings/viewsdialog/viewshandler.cpp +++ b/app/settings/viewsdialog/viewshandler.cpp @@ -297,6 +297,7 @@ void ViewsHandler::onCurrentLayoutIndexChanged(int row) } if (switchtonewlayout) { + m_dialog->deleteInlineMessages(); QString layoutId = m_layoutsProxyModel->data(m_layoutsProxyModel->index(row, Model::Layouts::IDCOLUMN), Qt::UserRole).toString(); m_dialog->layoutsController()->selectRow(layoutId); reload();