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 }