File indexing completed on 2024-05-19 05:07:20

0001 /*
0002     SPDX-FileCopyrightText: 2000-2001 Michael Edwardes <mte@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2002-2017 Thomas Baumgart <tbaumgart@kde.org>
0004     SPDX-FileCopyrightText: 2003 Kevin Tambascio <ktambascio@users.sourceforge.net>
0005     SPDX-FileCopyrightText: 2006 Ace Jones <acejones@users.sourceforge.net>
0006     SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #ifndef MYMONEYPAYEE_P_H
0011 #define MYMONEYPAYEE_P_H
0012 
0013 
0014 // ----------------------------------------------------------------------------
0015 // QT Includes
0016 
0017 #include <QString>
0018 #include <QMap>
0019 #include <QHash>
0020 
0021 // ----------------------------------------------------------------------------
0022 // Project Includes
0023 
0024 #include "mymoneyobject_p.h"
0025 
0026 class MyMoneyPayeePrivate : public MyMoneyObjectPrivate
0027 {
0028 public:
0029 
0030     MyMoneyPayeePrivate() :
0031         m_matchingEnabled(false),
0032         m_usingMatchKey(false),
0033         m_matchKeyIgnoreCase(true)
0034     {
0035     }
0036 
0037     void collectReferencedObjects() override
0038     {
0039         m_referencedObjects = {m_defaultAccountId};
0040     }
0041 
0042     // Simple fields
0043     QString m_name;
0044     QString m_address;
0045     QString m_city;
0046     QString m_state;
0047     QString m_postcode;
0048     QString m_telephone;
0049     QString m_email;
0050     QString m_notes;
0051 
0052     // Transaction matching fields
0053     bool m_matchingEnabled;      //< Whether this payee should be matched at all
0054     bool m_usingMatchKey;        //< If so, whether a m_matchKey list is used (true), or just m_name is used (false)
0055     bool m_matchKeyIgnoreCase;   //< Whether to ignore the case of the match key or name
0056 
0057     /**
0058      * Semicolon separated list of matching keys used when trying to find a suitable
0059      * payee for imported transactions.
0060      */
0061     QString m_matchKey;
0062 
0063     // Category (account) matching fields
0064     QString m_defaultAccountId;
0065 
0066     /**
0067       * This member keeps a reference to an external database
0068       * (e.g. kaddressbook). It is the responsibility of the
0069       * application to format the reference string
0070       * (e.g. encoding the name of the external database into the
0071       * reference string).
0072       * If no external database is available it should be kept
0073       * empty by the application.
0074       */
0075     QString m_reference;
0076 
0077 };
0078 
0079 #endif
0080 
0081 // vim:cin:si:ai:et:ts=2:sw=2: