File indexing completed on 2024-05-19 05:06:50

0001 /*
0002     SPDX-FileCopyrightText: 2004-2020 Thomas Baumgart <tbaumgart@kde.org>
0003     SPDX-FileCopyrightText: 2009-2010 Alvaro Soliverez <asoliverez@gmail.com>
0004     SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef KCURRENCYEDITDLG_H
0009 #define KCURRENCYEDITDLG_H
0010 
0011 #include "kmm_base_dialogs_export.h"
0012 
0013 // ----------------------------------------------------------------------------
0014 // QT Includes
0015 
0016 // ----------------------------------------------------------------------------
0017 // KDE Includes
0018 
0019 #include <QDialog>
0020 
0021 // ----------------------------------------------------------------------------
0022 // Project Includes
0023 
0024 class QTreeWidgetItem;
0025 class KAvailableCurrencyDlg;
0026 class KCurrencyEditorDlg;
0027 class KTreeWidgetSearchLineWidget;
0028 
0029 class MyMoneySecurity;
0030 /**
0031   * @author Thomas Baumgart
0032   */
0033 class KCurrencyEditDlgPrivate;
0034 class KMM_BASE_DIALOGS_EXPORT KCurrencyEditDlg : public QDialog
0035 {
0036     Q_OBJECT
0037     Q_DISABLE_COPY(KCurrencyEditDlg)
0038 
0039 public:
0040     explicit KCurrencyEditDlg(QWidget *parent = nullptr);
0041     ~KCurrencyEditDlg();
0042 
0043 public Q_SLOTS:
0044     void slotSelectCurrency(const QString& id);
0045 
0046 protected Q_SLOTS:
0047     void slotSelectCurrency(QTreeWidgetItem *citem, QTreeWidgetItem *pitem);
0048     void slotSelectCurrency(QTreeWidgetItem *item);
0049     void slotItemSelectionChanged();
0050     void slotShowCurrencyMenu(const QPoint& p);
0051     void slotLoadCurrencies();
0052     void slotUpdateCurrency(QTreeWidgetItem* citem, int column);
0053     void slotUpdateCurrency(QTreeWidgetItem *citem, QTreeWidgetItem *pitem);
0054 
0055 private:
0056     KCurrencyEditDlgPrivate * const d_ptr;
0057     Q_DECLARE_PRIVATE(KCurrencyEditDlg)
0058 
0059 private Q_SLOTS:
0060     void finishCtor();
0061     void slotSelectBaseCurrency();
0062     void slotAddCurrency();
0063     void slotRemoveCurrency();
0064     void slotRemoveUnusedCurrency();
0065     void slotEditCurrency();
0066 
0067     void slotNewCurrency();
0068     void slotRenameCurrency();
0069     void slotDeleteCurrency();
0070     void slotSetBaseCurrency();
0071 };
0072 
0073 #endif