diff --git a/libretroshare/src/retroshare/rspeers.h b/libretroshare/src/retroshare/rspeers.h index 63f7a64fd..9a89e2a81 100644 --- a/libretroshare/src/retroshare/rspeers.h +++ b/libretroshare/src/retroshare/rspeers.h @@ -61,6 +61,15 @@ const uint32_t RS_PEER_STATE_ONLINE = 0x0002; const uint32_t RS_PEER_STATE_CONNECTED = 0x0004; const uint32_t RS_PEER_STATE_UNREACHABLE= 0x0008; +/* Connect state */ +const uint32_t RS_PEER_CONNECTSTATE_TRYING_TUNNEL = 1; +const uint32_t RS_PEER_CONNECTSTATE_TRYING_TCP = 2; +const uint32_t RS_PEER_CONNECTSTATE_TRYING_UDP = 3; +const uint32_t RS_PEER_CONNECTSTATE_CONNECTED_TCP = 4; +const uint32_t RS_PEER_CONNECTSTATE_CONNECTED_UDP = 5; +const uint32_t RS_PEER_CONNECTSTATE_CONNECTED_TUNNEL = 6; +const uint32_t RS_PEER_CONNECTSTATE_CONNECTED_UNKNOWN = 7; + /* Groups */ #define RS_GROUP_ID_FRIENDS "Friends" #define RS_GROUP_ID_FAMILY "Family" @@ -73,7 +82,6 @@ const uint32_t RS_GROUP_FLAG_STANDARD = 0x0001; /* A couple of helper functions for translating the numbers games */ std::string RsPeerTrustString(uint32_t trustLvl); -std::string RsPeerStateString(uint32_t state); std::string RsPeerNetModeString(uint32_t netModel); std::string RsPeerLastConnectString(uint32_t lastConnect); @@ -86,9 +94,9 @@ class RsPeerDetails RsPeerDetails(); /* Auth details */ - bool isOnlyGPGdetail; + bool isOnlyGPGdetail; std::string id; - std::string gpg_id; + std::string gpg_id; std::string name; std::string email; std::string location; @@ -98,24 +106,24 @@ class RsPeerDetails std::string fpr; /* pgp fingerprint */ std::string authcode; - std::list gpgSigners; + std::list gpgSigners; uint32_t trustLvl; uint32_t validLvl; - bool ownsign; /* we have signed the remote peer GPG key */ - bool hasSignedMe; /* the remote peer has signed my GPG key */ + bool ownsign; /* we have signed the remote peer GPG key */ + bool hasSignedMe; /* the remote peer has signed my GPG key */ - bool accept_connection; + bool accept_connection; /* Network details (only valid if friend) */ uint32_t state; - std::string localAddr; - uint16_t localPort; - std::string extAddr; - uint16_t extPort; - std::string dyndns; + std::string localAddr; + uint16_t localPort; + std::string extAddr; + uint16_t extPort; + std::string dyndns; std::list ipAddressList; uint32_t netMode; @@ -124,8 +132,10 @@ class RsPeerDetails /* basic stats */ uint32_t lastConnect; /* how long ago */ - std::string autoconnect; - uint32_t connectPeriod; + uint32_t connectState; /* RS_PEER_CONNECTSTATE_... */ + std::string connectStateString; /* Additional string like ip address */ + uint32_t connectPeriod; + bool foundDHT; }; class RsGroupInfo diff --git a/libretroshare/src/rsserver/p3peers.cc b/libretroshare/src/rsserver/p3peers.cc index a3c992452..f5f0712d1 100644 --- a/libretroshare/src/rsserver/p3peers.cc +++ b/libretroshare/src/rsserver/p3peers.cc @@ -88,34 +88,6 @@ std::string RsPeerTrustString(uint32_t trustLvl) return str; } - - -std::string RsPeerStateString(uint32_t state) -{ - std::string str; - if (state & RS_PEER_STATE_CONNECTED) - { - str = "Connected"; - } - else if (state & RS_PEER_STATE_UNREACHABLE) - { - str = "Unreachable"; - } - else if (state & RS_PEER_STATE_ONLINE) - { - str = "Available"; - } - else if (state & RS_PEER_STATE_FRIEND) - { - str = "Offline"; - } - else - { - str = "Neighbour"; - } - return str; -} - std::string RsPeerNetModeString(uint32_t netModel) { std::string str; @@ -337,10 +309,8 @@ bool p3Peers::getPeerDetails(const std::string &id, RsPeerDetails &d) d.ipAddressList.push_back("E:" + std::string(rs_inet_ntoa(it->mAddr.sin_addr)) + ":" + toto.str()); } - - /* Translate */ - + d.state = 0; if (pcs.state & RS_PEER_S_FRIEND) d.state |= RS_PEER_STATE_FRIEND; @@ -395,56 +365,49 @@ bool p3Peers::getPeerDetails(const std::string &id, RsPeerDetails &d) /* Finally determine AutoConnect Status */ - std::ostringstream autostr; + d.foundDHT = pcs.dht.found; + + d.connectState = 0; + d.connectStateString.clear(); - /* HACK to display DHT Status info too */ - if (pcs.dht.found) - { - autostr << "DHT:CONTACT!!! "; - } - else - { - if (!(pcs.state & RS_PEER_S_CONNECTED)) - { - autostr << "DHT:SEARCHING "; - } - } if (pcs.inConnAttempt) { - if (pcs.currentConnAddrAttempt.type & RS_NET_CONN_TUNNEL) { - autostr << "Trying tunnel connection"; - } else if (pcs.currentConnAddrAttempt.type & RS_NET_CONN_TCP_ALL) { - autostr << "Trying TCP : " << rs_inet_ntoa(pcs.currentConnAddrAttempt.addr.sin_addr) << ":" << ntohs(pcs.currentConnAddrAttempt.addr.sin_port); - } else if (pcs.currentConnAddrAttempt.type & RS_NET_CONN_UDP_ALL) { - autostr << "Trying UDP : " << rs_inet_ntoa(pcs.currentConnAddrAttempt.addr.sin_addr) << ":" << ntohs(pcs.currentConnAddrAttempt.addr.sin_port); - } + if (pcs.currentConnAddrAttempt.type & RS_NET_CONN_TUNNEL) { + d.connectState = RS_PEER_CONNECTSTATE_TRYING_TUNNEL; + } else if (pcs.currentConnAddrAttempt.type & RS_NET_CONN_TCP_ALL) { + d.connectState = RS_PEER_CONNECTSTATE_TRYING_TCP; + + std::ostringstream str; + str << rs_inet_ntoa(pcs.currentConnAddrAttempt.addr.sin_addr) << ":" << ntohs(pcs.currentConnAddrAttempt.addr.sin_port); + d.connectStateString = str.str(); + } else if (pcs.currentConnAddrAttempt.type & RS_NET_CONN_UDP_ALL) { + d.connectState = RS_PEER_CONNECTSTATE_TRYING_UDP; + + std::ostringstream str; + str << rs_inet_ntoa(pcs.currentConnAddrAttempt.addr.sin_addr) << ":" << ntohs(pcs.currentConnAddrAttempt.addr.sin_port); + d.connectStateString = str.str(); + } } else if (pcs.state & RS_PEER_S_CONNECTED) { if (pcs.connecttype == RS_NET_CONN_TCP_ALL) { - autostr << "Connected: TCP"; + d.connectState = RS_PEER_CONNECTSTATE_CONNECTED_TCP; } else if (pcs.connecttype == RS_NET_CONN_UDP_ALL) { - autostr << "Connected: UDP"; + d.connectState = RS_PEER_CONNECTSTATE_CONNECTED_UDP; } else if (pcs.connecttype == RS_NET_CONN_TUNNEL) { - autostr << "Connected: Tunnel"; + d.connectState = RS_PEER_CONNECTSTATE_CONNECTED_TUNNEL; } else { - autostr << "Connected: Unknown"; + d.connectState = RS_PEER_CONNECTSTATE_CONNECTED_UNKNOWN; } } - else - { - autostr << RsPeerStateString(pcs.state); - } - - d.autoconnect = autostr.str(); return true; } @@ -1314,7 +1277,7 @@ RsPeerDetails::RsPeerDetails() trustLvl(0), validLvl(0),ownsign(false), hasSignedMe(false),accept_connection(false), state(0),localAddr(""),localPort(0),extAddr(""),extPort(0),netMode(0),visState(0), - lastConnect(0),autoconnect(""),connectPeriod(0) + lastConnect(0),connectState(0),connectStateString(""),connectPeriod(0) { } diff --git a/retroshare-gui/src/gui/MessengerWindow.cpp b/retroshare-gui/src/gui/MessengerWindow.cpp index 09db3586a..49411e44f 100644 --- a/retroshare-gui/src/gui/MessengerWindow.cpp +++ b/retroshare-gui/src/gui/MessengerWindow.cpp @@ -572,10 +572,10 @@ void MessengerWindow::insertPeers() } #endif // MINIMAL_RSGUI if (sCustomString.isEmpty()) { - sslItem -> setText( COLUMN_NAME, tr("location") + " : " + QString::fromStdString(sslDetail.location) + " " + QString::fromStdString(sslDetail.autoconnect)); + sslItem -> setText( COLUMN_NAME, tr("location") + " : " + QString::fromStdString(sslDetail.location) + " " + StatusDefs::connectStateString(sslDetail)); sslItem -> setToolTip( COLUMN_NAME, tr("location") + " : " + QString::fromStdString(sslDetail.location)); } else { - sslItem -> setText( COLUMN_NAME, tr("location") + " : " + QString::fromStdString(sslDetail.location) + " " + QString::fromStdString(sslDetail.autoconnect) ); + sslItem -> setText( COLUMN_NAME, tr("location") + " : " + QString::fromStdString(sslDetail.location) + " " + StatusDefs::connectStateString(sslDetail)); sslItem -> setToolTip( COLUMN_NAME, tr("location") + " : " + QString::fromStdString(sslDetail.location) + " - " + sCustomString); /* store custom state string */ @@ -613,11 +613,17 @@ void MessengerWindow::insertPeers() sslItem->setHidden(hideOfflineFriends); gpg_online = true; + if (sslDetail.connectState) { + sslIcon = QIcon(":/images/connect_creating.png"); + } else { + sslIcon = QIcon(":/images/connect_no.png"); + } + sslFont.setBold(true); sslColor = Qt::black; } else { sslItem->setHidden(hideOfflineFriends); - if (sslDetail.autoconnect !="Offline") { + if (sslDetail.connectState) { sslIcon = QIcon(":/images/connect_creating.png"); } else { sslIcon = QIcon(":/images/connect_no.png"); @@ -794,7 +800,7 @@ void MessengerWindow::insertPeers() gpg_item->setHidden(hideOfflineFriends); gpg_item->setText(COLUMN_NAME, QString::fromStdString(detail.name)); gpgIcon = QIcon(IMAGE_AVAIBLE); - gpg_item->setData(COLUMN_NAME, ROLE_SORT, BuildStateSortString(sortState, gpg_item->text(COLUMN_NAME), PEER_STATE_ONLINE)); + gpg_item->setData(COLUMN_NAME, ROLE_SORT, BuildStateSortString(sortState, gpg_item->text(COLUMN_NAME), PEER_STATE_AVAILABLE)); QFont font; font.setBold(true); for(i = 0; i < COLUMN_COUNT; i++) { diff --git a/retroshare-gui/src/gui/PeersDialog.cpp b/retroshare-gui/src/gui/PeersDialog.cpp index a11796279..87645b878 100644 --- a/retroshare-gui/src/gui/PeersDialog.cpp +++ b/retroshare-gui/src/gui/PeersDialog.cpp @@ -910,18 +910,18 @@ void PeersDialog::insertPeers() if (customStateString.isEmpty() == false) { sText += " - " + customStateString; } - if (sslDetail.autoconnect.empty() == false) { - if (useStatusColumn) { - sslItem->setText(COLUMN_STATE, QString::fromStdString(sslDetail.autoconnect)); - } else if (showState) { - sText += " [" + QString::fromStdString(sslDetail.autoconnect) + "]"; - } + + QString connectStateString = StatusDefs::connectStateString(sslDetail); + if (useStatusColumn) { + sslItem->setText(COLUMN_STATE, connectStateString); + } else if (showState && connectStateString.isEmpty() == false) { + sText += " [" + StatusDefs::connectStateString(sslDetail) + "]"; } sslItem->setText( COLUMN_NAME, sText); if (useStatusColumn == false && showState == false) { /* Show the state as tooltip */ - sslItem->setToolTip(COLUMN_NAME, QString::fromStdString(sslDetail.autoconnect)); + sslItem->setToolTip(COLUMN_NAME, connectStateString); } else { sslItem->setToolTip(COLUMN_NAME, ""); } @@ -945,11 +945,17 @@ void PeersDialog::insertPeers() sslItem->setHidden(hideUnconnected); gpg_online = true; + if (sslDetail.connectState) { + sslIcon = QIcon(":/images/connect_creating.png"); + } else { + sslIcon = QIcon(":/images/connect_no.png"); + } + sslFont.setBold(true); sslColor = Qt::black; } else { sslItem->setHidden(hideUnconnected); - if (sslDetail.autoconnect != "Offline") { + if (sslDetail.connectState) { sslIcon = QIcon(":/images/connect_creating.png"); } else { sslIcon = QIcon(":/images/connect_no.png"); diff --git a/retroshare-gui/src/gui/common/StatusDefs.cpp b/retroshare-gui/src/gui/common/StatusDefs.cpp index f8bae3738..8c0a5fdd6 100644 --- a/retroshare-gui/src/gui/common/StatusDefs.cpp +++ b/retroshare-gui/src/gui/common/StatusDefs.cpp @@ -25,117 +25,181 @@ #include "StatusDefs.h" -const QString StatusDefs::name(const unsigned int status) +QString StatusDefs::name(unsigned int status) { - switch (status) { - case RS_STATUS_OFFLINE: - return qApp->translate("StatusDefs", "Offline"); - case RS_STATUS_AWAY: - return qApp->translate("StatusDefs", "Away"); - case RS_STATUS_BUSY: - return qApp->translate("StatusDefs", "Busy"); - case RS_STATUS_ONLINE: - return qApp->translate("StatusDefs", "Online"); - case RS_STATUS_INACTIVE: - return qApp->translate("StatusDefs", "Idle"); - } + switch (status) { + case RS_STATUS_OFFLINE: + return qApp->translate("StatusDefs", "Offline"); + case RS_STATUS_AWAY: + return qApp->translate("StatusDefs", "Away"); + case RS_STATUS_BUSY: + return qApp->translate("StatusDefs", "Busy"); + case RS_STATUS_ONLINE: + return qApp->translate("StatusDefs", "Online"); + case RS_STATUS_INACTIVE: + return qApp->translate("StatusDefs", "Idle"); + } - std::cerr << "StatusDefs::name: Unknown status requested " << status; - return ""; + std::cerr << "StatusDefs::name: Unknown status requested " << status; + return ""; } -const char *StatusDefs::imageIM(const unsigned int status) +const char *StatusDefs::imageIM(unsigned int status) { - switch (status) { - case RS_STATUS_OFFLINE: - return ":/images/im-user-offline.png"; - case RS_STATUS_AWAY: - return ":/images/im-user-away.png"; - case RS_STATUS_BUSY: - return ":/images/im-user-busy.png"; - case RS_STATUS_ONLINE: - return ":/images/im-user.png"; - case RS_STATUS_INACTIVE: - return ":/images/im-user-inactive.png"; - } + switch (status) { + case RS_STATUS_OFFLINE: + return ":/images/im-user-offline.png"; + case RS_STATUS_AWAY: + return ":/images/im-user-away.png"; + case RS_STATUS_BUSY: + return ":/images/im-user-busy.png"; + case RS_STATUS_ONLINE: + return ":/images/im-user.png"; + case RS_STATUS_INACTIVE: + return ":/images/im-user-inactive.png"; + } - std::cerr << "StatusDefs::imageIM: Unknown status requested " << status; - return ""; + std::cerr << "StatusDefs::imageIM: Unknown status requested " << status; + return ""; } -const char *StatusDefs::imageUser(const unsigned int status) +const char *StatusDefs::imageUser(unsigned int status) { - switch (status) { - case RS_STATUS_OFFLINE: - return ":/images/user/identityoffline24.png"; - case RS_STATUS_AWAY: - return ":/images/user/identity24away.png"; - case RS_STATUS_BUSY: - return ":/images/user/identity24busy.png"; - case RS_STATUS_ONLINE: - return ":/images/user/identity24.png"; - case RS_STATUS_INACTIVE: - return ":/images/user/identity24idle.png"; - } + switch (status) { + case RS_STATUS_OFFLINE: + return ":/images/user/identityoffline24.png"; + case RS_STATUS_AWAY: + return ":/images/user/identity24away.png"; + case RS_STATUS_BUSY: + return ":/images/user/identity24busy.png"; + case RS_STATUS_ONLINE: + return ":/images/user/identity24.png"; + case RS_STATUS_INACTIVE: + return ":/images/user/identity24idle.png"; + } - std::cerr << "StatusDefs::imageUser: Unknown status requested " << status; - return ""; + std::cerr << "StatusDefs::imageUser: Unknown status requested " << status; + return ""; } -const QString StatusDefs::tooltip(const unsigned int status) +QString StatusDefs::tooltip(unsigned int status) { - switch (status) { - case RS_STATUS_OFFLINE: - return qApp->translate("StatusDefs", "Friend is offline"); - case RS_STATUS_AWAY: - return qApp->translate("StatusDefs", "Friend is away"); - case RS_STATUS_BUSY: - return qApp->translate("StatusDefs", "Friend is busy"); - case RS_STATUS_ONLINE: - return qApp->translate("StatusDefs", "Friend is online"); - case RS_STATUS_INACTIVE: - return qApp->translate("StatusDefs", "Friend is idle"); - } + switch (status) { + case RS_STATUS_OFFLINE: + return qApp->translate("StatusDefs", "Friend is offline"); + case RS_STATUS_AWAY: + return qApp->translate("StatusDefs", "Friend is away"); + case RS_STATUS_BUSY: + return qApp->translate("StatusDefs", "Friend is busy"); + case RS_STATUS_ONLINE: + return qApp->translate("StatusDefs", "Friend is online"); + case RS_STATUS_INACTIVE: + return qApp->translate("StatusDefs", "Friend is idle"); + } - std::cerr << "StatusDefs::tooltip: Unknown status requested " << status; - return ""; + std::cerr << "StatusDefs::tooltip: Unknown status requested " << status; + return ""; } -const QColor StatusDefs::textColor(const unsigned int status) +QColor StatusDefs::textColor(unsigned int status) { - switch (status) { - case RS_STATUS_OFFLINE: - return Qt::black; - case RS_STATUS_AWAY: - return Qt::gray; - case RS_STATUS_BUSY: - return Qt::gray; - case RS_STATUS_ONLINE: - return Qt::darkBlue; - case RS_STATUS_INACTIVE: - return Qt::gray; - } + switch (status) { + case RS_STATUS_OFFLINE: + return Qt::black; + case RS_STATUS_AWAY: + return Qt::gray; + case RS_STATUS_BUSY: + return Qt::gray; + case RS_STATUS_ONLINE: + return Qt::darkBlue; + case RS_STATUS_INACTIVE: + return Qt::gray; + } - std::cerr << "StatusDefs::textColor: Unknown status requested " << status; - return Qt::black; + std::cerr << "StatusDefs::textColor: Unknown status requested " << status; + return Qt::black; } -const QFont StatusDefs::font(const unsigned int status) +QFont StatusDefs::font(unsigned int status) { - QFont font; + QFont font; - switch (status) { - case RS_STATUS_AWAY: - case RS_STATUS_BUSY: - case RS_STATUS_ONLINE: - case RS_STATUS_INACTIVE: - font.setBold(true); - return font; - case RS_STATUS_OFFLINE: - font.setBold(false); - return font; - } + switch (status) { + case RS_STATUS_AWAY: + case RS_STATUS_BUSY: + case RS_STATUS_ONLINE: + case RS_STATUS_INACTIVE: + font.setBold(true); + return font; + case RS_STATUS_OFFLINE: + font.setBold(false); + return font; + } - std::cerr << "StatusDefs::font: Unknown status requested " << status; - return font; + std::cerr << "StatusDefs::font: Unknown status requested " << status; + return font; +} + +QString StatusDefs::peerStateString(int peerState) +{ + if (peerState & RS_PEER_STATE_CONNECTED) { + return qApp->translate("StatusDefs", "Connected"); + } else if (peerState & RS_PEER_STATE_UNREACHABLE) { + return qApp->translate("StatusDefs", "Unreachable"); + } else if (peerState & RS_PEER_STATE_ONLINE) { + return qApp->translate("StatusDefs", "Available"); + } else if (peerState & RS_PEER_STATE_FRIEND) { + return qApp->translate("StatusDefs", "Offline"); + } + + return qApp->translate("StatusDefs", "Neighbour"); +} + +QString StatusDefs::connectStateString(RsPeerDetails &details) +{ + QString stateString; + + switch (details.connectState) { + case 0: + stateString = peerStateString(details.state); + break; + case RS_PEER_CONNECTSTATE_TRYING_TUNNEL: + stateString = qApp->translate("StatusDefs", "Trying tunnel connection"); + break; + case RS_PEER_CONNECTSTATE_TRYING_TCP: + stateString = qApp->translate("StatusDefs", "Trying TCP"); + break; + case RS_PEER_CONNECTSTATE_TRYING_UDP: + stateString = qApp->translate("StatusDefs", "Trying UDP"); + break; + case RS_PEER_CONNECTSTATE_CONNECTED_TCP: + stateString = qApp->translate("StatusDefs", "Connected: TCP"); + break; + case RS_PEER_CONNECTSTATE_CONNECTED_UDP: + stateString = qApp->translate("StatusDefs", "Connected: UDP"); + break; + case RS_PEER_CONNECTSTATE_CONNECTED_TUNNEL: + stateString = qApp->translate("StatusDefs", "Connected: Tunnel"); + break; + case RS_PEER_CONNECTSTATE_CONNECTED_UNKNOWN: + stateString = qApp->translate("StatusDefs", "Connected: Unknown"); + break; + } + + if (details.connectStateString.empty() == false) { + if (stateString.isEmpty() == false) { + stateString += ": "; + } + stateString += QString::fromStdString(details.connectStateString); + } + + /* HACK to display DHT Status info too */ + if (details.foundDHT) { + if (stateString.isEmpty() == false) { + stateString += ", "; + } + stateString += qApp->translate("StatusDefs", "DHT: Contact"); + } + + return stateString; } diff --git a/retroshare-gui/src/gui/common/StatusDefs.h b/retroshare-gui/src/gui/common/StatusDefs.h index 8bb64381b..25066c15d 100644 --- a/retroshare-gui/src/gui/common/StatusDefs.h +++ b/retroshare-gui/src/gui/common/StatusDefs.h @@ -26,16 +26,21 @@ #include #include +class RsPeerDetails; + class StatusDefs { public: - static const QString name(const unsigned int status); - static const char* imageIM(const unsigned int status); - static const char* imageUser(const unsigned int status); - static const QString tooltip(const unsigned int status); + static QString name(unsigned int status); + static const char* imageIM(unsigned int status); + static const char* imageUser(unsigned int status); + static QString tooltip(unsigned int status); - static const QColor textColor(const unsigned int status); - static const QFont font(const unsigned int status); + static QColor textColor(unsigned int status); + static QFont font(unsigned int status); + + static QString peerStateString(int peerState); + static QString connectStateString(RsPeerDetails &details); }; #endif diff --git a/retroshare-gui/src/gui/connect/ConfCertDialog.cpp b/retroshare-gui/src/gui/connect/ConfCertDialog.cpp index ad60009fb..25f3f7bae 100644 --- a/retroshare-gui/src/gui/connect/ConfCertDialog.cpp +++ b/retroshare-gui/src/gui/connect/ConfCertDialog.cpp @@ -36,6 +36,7 @@ #include "gui/help/browser/helpbrowser.h" #include "gui/common/PeerDefs.h" #include "gui/MainWindow.h" +#include "gui/common/StatusDefs.h" static QMap instances; @@ -159,8 +160,8 @@ void ConfCertDialog::load() ui.extPort -> setValue(detail.extPort); ui.dynDNS->setText(QString::fromStdString(detail.dyndns)); - - ui.statusline->setText(QString::fromStdString(detail.autoconnect)); + + ui.statusline->setText(StatusDefs::connectStateString(detail)); ui.ipAddressList->clear(); for(std::list::const_iterator it(detail.ipAddressList.begin());it!=detail.ipAddressList.end();++it) diff --git a/retroshare-gui/src/gui/feeds/PeerItem.cpp b/retroshare-gui/src/gui/feeds/PeerItem.cpp index 129749fa8..7f7db821c 100644 --- a/retroshare-gui/src/gui/feeds/PeerItem.cpp +++ b/retroshare-gui/src/gui/feeds/PeerItem.cpp @@ -26,6 +26,7 @@ #include "FeedHolder.h" #include "../RsAutoUpdatePage.h" #include "gui/msgs/MessageComposer.h" +#include "gui/common/StatusDefs.h" #include "gui/notifyqt.h" @@ -178,7 +179,7 @@ void PeerItem::updateItem() } /* top Level info */ - QString status = QString::fromStdString(RsPeerStateString(details.state)); + QString status = StatusDefs::peerStateString(details.state); #if 0 /* Append additional status info from status service */ @@ -201,7 +202,7 @@ void PeerItem::updateItem() ipLabel->setText(QString::fromStdString(out.str())); } - connLabel->setText(QString::fromStdString(details.autoconnect)); + connLabel->setText(StatusDefs::connectStateString(details)); /* do buttons */ chatButton->setEnabled(details.state & RS_PEER_STATE_CONNECTED); diff --git a/retroshare-gui/src/lang/retroshare_de.qm b/retroshare-gui/src/lang/retroshare_de.qm index 153819a52..c46e0f206 100644 Binary files a/retroshare-gui/src/lang/retroshare_de.qm and b/retroshare-gui/src/lang/retroshare_de.qm differ diff --git a/retroshare-gui/src/lang/retroshare_de.ts b/retroshare-gui/src/lang/retroshare_de.ts index 0b1a355ca..3399b7209 100644 --- a/retroshare-gui/src/lang/retroshare_de.ts +++ b/retroshare-gui/src/lang/retroshare_de.ts @@ -1016,12 +1016,12 @@ p, li { white-space: pre-wrap; } Hinzufügen - + Display Anzeige - + Set all to read Alle als gelesen markieren @@ -1071,7 +1071,7 @@ p, li { white-space: pre-wrap; } Andere Kanäle - + Post to Channel Kanalbeitrag erstellen @@ -1516,7 +1516,7 @@ p, li { white-space: pre-wrap; } Übernehmen und Schliessen - + RetroShare @@ -3644,7 +3644,7 @@ p, li { white-space: pre-wrap; } Hinzufügen - + Start new Thread for Selected Forum Starte ein neues Thema im ausgewählten Forum @@ -3654,7 +3654,7 @@ p, li { white-space: pre-wrap; } Anzeige - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -7134,7 +7134,7 @@ p, li { white-space: pre-wrap; } - + Expand Erweitern @@ -10600,11 +10600,12 @@ Bist Du sicher? StatusDefs + Offline - + Away Abwesend @@ -10648,6 +10649,66 @@ Bist Du sicher? Friend is idle Freund ist untätig + + + Connected + Verbunden + + + + Unreachable + Unerreichbar + + + + Available + Verfügbar + + + + Neighbour + Nachbar + + + + Trying tunnel connection + Versuche Tunnelverbindung + + + + Trying TCP + Versuche TCP + + + + Trying UDP + Versuche UDP + + + + Connected: TCP + Verbunden: TCP + + + + Connected: UDP + Verbunden: UDP + + + + Connected: Tunnel + Verbunden: Tunnel + + + + Connected: Unknown + Verbunden: Unbekannt + + + + DHT: Contact + DHT: Kontakt + StatusMessage