mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-01-14 00:49:41 -05:00
added proper naming functions for distant chat
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6439 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
e6c0217801
commit
491438055d
@ -306,6 +306,11 @@ bool ChatDialog::hasNewMessages()
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
QString ChatDialog::getPeerName(const std::string& id) const
|
||||||
|
{
|
||||||
|
return QString::fromUtf8( rsPeers->getPeerName(id).c_str() ) ;
|
||||||
|
}
|
||||||
|
|
||||||
void ChatDialog::setPeerStatus(uint32_t status)
|
void ChatDialog::setPeerStatus(uint32_t status)
|
||||||
{
|
{
|
||||||
ChatWidget *cw = getChatWidget();
|
ChatWidget *cw = getChatWidget();
|
||||||
|
@ -80,6 +80,8 @@ protected:
|
|||||||
void closeEvent(QCloseEvent *event);
|
void closeEvent(QCloseEvent *event);
|
||||||
virtual bool canClose() { return true; }
|
virtual bool canClose() { return true; }
|
||||||
|
|
||||||
|
virtual QString getPeerName(const std::string& sslid) const ; // can be overloaded for chat dialogs that have specific peers
|
||||||
|
|
||||||
virtual void init(const std::string &peerId, const QString &title);
|
virtual void init(const std::string &peerId, const QString &title);
|
||||||
virtual void onChatChanged(int /*list*/, int /*type*/) {}
|
virtual void onChatChanged(int /*list*/, int /*type*/) {}
|
||||||
|
|
||||||
|
@ -50,6 +50,7 @@
|
|||||||
#include <retroshare/rsstatus.h>
|
#include <retroshare/rsstatus.h>
|
||||||
#include <retroshare/rspeers.h>
|
#include <retroshare/rspeers.h>
|
||||||
#include <retroshare/rshistory.h>
|
#include <retroshare/rshistory.h>
|
||||||
|
#include <retroshare/rsmsgs.h>
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
@ -860,7 +861,14 @@ void ChatWidget::updateStatus(const QString &peer_id, int status)
|
|||||||
if (peer_id.toStdString() == peerId) {
|
if (peer_id.toStdString() == peerId) {
|
||||||
// the peers status has changed
|
// the peers status has changed
|
||||||
|
|
||||||
QString peerName = QString::fromUtf8(rsPeers->getPeerName(peerId).c_str());
|
QString peerName ;
|
||||||
|
uint32_t status ;
|
||||||
|
std::string pgp_id ;
|
||||||
|
|
||||||
|
if(rsMsgs->getDistantChatStatus(peerId,status,pgp_id))
|
||||||
|
peerName = QString::fromUtf8(rsPeers->getPeerName(pgp_id).c_str());
|
||||||
|
else
|
||||||
|
peerName = QString::fromUtf8(rsPeers->getPeerName(peerId).c_str());
|
||||||
|
|
||||||
// is scrollbar at the end?
|
// is scrollbar at the end?
|
||||||
QScrollBar *scrollbar = ui->textBrowser->verticalScrollBar();
|
QScrollBar *scrollbar = ui->textBrowser->verticalScrollBar();
|
||||||
|
@ -124,7 +124,7 @@ void PopupChatDialog::showDialog(uint chatflags)
|
|||||||
void PopupChatDialog::chatStatusChanged(const QString &peerId, const QString& statusString, bool isPrivateChat)
|
void PopupChatDialog::chatStatusChanged(const QString &peerId, const QString& statusString, bool isPrivateChat)
|
||||||
{
|
{
|
||||||
if (isPrivateChat && this->peerId == peerId.toStdString()) {
|
if (isPrivateChat && this->peerId == peerId.toStdString()) {
|
||||||
ui.chatWidget->updateStatusString(QString::fromUtf8(rsPeers->getPeerName(this->peerId).c_str()) + " %1", statusString);
|
ui.chatWidget->updateStatusString(getPeerName(peerId.toStdString()) + " %1", statusString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,7 +135,7 @@ void PopupChatDialog::addIncomingChatMsg(const ChatInfo& info)
|
|||||||
QDateTime sendTime = QDateTime::fromTime_t(info.sendTime);
|
QDateTime sendTime = QDateTime::fromTime_t(info.sendTime);
|
||||||
QDateTime recvTime = QDateTime::fromTime_t(info.recvTime);
|
QDateTime recvTime = QDateTime::fromTime_t(info.recvTime);
|
||||||
QString message = QString::fromStdWString(info.msg);
|
QString message = QString::fromStdWString(info.msg);
|
||||||
QString name = QString::fromUtf8(rsPeers->getPeerName(info.rsid).c_str()) ;
|
QString name = getPeerName(info.rsid) ;
|
||||||
|
|
||||||
cw->addChatMsg(true, name, sendTime, recvTime, message, ChatWidget::TYPE_NORMAL);
|
cw->addChatMsg(true, name, sendTime, recvTime, message, ChatWidget::TYPE_NORMAL);
|
||||||
}
|
}
|
||||||
@ -154,7 +154,7 @@ void PopupChatDialog::onChatChanged(int list, int type)
|
|||||||
{
|
{
|
||||||
std::list<ChatInfo> savedOfflineChatNew;
|
std::list<ChatInfo> savedOfflineChatNew;
|
||||||
|
|
||||||
QString name = QString::fromUtf8(rsPeers->getPeerName(rsPeers->getOwnId()).c_str());
|
QString name = getPeerName(rsPeers->getOwnId()) ;
|
||||||
|
|
||||||
std::list<ChatInfo> offlineChat;
|
std::list<ChatInfo> offlineChat;
|
||||||
if (rsMsgs->getPrivateChatQueueCount(false) && rsMsgs->getPrivateChatQueue(false, peerId, offlineChat)) {
|
if (rsMsgs->getPrivateChatQueueCount(false) && rsMsgs->getPrivateChatQueue(false, peerId, offlineChat)) {
|
||||||
@ -188,7 +188,7 @@ void PopupChatDialog::onChatChanged(int list, int type)
|
|||||||
case NOTIFY_TYPE_DEL:
|
case NOTIFY_TYPE_DEL:
|
||||||
{
|
{
|
||||||
if (manualDelete == false) {
|
if (manualDelete == false) {
|
||||||
QString name = QString::fromUtf8(rsPeers->getPeerName(rsPeers->getOwnId()).c_str());
|
QString name = getPeerName(rsPeers->getOwnId()) ;
|
||||||
|
|
||||||
// now show saved offline chat messages as sent
|
// now show saved offline chat messages as sent
|
||||||
std::list<ChatInfo>::iterator it;
|
std::list<ChatInfo>::iterator it;
|
||||||
|
@ -136,6 +136,16 @@ void PopupDistantChatDialog::closeEvent(QCloseEvent *e)
|
|||||||
PopupChatDialog::closeEvent(e) ;
|
PopupChatDialog::closeEvent(e) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString PopupDistantChatDialog::getPeerName(const std::string& id) const
|
||||||
|
{
|
||||||
|
uint32_t status ;
|
||||||
|
std::string pgp_id ;
|
||||||
|
|
||||||
|
if(rsMsgs->getDistantChatStatus(_hash,status,pgp_id))
|
||||||
|
return ChatDialog::getPeerName(pgp_id) ;
|
||||||
|
else
|
||||||
|
return ChatDialog::getPeerName(id) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,6 +42,8 @@ class PopupDistantChatDialog: public PopupChatDialog
|
|||||||
virtual void init(const std::string& _hash, const QString &title);
|
virtual void init(const std::string& _hash, const QString &title);
|
||||||
virtual void closeEvent(QCloseEvent *e) ;
|
virtual void closeEvent(QCloseEvent *e) ;
|
||||||
|
|
||||||
|
virtual QString getPeerName(const std::string& id) const ;
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void updateDisplay() ; // overloads RsAutoUpdatePage
|
void updateDisplay() ; // overloads RsAutoUpdatePage
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user