From 3ffbcb5569c1cd60a9622b2b42cfa43ccd70e83b Mon Sep 17 00:00:00 2001 From: defnax Date: Wed, 8 Sep 2010 16:27:13 +0000 Subject: [PATCH] Added "Write a Quick Message" functionality to answer faster from the ChatMsgItem. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3457 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- retroshare-gui/src/gui/feeds/ChatMsgItem.cpp | 46 ++++++++++++++ retroshare-gui/src/gui/feeds/ChatMsgItem.h | 7 ++- retroshare-gui/src/gui/feeds/ChatMsgItem.ui | 64 ++++++++++++++++++-- 3 files changed, 109 insertions(+), 8 deletions(-) diff --git a/retroshare-gui/src/gui/feeds/ChatMsgItem.cpp b/retroshare-gui/src/gui/feeds/ChatMsgItem.cpp index d22d0f9c6..599fe5a8c 100644 --- a/retroshare-gui/src/gui/feeds/ChatMsgItem.cpp +++ b/retroshare-gui/src/gui/feeds/ChatMsgItem.cpp @@ -47,6 +47,9 @@ ChatMsgItem::ChatMsgItem(FeedHolder *parent, uint32_t feedId, std::string peerId { /* Invoke the Qt Designer generated object setup routine */ setupUi(this); + + messageframe->setVisible(false); + sendButton->hide(); /* general ones */ connect( clearButton, SIGNAL( clicked( void ) ), this, SLOT( removeItem ( void ) ) ); @@ -54,6 +57,9 @@ ChatMsgItem::ChatMsgItem(FeedHolder *parent, uint32_t feedId, std::string peerId /* specific ones */ connect( chatButton, SIGNAL( clicked( void ) ), this, SLOT( openChat ( void ) ) ); connect( msgButton, SIGNAL( clicked( void ) ), this, SLOT( sendMsg ( void ) ) ); + connect( quickmsgButton, SIGNAL( clicked( ) ), this, SLOT( togglequickmessage() ) ); + connect( sendButton, SIGNAL( clicked( ) ), this, SLOT( sendMessage() ) ); + connect(NotifyQt::getInstance(), SIGNAL(peerHasNewAvatar(const QString&)), this, SLOT(updateAvatar(const QString&))); @@ -122,6 +128,15 @@ void ChatMsgItem::updateItem() msgButton->setEnabled(false); } } + + /*if (quickmsgText->toPlainText().isEmpty()) + { + sendButton->setEnabled(false); + } + else + { + sendButton->setEnabled(true); + }*/ /* slow Tick */ int msec_rate = 10129; @@ -239,3 +254,34 @@ void ChatMsgItem::updateAvatar(const QString &peer_id) avatar_label->setPixmap(QPixmap(":/images/user/personal64.png")); } } + +void ChatMsgItem::togglequickmessage() +{ + if (messageframe->isHidden()) + { + messageframe->setVisible(true); + sendButton->show(); + } + else + { + messageframe->setVisible(false); + sendButton->hide(); + } + +} + +void ChatMsgItem::sendMessage() +{ + /* construct a message */ + MessageInfo mi; + + mi.title = tr("Quick Message").toStdWString(); + mi.msg = quickmsgText->toHtml().toStdWString(); + mi.msgto.push_back(mPeerId); + + rsMsgs->MessageSend(mi); + + quickmsgText->clear(); + messageframe->setVisible(false); + sendButton->hide(); +} \ No newline at end of file diff --git a/retroshare-gui/src/gui/feeds/ChatMsgItem.h b/retroshare-gui/src/gui/feeds/ChatMsgItem.h index fe2de10b3..a4940149e 100644 --- a/retroshare-gui/src/gui/feeds/ChatMsgItem.h +++ b/retroshare-gui/src/gui/feeds/ChatMsgItem.h @@ -51,11 +51,14 @@ private slots: void updateItem(); void updateAvatar(const QString &peer_id); + + void togglequickmessage(); + void sendMessage(); private: - void insertChat(std::string &message); + void insertChat(std::string &message); - FeedHolder *mParent; + FeedHolder *mParent; uint32_t mFeedId; std::string mPeerId; diff --git a/retroshare-gui/src/gui/feeds/ChatMsgItem.ui b/retroshare-gui/src/gui/feeds/ChatMsgItem.ui index 17103583b..8f0eca41d 100644 --- a/retroshare-gui/src/gui/feeds/ChatMsgItem.ui +++ b/retroshare-gui/src/gui/feeds/ChatMsgItem.ui @@ -6,8 +6,8 @@ 0 0 - 602 - 142 + 513 + 213 @@ -189,11 +189,56 @@ border-radius: 10px} QFrame::Raised - + 0 - + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 0 + + + + + + 16777215 + 115 + + + + + + + + + + + Write a quick Message + + + + :/images/message-mail.png:/images/message-mail.png + + + false + + + Qt::ToolButtonTextBesideIcon + + + true + + + + @@ -219,7 +264,7 @@ border-radius: 10px} - + @@ -248,7 +293,7 @@ border-radius: 10px} - + Qt::Horizontal @@ -261,6 +306,13 @@ border-radius: 10px} + + + + Send + + +