File indexing completed on 2024-05-12 16:27:37

0001 /*
0002    SPDX-FileCopyrightText: 2023-2024 Laurent Montel <montel.org>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "servererrorinfomessagewidget.h"
0008 #include "accountmanager.h"
0009 #include "ruqola.h"
0010 #include "servererrorinfohistory/servererrorinfomessagehistorydialog.h"
0011 #include <KLocalizedString>
0012 #include <QDebug>
0013 
0014 ServerErrorInfoMessageWidget::ServerErrorInfoMessageWidget(QWidget *parent)
0015     : KMessageWidget(parent)
0016 {
0017     setVisible(false);
0018     setCloseButtonVisible(true);
0019     setMessageType(Error);
0020 #if QT_VERSION > QT_VERSION_CHECK(6, 0, 0)
0021     setPosition(KMessageWidget::Header);
0022 #endif
0023 
0024     setText(i18n("Server errors reported. %1", QStringLiteral("<a href=\"show_errors\">%1</a>").arg(i18n("(Show Errors)"))));
0025     connect(this, &KMessageWidget::linkActivated, this, &ServerErrorInfoMessageWidget::slotLinkActivated);
0026 }
0027 
0028 ServerErrorInfoMessageWidget::~ServerErrorInfoMessageWidget() = default;
0029 
0030 void ServerErrorInfoMessageWidget::slotLinkActivated(const QString &contents)
0031 {
0032     if (contents == QLatin1String("show_errors")) {
0033         ServerErrorInfoMessageHistoryDialog dlg(this);
0034         dlg.addServerList(Ruqola::self()->accountManager()->accountNamesSorted());
0035         dlg.exec();
0036     }
0037 }
0038 
0039 #include "moc_servererrorinfomessagewidget.cpp"