Skip to content

Commit 5f17c94

Browse files
committed
Access chat history through interface
1 parent 76f5038 commit 5f17c94

8 files changed

+512
-30
lines changed

Client/qtTeamTalk/CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ if (Qt5_FOUND OR Qt6_FOUND)
9898
useraccountsmodel.h encryptionsetupdlg.h utiltt.h utilxml.h
9999
utilos.h serverdlg.h moveusersdlg.h useraccountdlg.h soundeventsmodel.h
100100
mytableview.h mytabwidget.h shortcutsmodel.h utilmedia.h
101+
chattextlist.h
101102

102103
main.cpp mainwindow.cpp preferencesdlg.cpp uservideowidget.cpp
103104
channelstree.cpp channeldlg.cpp userinfodlg.cpp
@@ -119,6 +120,7 @@ if (Qt5_FOUND OR Qt6_FOUND)
119120
useraccountsmodel.cpp encryptionsetupdlg.cpp utiltt.cpp utilxml.cpp
120121
utilos.cpp serverdlg.cpp moveusersdlg.cpp useraccountdlg.cpp soundeventsmodel.cpp
121122
mytableview.cpp mytabwidget.cpp shortcutsmodel.cpp utilmedia.cpp
123+
chattextlist.cpp
122124
mainwindow.ui channel.ui preferences.ui
123125
serverlist.ui userinfo.ui bannedusers.ui useraccounts.ui
124126
serverproperties.ui uservideo.ui keycomp.ui textmessage.ui

Client/qtTeamTalk/chattextedit.cpp

+8
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,14 @@ ChatTextEdit::ChatTextEdit(QWidget * parent/* = 0*/)
124124
{
125125
new UrlSyntaxHighlighter(document());
126126
viewport()->setMouseTracking(true);
127+
setTabChangesFocus(true);
128+
setUndoRedoEnabled(false);
129+
setReadOnly(true);
130+
setTextInteractionFlags(Qt::TextInteractionFlag::LinksAccessibleByKeyboard |
131+
Qt::TextInteractionFlag::LinksAccessibleByMouse |
132+
Qt::TextInteractionFlag::TextBrowserInteraction |
133+
Qt::TextInteractionFlag::TextSelectableByKeyboard |
134+
Qt::TextInteractionFlag::TextSelectableByMouse);
127135
}
128136

129137
QString ChatTextEdit::getTimeStamp(const QDateTime& tm, bool force_ts)

Client/qtTeamTalk/chattextedit.h

+20-5
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,34 @@
2222

2323
#include <QPlainTextEdit>
2424

25-
class ChatTextEdit : public QPlainTextEdit
25+
class ChatTextHistory
26+
{
27+
public:
28+
virtual ~ChatTextHistory() = default;
29+
30+
virtual void updateServer(const ServerProperties& srvprop) = 0;
31+
virtual void joinedChannel(int channelid) = 0;
32+
33+
virtual QString addTextMessage(const MyTextMessage& msg) = 0;
34+
virtual void addLogMessage(const QString& msg) = 0;
35+
36+
virtual bool hasFocus() const = 0;
37+
};
38+
39+
class ChatTextEdit : public QPlainTextEdit, public ChatTextHistory
2640
{
2741
Q_OBJECT
2842

2943
public:
3044
ChatTextEdit(QWidget * parent = 0);
3145

32-
void updateServer(const ServerProperties& srvprop);
46+
void updateServer(const ServerProperties& srvprop) override;
3347

34-
void joinedChannel(int channelid);
48+
void joinedChannel(int channelid) override;
3549

36-
QString addTextMessage(const MyTextMessage& msg);
37-
void addLogMessage(const QString& msg);
50+
QString addTextMessage(const MyTextMessage& msg) override;
51+
void addLogMessage(const QString& msg) override;
52+
bool hasFocus() const override { return QPlainTextEdit::hasFocus(); }
3853

3954
signals:
4055
void clearHistory();

0 commit comments

Comments
 (0)