1
0
Fork 0
forked from blue/squawk

joining groups on opening them, leaving on closing

This commit is contained in:
Blue 2019-08-29 17:19:35 +03:00
parent 023494de0b
commit a51907b810
14 changed files with 84 additions and 16 deletions

View file

@ -19,7 +19,7 @@
#include "chat.h"
Chat::Chat(Models::Contact* p_contact, QWidget* parent):
Conversation(p_contact->getAccountJid(), p_contact->getAccountResource(), p_contact->getJid(), "", p_contact->getAccountName(), parent),
Conversation(false, p_contact->getAccountJid(), p_contact->getAccountResource(), p_contact->getJid(), "", p_contact->getAccountName(), parent),
contact(p_contact)
{
setName(p_contact->getContactName());

View file

@ -24,14 +24,15 @@
#include <QGraphicsDropShadowEffect>
#include <QFileDialog>
Conversation::Conversation(const QString& mJid, const QString mRes, const QString pJid, const QString pRes, const QString& acc, QWidget* parent):
Conversation::Conversation(bool muc, const QString& mJid, const QString mRes, const QString pJid, const QString pRes, const QString& acc, QWidget* parent):
QWidget(parent),
isMuc(muc),
myJid(mJid),
myResource(mRes),
palJid(pJid),
activePalResource(pRes),
account(acc),
line(new MessageLine()),
line(new MessageLine(muc)),
m_ui(new Ui::Conversation()),
ker(),
thread(),

View file

@ -46,7 +46,7 @@ class Conversation : public QWidget
{
Q_OBJECT
public:
Conversation(const QString& mJid, const QString mRes, const QString pJid, const QString pRes, const QString& acc, QWidget* parent = 0);
Conversation(bool muc, const QString& mJid, const QString mRes, const QString pJid, const QString pRes, const QString& acc, QWidget* parent = 0);
~Conversation();
QString getJid() const;
@ -75,6 +75,9 @@ protected slots:
void onAttach();
void onFileSelected();
public:
const bool isMuc;
protected:
enum Scroll {
nothing,

View file

@ -23,7 +23,7 @@
const QRegExp urlReg("^(?!<img\\ssrc=\")((?:https?|ftp)://\\S+)");
const QRegExp imgReg("((?:https?|ftp)://\\S+\\.(?:jpg|jpeg|png|svg|gif))");
MessageLine::MessageLine(QWidget* parent):
MessageLine::MessageLine(bool p_room, QWidget* parent):
QWidget(parent),
messageIndex(),
messageOrder(),
@ -31,7 +31,7 @@ MessageLine::MessageLine(QWidget* parent):
myName(),
palNames(),
views(),
room(false)
room(p_room)
{
setLayout(layout);
setBackgroundRole(QPalette::Base);
@ -45,11 +45,6 @@ MessageLine::~MessageLine()
}
}
void MessageLine::setRoom(bool p_room)
{
room = p_room;
}
MessageLine::Position MessageLine::message(const Shared::Message& msg)
{
QString id = msg.getId();

View file

@ -36,7 +36,7 @@ public:
end,
invalid
};
MessageLine(QWidget* parent = 0);
MessageLine(bool p_room, QWidget* parent = 0);
~MessageLine();
Position message(const Shared::Message& msg);
@ -45,7 +45,6 @@ public:
QString firstMessageId() const;
void showBusyIndicator();
void hideBusyIndicator();
void setRoom(bool p_room);
signals:
void resize(int amount);

View file

@ -19,12 +19,11 @@
#include "room.h"
Room::Room(Models::Room* p_room, QWidget* parent):
Conversation(p_room->getAccountJid(), p_room->getAccountResource(), p_room->getJid(), "", p_room->getAccountName(), parent),
Conversation(true, p_room->getAccountJid(), p_room->getAccountResource(), p_room->getJid(), "", p_room->getAccountName(), parent),
room(p_room)
{
setName(p_room->getName());
line->setMyName(room->getNick());
line->setRoom(true);
}
Room::~Room()
@ -44,3 +43,8 @@ void Room::handleSendMessage(const QString& text)
msg.setCurrentTime();
emit sendMessage(msg);
}
bool Room::autoJoined() const
{
return room->getAutoJoin();
}

View file

@ -32,6 +32,8 @@ public:
Room(Models::Room* p_room, QWidget* parent = 0);
~Room();
bool autoJoined() const;
protected:
void handleSendMessage(const QString & text) override;