File indexing completed on 2022-11-29 19:21:41

0001 /*
0002   Copyright © 2017 James D. Smith <smithjd15@gmail.com>
0003 
0004   This program is free software; you can redistribute it and/or
0005   modify it under the terms of the GNU General Public License as
0006   published by the Free Software Foundation; either version 2 of
0007   the License or (at your option) version 3 or any later version
0008   accepted by the membership of KDE e.V. (or its successor approved
0009   by the membership of KDE e.V.), which shall act as a proxy
0010   defined in Section 14 of version 3 of the license.
0011 
0012   This program is distributed in the hope that it will be useful,
0013   but WITHOUT ANY WARRANTY; without even the implied warranty of
0014   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0015   GNU General Public License for more details.
0016 
0017   You should have received a copy of the GNU General Public License
0018   along with this program.  If not, see <http://www.gnu.org/licenses/>.
0019 */
0020 
0021 #ifndef ADVANCED_PRESENCE_DIALOG_H
0022 #define ADVANCED_PRESENCE_DIALOG_H
0023 
0024 #include <QDialog>
0025 #include <QComboBox>
0026 
0027 class QPushButton;
0028 class QListView;
0029 class QComboBox;
0030 class AccountPresenceModelExtended;
0031 
0032 namespace KTp {
0033     class Presence;
0034     class GlobalPresence;
0035     class PresenceModel;
0036     class AccountsListModel;
0037 }
0038 
0039 class AdvancedPresenceDialog : public QDialog
0040 {
0041     Q_OBJECT
0042 
0043 public:
0044     explicit AdvancedPresenceDialog(KTp::PresenceModel *presenceModel, KTp::GlobalPresence *globalPresence, QWidget *parent = 0);
0045     bool eventFilter(QObject* obj, QEvent* event);
0046 
0047 private:
0048     ///Setup the initial dialog
0049     void setupDialog();
0050 
0051     KTp::PresenceModel *m_presenceModel;
0052     KTp::AccountsListModel *m_accountsModel;
0053     KTp::GlobalPresence *m_globalPresence;
0054 
0055     QHash<int,QComboBox*> m_comboBoxes;
0056     QHash<int,AccountPresenceModelExtended*> m_extendedModels;
0057 };
0058 
0059 #endif // ADVANCED_PRESENCE_DIALOG_H