#ifndef _TelepathyQt4_examples_accounts_account_item_h_HEADER_GUARD_
#define _TelepathyQt4_examples_accounts_account_item_h_HEADER_GUARD_
#include <TelepathyQt4/Types>
#include <TelepathyQt4/Account>
#include <TelepathyQt4/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