summaryrefslogtreecommitdiffstats
path: root/pica-client/chatwindow.h
diff options
context:
space:
mode:
authorme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2012-06-17 21:15:12 +0000
committerme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2012-06-17 21:15:12 +0000
commit8df9466ada46e4b07990b9cb7e8b1cd61b96844a (patch)
tree2cb652e5839bed672133ffa90e7ad477f55cfb6b /pica-client/chatwindow.h
downloadpica-pica-8df9466ada46e4b07990b9cb7e8b1cd61b96844a.tar.gz
pica-pica-8df9466ada46e4b07990b9cb7e8b1cd61b96844a.zip
todo list update
git-svn-id: svn://localhost/project_picapica/trunk@128 fb96df88-216d-11de-830c-f3023f12d8ac
Diffstat (limited to 'pica-client/chatwindow.h')
-rw-r--r--pica-client/chatwindow.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/pica-client/chatwindow.h b/pica-client/chatwindow.h
new file mode 100644
index 0000000..1babd31
--- /dev/null
+++ b/pica-client/chatwindow.h
@@ -0,0 +1,53 @@
+#ifndef CHATWINDOW_H
+#define CHATWINDOW_H
+
+#include <QWidget>
+#include <QTextEdit>
+#include <QList>
+
+class TextSend : public QTextEdit
+{
+ Q_OBJECT
+public:
+ explicit TextSend(QWidget *parent);
+signals:
+ void send_pressed();
+private:
+ void keyPressEvent(QKeyEvent *e);
+
+};
+
+class ChatWindow : public QWidget
+{
+ Q_OBJECT
+public:
+ explicit ChatWindow(quint32 peer_id);
+
+ quint32 getPeerId() { return peer_id_;};
+
+signals:
+ void msg_input(QString msg, ChatWindow *sender_window);
+ void chatwindow_close(ChatWindow *sender_window);
+
+public slots:
+ void msg_from_peer(QString msg);
+ void msg_delivered();
+ void msg_informational(QString text);//юзер в оффлайне, набирает сообщение, и т.д. серым шрифтом, курсив
+
+
+private:
+ QTextEdit *chatw;
+ TextSend *sendtextw;
+ quint32 peer_id_;
+ QList<int> undelivered_msgs;
+
+
+ void put_message(QString msg, quint32 id, bool is_me);
+
+ void closeEvent(QCloseEvent *e);
+
+private slots:
+ void send_message();
+};
+
+#endif // CHATWINDOW_H