mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-01-13 00:19:30 -05:00
improved status display for distant chat
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6437 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
8ab9c59a9f
commit
b21fae52d0
@ -2932,7 +2932,7 @@ void p3ChatService::addVirtualPeer(const TurtleFileHash& hash,const TurtleVirtua
|
|||||||
}
|
}
|
||||||
|
|
||||||
rsicontrol->getNotify().notifyChatStatus(hash,"tunnel is up again!",true) ;
|
rsicontrol->getNotify().notifyChatStatus(hash,"tunnel is up again!",true) ;
|
||||||
rsicontrol->getNotify().notifyPeerStatusChanged(hash,RS_STATUS_ONLINE) ;
|
//rsicontrol->getNotify().notifyPeerStatusChanged(hash,RS_STATUS_ONLINE) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
void p3ChatService::removeVirtualPeer(const TurtleFileHash& hash,const TurtleVirtualPeerId& virtual_peer_id)
|
void p3ChatService::removeVirtualPeer(const TurtleFileHash& hash,const TurtleVirtualPeerId& virtual_peer_id)
|
||||||
@ -3053,6 +3053,8 @@ void p3ChatService::receiveTurtleData( RsTurtleGenericTunnelItem *gitem,const st
|
|||||||
// Setup the virtual peer to be the origin, and pass it on.
|
// Setup the virtual peer to be the origin, and pass it on.
|
||||||
//
|
//
|
||||||
citem->PeerId(hash) ;
|
citem->PeerId(hash) ;
|
||||||
|
//rsicontrol->getNotify().notifyPeerStatusChanged(hash,RS_STATUS_ONLINE) ;
|
||||||
|
|
||||||
handleIncomingItem(citem) ; // Treats the item, and deletes it
|
handleIncomingItem(citem) ; // Treats the item, and deletes it
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -306,7 +306,12 @@ bool ChatDialog::hasNewMessages()
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
void ChatDialog::setPeerStatus(uint32_t status)
|
||||||
|
{
|
||||||
|
ChatWidget *cw = getChatWidget();
|
||||||
|
if (cw)
|
||||||
|
cw->updateStatus(QString::fromStdString(getPeerId()), status);
|
||||||
|
}
|
||||||
int ChatDialog::getPeerStatus()
|
int ChatDialog::getPeerStatus()
|
||||||
{
|
{
|
||||||
ChatWidget *cw = getChatWidget();
|
ChatWidget *cw = getChatWidget();
|
||||||
|
@ -60,6 +60,7 @@ public:
|
|||||||
|
|
||||||
void insertChatMsgs();
|
void insertChatMsgs();
|
||||||
int getPeerStatus();
|
int getPeerStatus();
|
||||||
|
void setPeerStatus(uint32_t state);
|
||||||
|
|
||||||
void focusDialog();
|
void focusDialog();
|
||||||
|
|
||||||
|
@ -79,12 +79,13 @@ public:
|
|||||||
void setDefaultExtraFileFlags(TransferRequestFlags f) ;
|
void setDefaultExtraFileFlags(TransferRequestFlags f) ;
|
||||||
void pasteText(const QString&);
|
void pasteText(const QString&);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void updateStatus(const QString &peer_id, int status);
|
||||||
private slots:
|
private slots:
|
||||||
void pasteCreateMsgLink() ;
|
void pasteCreateMsgLink() ;
|
||||||
void clearChatHistory();
|
void clearChatHistory();
|
||||||
void deleteChatHistory();
|
void deleteChatHistory();
|
||||||
void messageHistory();
|
void messageHistory();
|
||||||
void updateStatus(const QString &peer_id, int status);
|
|
||||||
void resetStatusBar() ;
|
void resetStatusBar() ;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
@ -23,6 +23,8 @@
|
|||||||
#include <QCloseEvent>
|
#include <QCloseEvent>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
|
||||||
|
#include <retroshare/rsstatus.h>
|
||||||
|
|
||||||
#include "RsAutoUpdatePage.h"
|
#include "RsAutoUpdatePage.h"
|
||||||
#include "PopupDistantChatDialog.h"
|
#include "PopupDistantChatDialog.h"
|
||||||
|
|
||||||
@ -79,6 +81,7 @@ void PopupDistantChatDialog::updateDisplay()
|
|||||||
case RS_DISTANT_CHAT_STATUS_UNKNOWN: std::cerr << "Unknown hash. Error!" << std::endl;
|
case RS_DISTANT_CHAT_STATUS_UNKNOWN: std::cerr << "Unknown hash. Error!" << std::endl;
|
||||||
_status_label->setPixmap(QPixmap(IMAGE_GRY_LED)) ;
|
_status_label->setPixmap(QPixmap(IMAGE_GRY_LED)) ;
|
||||||
_status_label->setToolTip(QObject::tr("Hash error")) ;
|
_status_label->setToolTip(QObject::tr("Hash error")) ;
|
||||||
|
setPeerStatus(RS_STATUS_OFFLINE) ;
|
||||||
break ;
|
break ;
|
||||||
case RS_DISTANT_CHAT_STATUS_REMOTELY_CLOSED: std::cerr << "Chat remotely closed. " << std::endl;
|
case RS_DISTANT_CHAT_STATUS_REMOTELY_CLOSED: std::cerr << "Chat remotely closed. " << std::endl;
|
||||||
_status_label->setPixmap(QPixmap(IMAGE_RED_LED)) ;
|
_status_label->setPixmap(QPixmap(IMAGE_RED_LED)) ;
|
||||||
@ -86,18 +89,23 @@ void PopupDistantChatDialog::updateDisplay()
|
|||||||
|
|
||||||
QMessageBox::warning(NULL,tr("Distant chat terminated"),tr("The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now.")) ;
|
QMessageBox::warning(NULL,tr("Distant chat terminated"),tr("The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now.")) ;
|
||||||
_update_timer->stop() ;
|
_update_timer->stop() ;
|
||||||
|
setPeerStatus(RS_STATUS_OFFLINE) ;
|
||||||
|
|
||||||
break ;
|
break ;
|
||||||
case RS_DISTANT_CHAT_STATUS_TUNNEL_DN: std::cerr << "Tunnel asked. Waiting for reponse. " << std::endl;
|
case RS_DISTANT_CHAT_STATUS_TUNNEL_DN: std::cerr << "Tunnel asked. Waiting for reponse. " << std::endl;
|
||||||
_status_label->setPixmap(QPixmap(IMAGE_RED_LED)) ;
|
_status_label->setPixmap(QPixmap(IMAGE_RED_LED)) ;
|
||||||
_status_label->setToolTip(QObject::tr("Tunnel is pending...")) ;
|
_status_label->setToolTip(QObject::tr("Tunnel is pending...")) ;
|
||||||
|
setPeerStatus(RS_STATUS_OFFLINE) ;
|
||||||
break ;
|
break ;
|
||||||
case RS_DISTANT_CHAT_STATUS_TUNNEL_OK: std::cerr << "Tunnel is ok. " << std::endl;
|
case RS_DISTANT_CHAT_STATUS_TUNNEL_OK: std::cerr << "Tunnel is ok. " << std::endl;
|
||||||
_status_label->setPixmap(QPixmap(IMAGE_YEL_LED)) ;
|
_status_label->setPixmap(QPixmap(IMAGE_YEL_LED)) ;
|
||||||
_status_label->setToolTip(QObject::tr("Secured tunnel established!")) ;
|
_status_label->setToolTip(QObject::tr("Secured tunnel established!")) ;
|
||||||
|
setPeerStatus(RS_STATUS_ONLINE) ;
|
||||||
break ;
|
break ;
|
||||||
case RS_DISTANT_CHAT_STATUS_CAN_TALK: std::cerr << "Tunnel is ok and data is transmitted." << std::endl;
|
case RS_DISTANT_CHAT_STATUS_CAN_TALK: std::cerr << "Tunnel is ok and data is transmitted." << std::endl;
|
||||||
_status_label->setPixmap(QPixmap(IMAGE_GRN_LED)) ;
|
_status_label->setPixmap(QPixmap(IMAGE_GRN_LED)) ;
|
||||||
_status_label->setToolTip(QObject::tr("Secured tunnel is working")) ;
|
_status_label->setToolTip(QObject::tr("Secured tunnel is working")) ;
|
||||||
|
setPeerStatus(RS_STATUS_ONLINE) ;
|
||||||
break ;
|
break ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,6 @@ class PopupDistantChatDialog: public PopupChatDialog
|
|||||||
virtual ~PopupDistantChatDialog();
|
virtual ~PopupDistantChatDialog();
|
||||||
|
|
||||||
virtual void init(const std::string& _hash, const QString &title);
|
virtual void init(const std::string& _hash, const QString &title);
|
||||||
virtual void updateStatus(int /*status*/) {}
|
|
||||||
virtual void closeEvent(QCloseEvent *e) ;
|
virtual void closeEvent(QCloseEvent *e) ;
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
|
Loading…
Reference in New Issue
Block a user