| Home · All Classes · All Namespaces · Modules · Functions · Files

accounts/account-item.h

    #ifndef _TelepathyQt_examples_accounts_account_item_h_HEADER_GUARD_
    #define _TelepathyQt_examples_accounts_account_item_h_HEADER_GUARD_

    #include <TelepathyQt/Types>
    #include <TelepathyQt/Account>
    #include <TelepathyQt/Types>

    #include <QString>

    namespace Tp {
    class AccountManager;
    class PendingOperation;
    }

    class QTableWidget;

    class AccountItem : public QObject
    {
        Q_OBJECT

    public:
        enum Columns {
            ColumnValid = 0,
            ColumnEnabled,
            ColumnConnectionManager,
            ColumnProtocol,
            ColumnDisplayName,
            ColumnNickname,
            ColumnConnectsAutomatically,
            ColumnChangingPresence,
            ColumnAutomaticPresence,
            ColumnCurrentPresence,
            ColumnRequestedPresence,
            ColumnConnectionStatus,
            ColumnConnection,
            NumColumns
        };
        Q_ENUMS(Columns)

        AccountItem(Tp::AccountPtr acc, QTableWidget *table, int row, QObject *parent = 0);
        virtual ~AccountItem();

        int row() const { return mRow; }

    private Q_SLOTS:
        void onValidityChanged(bool);
        void onStateChanged(bool);
        void onDisplayNameChanged(const QString &);
        void onNicknameChanged(const QString &);
        void onConnectsAutomaticallyPropertyChanged(bool);
        void onChangingPresenceChanged(bool);
        void onAutomaticPresenceChanged(const Tp::SimplePresence &);
        void onCurrentPresenceChanged(const Tp::SimplePresence &);
        void onRequestedPresenceChanged(const Tp::SimplePresence &);
        void onStatusChanged(Tp::ConnectionStatus, Tp::ConnectionStatusReason,
                const QString &error, const QVariantMap &errorDetails);
        void onHaveConnectionChanged(bool);

    private:
        void init();
        void setupGui();

        Tp::AccountPtr mAcc;
        QTableWidget *mTable;
        int mRow;
    };

    #endif