44 lines
1023 B
C++
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
|