xxcc/xxcc.h

44 lines
1023 B
C++

#ifndef XXCC_H
#define XXCC_H
#include "ui_xxcc.h"
#include "client.h"
#include "credentials.h"
#include "jiddb.h"
#include <QDateTime>
#include <QList>
#include <QWidget>
#include <QSqlDatabase>
#include <QString>
#include <QXmppMessage.h>
class xxcc : public QWidget
{
Q_OBJECT
public:
xxcc(QWidget *parent = nullptr);
~xxcc();
private:
enum Tab {Conversations, Chat};
Ui_main ui;
QList<Client *> clients;
Credentials creds;
Client *selected;
void connectAccounts(const QList<Credentials::Pair> &pairs);
void storeMessage(const QXmppMessage &msg, Direction dir) const;
void storeMessage(const QString &from, const QString &to,
const QString &msg, const QDateTime &dt, Direction dir) const;
void retrieveConversations();
private Q_SLOTS:
void startChat(QString from, QString to);
void addInMessage(const QXmppMessage &msg);
void addOutMessage(const QString &msg, const QDateTime &dt);
void addAccount(Client *c);
void send(void);
};
#endif