File indexing completed on 2024-05-12 05:06:06

0001 /*
0002     SPDX-FileCopyrightText: 2009 Thomas Baumgart <tbaumgart@kde.org>
0003     SPDX-FileCopyrightText: 2017 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "kbalancewarning.h"
0008 
0009 // ----------------------------------------------------------------------------
0010 // QT Includes
0011 
0012 #include <QString>
0013 #include <QMap>
0014 
0015 // ----------------------------------------------------------------------------
0016 // KDE Includes
0017 
0018 #include <KMessageBox>
0019 
0020 // ----------------------------------------------------------------------------
0021 // Project Includes
0022 
0023 #include "mymoneyaccount.h"
0024 
0025 class KBalanceWarning::Private
0026 {
0027 public:
0028     QString dontShowAgain() const {
0029         return "BalanceWarning";
0030     }
0031     QMap<QString, bool> m_deselectedAccounts;
0032 };
0033 
0034 KBalanceWarning::KBalanceWarning(QObject* parent) :
0035     QObject(parent),
0036     d(new Private)
0037 {
0038     KMessageBox::enableMessage(d->dontShowAgain());
0039 }
0040 
0041 KBalanceWarning::~KBalanceWarning()
0042 {
0043     delete d;
0044 }
0045 
0046 void KBalanceWarning::slotShowMessage(QWidget* parent, const MyMoneyAccount& account, const QString& msg)
0047 {
0048     if (d->m_deselectedAccounts.find(account.id()) == d->m_deselectedAccounts.end()) {
0049         KMessageBox::information(parent, msg, QString(), d->dontShowAgain());
0050         if (!KMessageBox::shouldBeShownContinue(d->dontShowAgain())) {
0051             d->m_deselectedAccounts[account.id()] = true;
0052             KMessageBox::enableMessage(d->dontShowAgain());
0053         }
0054     }
0055 }