File indexing completed on 2024-05-12 16:44:02

0001 /*
0002     SPDX-FileCopyrightText: 2001 Felix Rodriguez <frodriguez@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2002-2011 Thomas Baumgart <tbaumgart@kde.org>
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 KMYMONEYCOMBO_P_H
0009 #define KMYMONEYCOMBO_P_H
0010 
0011 // ----------------------------------------------------------------------------
0012 // QT Includes
0013 
0014 #include <QTimer>
0015 #include <QMutex>
0016 
0017 // ----------------------------------------------------------------------------
0018 // KDE Includes
0019 
0020 // ----------------------------------------------------------------------------
0021 // Project Includes
0022 
0023 class KMyMoneyCompletion;
0024 class KMyMoneyLineEdit;
0025 
0026 class KMyMoneyComboPrivate
0027 {
0028 public:
0029     KMyMoneyComboPrivate() :
0030         m_completion(nullptr),
0031         m_edit(nullptr),
0032         m_canCreateObjects(false),
0033         m_inFocusOutEvent(false)
0034     {
0035     }
0036 
0037     virtual ~KMyMoneyComboPrivate()
0038     {
0039     }
0040 
0041     /**
0042       * This member keeps a pointer to the object's completion object
0043       */
0044     KMyMoneyCompletion*    m_completion;
0045 
0046     /**
0047       * Use our own line edit to provide hint functionality
0048       */
0049     KMyMoneyLineEdit*      m_edit;
0050 
0051     /**
0052       * The currently selected item
0053       */
0054     QString                m_id;
0055 
0056     QTimer                 m_timer;
0057     QMutex                 m_focusMutex;
0058     /**
0059       * Flag to control object creation. Use setSuppressObjectCreation()
0060       * to modify it's setting. Defaults to @a false.
0061       */
0062     bool                   m_canCreateObjects;
0063 
0064     /**
0065       * Flag to check whether a focusOutEvent processing is underway or not
0066       */
0067     bool                   m_inFocusOutEvent;
0068 };
0069 
0070 #endif