Merge remote-tracking branch 'upstream/master' into v0.6-TorV3

This commit is contained in:
csoler 2020-10-10 23:12:27 +02:00
commit 74660b916a
119 changed files with 1012 additions and 1284 deletions

View File

@ -21,7 +21,6 @@
*******************************************************************************/ *******************************************************************************/
#include "dht/connectstatebox.h" #include "dht/connectstatebox.h"
#include "retroshare/rsconfig.h"
#include "util/rsrandom.h" #include "util/rsrandom.h"
#include "util/rsstring.h" #include "util/rsstring.h"
@ -260,26 +259,26 @@ std::string PeerConnectStateBox::connectState() const
} }
uint32_t convertNetStateToInternal(uint32_t netmode, uint32_t nathole, uint32_t nattype) uint32_t convertNetStateToInternal(RsNetworkMode netmode, RsNatHoleMode nathole, RsNatTypeMode nattype)
{ {
uint32_t connNet = CSB_NETSTATE_UNKNOWN; uint32_t connNet = CSB_NETSTATE_UNKNOWN;
if (netmode == RSNET_NETWORK_EXTERNALIP) if (netmode == RsNetworkMode::EXTERNALIP)
{ {
connNet = CSB_NETSTATE_FORWARD; connNet = CSB_NETSTATE_FORWARD;
} }
else if ((nathole != RSNET_NATHOLE_UNKNOWN) && (nathole != RSNET_NATHOLE_NONE)) else if ((nathole != RsNatHoleMode::UNKNOWN) && (nathole != RsNatHoleMode::NONE))
{ {
connNet = CSB_NETSTATE_FORWARD; connNet = CSB_NETSTATE_FORWARD;
} }
else if (netmode == RSNET_NETWORK_BEHINDNAT) else if (netmode == RsNetworkMode::BEHINDNAT)
{ {
if ((nattype == RSNET_NATTYPE_RESTRICTED_CONE) || if ((nattype == RsNatTypeMode::RESTRICTED_CONE) ||
(nattype == RSNET_NATTYPE_FULL_CONE)) (nattype == RsNatTypeMode::FULL_CONE))
{ {
connNet = CSB_NETSTATE_STABLENAT; connNet = CSB_NETSTATE_STABLENAT;
} }
else if (nattype == RSNET_NATTYPE_DETERM_SYM) else if (nattype == RsNatTypeMode::DETERM_SYM)
{ {
connNet = CSB_NETSTATE_EXCLUSIVENAT; connNet = CSB_NETSTATE_EXCLUSIVENAT;
} }
@ -300,20 +299,20 @@ bool shouldUseProxyPortInternal(uint32_t netstate)
return true; return true;
} }
bool PeerConnectStateBox::shouldUseProxyPort(uint32_t netmode, uint32_t nathole, uint32_t nattype) bool PeerConnectStateBox::shouldUseProxyPort(RsNetworkMode netmode, RsNatHoleMode nathole, RsNatTypeMode nattype)
{ {
uint32_t netstate = convertNetStateToInternal(netmode, nathole, nattype); uint32_t netstate = convertNetStateToInternal(netmode, nathole, nattype);
return shouldUseProxyPortInternal(netstate); return shouldUseProxyPortInternal(netstate);
} }
uint32_t PeerConnectStateBox::calcNetState(uint32_t netmode, uint32_t nathole, uint32_t nattype) uint32_t PeerConnectStateBox::calcNetState(RsNetworkMode netmode, RsNatHoleMode nathole, RsNatTypeMode nattype)
{ {
uint32_t netstate = convertNetStateToInternal(netmode, nathole, nattype); uint32_t netstate = convertNetStateToInternal(netmode, nathole, nattype);
return netstate; return netstate;
} }
uint32_t PeerConnectStateBox::connectCb(uint32_t cbtype, uint32_t netmode, uint32_t nathole, uint32_t nattype) uint32_t PeerConnectStateBox::connectCb(uint32_t cbtype, RsNetworkMode netmode, RsNatHoleMode nathole, RsNatTypeMode nattype)
{ {
uint32_t netstate = convertNetStateToInternal(netmode, nathole, nattype); uint32_t netstate = convertNetStateToInternal(netmode, nathole, nattype);

View File

@ -75,17 +75,19 @@
#include "util/rstime.h" #include "util/rstime.h"
#include <inttypes.h> #include <inttypes.h>
#include <retroshare/rsconfig.h>
class PeerConnectStateBox class PeerConnectStateBox
{ {
public: public:
PeerConnectStateBox(); PeerConnectStateBox();
uint32_t connectCb(uint32_t cbtype, uint32_t netmode, uint32_t nathole, uint32_t nattype); uint32_t connectCb(uint32_t cbtype, RsNetworkMode netmode, RsNatHoleMode nathole, RsNatTypeMode nattype);
uint32_t updateCb(uint32_t updateType); uint32_t updateCb(uint32_t updateType);
bool shouldUseProxyPort(uint32_t netmode, uint32_t nathole, uint32_t nattype); bool shouldUseProxyPort(RsNetworkMode netmode, RsNatHoleMode nathole, RsNatTypeMode nattype);
uint32_t calcNetState(uint32_t netmode, uint32_t nathole, uint32_t nattype); uint32_t calcNetState(RsNetworkMode netmode, RsNatHoleMode nathole, RsNatTypeMode nattype);
std::string connectState() const; std::string connectState() const;
std::string mPeerId; std::string mPeerId;

View File

@ -45,20 +45,20 @@ class DhtPeerDetails
DhtPeerDetails(); DhtPeerDetails();
uint32_t mPeerType; RsDhtPeerType mPeerType;
bdId mDhtId; bdId mDhtId;
RsPeerId mRsId; RsPeerId mRsId;
/* direct from the DHT! */ /* direct from the DHT! */
uint32_t mDhtState; // One of RSDHT_PEERDHT_[...] RsDhtPeerDht mDhtState;
rstime_t mDhtUpdateTS; rstime_t mDhtUpdateTS;
/* internal state */ /* internal state */
PeerConnectStateBox mConnectLogic; PeerConnectStateBox mConnectLogic;
/* Actual Connection Status */ /* Actual Connection Status */
uint32_t mPeerConnectState; // One of RSDHT_PEERCONN_ RsDhtPeerConnectState mPeerConnectState;
std::string mPeerConnectMsg; std::string mPeerConnectMsg;
uint32_t mPeerConnectMode; uint32_t mPeerConnectMode;
bdId mPeerConnectPeerId; bdId mPeerConnectPeerId;
@ -77,7 +77,7 @@ class DhtPeerDetails
/* Connection Request Status */ /* Connection Request Status */
std::string mPeerReqStatusMsg; std::string mPeerReqStatusMsg;
uint32_t mPeerReqState; RsDhtPeerRequest mPeerReqState;
uint32_t mPeerReqMode; uint32_t mPeerReqMode;
bdId mPeerReqProxyId; bdId mPeerReqProxyId;
rstime_t mPeerReqTS; rstime_t mPeerReqTS;
@ -294,11 +294,11 @@ public:
virtual int addRelayServer(std::string ids); virtual int addRelayServer(std::string ids);
virtual int removeRelayServer(std::string ids); virtual int removeRelayServer(std::string ids);
virtual uint32_t getRelayMode(); virtual RsDhtRelayMode getRelayMode();
virtual int setRelayMode(uint32_t mode); virtual int setRelayMode(RsDhtRelayMode mode);
virtual int getRelayAllowance(int classIdx, uint32_t &count, uint32_t &bandwidth); virtual int getRelayAllowance(RsDhtRelayClass classIdx, uint32_t &count, uint32_t &bandwidth);
virtual int setRelayAllowance(int classIdx, uint32_t count, uint32_t bandwidth); virtual int setRelayAllowance(RsDhtRelayClass classIdx, uint32_t count, uint32_t bandwidth);
private: private:
@ -307,7 +307,7 @@ private:
int pushRelayServers(); int pushRelayServers();
std::list<std::string> mRelayServerList; std::list<std::string> mRelayServerList;
uint32_t mRelayMode; RsDhtRelayMode mRelayMode;
protected: protected:
/*****************************************************************/ /*****************************************************************/
@ -348,9 +348,9 @@ public:
private: private:
DhtPeerDetails *addInternalPeer_locked(const RsPeerId& pid, uint32_t type); DhtPeerDetails *addInternalPeer_locked(const RsPeerId& pid, RsDhtPeerType type);
int removeInternalPeer_locked(const RsPeerId& pid); int removeInternalPeer_locked(const RsPeerId& pid);
DhtPeerDetails *findInternalDhtPeer_locked(const bdNodeId *id, uint32_t type); DhtPeerDetails *findInternalDhtPeer_locked(const bdNodeId *id, RsDhtPeerType type);
DhtPeerDetails *findInternalRsPeer_locked(const RsPeerId &pid); DhtPeerDetails *findInternalRsPeer_locked(const RsPeerId &pid);
bool havePeerTranslation_locked(const RsPeerId &pid); bool havePeerTranslation_locked(const RsPeerId &pid);

View File

@ -302,16 +302,16 @@ void convertDhtPeerDetailsToRsDhtNetPeer(RsDhtNetPeer &status, const DhtPeerDeta
switch(details.mPeerConnectMode) switch(details.mPeerConnectMode)
{ {
default: default:
status.mPeerConnectMode = RSDHT_TOU_MODE_NONE; status.mPeerConnectMode = RsDhtTouMode::NONE;
break; break;
case BITDHT_CONNECT_MODE_DIRECT: case BITDHT_CONNECT_MODE_DIRECT:
status.mPeerConnectMode = RSDHT_TOU_MODE_DIRECT; status.mPeerConnectMode = RsDhtTouMode::DIRECT;
break; break;
case BITDHT_CONNECT_MODE_PROXY: case BITDHT_CONNECT_MODE_PROXY:
status.mPeerConnectMode = RSDHT_TOU_MODE_PROXY; status.mPeerConnectMode = RsDhtTouMode::PROXY;
break; break;
case BITDHT_CONNECT_MODE_RELAY: case BITDHT_CONNECT_MODE_RELAY:
status.mPeerConnectMode = RSDHT_TOU_MODE_RELAY; status.mPeerConnectMode = RsDhtTouMode::RELAY;
break; break;
} }

View File

@ -83,7 +83,7 @@ int p3BitDht::InfoCallback(const bdId *id, uint32_t /*type*/, uint32_t /*flags*/
{ {
RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/ RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(id->id), RSDHT_PEERTYPE_ANY); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(id->id), RsDhtPeerType::ANY);
if (dpd) if (dpd)
{ {
@ -204,7 +204,7 @@ int p3BitDht::PeerCallback(const bdId *id, uint32_t status)
RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/ RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(id->id), RSDHT_PEERTYPE_FRIEND); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(id->id), RsDhtPeerType::FRIEND);
if (!dpd) if (!dpd)
{ {
@ -222,26 +222,26 @@ int p3BitDht::PeerCallback(const bdId *id, uint32_t status)
switch(status) switch(status)
{ {
default: default:
dpd->mDhtState = RSDHT_PEERDHT_NOT_ACTIVE; dpd->mDhtState = RsDhtPeerDht::NOT_ACTIVE;
break; break;
case BITDHT_MGR_QUERY_FAILURE: case BITDHT_MGR_QUERY_FAILURE:
dpd->mDhtState = RSDHT_PEERDHT_FAILURE; dpd->mDhtState = RsDhtPeerDht::FAILURE;
break; break;
case BITDHT_MGR_QUERY_PEER_OFFLINE: case BITDHT_MGR_QUERY_PEER_OFFLINE:
dpd->mDhtState = RSDHT_PEERDHT_OFFLINE; dpd->mDhtState = RsDhtPeerDht::OFFLINE;
break; break;
case BITDHT_MGR_QUERY_PEER_UNREACHABLE: case BITDHT_MGR_QUERY_PEER_UNREACHABLE:
dpd->mDhtState = RSDHT_PEERDHT_UNREACHABLE; dpd->mDhtState = RsDhtPeerDht::UNREACHABLE;
dpd->mDhtId = *id; // set the IP:Port of the unreachable peer. dpd->mDhtId = *id; // set the IP:Port of the unreachable peer.
UnreachablePeerCallback_locked(id, status, dpd); UnreachablePeerCallback_locked(id, status, dpd);
break; break;
case BITDHT_MGR_QUERY_PEER_ONLINE: case BITDHT_MGR_QUERY_PEER_ONLINE:
dpd->mDhtState = RSDHT_PEERDHT_ONLINE; dpd->mDhtState = RsDhtPeerDht::ONLINE;
dpd->mDhtId = *id; // set the IP:Port of the Online peer. dpd->mDhtId = *id; // set the IP:Port of the Online peer.
OnlinePeerCallback_locked(id, status, dpd); OnlinePeerCallback_locked(id, status, dpd);
@ -262,8 +262,8 @@ int p3BitDht::OnlinePeerCallback_locked(const bdId *id, uint32_t /*status*/, Dht
/* remove unused parameter warnings */ /* remove unused parameter warnings */
(void) id; (void) id;
if ((dpd->mPeerConnectState != RSDHT_PEERCONN_DISCONNECTED) || if ((dpd->mPeerConnectState != RsDhtPeerConnectState::DISCONNECTED) ||
(dpd->mPeerReqState == RSDHT_PEERREQ_RUNNING)) (dpd->mPeerReqState == RsDhtPeerRequest::RUNNING))
{ {
#ifdef DEBUG_PEERNET #ifdef DEBUG_PEERNET
@ -367,8 +367,8 @@ int p3BitDht::OnlinePeerCallback_locked(const bdId *id, uint32_t /*status*/, Dht
int p3BitDht::UnreachablePeerCallback_locked(const bdId *id, uint32_t /*status*/, DhtPeerDetails *dpd) int p3BitDht::UnreachablePeerCallback_locked(const bdId *id, uint32_t /*status*/, DhtPeerDetails *dpd)
{ {
if ((dpd->mPeerConnectState != RSDHT_PEERCONN_DISCONNECTED) || if ((dpd->mPeerConnectState != RsDhtPeerConnectState::DISCONNECTED) ||
(dpd->mPeerReqState == RSDHT_PEERREQ_RUNNING)) (dpd->mPeerReqState == RsDhtPeerRequest::RUNNING))
{ {
#ifdef DEBUG_PEERNET #ifdef DEBUG_PEERNET
@ -717,7 +717,7 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId
std::cerr << std::endl; std::cerr << std::endl;
#endif #endif
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RSDHT_PEERTYPE_FRIEND); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RsDhtPeerType::FRIEND);
if (dpd) if (dpd)
{ {
proxyPort = dpd->mConnectLogic.shouldUseProxyPort( proxyPort = dpd->mConnectLogic.shouldUseProxyPort(
@ -811,7 +811,7 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId
std::cerr << std::endl; std::cerr << std::endl;
#endif #endif
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RSDHT_PEERTYPE_FRIEND); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RsDhtPeerType::FRIEND);
if (dpd) if (dpd)
{ {
dpd->mExclusiveProxyLock = true; dpd->mExclusiveProxyLock = true;
@ -939,7 +939,7 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId
RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/ RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RSDHT_PEERTYPE_FRIEND); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RsDhtPeerType::FRIEND);
if (dpd) if (dpd)
{ {
dpd->mPeerCbMsg = "ERROR : "; dpd->mPeerCbMsg = "ERROR : ";
@ -980,7 +980,7 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId
RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/ RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RSDHT_PEERTYPE_FRIEND); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RsDhtPeerType::FRIEND);
if (dpd) if (dpd)
{ {
if (errcode) if (errcode)
@ -989,7 +989,7 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId
dpd->mPeerReqStatusMsg = "STOPPED: "; dpd->mPeerReqStatusMsg = "STOPPED: ";
dpd->mPeerReqStatusMsg += decodeConnectionError(errcode); dpd->mPeerReqStatusMsg += decodeConnectionError(errcode);
dpd->mPeerReqState = RSDHT_PEERREQ_STOPPED; dpd->mPeerReqState = RsDhtPeerRequest::STOPPED;
dpd->mPeerReqTS = now; dpd->mPeerReqTS = now;
int updatecode = CSB_UPDATE_FAILED_ATTEMPT; int updatecode = CSB_UPDATE_FAILED_ATTEMPT;
@ -1048,7 +1048,7 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId
else // a new connection attempt. else // a new connection attempt.
{ {
dpd->mPeerReqStatusMsg = "Connect Attempt"; dpd->mPeerReqStatusMsg = "Connect Attempt";
dpd->mPeerReqState = RSDHT_PEERREQ_RUNNING; dpd->mPeerReqState = RsDhtPeerRequest::RUNNING;
dpd->mPeerReqMode = mode; dpd->mPeerReqMode = mode;
dpd->mPeerReqProxyId = *proxyId; dpd->mPeerReqProxyId = *proxyId;
dpd->mPeerReqTS = now; dpd->mPeerReqTS = now;
@ -1232,7 +1232,7 @@ int p3BitDht::doActions()
{ {
RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/ RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(action.mDestId.id), RSDHT_PEERTYPE_FRIEND); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(action.mDestId.id), RsDhtPeerType::FRIEND);
if (dpd) if (dpd)
{ {
connectOk = true; connectOk = true;
@ -1387,11 +1387,11 @@ int p3BitDht::doActions()
#endif #endif
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(action.mDestId.id), RSDHT_PEERTYPE_FRIEND); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(action.mDestId.id), RsDhtPeerType::FRIEND);
if (dpd) if (dpd)
{ {
dpd->mPeerReqStatusMsg = "Connect Request"; dpd->mPeerReqStatusMsg = "Connect Request";
dpd->mPeerReqState = RSDHT_PEERREQ_RUNNING; dpd->mPeerReqState = RsDhtPeerRequest::RUNNING;
dpd->mPeerReqMode = action.mMode; dpd->mPeerReqMode = action.mMode;
dpd->mPeerReqTS = now; dpd->mPeerReqTS = now;
@ -1428,13 +1428,13 @@ int p3BitDht::doActions()
//} //}
RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/ RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(action.mDestId.id), RSDHT_PEERTYPE_FRIEND); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(action.mDestId.id), RsDhtPeerType::FRIEND);
if (dpd) if (dpd)
{ {
dpd->mConnectLogic.updateCb(failReason); dpd->mConnectLogic.updateCb(failReason);
dpd->mPeerReqStatusMsg = "Req Mode Unavailable"; dpd->mPeerReqStatusMsg = "Req Mode Unavailable";
dpd->mPeerReqState = RSDHT_PEERREQ_STOPPED; dpd->mPeerReqState = RsDhtPeerRequest::STOPPED;
dpd->mPeerReqMode = action.mMode; dpd->mPeerReqMode = action.mMode;
dpd->mPeerReqTS = now; dpd->mPeerReqTS = now;
@ -1496,7 +1496,7 @@ int p3BitDht::doActions()
{ {
RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/ RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(action.mSrcId.id), RSDHT_PEERTYPE_ANY); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(action.mSrcId.id), RsDhtPeerType::ANY);
if (dpd) if (dpd)
{ {
if (action.mAnswer) if (action.mAnswer)
@ -1604,7 +1604,7 @@ int p3BitDht::doActions()
{ {
RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/ RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(action.mDestId.id), RSDHT_PEERTYPE_ANY); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(action.mDestId.id), RsDhtPeerType::ANY);
if (dpd) if (dpd)
{ {
peerRsId = dpd->mRsId; peerRsId = dpd->mRsId;
@ -1730,7 +1730,7 @@ int p3BitDht::checkConnectionAllowed(const bdId *peerId, int mode)
rstime_t now = time(NULL); rstime_t now = time(NULL);
/* check if they are in our friend list */ /* check if they are in our friend list */
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId->id), RSDHT_PEERTYPE_FRIEND); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId->id), RsDhtPeerType::FRIEND);
if (!dpd) if (!dpd)
{ {
#ifdef DEBUG_PEERNET #ifdef DEBUG_PEERNET
@ -1749,14 +1749,14 @@ int p3BitDht::checkConnectionAllowed(const bdId *peerId, int mode)
/* flag as failed */ /* flag as failed */
it->second.mDhtId = *peerId; it->second.mDhtId = *peerId;
it->second.mDhtState = RSDHT_PEERDHT_NOT_ACTIVE; it->second.mDhtState = RsDhtPeerDht::NOT_ACTIVE;
it->second.mDhtUpdateTS = now; it->second.mDhtUpdateTS = now;
it->second.mPeerType = RSDHT_PEERTYPE_OTHER; it->second.mPeerType = RsDhtPeerType::OTHER;
it->second.mPeerCbMsg = "Denied Non-Friend"; it->second.mPeerCbMsg = "Denied Non-Friend";
it->second.mPeerReqStatusMsg = "Denied Non-Friend"; it->second.mPeerReqStatusMsg = "Denied Non-Friend";
it->second.mPeerReqState = RSDHT_PEERREQ_STOPPED; it->second.mPeerReqState = RsDhtPeerRequest::STOPPED;
it->second.mPeerReqTS = now; it->second.mPeerReqTS = now;
it->second.mPeerReqMode = 0; it->second.mPeerReqMode = 0;
//it->second.mPeerProxyId; //it->second.mPeerProxyId;
@ -1765,7 +1765,7 @@ int p3BitDht::checkConnectionAllowed(const bdId *peerId, int mode)
it->second.mPeerCbMsg = "Denied Non-Friend"; it->second.mPeerCbMsg = "Denied Non-Friend";
it->second.mPeerConnectMsg = "Denied Non-Friend"; it->second.mPeerConnectMsg = "Denied Non-Friend";
it->second.mPeerConnectState = RSDHT_PEERCONN_DISCONNECTED; it->second.mPeerConnectState = RsDhtPeerConnectState::DISCONNECTED;
return 0; return 0;
@ -1774,7 +1774,7 @@ int p3BitDht::checkConnectionAllowed(const bdId *peerId, int mode)
/* are a friend */ /* are a friend */
if (dpd->mPeerConnectState == RSDHT_PEERCONN_CONNECTED) if (dpd->mPeerConnectState == RsDhtPeerConnectState::CONNECTED)
{ {
std::cerr << "p3BitDht::checkConnectionAllowed() ERROR Peer Already Connected, DENIED"; std::cerr << "p3BitDht::checkConnectionAllowed() ERROR Peer Already Connected, DENIED";
std::cerr << std::endl; std::cerr << std::endl;
@ -1979,7 +1979,7 @@ void p3BitDht::initiateConnection(const bdId *srcId, const bdId *proxyId, const
{ {
RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/ RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerConnectId.id), RSDHT_PEERTYPE_FRIEND); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerConnectId.id), RsDhtPeerType::FRIEND);
/* grab a socket */ /* grab a socket */
if (!dpd) if (!dpd)
{ {
@ -1988,7 +1988,7 @@ void p3BitDht::initiateConnection(const bdId *srcId, const bdId *proxyId, const
return; return;
} }
if (dpd->mPeerConnectState != RSDHT_PEERCONN_DISCONNECTED) if (dpd->mPeerConnectState != RsDhtPeerConnectState::DISCONNECTED)
{ {
std::cerr << "p3BitDht::initiateConnection() ERROR Peer is not Disconnected"; std::cerr << "p3BitDht::initiateConnection() ERROR Peer is not Disconnected";
std::cerr << std::endl; std::cerr << std::endl;
@ -2003,7 +2003,7 @@ void p3BitDht::initiateConnection(const bdId *srcId, const bdId *proxyId, const
{ {
default: default:
case BITDHT_CONNECT_MODE_DIRECT: case BITDHT_CONNECT_MODE_DIRECT:
// touConnectMode = RSDHT_TOU_MODE_DIRECT; // touConnectMode = RsDhtTouMode::DIRECT;
connectFlags |= RS_CB_FLAG_MODE_UDP_DIRECT; connectFlags |= RS_CB_FLAG_MODE_UDP_DIRECT;
delay = delayOrBandwidth; delay = delayOrBandwidth;
break; break;
@ -2021,12 +2021,12 @@ void p3BitDht::initiateConnection(const bdId *srcId, const bdId *proxyId, const
delay = delayOrBandwidth; delay = delayOrBandwidth;
if (useProxyPort) if (useProxyPort)
{ {
// touConnectMode = RSDHT_TOU_MODE_PROXY; // touConnectMode = RsDhtTouMode::PROXY;
connectFlags |= RS_CB_FLAG_MODE_UDP_PROXY; connectFlags |= RS_CB_FLAG_MODE_UDP_PROXY;
} }
else else
{ {
// touConnectMode = RSDHT_TOU_MODE_DIRECT; // touConnectMode = RsDhtTouMode::DIRECT;
connectFlags |= RS_CB_FLAG_MODE_UDP_DIRECT; connectFlags |= RS_CB_FLAG_MODE_UDP_DIRECT;
} }
@ -2034,7 +2034,7 @@ void p3BitDht::initiateConnection(const bdId *srcId, const bdId *proxyId, const
break; break;
case BITDHT_CONNECT_MODE_RELAY: case BITDHT_CONNECT_MODE_RELAY:
// touConnectMode = RSDHT_TOU_MODE_RELAY; // touConnectMode = RsDhtTouMode::RELAY;
connectFlags |= RS_CB_FLAG_MODE_UDP_RELAY; connectFlags |= RS_CB_FLAG_MODE_UDP_RELAY;
bandwidth = delayOrBandwidth; bandwidth = delayOrBandwidth;
break; break;
@ -2047,7 +2047,7 @@ void p3BitDht::initiateConnection(const bdId *srcId, const bdId *proxyId, const
/* store results in Status */ /* store results in Status */
dpd->mPeerConnectMsg = "UDP started"; dpd->mPeerConnectMsg = "UDP started";
dpd->mPeerConnectState = RSDHT_PEERCONN_UDP_STARTED; dpd->mPeerConnectState = RsDhtPeerConnectState::UDP_STARTED;
dpd->mPeerConnectUdpTS = time(NULL); dpd->mPeerConnectUdpTS = time(NULL);
dpd->mPeerConnectMode = mode; dpd->mPeerConnectMode = mode;
dpd->mPeerConnectPoint = loc; dpd->mPeerConnectPoint = loc;
@ -2092,22 +2092,22 @@ int p3BitDht::installRelayConnection(const bdId *srcId, const bdId *destId, uint
#endif #endif
/* grab a socket */ /* grab a socket */
DhtPeerDetails *dpd_src = findInternalDhtPeer_locked(&(srcId->id), RSDHT_PEERTYPE_ANY); DhtPeerDetails *dpd_src = findInternalDhtPeer_locked(&(srcId->id), RsDhtPeerType::ANY);
DhtPeerDetails *dpd_dest = findInternalDhtPeer_locked(&(destId->id), RSDHT_PEERTYPE_ANY); DhtPeerDetails *dpd_dest = findInternalDhtPeer_locked(&(destId->id), RsDhtPeerType::ANY);
if ((dpd_src) && (dpd_src->mPeerType == RSDHT_PEERTYPE_FRIEND)) if ((dpd_src) && (dpd_src->mPeerType == RsDhtPeerType::FRIEND))
{ {
relayClass = UDP_RELAY_CLASS_FRIENDS; relayClass = UDP_RELAY_CLASS_FRIENDS;
} }
else if ((dpd_dest) && (dpd_dest->mPeerType == RSDHT_PEERTYPE_FRIEND)) else if ((dpd_dest) && (dpd_dest->mPeerType == RsDhtPeerType::FRIEND))
{ {
relayClass = UDP_RELAY_CLASS_FRIENDS; relayClass = UDP_RELAY_CLASS_FRIENDS;
} }
else if ((dpd_src) && (dpd_src->mPeerType == RSDHT_PEERTYPE_FOF)) else if ((dpd_src) && (dpd_src->mPeerType == RsDhtPeerType::FOF))
{ {
relayClass = UDP_RELAY_CLASS_FOF; relayClass = UDP_RELAY_CLASS_FOF;
} }
else if ((dpd_dest) && (dpd_dest->mPeerType == RSDHT_PEERTYPE_FOF)) else if ((dpd_dest) && (dpd_dest->mPeerType == RsDhtPeerType::FOF))
{ {
relayClass = UDP_RELAY_CLASS_FOF; relayClass = UDP_RELAY_CLASS_FOF;
} }
@ -2178,12 +2178,12 @@ void p3BitDht::monitorConnections()
for(it = mPeers.begin(); it != mPeers.end(); ++it) for(it = mPeers.begin(); it != mPeers.end(); ++it)
{ {
/* ignore ones which aren't friends */ /* ignore ones which aren't friends */
if (it->second.mPeerType != RSDHT_PEERTYPE_FRIEND) if (it->second.mPeerType != RsDhtPeerType::FRIEND)
{ {
continue; continue;
} }
if (it->second.mPeerConnectState == RSDHT_PEERCONN_UDP_STARTED) if (it->second.mPeerConnectState == RsDhtPeerConnectState::UDP_STARTED)
{ {
#ifdef DEBUG_PEERNET #ifdef DEBUG_PEERNET
std::cerr << "p3BitDht::monitorConnections() Connection in progress to: "; std::cerr << "p3BitDht::monitorConnections() Connection in progress to: ";
@ -2225,7 +2225,7 @@ void p3BitDht::Feedback_Connected(const RsPeerId& pid)
} }
/* sanity checking */ /* sanity checking */
if (dpd->mPeerConnectState != RSDHT_PEERCONN_UDP_STARTED) if (dpd->mPeerConnectState != RsDhtPeerConnectState::UDP_STARTED)
{ {
/* ERROR */ /* ERROR */
std::cerr << "p3BitDht::Feedback_Connected() ERROR not in UDP_STARTED mode for: "; std::cerr << "p3BitDht::Feedback_Connected() ERROR not in UDP_STARTED mode for: ";
@ -2242,7 +2242,7 @@ void p3BitDht::Feedback_Connected(const RsPeerId& pid)
#endif #endif
/* switch state! */ /* switch state! */
dpd->mPeerConnectState = RSDHT_PEERCONN_CONNECTED; dpd->mPeerConnectState = RsDhtPeerConnectState::CONNECTED;
dpd->mPeerConnectTS = time(NULL); dpd->mPeerConnectTS = time(NULL);
dpd->mConnectLogic.updateCb(CSB_UPDATE_CONNECTED); dpd->mConnectLogic.updateCb(CSB_UPDATE_CONNECTED);
@ -2250,7 +2250,7 @@ void p3BitDht::Feedback_Connected(const RsPeerId& pid)
rs_sprintf(dpd->mPeerConnectMsg, "Connected in %ld secs", dpd->mPeerConnectTS - dpd->mPeerConnectUdpTS); rs_sprintf(dpd->mPeerConnectMsg, "Connected in %ld secs", dpd->mPeerConnectTS - dpd->mPeerConnectUdpTS);
// Remove the Connection Request. // Remove the Connection Request.
if (dpd->mPeerReqState == RSDHT_PEERREQ_RUNNING) if (dpd->mPeerReqState == RsDhtPeerRequest::RUNNING)
{ {
#ifdef DEBUG_PEERNET #ifdef DEBUG_PEERNET
std::cerr << "p3BitDht::monitorConnections() Request Active, Stopping Request"; std::cerr << "p3BitDht::monitorConnections() Request Active, Stopping Request";
@ -2334,7 +2334,7 @@ void p3BitDht::Feedback_ConnectionClosed(const RsPeerId& pid)
void p3BitDht::UdpConnectionFailed_locked(DhtPeerDetails *dpd) void p3BitDht::UdpConnectionFailed_locked(DhtPeerDetails *dpd)
{ {
if (dpd->mPeerConnectState == RSDHT_PEERCONN_UDP_STARTED) if (dpd->mPeerConnectState == RsDhtPeerConnectState::UDP_STARTED)
{ {
#ifdef DEBUG_PEERNET #ifdef DEBUG_PEERNET
std::cerr << "p3BitDht::UdpConnectionFailed_locked() UDP Connection Failed: "; std::cerr << "p3BitDht::UdpConnectionFailed_locked() UDP Connection Failed: ";
@ -2345,11 +2345,11 @@ void p3BitDht::UdpConnectionFailed_locked(DhtPeerDetails *dpd)
/* shut it down */ /* shut it down */
/* ONLY need to update ConnectLogic - if it was our Attempt Running */ /* ONLY need to update ConnectLogic - if it was our Attempt Running */
if (dpd->mPeerReqState == RSDHT_PEERREQ_RUNNING) if (dpd->mPeerReqState == RsDhtPeerRequest::RUNNING)
{ {
dpd->mConnectLogic.updateCb(CSB_UPDATE_FAILED_ATTEMPT); dpd->mConnectLogic.updateCb(CSB_UPDATE_FAILED_ATTEMPT);
} }
dpd->mPeerConnectState = RSDHT_PEERCONN_DISCONNECTED; dpd->mPeerConnectState = RsDhtPeerConnectState::DISCONNECTED;
dpd->mPeerConnectMsg = "UDP Failed"; dpd->mPeerConnectMsg = "UDP Failed";
} }
@ -2363,14 +2363,14 @@ void p3BitDht::UdpConnectionFailed_locked(DhtPeerDetails *dpd)
dpd->mConnectLogic.updateCb(CSB_UPDATE_DISCONNECTED); dpd->mConnectLogic.updateCb(CSB_UPDATE_DISCONNECTED);
dpd->mPeerConnectState = RSDHT_PEERCONN_DISCONNECTED; dpd->mPeerConnectState = RsDhtPeerConnectState::DISCONNECTED;
dpd->mPeerConnectClosedTS = time(NULL); dpd->mPeerConnectClosedTS = time(NULL);
rs_sprintf(dpd->mPeerConnectMsg, "Closed, Alive for: %ld secs", dpd->mPeerConnectClosedTS - dpd->mPeerConnectTS); rs_sprintf(dpd->mPeerConnectMsg, "Closed, Alive for: %ld secs", dpd->mPeerConnectClosedTS - dpd->mPeerConnectTS);
} }
if (dpd->mPeerReqState == RSDHT_PEERREQ_RUNNING) if (dpd->mPeerReqState == RsDhtPeerRequest::RUNNING)
{ {
#ifdef DEBUG_PEERNET #ifdef DEBUG_PEERNET
std::cerr << "p3BitDht::UdpConnectionFailed_locked() "; std::cerr << "p3BitDht::UdpConnectionFailed_locked() ";

View File

@ -64,7 +64,7 @@ bool p3BitDht::findPeer(const RsPeerId& pid)
DhtPeerDetails *dpd = findInternalRsPeer_locked(pid); DhtPeerDetails *dpd = findInternalRsPeer_locked(pid);
if (!dpd) if (!dpd)
{ {
dpd = addInternalPeer_locked(pid, RSDHT_PEERTYPE_FRIEND); dpd = addInternalPeer_locked(pid, RsDhtPeerType::FRIEND);
if (!dpd) if (!dpd)
{ {
/* ERROR */ /* ERROR */
@ -76,7 +76,7 @@ bool p3BitDht::findPeer(const RsPeerId& pid)
} }
/* new entry... what do we need to set? */ /* new entry... what do we need to set? */
dpd->mDhtState = RSDHT_PEERDHT_SEARCHING; dpd->mDhtState = RsDhtPeerDht::SEARCHING;
#ifdef DEBUG_BITDHT #ifdef DEBUG_BITDHT
std::cerr << "p3BitDht::findPeer() Installed new DhtPeer with pid => NodeId: "; std::cerr << "p3BitDht::findPeer() Installed new DhtPeer with pid => NodeId: ";
@ -93,7 +93,7 @@ bool p3BitDht::findPeer(const RsPeerId& pid)
std::cerr << std::endl; std::cerr << std::endl;
#endif #endif
if (dpd->mDhtState != RSDHT_PEERDHT_NOT_ACTIVE) if (dpd->mDhtState != RsDhtPeerDht::NOT_ACTIVE)
{ {
#ifdef DEBUG_BITDHT #ifdef DEBUG_BITDHT
std::cerr << "p3BitDht::findPeer() WARNING DhtState is Already Active!"; std::cerr << "p3BitDht::findPeer() WARNING DhtState is Already Active!";
@ -104,7 +104,7 @@ bool p3BitDht::findPeer(const RsPeerId& pid)
else else
{ {
/* flag as searching */ /* flag as searching */
dpd->mDhtState = RSDHT_PEERDHT_SEARCHING; dpd->mDhtState = RsDhtPeerDht::SEARCHING;
#ifdef DEBUG_BITDHT #ifdef DEBUG_BITDHT
std::cerr << "p3BitDht::findPeer() Marking Old Peer as SEARCHING"; std::cerr << "p3BitDht::findPeer() Marking Old Peer as SEARCHING";
std::cerr << std::endl; std::cerr << std::endl;
@ -150,13 +150,13 @@ bool p3BitDht::dropPeer(const RsPeerId& pid)
#endif #endif
//addFriend(pid); //addFriend(pid);
dpd = addInternalPeer_locked(pid, RSDHT_PEERTYPE_FOF); dpd = addInternalPeer_locked(pid, RsDhtPeerType::FOF);
return false; return false;
} }
/* flag as searching */ /* flag as searching */
dpd->mDhtState = RSDHT_PEERDHT_NOT_ACTIVE; dpd->mDhtState = RsDhtPeerDht::NOT_ACTIVE;
nid = dpd->mDhtId.id; nid = dpd->mDhtId.id;
@ -242,7 +242,7 @@ int p3BitDht::addKnownPeer( const RsPeerId &pid,
addrv4.sin_addr = ap->sin_addr; addrv4.sin_addr = ap->sin_addr;
addrv4.sin_port = ap->sin_port; addrv4.sin_port = ap->sin_port;
int p3type = 0; RsDhtPeerType p3type = RsDhtPeerType::ANY;
int bdflags = 0; int bdflags = 0;
bdId id; bdId id;
bool isOwnId = false; bool isOwnId = false;
@ -253,27 +253,27 @@ int p3BitDht::addKnownPeer( const RsPeerId &pid,
return 0; return 0;
break; break;
case NETASSIST_KNOWN_PEER_WHITELIST: case NETASSIST_KNOWN_PEER_WHITELIST:
p3type = RSDHT_PEERTYPE_OTHER; p3type = RsDhtPeerType::OTHER;
bdflags = BITDHT_PEER_STATUS_DHT_WHITELIST; bdflags = BITDHT_PEER_STATUS_DHT_WHITELIST;
break; break;
case NETASSIST_KNOWN_PEER_FOF: case NETASSIST_KNOWN_PEER_FOF:
p3type = RSDHT_PEERTYPE_FOF; p3type = RsDhtPeerType::FOF;
bdflags = BITDHT_PEER_STATUS_DHT_FOF; bdflags = BITDHT_PEER_STATUS_DHT_FOF;
break; break;
case NETASSIST_KNOWN_PEER_FRIEND: case NETASSIST_KNOWN_PEER_FRIEND:
p3type = RSDHT_PEERTYPE_FRIEND; p3type = RsDhtPeerType::FRIEND;
bdflags = BITDHT_PEER_STATUS_DHT_FRIEND; bdflags = BITDHT_PEER_STATUS_DHT_FRIEND;
break; break;
case NETASSIST_KNOWN_PEER_RELAY: case NETASSIST_KNOWN_PEER_RELAY:
p3type = RSDHT_PEERTYPE_OTHER; p3type = RsDhtPeerType::OTHER;
bdflags = BITDHT_PEER_STATUS_DHT_RELAY_SERVER; bdflags = BITDHT_PEER_STATUS_DHT_RELAY_SERVER;
break; break;
case NETASSIST_KNOWN_PEER_SELF: case NETASSIST_KNOWN_PEER_SELF:
p3type = RSDHT_PEERTYPE_OTHER; p3type = RsDhtPeerType::OTHER;
bdflags = BITDHT_PEER_STATUS_DHT_SELF; bdflags = BITDHT_PEER_STATUS_DHT_SELF;
isOwnId = true; isOwnId = true;
@ -364,7 +364,7 @@ int p3BitDht::addFriend(const std::string pid)
{ {
RsStackMutex stack(dhtMtx); /********* LOCKED *********/ RsStackMutex stack(dhtMtx); /********* LOCKED *********/
return (NULL != addInternalPeer_locked(pid, RSDHT_PEERTYPE_FRIEND)); return (NULL != addInternalPeer_locked(pid, RsDhtPeerType::FRIEND));
} }
@ -372,7 +372,7 @@ int p3BitDht::addFriendOfFriend(const std::string pid)
{ {
RsStackMutex stack(dhtMtx); /********* LOCKED *********/ RsStackMutex stack(dhtMtx); /********* LOCKED *********/
return (NULL != addInternalPeer_locked(pid, RSDHT_PEERTYPE_FOF)); return (NULL != addInternalPeer_locked(pid, RsDhtPeerType::FOF));
} }
@ -380,7 +380,7 @@ int p3BitDht::addOther(const std::string pid)
{ {
RsStackMutex stack(dhtMtx); /********* LOCKED *********/ RsStackMutex stack(dhtMtx); /********* LOCKED *********/
return (NULL != addInternalPeer_locked(pid, RSDHT_PEERTYPE_OTHER)); return (NULL != addInternalPeer_locked(pid, RsDhtPeerType::OTHER));
} }
#endif #endif
@ -397,7 +397,7 @@ int p3BitDht::removePeer(const RsPeerId& pid)
********************************* Basic Peer Details ************************************* ********************************* Basic Peer Details *************************************
******************************************************************************************/ ******************************************************************************************/
DhtPeerDetails *p3BitDht::addInternalPeer_locked(const RsPeerId& pid, uint32_t type) DhtPeerDetails *p3BitDht::addInternalPeer_locked(const RsPeerId& pid, RsDhtPeerType type)
{ {
/* create the data structure */ /* create the data structure */
if (!havePeerTranslation_locked(pid)) if (!havePeerTranslation_locked(pid))
@ -411,18 +411,18 @@ DhtPeerDetails *p3BitDht::addInternalPeer_locked(const RsPeerId& pid, uint32_t t
return 0; return 0;
} }
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&id, RSDHT_PEERTYPE_ANY); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&id, RsDhtPeerType::ANY);
if (!dpd) if (!dpd)
{ {
DhtPeerDetails newdpd; DhtPeerDetails newdpd;
newdpd.mDhtId.id = id; newdpd.mDhtId.id = id;
newdpd.mRsId = pid; newdpd.mRsId = pid;
newdpd.mDhtState = RSDHT_PEERDHT_NOT_ACTIVE; newdpd.mDhtState = RsDhtPeerDht::NOT_ACTIVE;
newdpd.mPeerType = RSDHT_PEERTYPE_ANY; newdpd.mPeerType = RsDhtPeerType::ANY;
mPeers[id] = newdpd; mPeers[id] = newdpd;
dpd = findInternalDhtPeer_locked(&id, RSDHT_PEERTYPE_ANY); dpd = findInternalDhtPeer_locked(&id, RsDhtPeerType::ANY);
if(dpd == NULL) if(dpd == NULL)
{ {
@ -462,14 +462,14 @@ int p3BitDht::removeInternalPeer_locked(const RsPeerId& pid)
/* indexed by bdNodeId, as this is the more used call interface */ /* indexed by bdNodeId, as this is the more used call interface */
DhtPeerDetails *p3BitDht::findInternalDhtPeer_locked(const bdNodeId *id, uint32_t type) DhtPeerDetails *p3BitDht::findInternalDhtPeer_locked(const bdNodeId *id, RsDhtPeerType type)
{ {
std::map<bdNodeId, DhtPeerDetails>::iterator it = mPeers.find(*id); std::map<bdNodeId, DhtPeerDetails>::iterator it = mPeers.find(*id);
if (it == mPeers.end()) if (it == mPeers.end())
{ {
return NULL; return NULL;
} }
if (type) if (type != RsDhtPeerType::ANY)
{ {
if (it->second.mPeerType != type) if (it->second.mPeerType != type)
{ {
@ -495,7 +495,7 @@ DhtPeerDetails *p3BitDht::findInternalRsPeer_locked(const RsPeerId &pid)
return NULL; return NULL;
} }
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&id,RSDHT_PEERTYPE_ANY); DhtPeerDetails *dpd = findInternalDhtPeer_locked(&id,RsDhtPeerType::ANY);
return dpd; return dpd;
} }
@ -717,13 +717,13 @@ int p3BitDht::calculateNodeId(const RsPeerId& pid, bdNodeId *id)
DhtPeerDetails::DhtPeerDetails() DhtPeerDetails::DhtPeerDetails()
{ {
mDhtState = RSDHT_PEERDHT_NOT_ACTIVE; mDhtState = RsDhtPeerDht::NOT_ACTIVE;
mDhtState = RSDHT_PEERDHT_SEARCHING; mDhtState = RsDhtPeerDht::SEARCHING;
mDhtUpdateTS = time(NULL); mDhtUpdateTS = time(NULL);
mPeerReqStatusMsg = "Just Added"; mPeerReqStatusMsg = "Just Added";
mPeerReqState = RSDHT_PEERREQ_STOPPED; mPeerReqState = RsDhtPeerRequest::STOPPED;
mPeerReqMode = 0; mPeerReqMode = 0;
//mPeerReqProxyId; //mPeerReqProxyId;
mPeerReqTS = time(NULL); mPeerReqTS = time(NULL);
@ -737,7 +737,7 @@ DhtPeerDetails::DhtPeerDetails()
//mPeerCbDestId = 0; //mPeerCbDestId = 0;
mPeerCbTS = 0; mPeerCbTS = 0;
mPeerConnectState = RSDHT_PEERCONN_DISCONNECTED; mPeerConnectState = RsDhtPeerConnectState::DISCONNECTED;
mPeerConnectMsg = "Disconnected"; mPeerConnectMsg = "Disconnected";
mPeerConnectMode = 0; mPeerConnectMode = 0;
//dpd->mPeerConnectProxyId; //dpd->mPeerConnectProxyId;

View File

@ -35,7 +35,7 @@
int p3BitDht::setupRelayDefaults() int p3BitDht::setupRelayDefaults()
{ {
uint32_t mode = RSDHT_RELAY_ENABLED | RSDHT_RELAY_MODE_OFF; RsDhtRelayMode mode = RsDhtRelayMode::ENABLED | RsDhtRelayMode::OFF;
setRelayMode(mode); setRelayMode(mode);
return 1; return 1;
@ -111,19 +111,19 @@ int p3BitDht::pushRelayServers()
} }
uint32_t p3BitDht::getRelayMode() RsDhtRelayMode p3BitDht::getRelayMode()
{ {
RsStackMutex stack(dhtMtx); /*********** LOCKED **********/ RsStackMutex stack(dhtMtx); /*********** LOCKED **********/
return mRelayMode; return mRelayMode;
} }
int p3BitDht::setRelayMode(uint32_t mode) int p3BitDht::setRelayMode(RsDhtRelayMode mode)
{ {
std::cerr << "p3BitDht::setRelayMode(" << mode << ")"; std::cerr << "p3BitDht::setRelayMode(" << mode << ")";
std::cerr << std::endl; std::cerr << std::endl;
if (mode & RSDHT_RELAY_ENABLED) if (!!(mode & RsDhtRelayMode::ENABLED))
{ {
mUdpBitDht->ConnectionOptions( mUdpBitDht->ConnectionOptions(
BITDHT_CONNECT_MODE_DIRECT | BITDHT_CONNECT_MODE_PROXY | BITDHT_CONNECT_MODE_RELAY, BITDHT_CONNECT_MODE_DIRECT | BITDHT_CONNECT_MODE_PROXY | BITDHT_CONNECT_MODE_RELAY,
@ -136,18 +136,18 @@ int p3BitDht::setRelayMode(uint32_t mode)
BITDHT_CONNECT_OPTION_AUTOPROXY); BITDHT_CONNECT_OPTION_AUTOPROXY);
} }
int relaymode = mode & RSDHT_RELAY_MODE_MASK; RsDhtRelayMode relaymode = mode & RsDhtRelayMode::MASK;
switch(relaymode) switch(relaymode)
{ {
case RSDHT_RELAY_MODE_OFF: case RsDhtRelayMode::OFF:
mUdpBitDht->setDhtMode(BITDHT_MODE_RELAYSERVERS_IGNORED); mUdpBitDht->setDhtMode(BITDHT_MODE_RELAYSERVERS_IGNORED);
break; break;
case RSDHT_RELAY_MODE_ON: case RsDhtRelayMode::ON:
pushRelayServers(); pushRelayServers();
mUdpBitDht->setDhtMode(BITDHT_MODE_RELAYSERVERS_FLAGGED); mUdpBitDht->setDhtMode(BITDHT_MODE_RELAYSERVERS_FLAGGED);
break; break;
case RSDHT_RELAY_MODE_SERVER: case RsDhtRelayMode::SERVER:
pushRelayServers(); pushRelayServers();
mUdpBitDht->setDhtMode(BITDHT_MODE_RELAYSERVERS_SERVER); mUdpBitDht->setDhtMode(BITDHT_MODE_RELAYSERVERS_SERVER);
break; break;
@ -163,13 +163,13 @@ int p3BitDht::setRelayMode(uint32_t mode)
return 1; return 1;
} }
int p3BitDht::getRelayAllowance(int classIdx, uint32_t &count, uint32_t &bandwidth) int p3BitDht::getRelayAllowance(RsDhtRelayClass classIdx, uint32_t &count, uint32_t &bandwidth)
{ {
std::cerr << "p3BitDht::getRelayAllowance(" << classIdx << "): "; std::cerr << "p3BitDht::getRelayAllowance(" << static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(classIdx) << "): ";
if ((classIdx >= 0) && (classIdx < RSDHT_RELAY_NUM_CLASS)) if ((classIdx >= RsDhtRelayClass::ALL) && (classIdx < RsDhtRelayClass::NUM_CLASS))
{ {
count = mRelay->getRelayClassMax(classIdx); count = mRelay->getRelayClassMax(static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(classIdx));
bandwidth = mRelay->getRelayClassBandwidth(classIdx); bandwidth = mRelay->getRelayClassBandwidth(static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(classIdx));
std::cerr << " count: " << count << " bandwidth: " << bandwidth; std::cerr << " count: " << count << " bandwidth: " << bandwidth;
std::cerr << std::endl; std::cerr << std::endl;
@ -181,13 +181,13 @@ int p3BitDht::getRelayAllowance(int classIdx, uint32_t &count, uint32_t &bandwid
return 0; return 0;
} }
int p3BitDht::setRelayAllowance(int classIdx, uint32_t count, uint32_t bandwidth) int p3BitDht::setRelayAllowance(RsDhtRelayClass classIdx, uint32_t count, uint32_t bandwidth)
{ {
std::cerr << "p3BitDht::getRelayAllowance(" << classIdx << ", "; std::cerr << "p3BitDht::getRelayAllowance(" << static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(classIdx) << ", ";
std::cerr << ", " << count << ", " << bandwidth << ")"; std::cerr << ", " << count << ", " << bandwidth << ")";
std::cerr << std::endl; std::cerr << std::endl;
int retval = mRelay->setRelayClassMax(classIdx, count, bandwidth); int retval = mRelay->setRelayClassMax(static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(classIdx), count, bandwidth);
IndicateConfigChanged(); IndicateConfigChanged();
return retval; return retval;
@ -224,7 +224,7 @@ bool p3BitDht::saveList(bool &cleanup, std::list<RsItem *> &saveList)
/* Push Relay Class Stuff */ /* Push Relay Class Stuff */
int i; int i;
for(i = 0; i < RSDHT_RELAY_NUM_CLASS; ++i) for(i = 0; i < static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::NUM_CLASS); ++i)
{ {
rs_sprintf(kv.key, "RELAY_CLASS%d_COUNT", i); rs_sprintf(kv.key, "RELAY_CLASS%d_COUNT", i);
rs_sprintf(kv.value, "%d", mRelay->getRelayClassMax(i)); rs_sprintf(kv.value, "%d", mRelay->getRelayClassMax(i));
@ -302,11 +302,11 @@ bool p3BitDht::loadList(std::list<RsItem *>& load)
//config->print(std::cerr, 0); //config->print(std::cerr, 0);
std::list<std::string> servers; std::list<std::string> servers;
int peers[RSDHT_RELAY_NUM_CLASS] = {0}; int peers[static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::NUM_CLASS)] = {0};
int bandwidth[RSDHT_RELAY_NUM_CLASS] = {0}; int bandwidth[static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::NUM_CLASS)] = {0};
bool haveMode = false; bool haveMode = false;
int mode = 0; RsDhtRelayMode mode = RsDhtRelayMode::DISABLED;
std::list<RsTlvKeyValue>::iterator it; std::list<RsTlvKeyValue>::iterator it;
for(it = config->tlvkvs.pairs.begin(); it != config->tlvkvs.pairs.end(); ++it) for(it = config->tlvkvs.pairs.begin(); it != config->tlvkvs.pairs.end(); ++it)
@ -322,7 +322,7 @@ bool p3BitDht::loadList(std::list<RsItem *>& load)
} }
else if (0 == strncmp(key.c_str(), "RELAY_MODE", 10)) else if (0 == strncmp(key.c_str(), "RELAY_MODE", 10))
{ {
mode = atoi(value.c_str()); mode = static_cast<RsDhtRelayMode>(atoi(value.c_str()));
haveMode = true; haveMode = true;
//std::cerr << "p3BitDht::loadList() Found Mode: " << mode; //std::cerr << "p3BitDht::loadList() Found Mode: " << mode;
@ -386,7 +386,7 @@ bool p3BitDht::loadList(std::list<RsItem *>& load)
} }
int i; int i;
for(i = 0; i < RSDHT_RELAY_NUM_CLASS; ++i) for(i = 0; i < static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::NUM_CLASS); ++i)
{ {
mRelay->setRelayClassMax(i, peers[i], bandwidth[i]); mRelay->setRelayClassMax(i, peers[i], bandwidth[i]);
} }

View File

@ -1063,8 +1063,12 @@ void p3LinkMgrIMPL::peerStatus(const RsPeerId& id, const pqiIpAddrSet &addrs,
uint32_t peer_vs_dht = 0; uint32_t peer_vs_dht = 0;
uint32_t peerNetMode = 0; uint32_t peerNetMode = 0;
uint32_t ownNetMode = mNetMgr->getNetworkMode(); int ownNetMode;
{
peerState ps;
mPeerMgr->getOwnNetStatus(ps);
ownNetMode = ps.netMode;
}
{ {
RsStackMutex stack(mLinkMtx); /****** STACK LOCK MUTEX *******/ RsStackMutex stack(mLinkMtx); /****** STACK LOCK MUTEX *******/

View File

@ -124,8 +124,8 @@ p3NetMgrIMPL::p3NetMgrIMPL() : mPeerMgr(nullptr), mLinkMgr(nullptr),
mNetFlags = pqiNetStatus(); mNetFlags = pqiNetStatus();
mOldNetFlags = pqiNetStatus(); mOldNetFlags = pqiNetStatus();
mOldNatType = RSNET_NATTYPE_UNKNOWN; mOldNatType = RsNatTypeMode::UNKNOWN;
mOldNatHole = RSNET_NATHOLE_UNKNOWN; mOldNatHole = RsNatHoleMode::UNKNOWN;
sockaddr_storage_clear(mLocalAddr); sockaddr_storage_clear(mLocalAddr);
sockaddr_storage_clear(mExtAddr); sockaddr_storage_clear(mExtAddr);
@ -1629,31 +1629,31 @@ void p3NetMgrIMPL::setIPServersEnabled(bool b)
************************************** NetStateBox ****************************************** ************************************** NetStateBox ******************************************
**********************************************************************************************/ **********************************************************************************************/
uint32_t p3NetMgrIMPL::getNetStateMode() RsNetState p3NetMgrIMPL::getNetStateMode()
{ {
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/ RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
return mNetStateBox.getNetStateMode(); return mNetStateBox.getNetStateMode();
} }
uint32_t p3NetMgrIMPL::getNetworkMode() RsNetworkMode p3NetMgrIMPL::getNetworkMode()
{ {
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/ RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
return mNetStateBox.getNetworkMode(); return mNetStateBox.getNetworkMode();
} }
uint32_t p3NetMgrIMPL::getNatTypeMode() RsNatTypeMode p3NetMgrIMPL::getNatTypeMode()
{ {
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/ RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
return mNetStateBox.getNatTypeMode(); return mNetStateBox.getNatTypeMode();
} }
uint32_t p3NetMgrIMPL::getNatHoleMode() RsNatHoleMode p3NetMgrIMPL::getNatHoleMode()
{ {
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/ RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
return mNetStateBox.getNatHoleMode(); return mNetStateBox.getNatHoleMode();
} }
uint32_t p3NetMgrIMPL::getConnectModes() RsConnectModes p3NetMgrIMPL::getConnectModes()
{ {
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/ RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
return mNetStateBox.getConnectModes(); return mNetStateBox.getConnectModes();
@ -1768,8 +1768,8 @@ void p3NetMgrIMPL::updateNetStateBox_temporal()
void p3NetMgrIMPL::updateNatSetting() void p3NetMgrIMPL::updateNatSetting()
{ {
bool updateRefreshRate = false; bool updateRefreshRate = false;
uint32_t natType = RSNET_NATTYPE_UNKNOWN; RsNatTypeMode natType = RsNatTypeMode::UNKNOWN;
uint32_t natHole = RSNET_NATHOLE_UNKNOWN; RsNatHoleMode natHole = RsNatHoleMode::UNKNOWN;
{ {
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/ RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
@ -1806,9 +1806,9 @@ void p3NetMgrIMPL::updateNatSetting()
if (mProxyStunner) { if (mProxyStunner) {
switch(natType) switch(natType)
{ {
case RSNET_NATTYPE_RESTRICTED_CONE: case RsNatTypeMode::RESTRICTED_CONE:
{ {
if ((natHole == RSNET_NATHOLE_NONE) || (natHole == RSNET_NATHOLE_UNKNOWN)) if ((natHole == RsNatHoleMode::NONE) || (natHole == RsNatHoleMode::UNKNOWN))
{ {
mProxyStunner->setRefreshPeriod(NET_STUNNER_PERIOD_FAST); mProxyStunner->setRefreshPeriod(NET_STUNNER_PERIOD_FAST);
} }
@ -1818,12 +1818,12 @@ void p3NetMgrIMPL::updateNatSetting()
} }
break; break;
} }
case RSNET_NATTYPE_NONE: case RsNatTypeMode::NONE:
case RSNET_NATTYPE_UNKNOWN: case RsNatTypeMode::UNKNOWN:
case RSNET_NATTYPE_SYMMETRIC: case RsNatTypeMode::SYMMETRIC:
case RSNET_NATTYPE_DETERM_SYM: case RsNatTypeMode::DETERM_SYM:
case RSNET_NATTYPE_FULL_CONE: case RsNatTypeMode::FULL_CONE:
case RSNET_NATTYPE_OTHER: case RsNatTypeMode::OTHER:
mProxyStunner->setRefreshPeriod(NET_STUNNER_PERIOD_SLOW); mProxyStunner->setRefreshPeriod(NET_STUNNER_PERIOD_SLOW);
break; break;
@ -1836,22 +1836,22 @@ void p3NetMgrIMPL::updateNatSetting()
* So that messages can get through. * So that messages can get through.
* We only want to be attached - if we don't have a stable DHT port. * We only want to be attached - if we don't have a stable DHT port.
*/ */
if ((natHole == RSNET_NATHOLE_NONE) || (natHole == RSNET_NATHOLE_UNKNOWN)) if ((natHole == RsNatHoleMode::NONE) || (natHole == RsNatHoleMode::UNKNOWN))
{ {
switch(natType) switch(natType)
{ {
/* switch to attach mode if we have a bad firewall */ /* switch to attach mode if we have a bad firewall */
case RSNET_NATTYPE_UNKNOWN: case RsNatTypeMode::UNKNOWN:
case RSNET_NATTYPE_SYMMETRIC: case RsNatTypeMode::SYMMETRIC:
case RSNET_NATTYPE_RESTRICTED_CONE: case RsNatTypeMode::RESTRICTED_CONE:
case RSNET_NATTYPE_DETERM_SYM: case RsNatTypeMode::DETERM_SYM:
case RSNET_NATTYPE_OTHER: case RsNatTypeMode::OTHER:
netAssistAttach(true); netAssistAttach(true);
break; break;
/* switch off attach mode if we have a nice firewall */ /* switch off attach mode if we have a nice firewall */
case RSNET_NATTYPE_NONE: case RsNatTypeMode::NONE:
case RSNET_NATTYPE_FULL_CONE: case RsNatTypeMode::FULL_CONE:
netAssistAttach(false); netAssistAttach(false);
break; break;
} }
@ -1970,8 +1970,8 @@ void p3NetMgrIMPL::updateNetStateBox_reset()
mNetStateBox.reset(); mNetStateBox.reset();
mOldNatHole = RSNET_NATHOLE_UNKNOWN; mOldNatHole = RsNatHoleMode::UNKNOWN;
mOldNatType = RSNET_NATTYPE_UNKNOWN; mOldNatType = RsNatTypeMode::UNKNOWN;
} }
} }

View File

@ -103,11 +103,11 @@ virtual bool netAssistBadPeer(const struct sockaddr_storage &addr, uint32_t reas
virtual bool netAssistStatusUpdate(const RsPeerId &id, int mode) = 0; virtual bool netAssistStatusUpdate(const RsPeerId &id, int mode) = 0;
/* Get Network State */ /* Get Network State */
virtual uint32_t getNetStateMode() = 0; virtual RsNetState getNetStateMode() = 0;
virtual uint32_t getNetworkMode() = 0; virtual RsNetworkMode getNetworkMode() = 0;
virtual uint32_t getNatTypeMode() = 0; virtual RsNatTypeMode getNatTypeMode() = 0;
virtual uint32_t getNatHoleMode() = 0; virtual RsNatHoleMode getNatHoleMode() = 0;
virtual uint32_t getConnectModes() = 0; virtual RsConnectModes getConnectModes() = 0;
/* Shut It Down! */ /* Shut It Down! */
virtual bool shutdown() = 0; /* blocking shutdown call */ virtual bool shutdown() = 0; /* blocking shutdown call */
@ -154,11 +154,11 @@ virtual bool netAssistBadPeer(const struct sockaddr_storage &addr, uint32_t reas
virtual bool netAssistStatusUpdate(const RsPeerId &id, int mode); virtual bool netAssistStatusUpdate(const RsPeerId &id, int mode);
/* Get Network State */ /* Get Network State */
virtual uint32_t getNetStateMode(); virtual RsNetState getNetStateMode();
virtual uint32_t getNetworkMode(); virtual RsNetworkMode getNetworkMode();
virtual uint32_t getNatTypeMode(); virtual RsNatTypeMode getNatTypeMode();
virtual uint32_t getNatHoleMode(); virtual RsNatHoleMode getNatHoleMode();
virtual uint32_t getConnectModes(); virtual RsConnectModes getConnectModes();
/* Shut It Down! */ /* Shut It Down! */
virtual bool shutdown(); /* blocking shutdown call */ virtual bool shutdown(); /* blocking shutdown call */
@ -323,8 +323,8 @@ void netStatusReset_locked();
pqiNetStateBox mNetStateBox; pqiNetStateBox mNetStateBox;
rstime_t mDoNotNetCheckUntilTs; rstime_t mDoNotNetCheckUntilTs;
uint32_t mOldNatType; RsNatTypeMode mOldNatType;
uint32_t mOldNatHole; RsNatHoleMode mOldNatHole;
RS_SET_CONTEXT_DEBUG_LEVEL(2) RS_SET_CONTEXT_DEBUG_LEVEL(2)
}; };

View File

@ -20,7 +20,6 @@
* * * *
*******************************************************************************/ *******************************************************************************/
#include "retroshare/rsconfig.h"
#include "util/rsnet.h" #include "util/rsnet.h"
#include "pqi/pqinetstatebox.h" #include "pqi/pqinetstatebox.h"
#include "util/rstime.h" #include "util/rstime.h"
@ -147,32 +146,32 @@ void pqiNetStateBox::setDhtState(bool on, bool active)
/* Extract Net State */ /* Extract Net State */
uint32_t pqiNetStateBox::getNetworkMode() RsNetworkMode pqiNetStateBox::getNetworkMode()
{ {
updateNetState(); updateNetState();
return mNetworkMode; return mNetworkMode;
} }
uint32_t pqiNetStateBox::getNatTypeMode() RsNatTypeMode pqiNetStateBox::getNatTypeMode()
{ {
updateNetState(); updateNetState();
return mNatTypeMode; return mNatTypeMode;
} }
uint32_t pqiNetStateBox::getNatHoleMode() RsNatHoleMode pqiNetStateBox::getNatHoleMode()
{ {
updateNetState(); updateNetState();
return mNatHoleMode; return mNatHoleMode;
} }
uint32_t pqiNetStateBox::getConnectModes() RsConnectModes pqiNetStateBox::getConnectModes()
{ {
updateNetState(); updateNetState();
return mConnectModes; return mConnectModes;
} }
uint32_t pqiNetStateBox::getNetStateMode() RsNetState pqiNetStateBox::getNetStateMode()
{ {
updateNetState(); updateNetState();
return mNetStateMode; return mNetStateMode;
@ -193,11 +192,11 @@ void pqiNetStateBox::reset()
mStatusOkay = false; mStatusOkay = false;
//rstime_t mStatusTS; //rstime_t mStatusTS;
mNetworkMode = RSNET_NETWORK_UNKNOWN; mNetworkMode = RsNetworkMode::UNKNOWN;
mNatTypeMode = RSNET_NATTYPE_UNKNOWN; mNatTypeMode = RsNatTypeMode::UNKNOWN;
mNatHoleMode = RSNET_NATHOLE_UNKNOWN; mNatHoleMode = RsNatHoleMode::UNKNOWN;
mConnectModes = RSNET_CONNECT_NONE; mConnectModes = RsConnectModes::NONE;
mNetStateMode = RSNET_NETSTATE_BAD_UNKNOWN; mNetStateMode = RsNetState::BAD_UNKNOWN;
/* Parameters set externally */ /* Parameters set externally */
@ -302,11 +301,11 @@ void pqiNetStateBox::determineNetworkState()
/* firstly lets try to identify OFFLINE / UNKNOWN */ /* firstly lets try to identify OFFLINE / UNKNOWN */
if ((!mStunProxySet) || (!mStunDhtSet)) if ((!mStunProxySet) || (!mStunDhtSet))
{ {
mNetworkMode = RSNET_NETWORK_UNKNOWN; mNetworkMode = RsNetworkMode::UNKNOWN;
// Assume these. // Assume these.
mNatTypeMode = RSNET_NATTYPE_UNKNOWN; mNatTypeMode = RsNatTypeMode::UNKNOWN;
mNatHoleMode = RSNET_NATHOLE_NONE; mNatHoleMode = RsNatHoleMode::NONE;
mNetStateMode = RSNET_NETSTATE_BAD_UNKNOWN; mNetStateMode = RsNetState::BAD_UNKNOWN;
//mExtAddress = .... unknown; //mExtAddress = .... unknown;
//mExtAddrStable = false; //mExtAddrStable = false;
@ -335,19 +334,19 @@ void pqiNetStateBox::determineNetworkState()
* *
*/ */
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
mNatTypeMode = RSNET_NATTYPE_DETERM_SYM; mNatTypeMode = RsNatTypeMode::DETERM_SYM;
mNatHoleMode = RSNET_NATHOLE_NONE; mNatHoleMode = RsNatHoleMode::NONE;
mNetStateMode = RSNET_NETSTATE_WARNING_NATTED; mNetStateMode = RsNetState::WARNING_NATTED;
} }
else if (!mStunProxyStable) else if (!mStunProxyStable)
{ {
/* both unstable, Symmetric NAT, Firewalled, No UDP Hole */ /* both unstable, Symmetric NAT, Firewalled, No UDP Hole */
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
mNatTypeMode = RSNET_NATTYPE_SYMMETRIC; mNatTypeMode = RsNatTypeMode::SYMMETRIC;
mNatHoleMode = RSNET_NATHOLE_NONE; mNatHoleMode = RsNatHoleMode::NONE;
mNetStateMode = RSNET_NETSTATE_BAD_NATSYM; mNetStateMode = RsNetState::BAD_NATSYM;
} }
else else
{ {
@ -366,10 +365,10 @@ void pqiNetStateBox::determineNetworkState()
* but that label is really fully accurate. (gray area). * but that label is really fully accurate. (gray area).
*/ */
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
mNatTypeMode = RSNET_NATTYPE_RESTRICTED_CONE; mNatTypeMode = RsNatTypeMode::RESTRICTED_CONE;
mNatHoleMode = RSNET_NATHOLE_NONE; mNatHoleMode = RsNatHoleMode::NONE;
mNetStateMode = RSNET_NETSTATE_WARNING_NATTED; mNetStateMode = RsNetState::WARNING_NATTED;
} }
} }
else // Dht Stable. else // Dht Stable.
@ -392,47 +391,47 @@ void pqiNetStateBox::determineNetworkState()
if (mStunProxySemiStable) if (mStunProxySemiStable)
{ {
/* must be a forwarded port/ext or something similar */ /* must be a forwarded port/ext or something similar */
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
mNatTypeMode = RSNET_NATTYPE_DETERM_SYM; mNatTypeMode = RsNatTypeMode::DETERM_SYM;
mNatHoleMode = RSNET_NATHOLE_FORWARDED; mNatHoleMode = RsNatHoleMode::FORWARDED;
mNetStateMode = RSNET_NETSTATE_GOOD; mNetStateMode = RsNetState::GOOD;
} }
else if (!mStunProxyStable) else if (!mStunProxyStable)
{ {
/* must be a forwarded port/ext or something similar */ /* must be a forwarded port/ext or something similar */
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
mNatTypeMode = RSNET_NATTYPE_SYMMETRIC; mNatTypeMode = RsNatTypeMode::SYMMETRIC;
mNatHoleMode = RSNET_NATHOLE_FORWARDED; mNatHoleMode = RsNatHoleMode::FORWARDED;
mNetStateMode = RSNET_NETSTATE_GOOD; mNetStateMode = RsNetState::GOOD;
} }
else else
{ {
/* fallback is FULL CONE NAT */ /* fallback is FULL CONE NAT */
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
mNatTypeMode = RSNET_NATTYPE_FULL_CONE; mNatTypeMode = RsNatTypeMode::FULL_CONE;
mNatHoleMode = RSNET_NATHOLE_NONE; mNatHoleMode = RsNatHoleMode::NONE;
mNetStateMode = RSNET_NETSTATE_WARNING_NATTED; mNetStateMode = RsNetState::WARNING_NATTED;
} }
if (mUPnPActive) if (mUPnPActive)
{ {
// This Mode is OKAY. // This Mode is OKAY.
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
// Use Fallback Guess. // Use Fallback Guess.
//mNatTypeMode = RSNET_NATTYPE_UNKNOWN; //mNatTypeMode = RsNatTypeMode::UNKNOWN;
mNatHoleMode = RSNET_NATHOLE_UPNP; mNatHoleMode = RsNatHoleMode::UPNP;
mNetStateMode = RSNET_NETSTATE_GOOD; mNetStateMode = RsNetState::GOOD;
//mExtAddress = ... from UPnP, should match StunDht. //mExtAddress = ... from UPnP, should match StunDht.
//mExtAddrStable = true; //mExtAddrStable = true;
} }
else if (mNatPMPActive) else if (mNatPMPActive)
{ {
// This Mode is OKAY. // This Mode is OKAY.
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
// Use Fallback Guess. // Use Fallback Guess.
//mNatTypeMode = RSNET_NATTYPE_UNKNOWN; //mNatTypeMode = RsNatTypeMode::UNKNOWN;
mNatHoleMode = RSNET_NATHOLE_NATPMP; mNatHoleMode = RsNatHoleMode::NATPMP;
mNetStateMode = RSNET_NETSTATE_GOOD; mNetStateMode = RsNetState::GOOD;
//mExtAddress = ... from NatPMP, should match NatPMP //mExtAddress = ... from NatPMP, should match NatPMP
//mExtAddrStable = true; //mExtAddrStable = true;
} }
@ -442,20 +441,20 @@ void pqiNetStateBox::determineNetworkState()
if (isExtAddress) if (isExtAddress)
{ {
mNetworkMode = RSNET_NETWORK_EXTERNALIP; mNetworkMode = RsNetworkMode::EXTERNALIP;
mNatTypeMode = RSNET_NATTYPE_NONE; mNatTypeMode = RsNatTypeMode::NONE;
mNatHoleMode = RSNET_NATHOLE_NONE; mNatHoleMode = RsNatHoleMode::NONE;
mNetStateMode = RSNET_NETSTATE_GOOD; mNetStateMode = RsNetState::GOOD;
//mExtAddrStable = true; //mExtAddrStable = true;
} }
else if (mPortForwardSet) else if (mPortForwardSet)
{ {
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
// Use Fallback Guess. // Use Fallback Guess.
//mNatTypeMode = RSNET_NATTYPE_UNKNOWN; //mNatTypeMode = RsNatTypeMode::UNKNOWN;
mNatHoleMode = RSNET_NATHOLE_FORWARDED; mNatHoleMode = RsNatHoleMode::FORWARDED;
mNetStateMode = RSNET_NETSTATE_ADV_FORWARD; mNetStateMode = RsNetState::ADV_FORWARD;
//mExtAddrStable = true; // Probably, makin assumption. //mExtAddrStable = true; // Probably, makin assumption.
} }
@ -479,22 +478,22 @@ void pqiNetStateBox::determineNetworkState()
if (mUPnPActive) if (mUPnPActive)
{ {
// This Mode is OKAY. // This Mode is OKAY.
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
mNatTypeMode = RSNET_NATTYPE_UNKNOWN; mNatTypeMode = RsNatTypeMode::UNKNOWN;
mNatHoleMode = RSNET_NATHOLE_UPNP; mNatHoleMode = RsNatHoleMode::UPNP;
//mExtAddress = ... from UPnP. //mExtAddress = ... from UPnP.
//mExtAddrStable = true; //mExtAddrStable = true;
mNetStateMode = RSNET_NETSTATE_WARNING_NODHT; mNetStateMode = RsNetState::WARNING_NODHT;
} }
else if (mNatPMPActive) else if (mNatPMPActive)
{ {
// This Mode is OKAY. // This Mode is OKAY.
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
mNatTypeMode = RSNET_NATTYPE_UNKNOWN; mNatTypeMode = RsNatTypeMode::UNKNOWN;
mNatHoleMode = RSNET_NATHOLE_NATPMP; mNatHoleMode = RsNatHoleMode::NATPMP;
//mExtAddress = ... from NatPMP. //mExtAddress = ... from NatPMP.
//mExtAddrStable = true; //mExtAddrStable = true;
mNetStateMode = RSNET_NETSTATE_WARNING_NODHT; mNetStateMode = RsNetState::WARNING_NODHT;
} }
else else
{ {
@ -506,21 +505,21 @@ void pqiNetStateBox::determineNetworkState()
if (isExtAddress) if (isExtAddress)
{ {
mNetworkMode = RSNET_NETWORK_EXTERNALIP; mNetworkMode = RsNetworkMode::EXTERNALIP;
mNatTypeMode = RSNET_NATTYPE_NONE; mNatTypeMode = RsNatTypeMode::NONE;
mNatHoleMode = RSNET_NATHOLE_NONE; mNatHoleMode = RsNatHoleMode::NONE;
//mExtAddrStable = true; //mExtAddrStable = true;
mNetStateMode = RSNET_NETSTATE_WARNING_NODHT; mNetStateMode = RsNetState::WARNING_NODHT;
} }
else if (mPortForwardSet) else if (mPortForwardSet)
{ {
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
mNatTypeMode = RSNET_NATTYPE_UNKNOWN; mNatTypeMode = RsNatTypeMode::UNKNOWN;
mNatHoleMode = RSNET_NATHOLE_FORWARDED; mNatHoleMode = RsNatHoleMode::FORWARDED;
//mExtAddrStable = true; // Probably, makin assumption. //mExtAddrStable = true; // Probably, makin assumption.
mNetStateMode = RSNET_NETSTATE_WARNING_NODHT; mNetStateMode = RsNetState::WARNING_NODHT;
} }
else else
{ {
@ -528,10 +527,10 @@ void pqiNetStateBox::determineNetworkState()
* These people have destroyed the possibility of making connections ;( * These people have destroyed the possibility of making connections ;(
* Should WARN about this. * Should WARN about this.
*/ */
mNetworkMode = RSNET_NETWORK_BEHINDNAT; mNetworkMode = RsNetworkMode::BEHINDNAT;
mNatTypeMode = RSNET_NATTYPE_UNKNOWN; mNatTypeMode = RsNatTypeMode::UNKNOWN;
mNatHoleMode = RSNET_NATHOLE_NONE; mNatHoleMode = RsNatHoleMode::NONE;
mNetStateMode = RSNET_NETSTATE_BAD_NODHT_NAT; mNetStateMode = RsNetState::BAD_NODHT_NAT;
//mExtAddrStable = false; // Unlikely to be stable. //mExtAddrStable = false; // Unlikely to be stable.
} }
@ -553,42 +552,43 @@ void pqiNetStateBox::determineNetworkState()
void pqiNetStateBox::workoutNetworkMode() void pqiNetStateBox::workoutNetworkMode()
{ {
/* connectModes are dependent on the other modes */ /* connectModes are dependent on the other modes */
mConnectModes = RSNET_CONNECT_NONE; mConnectModes = RsConnectModes::NONE;
switch(mNetworkMode) switch(mNetworkMode)
{ {
case RSNET_NETWORK_UNKNOWN: case RsNetworkMode::UNKNOWN:
case RSNET_NETWORK_OFFLINE: case RsNetworkMode::OFFLINE:
case RSNET_NETWORK_LOCALNET: case RsNetworkMode::LOCALNET:
case RsNetworkMode::RESTARTING:
/* nothing here */ /* nothing here */
break; break;
case RSNET_NETWORK_EXTERNALIP: case RsNetworkMode::EXTERNALIP:
mConnectModes = RSNET_CONNECT_OUTGOING_TCP; mConnectModes = RsConnectModes::OUTGOING_TCP;
mConnectModes |= RSNET_CONNECT_ACCEPT_TCP; mConnectModes |= RsConnectModes::ACCEPT_TCP;
if (mDhtActive) if (mDhtActive)
{ {
mConnectModes |= RSNET_CONNECT_DIRECT_UDP; mConnectModes |= RsConnectModes::DIRECT_UDP;
/* if open port. don't want PROXY or RELAY connect /* if open port. don't want PROXY or RELAY connect
* because we should be able to do direct with EVERYONE. * because we should be able to do direct with EVERYONE.
* Ability to do Proxy is dependent on FIREWALL status. * Ability to do Proxy is dependent on FIREWALL status.
* Technically could do RELAY, but disable both. * Technically could do RELAY, but disable both.
*/ */
//mConnectModes |= RSNET_CONNECT_PROXY_UDP; //mConnectModes |= RsConnectModes::PROXY_UDP;
//mConnectModes |= RSNET_CONNECT_RELAY_UDP; //mConnectModes |= RsConnectModes::RELAY_UDP;
} }
break; break;
case RSNET_NETWORK_BEHINDNAT: case RsNetworkMode::BEHINDNAT:
mConnectModes = RSNET_CONNECT_OUTGOING_TCP; mConnectModes = RsConnectModes::OUTGOING_TCP;
/* we're okay if there's a NAT HOLE */ /* we're okay if there's a NAT HOLE */
if ((mNatHoleMode == RSNET_NATHOLE_UPNP) || if ((mNatHoleMode == RsNatHoleMode::UPNP) ||
(mNatHoleMode == RSNET_NATHOLE_NATPMP) || (mNatHoleMode == RsNatHoleMode::NATPMP) ||
(mNatHoleMode == RSNET_NATHOLE_FORWARDED)) (mNatHoleMode == RsNatHoleMode::FORWARDED))
{ {
mConnectModes |= RSNET_CONNECT_ACCEPT_TCP; mConnectModes |= RsConnectModes::ACCEPT_TCP;
if (mDhtActive) if (mDhtActive)
{ {
mConnectModes |= RSNET_CONNECT_DIRECT_UDP; mConnectModes |= RsConnectModes::DIRECT_UDP;
/* dont want PROXY | RELAY with open ports */ /* dont want PROXY | RELAY with open ports */
} }
} }
@ -600,175 +600,17 @@ void pqiNetStateBox::workoutNetworkMode()
*/ */
if (mDhtActive) if (mDhtActive)
{ {
mConnectModes |= RSNET_CONNECT_DIRECT_UDP; mConnectModes |= RsConnectModes::DIRECT_UDP;
mConnectModes |= RSNET_CONNECT_RELAY_UDP; mConnectModes |= RsConnectModes::RELAY_UDP;
if ((mNatTypeMode == RSNET_NATTYPE_RESTRICTED_CONE) || if ((mNatTypeMode == RsNatTypeMode::RESTRICTED_CONE) ||
(mNatTypeMode == RSNET_NATTYPE_FULL_CONE) || (mNatTypeMode == RsNatTypeMode::FULL_CONE) ||
(mNatTypeMode == RSNET_NATTYPE_DETERM_SYM)) (mNatTypeMode == RsNatTypeMode::DETERM_SYM))
{ {
mConnectModes |= RSNET_CONNECT_PROXY_UDP; mConnectModes |= RsConnectModes::PROXY_UDP;
} }
} }
} }
break; break;
} }
} }
std::string NetStateNetworkModeString(uint32_t netMode)
{
std::string str;
switch(netMode)
{
default:
case RSNET_NETWORK_UNKNOWN:
str = "Unknown NetState";
break;
case RSNET_NETWORK_OFFLINE:
str = "Offline";
break;
case RSNET_NETWORK_LOCALNET:
str = "Local Net";
break;
case RSNET_NETWORK_BEHINDNAT:
str = "Behind NAT";
break;
case RSNET_NETWORK_EXTERNALIP:
str = "External IP";
break;
}
return str;
}
std::string NetStateNatTypeString(uint32_t natType)
{
std::string str;
switch(natType)
{
default:
case RSNET_NATTYPE_UNKNOWN:
str = "UNKNOWN NAT STATE";
break;
case RSNET_NATTYPE_SYMMETRIC:
str = "SYMMETRIC NAT";
break;
case RSNET_NATTYPE_DETERM_SYM:
str = "DETERMINISTIC SYM NAT";
break;
case RSNET_NATTYPE_RESTRICTED_CONE:
str = "RESTRICTED CONE NAT";
break;
case RSNET_NATTYPE_FULL_CONE:
str = "FULL CONE NAT";
break;
case RSNET_NATTYPE_OTHER:
str = "OTHER NAT";
break;
case RSNET_NATTYPE_NONE:
str = "NO NAT";
break;
}
return str;
}
std::string NetStateNatHoleString(uint32_t natHole)
{
std::string str;
switch(natHole)
{
default:
case RSNET_NATHOLE_UNKNOWN:
str = "UNKNOWN NAT HOLE STATUS";
break;
case RSNET_NATHOLE_NONE:
str = "NO NAT HOLE";
break;
case RSNET_NATHOLE_UPNP:
str = "UPNP FORWARD";
break;
case RSNET_NATHOLE_NATPMP:
str = "NATPMP FORWARD";
break;
case RSNET_NATHOLE_FORWARDED:
str = "MANUAL FORWARD";
break;
}
return str;
}
std::string NetStateConnectModesString(uint32_t connect)
{
std::string connOut;
if (connect & RSNET_CONNECT_OUTGOING_TCP)
{
connOut += "TCP_OUT ";
}
if (connect & RSNET_CONNECT_ACCEPT_TCP)
{
connOut += "TCP_IN ";
}
if (connect & RSNET_CONNECT_DIRECT_UDP)
{
connOut += "DIRECT_UDP ";
}
if (connect & RSNET_CONNECT_PROXY_UDP)
{
connOut += "PROXY_UDP ";
}
if (connect & RSNET_CONNECT_RELAY_UDP)
{
connOut += "RELAY_UDP ";
}
return connOut;
}
std::string NetStateNetStateString(uint32_t netstate)
{
std::string str;
switch(netstate)
{
case RSNET_NETSTATE_BAD_UNKNOWN:
str = "NET BAD: Unknown State";
break;
case RSNET_NETSTATE_BAD_OFFLINE:
str = "NET BAD: Offline";
break;
case RSNET_NETSTATE_BAD_NATSYM:
str = "NET BAD: Behind Symmetric NAT";
break;
case RSNET_NETSTATE_BAD_NODHT_NAT:
str = "NET BAD: Behind NAT & No DHT";
break;
case RSNET_NETSTATE_WARNING_RESTART:
str = "NET WARNING: NET Restart";
break;
case RSNET_NETSTATE_WARNING_NATTED:
str = "NET WARNING: Behind NAT";
break;
case RSNET_NETSTATE_WARNING_NODHT:
str = "NET WARNING: No DHT";
break;
case RSNET_NETSTATE_GOOD:
str = "NET STATE GOOD!";
break;
case RSNET_NETSTATE_ADV_FORWARD:
str = "CAUTION: UNVERIFABLE FORWARD!";
break;
case RSNET_NETSTATE_ADV_DARK_FORWARD:
str = "CAUTION: UNVERIFABLE FORWARD & NO DHT";
break;
}
return str;
}

View File

@ -27,6 +27,9 @@
#include <string> #include <string>
#include <list> #include <list>
#include <util/rstime.h>
#include <retroshare/rsconfig.h>
/*** Network state /*** Network state
* Want this to be all encompassing. * Want this to be all encompassing.
* *
@ -51,11 +54,11 @@ class pqiNetStateBox
void setDhtState(bool dhtOn, bool dhtActive); void setDhtState(bool dhtOn, bool dhtActive);
uint32_t getNetStateMode(); RsNetState getNetStateMode();
uint32_t getNetworkMode(); RsNetworkMode getNetworkMode();
uint32_t getNatTypeMode(); RsNatTypeMode getNatTypeMode();
uint32_t getNatHoleMode(); RsNatHoleMode getNatHoleMode();
uint32_t getConnectModes(); RsConnectModes getConnectModes();
private: private:
@ -71,11 +74,11 @@ class pqiNetStateBox
bool mStatusOkay; bool mStatusOkay;
rstime_t mStatusTS; rstime_t mStatusTS;
uint32_t mNetworkMode; RsNetworkMode mNetworkMode;
uint32_t mNatTypeMode; RsNatTypeMode mNatTypeMode;
uint32_t mNatHoleMode; RsNatHoleMode mNatHoleMode;
uint32_t mConnectModes; RsConnectModes mConnectModes;
uint32_t mNetStateMode; RsNetState mNetStateMode;
/* Parameters set externally */ /* Parameters set externally */
@ -114,13 +117,4 @@ class pqiNetStateBox
uint16_t mPortForwarded; uint16_t mPortForwarded;
}; };
std::string NetStateNetStateString(uint32_t netstate);
std::string NetStateConnectModesString(uint32_t connect);
std::string NetStateNatHoleString(uint32_t natHole);
std::string NetStateNatTypeString(uint32_t natType);
std::string NetStateNetworkModeString(uint32_t netMode);
#endif #endif

View File

@ -37,77 +37,82 @@ class RsServerConfig;
*/ */
extern RsServerConfig *rsConfig; extern RsServerConfig *rsConfig;
#define RSNET_NETWORK_UNKNOWN 1 enum class RsNetworkMode : uint8_t
#define RSNET_NETWORK_RESTARTING 2 {
#define RSNET_NETWORK_OFFLINE 3 UNKNOWN = 1,
#define RSNET_NETWORK_LOCALNET 4 RESTARTING = 2,
#define RSNET_NETWORK_BEHINDNAT 5 OFFLINE = 3,
#define RSNET_NETWORK_EXTERNALIP 6 LOCALNET = 4,
BEHINDNAT = 5,
EXTERNALIP = 6
};
// WHAT TYPE OF FIREWALL? enum class RsNatTypeMode : uint8_t
#define RSNET_NATTYPE_NONE 1 {
#define RSNET_NATTYPE_UNKNOWN 2 NONE = 1,
#define RSNET_NATTYPE_SYMMETRIC 3 UNKNOWN = 2,
#define RSNET_NATTYPE_DETERM_SYM 4 SYMMETRIC = 3,
#define RSNET_NATTYPE_RESTRICTED_CONE 5 DETERM_SYM = 4,
#define RSNET_NATTYPE_FULL_CONE 6 RESTRICTED_CONE = 5,
#define RSNET_NATTYPE_OTHER 7 FULL_CONE = 6,
OTHER = 7
};
// WHAT TYPE OF HOLE? enum class RsNatHoleMode : uint8_t
#define RSNET_NATHOLE_UNKNOWN 0 {
#define RSNET_NATHOLE_NONE 1 UNKNOWN = 0,
#define RSNET_NATHOLE_UPNP 2 NONE = 1,
#define RSNET_NATHOLE_NATPMP 3 UPNP = 2,
#define RSNET_NATHOLE_FORWARDED 4 NATPMP = 3,
FORWARDED = 4
};
// Types of Connections. enum class RsConnectModes : uint16_t
#define RSNET_CONNECT_NONE 0x0000 {
#define RSNET_CONNECT_ACCEPT_TCP 0x0001 NONE = 0x0000,
#define RSNET_CONNECT_OUTGOING_TCP 0x0002 ACCEPT_TCP = 0x0001,
#define RSNET_CONNECT_DIRECT_UDP 0x0100 OUTGOING_TCP= 0x0002,
#define RSNET_CONNECT_PROXY_UDP 0x0200 DIRECT_UDP = 0x0100,
#define RSNET_CONNECT_RELAY_UDP 0x0400 PROXY_UDP = 0x0200,
RELAY_UDP = 0x0400
};
RS_REGISTER_ENUM_FLAGS_TYPE(RsConnectModes)
// net state (good, okay, bad) enum class RsNetState : uint8_t
// BAD. (RED) {
#define RSNET_NETSTATE_BAD_UNKNOWN 1 // BAD. (RED)
#define RSNET_NETSTATE_BAD_OFFLINE 2 BAD_UNKNOWN = 1,
#define RSNET_NETSTATE_BAD_NATSYM 3 BAD_OFFLINE = 2,
#define RSNET_NETSTATE_BAD_NODHT_NAT 4 BAD_NATSYM = 3,
BAD_NODHT_NAT = 4,
// CAUTION. (ORANGE) // CAUTION. (ORANGE)
#define RSNET_NETSTATE_WARNING_RESTART 5 WARNING_RESTART = 5,
#define RSNET_NETSTATE_WARNING_NATTED 6 WARNING_NATTED = 6,
#define RSNET_NETSTATE_WARNING_NODHT 7 WARNING_NODHT = 7,
// GOOD (GREEN) // GOOD (GREEN)
// NAT with forwarded port, or EXT port. // NAT with forwarded port, or EXT port.
#define RSNET_NETSTATE_GOOD 8 GOOD = 8,
// ADVANCED MODE (BLUE)
// If the user knows what they are doing... we cannot confirm this.
#define RSNET_NETSTATE_ADV_FORWARD 9
#define RSNET_NETSTATE_ADV_DARK_FORWARD 10
/* matched to the uPnP states */
#define UPNP_STATE_UNINITIALISED 0
#define UPNP_STATE_UNAVAILABILE 1
#define UPNP_STATE_READY 2
#define UPNP_STATE_FAILED_TCP 3
#define UPNP_STATE_FAILED_UDP 4
#define UPNP_STATE_ACTIVE 5
// ADVANCED MODE (BLUE)
// If the user knows what they are doing... we cannot confirm this.
ADV_FORWARD = 9,
ADV_DARK_FORWARD= 10
};
/************************** Indicate How experienced the RsUser is... based on Friends / Firewall status ******/ /************************** Indicate How experienced the RsUser is... based on Friends / Firewall status ******/
#define RSCONFIG_USER_LEVEL_NEW 0x0001 /* no friends */ enum class RsConfigUserLvl : uint8_t
#define RSCONFIG_USER_LEVEL_BASIC 0x0002 /* no connections */ {
#define RSCONFIG_USER_LEVEL_CASUAL 0x0003 /* firewalled */ NEW = 1, /* no friends */
#define RSCONFIG_USER_LEVEL_POWER 0x0004 /* good! */ BASIC = 2, /* no connections */
#define RSCONFIG_USER_LEVEL_OVERRIDE 0x0005 /* forced to POWER level */ CASUAL = 3, /* firewalled */
POWER = 4, /* good! */
OVERRIDE= 5 /* forced to POWER level */
};
@ -115,10 +120,13 @@ extern RsServerConfig *rsConfig;
#define RS_CONFIG_ADVANCED 0x0101 #define RS_CONFIG_ADVANCED 0x0101
#define RS_OPMODE_FULL 0x0001 enum class RsOpMode : uint8_t
#define RS_OPMODE_NOTURTLE 0x0002 {
#define RS_OPMODE_GAMING 0x0003 FULL = 1,
#define RS_OPMODE_MINIMAL 0x0004 NOTURTLE= 2,
GAMING = 3,
MINIMAL = 4
};
class RsConfigStartup class RsConfigStartup
@ -348,13 +356,13 @@ public:
/* New Stuff */ /* New Stuff */
virtual uint32_t getUserLevel() = 0; virtual RsConfigUserLvl getUserLevel() = 0;
virtual uint32_t getNetState() = 0; virtual RsNetState getNetState() = 0;
virtual uint32_t getNetworkMode() = 0; virtual RsNetworkMode getNetworkMode() = 0;
virtual uint32_t getNatTypeMode() = 0; virtual RsNatTypeMode getNatTypeMode() = 0;
virtual uint32_t getNatHoleMode() = 0; virtual RsNatHoleMode getNatHoleMode() = 0;
virtual uint32_t getConnectModes() = 0; virtual RsConnectModes getConnectModes() = 0;
virtual bool getConfigurationOption(uint32_t key, std::string &opt) = 0; virtual bool getConfigurationOption(uint32_t key, std::string &opt) = 0;
virtual bool setConfigurationOption(uint32_t key, const std::string &opt) = 0; virtual bool setConfigurationOption(uint32_t key, const std::string &opt) = 0;
@ -366,7 +374,7 @@ public:
* @jsonapi{development} * @jsonapi{development}
* @return return the current operating mode * @return return the current operating mode
*/ */
virtual uint32_t getOperatingMode() = 0; virtual RsOpMode getOperatingMode() = 0;
/** /**
* @brief setOperatingMode set the current oprating mode * @brief setOperatingMode set the current oprating mode
@ -374,7 +382,7 @@ public:
* @param[in] opMode new opearting mode * @param[in] opMode new opearting mode
* @return * @return
*/ */
virtual bool setOperatingMode(uint32_t opMode) = 0; virtual bool setOperatingMode(RsOpMode opMode) = 0;
/** /**
* @brief setOperatingMode set the current operating mode from string * @brief setOperatingMode set the current operating mode from string

View File

@ -27,6 +27,7 @@
#include <list> #include <list>
#include <retroshare/rstypes.h> #include <retroshare/rstypes.h>
#include "util/rsnet.h" #include "util/rsnet.h"
#include "retroshare/rsflags.h"
/* The Main Interface Class - for information about your Peers */ /* The Main Interface Class - for information about your Peers */
class RsDht; class RsDht;
@ -35,55 +36,66 @@ extern RsDht *rsDht;
//std::ostream &operator<<(std::ostream &out, const RsPhotoShowDetails &detail); //std::ostream &operator<<(std::ostream &out, const RsPhotoShowDetails &detail);
//std::ostream &operator<<(std::ostream &out, const RsPhotoDetails &detail); //std::ostream &operator<<(std::ostream &out, const RsPhotoDetails &detail);
#define RSDHT_NETSTART_NETWORKMODE 0x0001 enum class RsDhtPeerType : uint8_t
#define RSDHT_NETSTART_NATTYPE 0x0002 {
#define RSDHT_NETSTART_NATHOLE 0x0003 ANY = 0,
#define RSDHT_NETSTART_CONNECTMODES 0x0004 OTHER = 1,
#define RSDHT_NETSTART_NETSTATE 0x0005 FOF = 2,
FRIEND = 3
};
enum class RsDhtPeerDht : uint8_t
{
NOT_ACTIVE = 0,
SEARCHING = 1,
FAILURE = 2,
OFFLINE = 3,
UNREACHABLE = 4,
ONLINE = 5
};
enum class RsDhtPeerConnectState : uint8_t
{
DISCONNECTED = 1,
UDP_STARTED = 2,
CONNECTED = 3
};
#define RSDHT_PEERTYPE_ANY 0x0000 enum class RsDhtPeerRequest : uint8_t
#define RSDHT_PEERTYPE_OTHER 0x0001 {
#define RSDHT_PEERTYPE_FOF 0x0002 STOPPED = 1,
#define RSDHT_PEERTYPE_FRIEND 0x0003 RUNNING = 2
};
#define RSDHT_PEERDHT_NOT_ACTIVE 0x0000 enum class RsDhtTouMode : uint8_t
#define RSDHT_PEERDHT_SEARCHING 0x0001 {
#define RSDHT_PEERDHT_FAILURE 0x0002 NONE = 0,
#define RSDHT_PEERDHT_OFFLINE 0x0003 DIRECT = 1,
#define RSDHT_PEERDHT_UNREACHABLE 0x0004 PROXY = 2,
#define RSDHT_PEERDHT_ONLINE 0x0005 RELAY = 3
};
#define RSDHT_PEERCONN_DISCONNECTED 1 enum class RsDhtRelayClass : uint8_t
#define RSDHT_PEERCONN_UDP_STARTED 2 {
#define RSDHT_PEERCONN_CONNECTED 3 ALL = 0,
GENERAL = 1,
FOF = 2,
FRIENDS = 3,
#define RSDHT_PEERREQ_STOPPED 1 NUM_CLASS = 4
#define RSDHT_PEERREQ_RUNNING 2 };
#define RSDHT_TOU_MODE_NONE 0 enum class RsDhtRelayMode : uint16_t
#define RSDHT_TOU_MODE_DIRECT 1 {
#define RSDHT_TOU_MODE_PROXY 2 DISABLED= 0x0000,
#define RSDHT_TOU_MODE_RELAY 3 ENABLED = 0x0001,
#define RSDHT_RELAY_NUM_CLASS 4
#define RSDHT_RELAY_CLASS_ALL 0
#define RSDHT_RELAY_CLASS_GENERAL 1
#define RSDHT_RELAY_CLASS_FOF 2
#define RSDHT_RELAY_CLASS_FRIENDS 3
#define RSDHT_RELAY_MODE_MASK 0x00f0
#define RSDHT_RELAY_ENABLED 0x0001
#define RSDHT_RELAY_MODE_OFF 0x0010
#define RSDHT_RELAY_MODE_ON 0x0020
#define RSDHT_RELAY_MODE_SERVER 0x0040
MASK = 0x00f0,
OFF = 0x0010,
ON = 0x0020,
SERVER = 0x0040
};
RS_REGISTER_ENUM_FLAGS_TYPE(RsDhtRelayMode)
class RsDhtPeer class RsDhtPeer
{ {
@ -108,18 +120,18 @@ class RsDhtNetPeer
std::string mDhtId; std::string mDhtId;
RsPeerId mRsId; RsPeerId mRsId;
uint32_t mPeerType; RsDhtPeerType mPeerType;
uint32_t mDhtState; RsDhtPeerDht mDhtState;
std::string mConnectState; // connectLogic. std::string mConnectState; // connectLogic.
uint32_t mPeerConnectState; // connect Status RsDhtPeerConnectState mPeerConnectState;
uint32_t mPeerConnectMode; // connect mode RsDhtTouMode mPeerConnectMode;
bool mExclusiveProxyLock; bool mExclusiveProxyLock;
std::string mPeerConnectProxyId; std::string mPeerConnectProxyId;
uint32_t mPeerReqState; // Req Status. RsDhtPeerRequest mPeerReqState;
std::string mCbPeerMsg; // Peer Cb Mgs. std::string mCbPeerMsg; // Peer Cb Mgs.
}; };
@ -188,11 +200,11 @@ virtual int getRelayServerList(std::list<std::string> &ids) = 0;
virtual int addRelayServer(std::string ids) = 0; virtual int addRelayServer(std::string ids) = 0;
virtual int removeRelayServer(std::string ids) = 0; virtual int removeRelayServer(std::string ids) = 0;
virtual uint32_t getRelayMode() = 0; virtual RsDhtRelayMode getRelayMode() = 0;
virtual int setRelayMode(uint32_t mode) = 0; virtual int setRelayMode(RsDhtRelayMode mode) = 0;
virtual int getRelayAllowance(int classIdx, uint32_t &count, uint32_t &bandwidth) = 0; virtual int getRelayAllowance(RsDhtRelayClass classIdx, uint32_t &count, uint32_t &bandwidth) = 0;
virtual int setRelayAllowance(int classIdx, uint32_t count, uint32_t bandwidth) = 0; virtual int setRelayAllowance(RsDhtRelayClass classIdx, uint32_t count, uint32_t bandwidth) = 0;
// So we can provide to clients. // So we can provide to clients.
virtual bool getOwnDhtId(std::string &ownDhtId) = 0; virtual bool getOwnDhtId(std::string &ownDhtId) = 0;

View File

@ -37,7 +37,13 @@ using rs_is_scoped_enum = std::integral_constant< bool,
* it as flags type passing it as parameter of this macro. * it as flags type passing it as parameter of this macro.
* The result will be type safe flags, that cannot be mixed up with flag of a * The result will be type safe flags, that cannot be mixed up with flag of a
* different type, but that are very comfortable to operate like plain old * different type, but that are very comfortable to operate like plain old
* integers. * integers. All commom operation like &, | or ! can be used. To convert
* the result of such operation to boolean use !!:
@code{.cpp}
RsConnectModes connect = rsConfig->getConnectModes();
if (!!(connect & RsConnectModes::OUTGOING_TCP))
@endcode
*
* This macro support flag fields of different lenght depending on what * This macro support flag fields of different lenght depending on what
* underlining type (usually from uint8_t up to uint64_t) has been declared for * underlining type (usually from uint8_t up to uint64_t) has been declared for
* the enum class. * the enum class.
@ -45,6 +51,7 @@ using rs_is_scoped_enum = std::integral_constant< bool,
* underlining type of the enum otherwise different compilers may serialize a * underlining type of the enum otherwise different compilers may serialize a
* flag variable with different lenght, potentially causing interoperability * flag variable with different lenght, potentially causing interoperability
* issues between differents builds. * issues between differents builds.
*
* Usage example: * Usage example:
@code{.cpp} @code{.cpp}
enum class RsGrouterItemFlags : uint32_t enum class RsGrouterItemFlags : uint32_t

View File

@ -38,7 +38,7 @@
class RsGxsForums; class RsGxsForums;
/** /**
* Pointer to global instance of RsGxsChannels service implementation * Pointer to global instance of RsGxsForums service implementation
* @jsonapi{development} * @jsonapi{development}
*/ */
extern RsGxsForums* rsGxsForums; extern RsGxsForums* rsGxsForums;

View File

@ -48,11 +48,11 @@ p3ServerConfig::p3ServerConfig(p3PeerMgr *peerMgr, p3LinkMgr *linkMgr, p3NetMgr
RsStackMutex stack(configMtx); /******* LOCKED MUTEX *****/ RsStackMutex stack(configMtx); /******* LOCKED MUTEX *****/
mUserLevel = RSCONFIG_USER_LEVEL_NEW; /* START LEVEL */ mUserLevel = RsConfigUserLvl::NEW; /* START LEVEL */
mRateDownload = DEFAULT_DOWNLOAD_KB_RATE; mRateDownload = DEFAULT_DOWNLOAD_KB_RATE;
mRateUpload = DEFAULT_UPLOAD_KB_RATE; mRateUpload = DEFAULT_UPLOAD_KB_RATE;
mOpMode = RS_OPMODE_FULL; mOpMode = RsOpMode::FULL;
rsConfig = this; rsConfig = this;
} }
@ -86,7 +86,7 @@ void p3ServerConfig::load_config()
} }
/* enable operating mode */ /* enable operating mode */
uint32_t opMode = getOperatingMode(); RsOpMode opMode = getOperatingMode();
switchToOperatingMode(opMode); switchToOperatingMode(opMode);
} }
@ -264,9 +264,9 @@ std::string p3ServerConfig::getRetroshareDataDirectory()
/* New Stuff */ /* New Stuff */
uint32_t p3ServerConfig::getUserLevel() RsConfigUserLvl p3ServerConfig::getUserLevel()
{ {
uint32_t userLevel = RSCONFIG_USER_LEVEL_NEW; RsConfigUserLvl userLevel = RsConfigUserLvl::NEW;
{ {
RsStackMutex stack(configMtx); /******* LOCKED MUTEX *****/ RsStackMutex stack(configMtx); /******* LOCKED MUTEX *****/
userLevel = mUserLevel; userLevel = mUserLevel;
@ -274,47 +274,47 @@ uint32_t p3ServerConfig::getUserLevel()
switch(userLevel) switch(userLevel)
{ {
case RSCONFIG_USER_LEVEL_OVERRIDE: case RsConfigUserLvl::OVERRIDE:
break; break;
#define MIN_BASIC_FRIENDS 2 #define MIN_BASIC_FRIENDS 2
// FALL THROUGH EVERYTHING. // FALL THROUGH EVERYTHING.
default: default:
case RSCONFIG_USER_LEVEL_NEW: case RsConfigUserLvl::NEW:
{ {
if (mPeerMgr->getFriendCount(true, false) > MIN_BASIC_FRIENDS) if (mPeerMgr->getFriendCount(true, false) > MIN_BASIC_FRIENDS)
{ {
userLevel = RSCONFIG_USER_LEVEL_BASIC; userLevel = RsConfigUserLvl::BASIC;
} }
} }
/* fallthrough */ /* fallthrough */
case RSCONFIG_USER_LEVEL_BASIC: case RsConfigUserLvl::BASIC:
{ {
/* check that we have some lastConnect > 0 */ /* check that we have some lastConnect > 0 */
if (mPeerMgr->haveOnceConnected()) if (mPeerMgr->haveOnceConnected())
{ {
userLevel = RSCONFIG_USER_LEVEL_CASUAL; userLevel = RsConfigUserLvl::CASUAL;
} }
} }
/* fallthrough */ /* fallthrough */
case RSCONFIG_USER_LEVEL_CASUAL: case RsConfigUserLvl::CASUAL:
case RSCONFIG_USER_LEVEL_POWER: case RsConfigUserLvl::POWER:
{ {
/* check that the firewall is open */ /* check that the firewall is open */
uint32_t netMode = mNetMgr->getNetworkMode(); RsNetworkMode netMode = mNetMgr->getNetworkMode();
uint32_t firewallMode = mNetMgr->getNatHoleMode(); RsNatHoleMode firewallMode = mNetMgr->getNatHoleMode();
if ((RSNET_NETWORK_EXTERNALIP == netMode) || if ((RsNetworkMode::EXTERNALIP == netMode) ||
((RSNET_NETWORK_BEHINDNAT == netMode) && ((RsNetworkMode::BEHINDNAT == netMode) &&
((RSNET_NATHOLE_UPNP == firewallMode) || (RsNatHoleMode::UPNP == firewallMode ||
(RSNET_NATHOLE_NATPMP == firewallMode) || (RsNatHoleMode::NATPMP == firewallMode) ||
(RSNET_NATHOLE_FORWARDED == firewallMode)))) (RsNatHoleMode::FORWARDED == firewallMode))))
{ {
userLevel = RSCONFIG_USER_LEVEL_POWER; userLevel = RsConfigUserLvl::POWER;
} }
} }
break; /* for all */ break; /* for all */
@ -329,27 +329,27 @@ uint32_t p3ServerConfig::getUserLevel()
} }
uint32_t p3ServerConfig::getNetState() RsNetState p3ServerConfig::getNetState()
{ {
return mNetMgr->getNetStateMode(); return mNetMgr->getNetStateMode();
} }
uint32_t p3ServerConfig::getNetworkMode() RsNetworkMode p3ServerConfig::getNetworkMode()
{ {
return mNetMgr->getNetworkMode(); return mNetMgr->getNetworkMode();
} }
uint32_t p3ServerConfig::getNatTypeMode() RsNatTypeMode p3ServerConfig::getNatTypeMode()
{ {
return mNetMgr->getNatTypeMode(); return mNetMgr->getNatTypeMode();
} }
uint32_t p3ServerConfig::getNatHoleMode() RsNatHoleMode p3ServerConfig::getNatHoleMode()
{ {
return mNetMgr->getNatHoleMode(); return mNetMgr->getNatHoleMode();
} }
uint32_t p3ServerConfig::getConnectModes() RsConnectModes p3ServerConfig::getConnectModes()
{ {
return mNetMgr->getConnectModes(); return mNetMgr->getConnectModes();
} }
@ -357,27 +357,27 @@ uint32_t p3ServerConfig::getConnectModes()
/* Operating Mode */ /* Operating Mode */
#define RS_CONFIG_OPERATING_STRING "OperatingMode" #define RS_CONFIG_OPERATING_STRING "OperatingMode"
uint32_t p3ServerConfig::getOperatingMode() RsOpMode p3ServerConfig::getOperatingMode()
{ {
#ifdef SAVE_OPERATING_MODE #ifdef SAVE_OPERATING_MODE
std::string modestr = mGeneralConfig->getSetting(RS_CONFIG_OPERATING_STRING); std::string modestr = mGeneralConfig->getSetting(RS_CONFIG_OPERATING_STRING);
uint32_t mode = RS_OPMODE_FULL; uint32_t mode = RsOpMode::FULL;
if (modestr == "FULL") if (modestr == "FULL")
{ {
mode = RS_OPMODE_FULL; mode = RsOpMode::FULL;
} }
else if (modestr == "NOTURTLE") else if (modestr == "NOTURTLE")
{ {
mode = RS_OPMODE_NOTURTLE; mode = RsOpMode::NOTURTLE;
} }
else if (modestr == "GAMING") else if (modestr == "GAMING")
{ {
mode = RS_OPMODE_GAMING; mode = RsOpMode::GAMING;
} }
else if (modestr == "MINIMAL") else if (modestr == "MINIMAL")
{ {
mode = RS_OPMODE_MINIMAL; mode = RsOpMode::MINIMAL;
} }
return mode; return mode;
#else #else
@ -387,24 +387,24 @@ uint32_t p3ServerConfig::getOperatingMode()
} }
bool p3ServerConfig::setOperatingMode(uint32_t opMode) bool p3ServerConfig::setOperatingMode(RsOpMode opMode)
{ {
#ifdef SAVE_OPERATING_MODE #ifdef SAVE_OPERATING_MODE
std::string modestr = "FULL"; std::string modestr = "FULL";
switch(opMode) switch(opMode)
{ {
case RS_OPMODE_FULL: case RsOpMode::FULL:
modestr = "FULL"; modestr = "FULL";
break; break;
case RS_OPMODE_NOTURTLE: case RsOpMode::NOTURTLE:
modestr = "NOTURTLE"; modestr = "NOTURTLE";
break; break;
case RS_OPMODE_GAMING: case RsOpMode::GAMING:
modestr = "GAMING"; modestr = "GAMING";
break; break;
case RS_OPMODE_MINIMAL: case RsOpMode::MINIMAL:
modestr = "MINIMAL"; modestr = "MINIMAL";
break; break;
} }
@ -420,31 +420,31 @@ bool p3ServerConfig::setOperatingMode(uint32_t opMode)
bool p3ServerConfig::setOperatingMode(const std::string &opModeStr) bool p3ServerConfig::setOperatingMode(const std::string &opModeStr)
{ {
uint32_t opMode = RS_OPMODE_FULL; RsOpMode opMode = RsOpMode::FULL;
std::string upper; std::string upper;
stringToUpperCase(opModeStr, upper); stringToUpperCase(opModeStr, upper);
if (upper == "NOTURTLE") if (upper == "NOTURTLE")
{ {
opMode = RS_OPMODE_NOTURTLE; opMode = RsOpMode::NOTURTLE;
} }
else if (upper == "GAMING") else if (upper == "GAMING")
{ {
opMode = RS_OPMODE_GAMING; opMode = RsOpMode::GAMING;
} }
else if (upper == "MINIMAL") else if (upper == "MINIMAL")
{ {
opMode = RS_OPMODE_MINIMAL; opMode = RsOpMode::MINIMAL;
} }
else // "FULL" by default else // "FULL" by default
{ {
opMode = RS_OPMODE_FULL; opMode = RsOpMode::FULL;
} }
return setOperatingMode(opMode); return setOperatingMode(opMode);
} }
bool p3ServerConfig::switchToOperatingMode(uint32_t opMode) bool p3ServerConfig::switchToOperatingMode(RsOpMode opMode)
{ {
float dl_rate = 0; float dl_rate = 0;
float ul_rate = 0; float ul_rate = 0;
@ -456,13 +456,13 @@ bool p3ServerConfig::switchToOperatingMode(uint32_t opMode)
ul_rate = mRateUpload; ul_rate = mRateUpload;
} }
std::cerr << "p3ServerConfig::switchToOperatingMode(" << opMode << ")"; std::cerr << "p3ServerConfig::switchToOperatingMode(" << static_cast<typename std::underlying_type<RsOpMode>::type>(opMode) << ")";
std::cerr << std::endl; std::cerr << std::endl;
switch (opMode) switch (opMode)
{ {
default: default:
case RS_OPMODE_FULL: case RsOpMode::FULL:
/* switch on all transfers */ /* switch on all transfers */
/* 100% bandwidth */ /* 100% bandwidth */
/* switch on popups, enable hashing */ /* switch on popups, enable hashing */
@ -470,14 +470,14 @@ bool p3ServerConfig::switchToOperatingMode(uint32_t opMode)
//setMaxRate(false, mro); // Out / Upload. //setMaxRate(false, mro); // Out / Upload.
turtle_enabled = true; turtle_enabled = true;
break; break;
case RS_OPMODE_NOTURTLE: case RsOpMode::NOTURTLE:
/* switch on all transfers - except turtle, enable hashing */ /* switch on all transfers - except turtle, enable hashing */
/* 100% bandwidth */ /* 100% bandwidth */
/* switch on popups, enable hashing */ /* switch on popups, enable hashing */
turtle_enabled = false; turtle_enabled = false;
break; break;
case RS_OPMODE_GAMING: case RsOpMode::GAMING:
/* switch on all transfers */ /* switch on all transfers */
/* reduce bandwidth to 25% */ /* reduce bandwidth to 25% */
/* switch off popups, enable hashing */ /* switch off popups, enable hashing */
@ -486,7 +486,7 @@ bool p3ServerConfig::switchToOperatingMode(uint32_t opMode)
dl_rate *= 0.25; dl_rate *= 0.25;
ul_rate *= 0.25; ul_rate *= 0.25;
break; break;
case RS_OPMODE_MINIMAL: case RsOpMode::MINIMAL:
/* switch off all transfers */ /* switch off all transfers */
/* reduce bandwidth to 10%, but make sure there is enough for VoIP */ /* reduce bandwidth to 10%, but make sure there is enough for VoIP */
/* switch on popups, enable hashing */ /* switch on popups, enable hashing */

View File

@ -72,20 +72,20 @@ virtual std::string getRetroshareDataDirectory();
/* New Stuff */ /* New Stuff */
virtual uint32_t getUserLevel(); virtual RsConfigUserLvl getUserLevel();
virtual uint32_t getNetState(); virtual RsNetState getNetState();
virtual uint32_t getNetworkMode(); virtual RsNetworkMode getNetworkMode();
virtual uint32_t getNatTypeMode(); virtual RsNatTypeMode getNatTypeMode();
virtual uint32_t getNatHoleMode(); virtual RsNatHoleMode getNatHoleMode();
virtual uint32_t getConnectModes(); virtual RsConnectModes getConnectModes();
virtual bool getConfigurationOption(uint32_t key, std::string &opt); virtual bool getConfigurationOption(uint32_t key, std::string &opt);
virtual bool setConfigurationOption(uint32_t key, const std::string &opt); virtual bool setConfigurationOption(uint32_t key, const std::string &opt);
/* Operating Mode */ /* Operating Mode */
virtual uint32_t getOperatingMode(); virtual RsOpMode getOperatingMode();
virtual bool setOperatingMode(uint32_t opMode); virtual bool setOperatingMode(RsOpMode opMode);
virtual bool setOperatingMode(const std::string &opModeStr); virtual bool setOperatingMode(const std::string &opModeStr);
virtual int SetMaxDataRates( int downKb, int upKb ); virtual int SetMaxDataRates( int downKb, int upKb );
@ -97,7 +97,7 @@ virtual int GetTrafficSum( uint64_t &inb, uint64_t &outb );
private: private:
bool switchToOperatingMode(uint32_t opMode); bool switchToOperatingMode(RsOpMode opMode);
bool findConfigurationOption(uint32_t key, std::string &keystr); bool findConfigurationOption(uint32_t key, std::string &keystr);
@ -108,11 +108,11 @@ bool findConfigurationOption(uint32_t key, std::string &keystr);
p3GeneralConfig *mGeneralConfig; p3GeneralConfig *mGeneralConfig;
RsMutex configMtx; RsMutex configMtx;
uint32_t mUserLevel; // store last one... will later be a config Item too. RsConfigUserLvl mUserLevel; // store last one... will later be a config Item too.
float mRateDownload; float mRateDownload;
float mRateUpload; float mRateUpload;
uint32_t mOpMode; RsOpMode mOpMode;
}; };
#endif #endif

View File

@ -101,12 +101,14 @@ std::ostream &operator<<(std::ostream &out, const UdpRelayEnd &ure);
/**** DEFINED IN EXTERNAL HEADER FILE ***/ /**** DEFINED IN EXTERNAL HEADER FILE ***/
#define UDP_RELAY_NUM_CLASS RSDHT_RELAY_NUM_CLASS // sehraf: this is a bit ugly but since the int is used as an integer i'lll stick to this hack for now
/// TODO fix me!
#define UDP_RELAY_NUM_CLASS static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::NUM_CLASS)
#define UDP_RELAY_CLASS_ALL RSDHT_RELAY_CLASS_ALL #define UDP_RELAY_CLASS_ALL static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::ALL)
#define UDP_RELAY_CLASS_GENERAL RSDHT_RELAY_CLASS_GENERAL #define UDP_RELAY_CLASS_GENERAL static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::GENERAL)
#define UDP_RELAY_CLASS_FOF RSDHT_RELAY_CLASS_FOF #define UDP_RELAY_CLASS_FOF static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::FOF)
#define UDP_RELAY_CLASS_FRIENDS RSDHT_RELAY_CLASS_FRIENDS #define UDP_RELAY_CLASS_FRIENDS static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::FRIENDS)
// Just for some testing fun! // Just for some testing fun!
//#define UDP_RELAY_LIFETIME_GENERAL 180 // 3 minutes //#define UDP_RELAY_LIFETIME_GENERAL 180 // 3 minutes

View File

@ -30,6 +30,7 @@
#include <retroshare/rsidentity.h> #include <retroshare/rsidentity.h>
#include "gui/common/AvatarDefs.h" #include "gui/common/AvatarDefs.h"
#include "gui/common/FilesDefs.h"
#include "util/qtthreadsutils.h" #include "util/qtthreadsutils.h"
#include "gui/Circles/CreateCircleDialog.h" #include "gui/Circles/CreateCircleDialog.h"
#include "gui/gxs/GxsIdDetails.h" #include "gui/gxs/GxsIdDetails.h"
@ -53,7 +54,7 @@ CreateCircleDialog::CreateCircleDialog()
ui.setupUi(this); ui.setupUi(this);
/* Setup Queue */ /* Setup Queue */
ui.headerFrame->setHeaderImage(QPixmap(":/icons/png/circles.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/circles.png"));
// connect up the buttons. // connect up the buttons.
connect(ui.addButton, SIGNAL(clicked()), this, SLOT(addMember())); connect(ui.addButton, SIGNAL(clicked()), this, SLOT(addMember()));

View File

@ -23,11 +23,12 @@
#include <math.h> #include <math.h>
#include <QStylePainter> #include <QStylePainter>
#include <QDebug> #include <QDebug>
#include <retroshare/rsfiles.h> #include "retroshare/rsfiles.h"
#include <retroshare/rstypes.h> #include "retroshare/rstypes.h"
#include "util/misc.h" #include "util/misc.h"
#include "FileTransferInfoWidget.h" #include "FileTransferInfoWidget.h"
#include <gui/RetroShareLink.h> #include "gui/RetroShareLink.h"
#include "gui/common/FilesDefs.h"
// Variables to decide of display behaviour. All variables are expressed as a factor of font height // Variables to decide of display behaviour. All variables are expressed as a factor of font height
// //
@ -49,10 +50,10 @@ FileTransferInfoWidget::FileTransferInfoWidget(QWidget * /*parent*/, Qt::WindowF
int S = 0.9*QFontMetricsF(font()).height(); int S = 0.9*QFontMetricsF(font()).height();
downloadedPixmap = QPixmap(":/icons/tile_downloaded_48.png").scaledToHeight(S,Qt::SmoothTransformation); downloadedPixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/tile_downloaded_48.png").scaledToHeight(S,Qt::SmoothTransformation);
downloadingPixmap = QPixmap(":/icons/tile_downloading_48.png").scaledToHeight(S,Qt::SmoothTransformation); downloadingPixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/tile_downloading_48.png").scaledToHeight(S,Qt::SmoothTransformation);
notDownloadPixmap = QPixmap(":/icons/tile_inactive_48.png").scaledToHeight(S,Qt::SmoothTransformation); notDownloadPixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/tile_inactive_48.png").scaledToHeight(S,Qt::SmoothTransformation);
checkingPixmap = QPixmap(":/icons/tile_checking_48.png").scaledToHeight(S,Qt::SmoothTransformation); checkingPixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/tile_checking_48.png").scaledToHeight(S,Qt::SmoothTransformation);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
} }

View File

@ -268,7 +268,7 @@ LocalSharedFilesDialog::LocalSharedFilesDialog(QWidget *parent)
openfolderAct = new QAction(QIcon(IMAGE_OPENFOLDER), tr("Open Folder"), this) ; openfolderAct = new QAction(QIcon(IMAGE_OPENFOLDER), tr("Open Folder"), this) ;
connect(openfolderAct, SIGNAL(triggered()), this, SLOT(openfolder())) ; connect(openfolderAct, SIGNAL(triggered()), this, SLOT(openfolder())) ;
ui.titleBarPixmap->setPixmap(QPixmap(IMAGE_MYFILES)) ; ui.titleBarPixmap->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_MYFILES)) ;
ui.dirTreeView->setItemDelegateForColumn(COLUMN_FRIEND_ACCESS,new ShareFlagsItemDelegate()) ; ui.dirTreeView->setItemDelegateForColumn(COLUMN_FRIEND_ACCESS,new ShareFlagsItemDelegate()) ;
} }
@ -500,7 +500,7 @@ void LocalSharedFilesDialog::checkUpdate()
else else
{ {
ui.checkButton->setText(tr("Check files")); ui.checkButton->setText(tr("Check files"));
ui.hashLabel->setPixmap(QPixmap(IMAGE_HASH_DONE)); ui.hashLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_HASH_DONE));
ui.hashLabel->setToolTip("") ; ui.hashLabel->setToolTip("") ;
} }

View File

@ -35,6 +35,7 @@
#include "gui/settings/rsharesettings.h" #include "gui/settings/rsharesettings.h"
#include "TorControl/TorManager.h" #include "TorControl/TorManager.h"
#include "util/misc.h" #include "util/misc.h"
#include "gui/common/FilesDefs.h"
#include <retroshare/rsidentity.h> #include <retroshare/rsidentity.h>
#include <retroshare/rsinit.h> #include <retroshare/rsinit.h>
@ -132,7 +133,7 @@ GenCertDialog::GenCertDialog(bool onlyGenerateIdentity, QWidget *parent)
/* Invoke Qt Designer generated QObject setup routine */ /* Invoke Qt Designer generated QObject setup routine */
ui.setupUi(this); ui.setupUi(this);
//ui.headerFrame->setHeaderImage(QPixmap(":/icons/svg/profile.svg")); //ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/svg/profile.svg"));
//ui.headerFrame->setHeaderText(tr("Create a new profile")); //ui.headerFrame->setHeaderText(tr("Create a new profile"));
connect(ui.reuse_existing_node_CB, SIGNAL(triggered()), this, SLOT(switchReuseExistingNode())); connect(ui.reuse_existing_node_CB, SIGNAL(triggered()), this, SLOT(switchReuseExistingNode()));
@ -432,9 +433,9 @@ void GenCertDialog::updateCheckLabels()
} }
if(mEntropyOk) if(mEntropyOk)
ui.randomness_check_LB->setPixmap(QPixmap(IMAGE_GOOD)) ; ui.randomness_check_LB->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_GOOD)) ;
else else
ui.randomness_check_LB->setPixmap(QPixmap(IMAGE_BAD)) ; ui.randomness_check_LB->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_BAD)) ;
setupState(); setupState();
} }

View File

@ -105,7 +105,7 @@ void GetStartedDialog::showEvent ( QShowEvent * /*event*/ )
void GetStartedDialog::updateFromUserLevel() void GetStartedDialog::updateFromUserLevel()
{ {
uint32_t userLevel = RSCONFIG_USER_LEVEL_NEW; RsConfigUserLvl userLevel = RsConfigUserLvl::NEW;
userLevel = rsConfig->getUserLevel(); userLevel = rsConfig->getUserLevel();
ui.inviteCheckBox->setChecked(false); ui.inviteCheckBox->setChecked(false);
@ -116,19 +116,19 @@ void GetStartedDialog::updateFromUserLevel()
switch(userLevel) switch(userLevel)
{ {
// FALLS THROUGH EVERYWHERE. // FALLS THROUGH EVERYWHERE.
case RSCONFIG_USER_LEVEL_POWER: case RsConfigUserLvl::POWER:
case RSCONFIG_USER_LEVEL_OVERRIDE: case RsConfigUserLvl::OVERRIDE:
ui.firewallCheckBox->setChecked(true); ui.firewallCheckBox->setChecked(true);
/* fallthrough */ /* fallthrough */
case RSCONFIG_USER_LEVEL_CASUAL: case RsConfigUserLvl::CASUAL:
ui.connectCheckBox->setChecked(true); ui.connectCheckBox->setChecked(true);
/* fallthrough */ /* fallthrough */
case RSCONFIG_USER_LEVEL_BASIC: case RsConfigUserLvl::BASIC:
ui.addCheckBox->setChecked(true); ui.addCheckBox->setChecked(true);
ui.inviteCheckBox->setChecked(true); ui.inviteCheckBox->setChecked(true);
default: default:
case RSCONFIG_USER_LEVEL_NEW: case RsConfigUserLvl::NEW:
break; break;
} }
@ -325,7 +325,7 @@ void GetStartedDialog::emailSupport()
return; return;
} }
uint32_t userLevel; RsConfigUserLvl userLevel;
{ {
RsAutoUpdatePage::lockAllEvents(); RsAutoUpdatePage::lockAllEvents();
@ -427,7 +427,7 @@ void GetStartedDialog::emailSupport()
sysVersion = "Linux"; sysVersion = "Linux";
#endif #endif
#endif #endif
text += QString("My RetroShare Configuration is: (%1, %2, 0x60%3)").arg(Rshare::retroshareVersion(true)).arg(sysVersion).arg(userLevel) + "\n"; text += QString("My RetroShare Configuration is: (%1, %2, %3)").arg(Rshare::retroshareVersion(true)).arg(sysVersion).arg(static_cast<typename std::underlying_type<RsConfigUserLvl>::type>(userLevel)) + "\n";
text += "\n"; text += "\n";
text += QString("I am having trouble with RetroShare."); text += QString("I am having trouble with RetroShare.");

View File

@ -25,6 +25,7 @@
#include "util/qtthreadsutils.h" #include "util/qtthreadsutils.h"
#include "gui/settings/rsharesettings.h" #include "gui/settings/rsharesettings.h"
#include "gui/common/UIStateHelper.h" #include "gui/common/UIStateHelper.h"
#include "gui/common/FilesDefs.h"
#include "gui/msgs/MessageComposer.h" #include "gui/msgs/MessageComposer.h"
#include "gui/RetroShareLink.h" #include "gui/RetroShareLink.h"
@ -82,7 +83,7 @@ IdDetailsDialog::IdDetailsDialog(const RsGxsGroupId& id, QWidget *parent) :
Settings->loadWidgetInformation(this); Settings->loadWidgetInformation(this);
ui->headerFrame->setHeaderImage(QPixmap(":/icons/png/person.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/person.png"));
ui->headerFrame->setHeaderText(tr("Person Details")); ui->headerFrame->setHeaderText(tr("Person Details"));
//connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(changeGroup())); //connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(changeGroup()));

View File

@ -255,7 +255,7 @@ IdDialog::IdDialog(QWidget *parent) : MainPage(parent), ui(new Ui::IdDialog)
this, &IdDialog::chatIdentityItem ); this, &IdDialog::chatIdentityItem );
ui->avlabel_Circles->setPixmap(QPixmap(":/icons/png/circles.png")); ui->avlabel_Circles->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/circles.png"));
ui->headerTextLabel_Circles->setText(tr("Circles")); ui->headerTextLabel_Circles->setText(tr("Circles"));
@ -459,7 +459,7 @@ void IdDialog::clearPerson()
{ {
QFontMetricsF f(ui->avLabel_Person->font()) ; QFontMetricsF f(ui->avLabel_Person->font()) ;
ui->avLabel_Person->setPixmap(QPixmap(":/icons/png/people.png").scaled(f.height()*4,f.height()*4,Qt::IgnoreAspectRatio,Qt::SmoothTransformation)); ui->avLabel_Person->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/people.png").scaled(f.height()*4,f.height()*4,Qt::IgnoreAspectRatio,Qt::SmoothTransformation));
ui->headerTextLabel_Person->setText(tr("People")); ui->headerTextLabel_Person->setText(tr("People"));
ui->inviteFrame->hide(); ui->inviteFrame->hide();
@ -2174,7 +2174,7 @@ void IdDialog::IdListCustomPopupMenu( QPoint )
hbox->setSpacing(6); hbox->setSpacing(6);
QLabel *iconLabel = new QLabel(widget); QLabel *iconLabel = new QLabel(widget);
QPixmap pix = QPixmap(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5); QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
iconLabel->setPixmap(pix); iconLabel->setPixmap(pix);
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width()); iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
hbox->addWidget(iconLabel); hbox->addWidget(iconLabel);

View File

@ -32,6 +32,7 @@
#include <retroshare/rsidentity.h> #include <retroshare/rsidentity.h>
#include <retroshare/rspeers.h> #include <retroshare/rspeers.h>
#include "gui/common/FilesDefs.h"
#include <iostream> #include <iostream>
@ -47,7 +48,7 @@ IdEditDialog::IdEditDialog(QWidget *parent) :
ui->setupUi(this); ui->setupUi(this);
ui->headerFrame->setHeaderImage(QPixmap(":/icons/png/person.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/person.png"));
ui->headerFrame->setHeaderText(tr("Create New Identity")); ui->headerFrame->setHeaderText(tr("Create New Identity"));
/* Setup UI helper */ /* Setup UI helper */
@ -199,7 +200,7 @@ void IdEditDialog::setAvatar(const QPixmap &avatar)
void IdEditDialog::setupExistingId(const RsGxsGroupId& keyId) void IdEditDialog::setupExistingId(const RsGxsGroupId& keyId)
{ {
setWindowTitle(tr("Edit identity")); setWindowTitle(tr("Edit identity"));
ui->headerFrame->setHeaderImage(QPixmap(":/icons/png/person.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/person.png"));
ui->headerFrame->setHeaderText(tr("Edit identity")); ui->headerFrame->setHeaderText(tr("Edit identity"));
mStateHelper->setLoading(IDEDITDIALOG_LOADID, true); mStateHelper->setLoading(IDEDITDIALOG_LOADID, true);

View File

@ -20,8 +20,9 @@
#include "LogoBar.h" #include "LogoBar.h"
#include <util/RetroStyleLabel.h> #include "util/RetroStyleLabel.h"
#include <util/MouseEventFilter.h> #include "util/MouseEventFilter.h"
#include "gui/common/FilesDefs.h"
#include <QGridLayout> #include <QGridLayout>
@ -42,11 +43,11 @@ void LogoBar::init() {
//LogoButton //LogoButton
_logoButton = new RetroStyleLabel(this); _logoButton = new RetroStyleLabel(this);
_logoButton->setPixmaps( _logoButton->setPixmaps(
QPixmap(":/images/logobar/rslogo2.png"), //Start FilesDefs::getPixmapFromQtResourcePath(":/images/logobar/rslogo2.png"), //Start
QPixmap(), //End QPixmap(), //End
QPixmap(), //Fill QPixmap(), //Fill
QPixmap(":/images/logobar/rslogo2.png"), //Start FilesDefs::getPixmapFromQtResourcePath(":/images/logobar/rslogo2.png"), //Start
QPixmap(), //End QPixmap(), //End
QPixmap() //Fill QPixmap() //Fill
); );
@ -59,11 +60,11 @@ void LogoBar::init() {
FillLabel1->setPixmaps( FillLabel1->setPixmaps(
QPixmap(), //Start QPixmap(), //Start
QPixmap(), //End QPixmap(), //End
QPixmap(":/images/logobar/logo_bar_fill.png"), //Fill FilesDefs::getPixmapFromQtResourcePath(":/images/logobar/logo_bar_fill.png"), //Fill
QPixmap(), //Start QPixmap(), //Start
QPixmap(), //End QPixmap(), //End
QPixmap(":/images/logobar/logo_bar_fill.png") //Fill FilesDefs::getPixmapFromQtResourcePath(":/images/logobar/logo_bar_fill.png") //Fill
); );
//FillLabel2 //FillLabel2
@ -71,11 +72,11 @@ void LogoBar::init() {
FillLabel2->setPixmaps( FillLabel2->setPixmaps(
QPixmap(), //Start QPixmap(), //Start
QPixmap(), //End QPixmap(), //End
QPixmap(":/images/logobar/logo_bar_fill.png"), //Fill FilesDefs::getPixmapFromQtResourcePath(":/images/logobar/logo_bar_fill.png"), //Fill
QPixmap(), //Start QPixmap(), //Start
QPixmap(), //End QPixmap(), //End
QPixmap(":/images/logobar/logo_bar_fill.png") //Fill FilesDefs::getPixmapFromQtResourcePath(":/images/logobar/logo_bar_fill.png") //Fill
); );
QGridLayout * layout = new QGridLayout(this); QGridLayout * layout = new QGridLayout(this);

View File

@ -1563,13 +1563,13 @@ void MainWindow::processLastArgs()
if (opModeStatus) { if (opModeStatus) {
QString opmode = Rshare::opmode().toLower(); QString opmode = Rshare::opmode().toLower();
if (opmode == "noturtle") { if (opmode == "noturtle") {
opModeStatus->setCurrentIndex(RS_OPMODE_NOTURTLE - 1); opModeStatus->setCurrentIndex(static_cast<typename std::underlying_type<RsOpMode>::type>(RsOpMode::NOTURTLE) - 1);
} else if (opmode == "gaming") { } else if (opmode == "gaming") {
opModeStatus->setCurrentIndex(RS_OPMODE_GAMING - 1); opModeStatus->setCurrentIndex(static_cast<typename std::underlying_type<RsOpMode>::type>(RsOpMode::GAMING) - 1);
} else if (opmode == "minimal") { } else if (opmode == "minimal") {
opModeStatus->setCurrentIndex(RS_OPMODE_MINIMAL - 1); opModeStatus->setCurrentIndex(static_cast<typename std::underlying_type<RsOpMode>::type>(RsOpMode::MINIMAL) - 1);
} else if (opmode != "") { } else if (opmode != "") {
opModeStatus->setCurrentIndex(RS_OPMODE_FULL - 1); opModeStatus->setCurrentIndex(static_cast<typename std::underlying_type<RsOpMode>::type>(RsOpMode::FULL) - 1);
} }
opModeStatus->setOpMode(); opModeStatus->setOpMode();
} else { } else {

View File

@ -31,7 +31,7 @@ AlbumDialog::AlbumDialog(const RsPhotoAlbum& album, TokenQueue* photoQueue, RsPh
{ {
ui->setupUi(this); ui->setupUi(this);
ui->headerFrame->setHeaderImage(QPixmap(":/images/kview_64.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/kview_64.png"));
ui->headerFrame->setHeaderText(tr("Album")); ui->headerFrame->setHeaderText(tr("Album"));
connect(ui->pushButton_PublishPhotos, SIGNAL(clicked()), this, SLOT(updateAlbumPhotos())); connect(ui->pushButton_PublishPhotos, SIGNAL(clicked()), this, SLOT(updateAlbumPhotos()));
@ -69,7 +69,7 @@ void AlbumDialog::setUp()
else else
{ {
// display a default Album icon when album has no Thumbnail // display a default Album icon when album has no Thumbnail
ui->label_thumbNail->setPixmap(QPixmap(":/images/album_default_128.png")); ui->label_thumbNail->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/album_default_128.png"));
} }
} }

View File

@ -99,7 +99,7 @@ void AlbumGroupDialog::initUi()
QPixmap AlbumGroupDialog::serviceImage() QPixmap AlbumGroupDialog::serviceImage()
{ {
return QPixmap(":/images/album_create_64.png"); return FilesDefs::getPixmapFromQtResourcePath(":/images/album_create_64.png");
} }
void AlbumGroupDialog::prepareAlbumGroup(RsPhotoAlbum &group, const RsGroupMetaData &meta) void AlbumGroupDialog::prepareAlbumGroup(RsPhotoAlbum &group, const RsGroupMetaData &meta)
@ -175,7 +175,7 @@ bool AlbumGroupDialog::service_loadGroup(const RsGxsGenericGroupData *data, Mode
setLogo(pixmap); setLogo(pixmap);
} }
} else { } else {
setLogo(QPixmap(":/images/album_create_64.png")); setLogo(FilesDefs::getPixmapFromQtResourcePath(":/images/album_create_64.png"));
} }
// Load additional data.... // Load additional data....

View File

@ -51,7 +51,7 @@ void AlbumItem::setUp()
else else
{ {
// display a default Album icon when album has no Thumbnail // display a default Album icon when album has no Thumbnail
ui->label_Thumbnail->setPixmap(QPixmap(":/images/album_default_128.png")); ui->label_Thumbnail->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/album_default_128.png"));
} }
} }

View File

@ -59,7 +59,7 @@ PhotoItem::PhotoItem(PhotoShareItemHolder *holder, const QString& path, uint32_t
mPhotoDetails.mOrder = order; mPhotoDetails.mOrder = order;
QPixmap qtn = QPixmap(path); QPixmap qtn = FilesDefs::getPixmapFromQtResourcePath(path);
mLowResImage = qtn.scaled(512,512, Qt::KeepAspectRatio, Qt::SmoothTransformation); mLowResImage = qtn.scaled(512,512, Qt::KeepAspectRatio, Qt::SmoothTransformation);
ui->label_Thumbnail->setPixmap(qtn.scaled(128, 128, Qt::KeepAspectRatio, Qt::SmoothTransformation)); ui->label_Thumbnail->setPixmap(qtn.scaled(128, 128, Qt::KeepAspectRatio, Qt::SmoothTransformation));

View File

@ -38,6 +38,7 @@
#include <iostream> #include <iostream>
#include <gui/RetroShareLink.h> #include <gui/RetroShareLink.h>
#include <util/imageutil.h> #include <util/imageutil.h>
#include "gui/common/FilesDefs.h"
/* View Page */ /* View Page */
#define VIEW_POST 1 #define VIEW_POST 1
@ -56,7 +57,7 @@ PostedCreatePostDialog::PostedCreatePostDialog(RsPosted *posted, const RsGxsGrou
connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(close())); connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(close()));
connect(ui->addPicButton, SIGNAL(clicked() ), this , SLOT(addPicture())); connect(ui->addPicButton, SIGNAL(clicked() ), this , SLOT(addPicture()));
ui->headerFrame->setHeaderImage(QPixmap(":/icons/png/postedlinks.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/postedlinks.png"));
ui->headerFrame->setHeaderText(tr("Create a new Post")); ui->headerFrame->setHeaderText(tr("Create a new Post"));
setAttribute ( Qt::WA_DeleteOnClose, true ); setAttribute ( Qt::WA_DeleteOnClose, true );

View File

@ -21,6 +21,7 @@
#include "PostedGroupDialog.h" #include "PostedGroupDialog.h"
#include "gui/gxs/GxsIdDetails.h" #include "gui/gxs/GxsIdDetails.h"
#include "gui/common/FilesDefs.h"
#include <retroshare/rswiki.h> #include <retroshare/rswiki.h>
#include <iostream> #include <iostream>
@ -89,7 +90,7 @@ void PostedGroupDialog::initUi()
QPixmap PostedGroupDialog::serviceImage() QPixmap PostedGroupDialog::serviceImage()
{ {
return QPixmap(":/icons/png/posted.png"); return FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png");
} }
void PostedGroupDialog::preparePostedGroup(RsPostedGroup &group, const RsGroupMetaData &meta) void PostedGroupDialog::preparePostedGroup(RsPostedGroup &group, const RsGroupMetaData &meta)
@ -159,7 +160,7 @@ bool PostedGroupDialog::service_loadGroup(const RsGxsGenericGroupData *data, Mod
} }
else else
setLogo(QPixmap(":/icons/png/posted.png")); setLogo(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png"));
return true; return true;
} }

View File

@ -490,7 +490,7 @@ void PostedItem::fill()
ui->voteUpButton->setDisabled(true); ui->voteUpButton->setDisabled(true);
ui->voteDownButton->setDisabled(true); ui->voteDownButton->setDisabled(true);
ui->thumbnailLabel->setPixmap( QPixmap(":/images/thumb-default.png")); ui->thumbnailLabel->setPixmap( FilesDefs::getPixmapFromQtResourcePath(":/images/thumb-default.png"));
ui->fromLabel->setId(mPost.mMeta.mAuthorId); ui->fromLabel->setId(mPost.mMeta.mAuthorId);
ui->titleLabel->setText(tr( "<p><font color=\"#ff0000\"><b>The author of this message (with ID %1) is banned.</b>").arg(QString::fromStdString(mPost.mMeta.mAuthorId.toStdString()))) ; ui->titleLabel->setText(tr( "<p><font color=\"#ff0000\"><b>The author of this message (with ID %1) is banned.</b>").arg(QString::fromStdString(mPost.mMeta.mAuthorId.toStdString()))) ;
QDateTime qtime; QDateTime qtime;

View File

@ -30,6 +30,7 @@
#include "gui/settings/rsharesettings.h" #include "gui/settings/rsharesettings.h"
#include "PostedItem.h" #include "PostedItem.h"
#include "PostedCardView.h" #include "PostedCardView.h"
#include "gui/common/FilesDefs.h"
#include "gui/common/UIStateHelper.h" #include "gui/common/UIStateHelper.h"
#include "gui/RetroShareLink.h" #include "gui/RetroShareLink.h"
#include "util/HandleRichText.h" #include "util/HandleRichText.h"
@ -406,7 +407,7 @@ void PostedListWidget::insertPostedDetails(const RsPostedGroup &group)
if (group.mGroupImage.mData != NULL) { if (group.mGroupImage.mData != NULL) {
GxsIdDetails::loadPixmapFromData(group.mGroupImage.mData, group.mGroupImage.mSize, boardImage,GxsIdDetails::ORIGINAL); GxsIdDetails::loadPixmapFromData(group.mGroupImage.mData, group.mGroupImage.mSize, boardImage,GxsIdDetails::ORIGINAL);
} else { } else {
boardImage = QPixmap(BOARD_DEFAULT_IMAGE); boardImage = FilesDefs::getPixmapFromQtResourcePath(BOARD_DEFAULT_IMAGE);
} }
ui->logoLabel->setPixmap(boardImage); ui->logoLabel->setPixmap(boardImage);
ui->namelabel->setText(QString::fromUtf8(group.mMeta.mGroupName.c_str())); ui->namelabel->setText(QString::fromUtf8(group.mMeta.mGroupName.c_str()));

View File

@ -33,13 +33,14 @@
#include <retroshare/rstypes.h> #include <retroshare/rstypes.h>
#include "settings/rsharesettings.h" #include "settings/rsharesettings.h"
#include "util/QtVersion.h" #include "util/QtVersion.h"
#include "gui/common/FilesDefs.h"
QuickStartWizard::QuickStartWizard(QWidget *parent) : QuickStartWizard::QuickStartWizard(QWidget *parent) :
QDialog(parent) QDialog(parent)
{ {
ui.setupUi(this); ui.setupUi(this);
ui.headerFrame->setHeaderImage(QPixmap(":/images/rs_wizard.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/rs_wizard.png"));
ui.headerFrame->setHeaderText("RetroShare"); ui.headerFrame->setHeaderText("RetroShare");
ui.pagesWizard->setCurrentIndex(0); ui.pagesWizard->setCurrentIndex(0);

View File

@ -23,6 +23,7 @@
#include "ServicePermissionDialog.h" #include "ServicePermissionDialog.h"
#include "ui_ServicePermissionDialog.h" #include "ui_ServicePermissionDialog.h"
#include "settings/rsharesettings.h" #include "settings/rsharesettings.h"
#include "gui/common/FilesDefs.h"
static ServicePermissionDialog *servicePermissionDialog = NULL; static ServicePermissionDialog *servicePermissionDialog = NULL;
@ -36,7 +37,7 @@ ServicePermissionDialog::ServicePermissionDialog() :
Settings->loadWidgetInformation(this); Settings->loadWidgetInformation(this);
ui->headerFrame->setHeaderImage(QPixmap(":/images/user/servicepermissions64.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/user/servicepermissions64.png"));
ui->headerFrame->setHeaderText(tr("Service Permissions")); ui->headerFrame->setHeaderText(tr("Service Permissions"));
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(setPermissions())); connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(setPermissions()));

View File

@ -38,6 +38,7 @@
#include "gui/notifyqt.h" #include "gui/notifyqt.h"
#include "util/QtVersion.h" #include "util/QtVersion.h"
#include "util/misc.h" #include "util/misc.h"
#include "gui/common/FilesDefs.h"
/* Images for context menu icons */ /* Images for context menu icons */
#define IMAGE_CANCEL ":/images/delete.png" #define IMAGE_CANCEL ":/images/delete.png"
@ -57,7 +58,7 @@ ShareManager::ShareManager()
/* Invoke Qt Designer generated QObject setup routine */ /* Invoke Qt Designer generated QObject setup routine */
ui.setupUi(this); ui.setupUi(this);
ui.headerFrame->setHeaderImage(QPixmap(":/images/fileshare64.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/fileshare64.png"));
ui.headerFrame->setHeaderText(tr("Share Manager")); ui.headerFrame->setHeaderText(tr("Share Manager"));
isLoading = false; isLoading = false;

View File

@ -409,7 +409,7 @@ void PulseAddDialog::addImage(const QString &path)
std::cerr << "PulseAddDialog::addImage() loading image from: " << path.toStdString(); std::cerr << "PulseAddDialog::addImage() loading image from: " << path.toStdString();
std::cerr << std::endl; std::cerr << std::endl;
QPixmap qtn = QPixmap(path); QPixmap qtn = FilesDefs::getPixmapFromQtResourcePath(path);
if (qtn.isNull()) { if (qtn.isNull()) {
std::cerr << "PulseAddDialog::addImage() Invalid Image"; std::cerr << "PulseAddDialog::addImage() Invalid Image";
std::cerr << std::endl; std::cerr << std::endl;

View File

@ -126,9 +126,9 @@ void PulseTopLevel::setReferenceString(QString ref)
// set ref icon // set ref icon
if (mPulse->mPulseType & WIRE_PULSE_TYPE_REPUBLISH) { if (mPulse->mPulseType & WIRE_PULSE_TYPE_REPUBLISH) {
label_reficon->setPixmap(QPixmap(":/images/retweet.png")); label_reficon->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/retweet.png"));
} else { } else {
label_reficon->setPixmap(QPixmap(":/images/reply.png")); label_reficon->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/reply.png"));
} }
} }

View File

@ -67,7 +67,7 @@ void PulseViewGroup::setup()
else else
{ {
// default. // default.
QPixmap pixmap = QPixmap(":/icons/png/posted.png").scaled(50,50); QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png").scaled(50,50);
label_headshot->setPixmap(pixmap); label_headshot->setPixmap(pixmap);
} }

View File

@ -281,7 +281,7 @@ void PulseDataItem::showPulse()
if (!headshotOkay) if (!headshotOkay)
{ {
// default. // default.
QPixmap pixmap = QPixmap(":/icons/png/posted.png").scaled(50,50); QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png").scaled(50,50);
setHeadshot(pixmap); setHeadshot(pixmap);
} }
@ -346,7 +346,7 @@ void PulseDataItem::showPulse()
if (!headshotOkay) if (!headshotOkay)
{ {
// default. // default.
QPixmap pixmap = QPixmap(":/icons/png/posted.png").scaled(50,50); QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png").scaled(50,50);
setHeadshot(pixmap); // QPixmap(":/icons/png/posted.png")); setHeadshot(pixmap); // QPixmap(":/icons/png/posted.png"));
} }

View File

@ -94,7 +94,7 @@ void WireGroupDialog::initUi()
QPixmap WireGroupDialog::serviceImage() QPixmap WireGroupDialog::serviceImage()
{ {
return QPixmap(":/icons/wire-circle.png"); return FilesDefs::getPixmapFromQtResourcePath(":/icons/wire-circle.png");
} }
void WireGroupDialog::prepareWireGroup(RsWireGroup &group, const RsGroupMetaData &meta) void WireGroupDialog::prepareWireGroup(RsWireGroup &group, const RsGroupMetaData &meta)
@ -178,7 +178,7 @@ bool WireGroupDialog::service_loadGroup(const RsGxsGenericGroupData *data, Mode
setLogo(pixmap); setLogo(pixmap);
} }
} else { } else {
setLogo(QPixmap(":/images/album_create_64.png")); setLogo(FilesDefs::getPixmapFromQtResourcePath(":/images/album_create_64.png"));
} }
#endif #endif

View File

@ -66,7 +66,7 @@ void WireGroupItem::setup()
else else
{ {
// default. // default.
QPixmap pixmap = QPixmap(":/icons/wire.png").scaled(32,32); QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/wire.png").scaled(32,32);
label_headshot->setPixmap(pixmap); label_headshot->setPixmap(pixmap);
} }

View File

@ -414,7 +414,7 @@ void WikiEditDialog::setNewPage()
ui.groupBox_History->hide(); ui.groupBox_History->hide();
ui.pushButton_History->setText(tr("Show Edit History")); ui.pushButton_History->setText(tr("Show Edit History"));
ui.headerFrame->setHeaderImage(QPixmap(":/images/addpage.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/addpage.png"));
ui.headerFrame->setHeaderText(tr("Create New Wiki Page")); ui.headerFrame->setHeaderText(tr("Create New Wiki Page"));
setWindowTitle(tr("Create New Wiki Page")); setWindowTitle(tr("Create New Wiki Page"));
@ -569,7 +569,7 @@ void WikiEditDialog::setupData(const RsGxsGroupId &groupId, const RsGxsMessageId
requestPage(msgId); requestPage(msgId);
} }
ui.headerFrame->setHeaderImage(QPixmap(":/images/editpage.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/editpage.png"));
ui.headerFrame->setHeaderText(tr("Edit Wiki Page")); ui.headerFrame->setHeaderText(tr("Edit Wiki Page"));
setWindowTitle(tr("Edit Wiki Page")); setWindowTitle(tr("Edit Wiki Page"));

View File

@ -154,7 +154,7 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi
{ {
QIcon icon ; QIcon icon ;
icon.addPixmap(QPixmap(":/icons/png/invite.png")) ; icon.addPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/invite.png")) ;
inviteFriendsButton->setIcon(icon) ; inviteFriendsButton->setIcon(icon) ;
inviteFriendsButton->setIconSize(icon_size); inviteFriendsButton->setIconSize(icon_size);
} }
@ -196,7 +196,7 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi
{ {
QIcon icon ; QIcon icon ;
icon.addPixmap(QPixmap(":/icons/png/leave.png")) ; icon.addPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/leave.png")) ;
unsubscribeButton->setIcon(icon) ; unsubscribeButton->setIcon(icon) ;
unsubscribeButton->setIconSize(icon_size); unsubscribeButton->setIconSize(icon_size);
} }
@ -994,7 +994,7 @@ void ChatLobbyDialog::setWindowed(bool windowed)
mPCWindow->addDialog(this); mPCWindow->addDialog(this);
undockButton->setToolTip(tr("Redock to Main window")); undockButton->setToolTip(tr("Redock to Main window"));
icon.addPixmap(QPixmap(":/icons/png/dock.png")) ; icon.addPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/dock.png")) ;
undockButton->setIcon(icon) ; undockButton->setIcon(icon) ;
undockButton->setIconSize(icon_size); undockButton->setIconSize(icon_size);
} }
@ -1009,7 +1009,7 @@ void ChatLobbyDialog::setWindowed(bool windowed)
chatLobbyPage->addChatPage(this); chatLobbyPage->addChatPage(this);
undockButton->setToolTip(tr("Undock to a new window")); undockButton->setToolTip(tr("Undock to a new window"));
icon.addPixmap(QPixmap(":/icons/png/undock.png")) ; icon.addPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/undock.png")) ;
undockButton->setIcon(icon) ; undockButton->setIcon(icon) ;
undockButton->setIconSize(icon_size); undockButton->setIconSize(icon_size);
} }

View File

@ -1863,7 +1863,7 @@ void ChatWidget::updatePeersCustomStateString(const QString& /*peer_id*/, const
void ChatWidget::updateStatusString(const QString &statusMask, const QString &statusString, bool permanent) void ChatWidget::updateStatusString(const QString &statusMask, const QString &statusString, bool permanent)
{ {
ui->typingLabel->setText(QString(statusMask).arg(trUtf8(statusString.toUtf8()))); // displays info for 5 secs. ui->typingLabel->setText(QString(statusMask).arg(trUtf8(statusString.toUtf8()))); // displays info for 5 secs.
ui->typingPixmapLabel->setPixmap(QPixmap(":icons/png/typing.png") ); ui->typingPixmapLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":icons/png/typing.png") );
if (statusString == "is typing...") { if (statusString == "is typing...") {
typing = true; typing = true;

View File

@ -33,6 +33,7 @@
#include "gui/common/PeerDefs.h" #include "gui/common/PeerDefs.h"
#include "ChatDialog.h" #include "ChatDialog.h"
#include "gui/ChatLobbyWidget.h" #include "gui/ChatLobbyWidget.h"
#include "gui/common/FilesDefs.h"
CreateLobbyDialog::CreateLobbyDialog(const std::set<RsPeerId>& peer_list, int privacyLevel, QWidget *parent) : CreateLobbyDialog::CreateLobbyDialog(const std::set<RsPeerId>& peer_list, int privacyLevel, QWidget *parent) :
QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint) QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint)
@ -40,7 +41,7 @@ CreateLobbyDialog::CreateLobbyDialog(const std::set<RsPeerId>& peer_list, int pr
ui = new Ui::CreateLobbyDialog() ; ui = new Ui::CreateLobbyDialog() ;
ui->setupUi(this); ui->setupUi(this);
ui->headerFrame->setHeaderImage(QPixmap(":/icons/png/chat-lobbies.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/chat-lobbies.png"));
ui->headerFrame->setHeaderText(tr("Create Chat Room")); ui->headerFrame->setHeaderText(tr("Create Chat Room"));
RsGxsId default_identity ; RsGxsId default_identity ;

View File

@ -26,6 +26,7 @@
#include <gui/gxs/GxsIdDetails.h> #include <gui/gxs/GxsIdDetails.h>
#include "AvatarDefs.h" #include "AvatarDefs.h"
#include "gui/common/FilesDefs.h"
void AvatarDefs::getOwnAvatar(QPixmap &avatar, const QString& defaultImage) void AvatarDefs::getOwnAvatar(QPixmap &avatar, const QString& defaultImage)
{ {
@ -36,7 +37,7 @@ void AvatarDefs::getOwnAvatar(QPixmap &avatar, const QString& defaultImage)
rsMsgs->getOwnAvatarData(data, size); rsMsgs->getOwnAvatarData(data, size);
if (size == 0) { if (size == 0) {
avatar = QPixmap(defaultImage); avatar = FilesDefs::getPixmapFromQtResourcePath(defaultImage);
return; return;
} }
@ -53,7 +54,7 @@ bool AvatarDefs::getAvatarFromSslId(const RsPeerId& sslId, QPixmap &avatar, cons
/* get avatar */ /* get avatar */
rsMsgs->getAvatarData(RsPeerId(sslId), data, size); rsMsgs->getAvatarData(RsPeerId(sslId), data, size);
if (size == 0) { if (size == 0) {
avatar = QPixmap(defaultImage); avatar = FilesDefs::getPixmapFromQtResourcePath(defaultImage);
return false; return false;
} }
@ -72,7 +73,7 @@ bool AvatarDefs::getAvatarFromGxsId(const RsGxsId& gxsId, QPixmap &avatar, const
if(!rsIdentity->getIdDetails(gxsId, details)) if(!rsIdentity->getIdDetails(gxsId, details))
{ {
avatar = QPixmap(defaultImage); avatar = FilesDefs::getPixmapFromQtResourcePath(defaultImage);
return false; return false;
} }
@ -107,7 +108,7 @@ bool AvatarDefs::getAvatarFromGpgId(const RsPgpId& gpgId, QPixmap &avatar, const
} }
if (size == 0) { if (size == 0) {
avatar = QPixmap(defaultImage); avatar = FilesDefs::getPixmapFromQtResourcePath(defaultImage);
return false; return false;
} }

View File

@ -24,6 +24,7 @@
#include "ui_AvatarDialog.h" #include "ui_AvatarDialog.h"
#include "AvatarDefs.h" #include "AvatarDefs.h"
#include "util/misc.h" #include "util/misc.h"
#include "gui/common/FilesDefs.h"
/** Constructor */ /** Constructor */
AvatarDialog::AvatarDialog(QWidget *parent) : AvatarDialog::AvatarDialog(QWidget *parent) :
@ -33,7 +34,7 @@ AvatarDialog::AvatarDialog(QWidget *parent) :
/* Invoke Qt Designer generated QObject setup routine */ /* Invoke Qt Designer generated QObject setup routine */
ui->setupUi(this); ui->setupUi(this);
ui->headerFrame->setHeaderImage(QPixmap(":/images/no_avatar_70.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/no_avatar_70.png"));
ui->headerFrame->setHeaderText(tr("Set your Avatar picture")); ui->headerFrame->setHeaderText(tr("Set your Avatar picture"));
connect(ui->avatarButton, SIGNAL(clicked(bool)), this, SLOT(changeAvatar())); connect(ui->avatarButton, SIGNAL(clicked(bool)), this, SLOT(changeAvatar()));

View File

@ -238,7 +238,7 @@ void Emoticons::showSmileyWidget(QWidget *parent, QWidget *button, const char *s
QPushButton *button = new QPushButton("", tabGrpWidget); QPushButton *button = new QPushButton("", tabGrpWidget);
button->setIconSize(QSize(buttonWidth, buttonHeight)); button->setIconSize(QSize(buttonWidth, buttonHeight));
button->setFixedSize(QSize(buttonWidth, buttonHeight)); button->setFixedSize(QSize(buttonWidth, buttonHeight));
button->setIcon(QPixmap(group.value(key))); button->setIcon(FilesDefs::getIconFromQtResourcePath(group.value(key)));
button->setToolTip(key); button->setToolTip(key);
button->setStyleSheet("QPushButton:hover {border: 3px solid #0099cc; border-radius: 3px;}"); button->setStyleSheet("QPushButton:hover {border: 3px solid #0099cc; border-radius: 3px;}");
button->setFlat(true); button->setFlat(true);
@ -402,7 +402,7 @@ void Emoticons::showStickerWidget(QWidget *parent, QWidget *button, const char *
button->setFixedSize(QSize(buttonWidth, buttonHeight)); button->setFixedSize(QSize(buttonWidth, buttonHeight));
if(!iconcache.contains(fi.absoluteFilePath())) if(!iconcache.contains(fi.absoluteFilePath()))
{ {
iconcache.insert(fi.absoluteFilePath(), QPixmap(fi.absoluteFilePath()).scaled(buttonWidth, buttonHeight, Qt::KeepAspectRatio)); iconcache.insert(fi.absoluteFilePath(), FilesDefs::getPixmapFromQtResourcePath(fi.absoluteFilePath()).scaled(buttonWidth, buttonHeight, Qt::KeepAspectRatio));
} }
button->setIcon(iconcache[fi.absoluteFilePath()]); button->setIcon(iconcache[fi.absoluteFilePath()]);
button->setToolTip(fi.fileName()); button->setToolTip(fi.fileName());

View File

@ -306,7 +306,7 @@ void FriendList::peerTreeWidgetCustomPopupMenu()
hbox->setSpacing(6); hbox->setSpacing(6);
QLabel *iconLabel = new QLabel(widget); QLabel *iconLabel = new QLabel(widget);
QPixmap pix = QPixmap(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5); QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
iconLabel->setPixmap(pix); iconLabel->setPixmap(pix);
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width()); iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
hbox->addWidget(iconLabel); hbox->addWidget(iconLabel);
@ -1006,7 +1006,7 @@ void FriendList::insertPeers()
sslItem->setHidden(false); sslItem->setHidden(false);
gpg_connected = true; gpg_connected = true;
sslOverlayIcon = QPixmap(StatusDefs::imageStatus(bestRSState)); sslOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(StatusDefs::imageStatus(bestRSState));
connectStateString = StatusDefs::name(rsState); connectStateString = StatusDefs::name(rsState);
@ -1024,9 +1024,9 @@ void FriendList::insertPeers()
peerState = PEER_STATE_AVAILABLE; peerState = PEER_STATE_AVAILABLE;
if (sslDetail.connectState) { if (sslDetail.connectState) {
sslOverlayIcon = QPixmap(":/images/connect_creating.png"); sslOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(":/images/connect_creating.png");
} else { } else {
sslOverlayIcon = QPixmap(StatusDefs::imageStatus(RS_STATUS_ONLINE)); sslOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(StatusDefs::imageStatus(RS_STATUS_ONLINE));
} }
connectStateString = StatusDefs::name(RS_STATUS_ONLINE); connectStateString = StatusDefs::name(RS_STATUS_ONLINE);
@ -1037,9 +1037,9 @@ void FriendList::insertPeers()
peerState = PEER_STATE_OFFLINE; peerState = PEER_STATE_OFFLINE;
sslItem->setHidden(mHideUnconnected); sslItem->setHidden(mHideUnconnected);
if (sslDetail.connectState) { if (sslDetail.connectState) {
sslOverlayIcon = QPixmap(":/images/connect_creating.png"); sslOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(":/images/connect_creating.png");
} else { } else {
sslOverlayIcon = QPixmap(StatusDefs::imageStatus(RS_STATUS_OFFLINE)); sslOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(StatusDefs::imageStatus(RS_STATUS_OFFLINE));
} }
connectStateString = StatusDefs::connectStateWithoutTransportTypeString(sslDetail); connectStateString = StatusDefs::connectStateWithoutTransportTypeString(sslDetail);
@ -1099,7 +1099,7 @@ void FriendList::insertPeers()
if (std::find(privateChatIds.begin(), privateChatIds.end(), sslDetail.id) != privateChatIds.end()) { if (std::find(privateChatIds.begin(), privateChatIds.end(), sslDetail.id) != privateChatIds.end()) {
// private chat is available // private chat is available
sslOverlayIcon = QPixmap(":/images/chat.png"); sslOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(":/images/chat.png");
gpg_hasPrivateChat = true; gpg_hasPrivateChat = true;
} }
sslItem->setIcon(COLUMN_NAME, createAvatar(sslAvatar, sslOverlayIcon)); sslItem->setIcon(COLUMN_NAME, createAvatar(sslAvatar, sslOverlayIcon));
@ -1138,7 +1138,7 @@ void FriendList::insertPeers()
gpgFont = StatusDefs::font(bestRSState); gpgFont = StatusDefs::font(bestRSState);
if (showInfoAtGpgItem) { if (showInfoAtGpgItem) {
gpgOverlayIcon = QPixmap(StatusDefs::imageStatus(bestRSState)); gpgOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(StatusDefs::imageStatus(bestRSState));
if (mShowState) { if (mShowState) {
gpgText = StatusDefs::name(bestRSState); gpgText = StatusDefs::name(bestRSState);
@ -1164,7 +1164,7 @@ void FriendList::insertPeers()
gpgText += tr("Available"); gpgText += tr("Available");
} }
gpgOverlayIcon = QPixmap(IMAGE_AVAILABLE); gpgOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(IMAGE_AVAILABLE);
} }
} else { } else {
bestPeerState = PEER_STATE_OFFLINE; bestPeerState = PEER_STATE_OFFLINE;
@ -1178,15 +1178,15 @@ void FriendList::insertPeers()
gpgText += StatusDefs::name(RS_STATUS_OFFLINE); gpgText += StatusDefs::name(RS_STATUS_OFFLINE);
} }
gpgOverlayIcon = QPixmap(StatusDefs::imageStatus(RS_STATUS_OFFLINE)); gpgOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(StatusDefs::imageStatus(RS_STATUS_OFFLINE));
} }
} }
if (gpg_hasPrivateChat) { if (gpg_hasPrivateChat) {
gpgOverlayIcon = QPixmap(":/images/chat.png"); gpgOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(":/images/chat.png");
} }
gpgItem->setIcon(COLUMN_NAME, createAvatar(bestAvatar.isNull() ? QPixmap(AVATAR_DEFAULT_IMAGE) : bestAvatar, gpgOverlayIcon)); gpgItem->setIcon(COLUMN_NAME, createAvatar(bestAvatar.isNull() ? FilesDefs::getPixmapFromQtResourcePath(AVATAR_DEFAULT_IMAGE) : bestAvatar, gpgOverlayIcon));
/* Create or get gpg label */ /* Create or get gpg label */
ElidedLabel *gpgNameLabel = NULL; ElidedLabel *gpgNameLabel = NULL;

View File

@ -307,7 +307,7 @@ void NewFriendList::headerContextMenuRequested(QPoint p)
hbox->setSpacing(6); hbox->setSpacing(6);
QLabel *iconLabel = new QLabel(widget); QLabel *iconLabel = new QLabel(widget);
QPixmap pix = QPixmap(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5); QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
iconLabel->setPixmap(pix); iconLabel->setPixmap(pix);
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width()); iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
hbox->addWidget(iconLabel); hbox->addWidget(iconLabel);
@ -534,7 +534,7 @@ void NewFriendList::peerTreeWidgetCustomPopupMenu()
hbox->setSpacing(6); hbox->setSpacing(6);
QLabel *iconLabel = new QLabel(widget); QLabel *iconLabel = new QLabel(widget);
QPixmap pix = QPixmap(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5); QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
iconLabel->setPixmap(pix); iconLabel->setPixmap(pix);
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width()); iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
hbox->addWidget(iconLabel); hbox->addWidget(iconLabel);

View File

@ -27,6 +27,7 @@
#include "RSTextBrowser.h" #include "RSTextBrowser.h"
#include "RSImageBlockWidget.h" #include "RSImageBlockWidget.h"
#include "gui/common/FilesDefs.h"
#include <retroshare/rsinit.h> //To get RsAccounts #include <retroshare/rsinit.h> //To get RsAccounts
@ -149,7 +150,7 @@ QVariant RSTextBrowser::loadResource(int type, const QUrl &name)
QPixmap RSTextBrowser::getBlockedImage() QPixmap RSTextBrowser::getBlockedImage()
{ {
return QPixmap(":/images/imageblocked_24.png"); return FilesDefs::getPixmapFromQtResourcePath(":/images/imageblocked_24.png");
} }
void RSTextBrowser::setImageBlockWidget(RSImageBlockWidget *widget) void RSTextBrowser::setImageBlockWidget(RSImageBlockWidget *widget)

View File

@ -30,7 +30,10 @@ RSTreeView::RSTreeView(QWidget *parent) : QTreeView(parent)
void RSTreeView::wheelEvent(QWheelEvent *e) void RSTreeView::wheelEvent(QWheelEvent *e)
{ {
if(e->modifiers() == Qt::ControlModifier) if(e->modifiers() == Qt::ControlModifier)
{
emit zoomRequested(e->delta() > 0); emit zoomRequested(e->delta() > 0);
return;
}
else else
QTreeView::wheelEvent(e); QTreeView::wheelEvent(e);
} }

View File

@ -29,6 +29,7 @@
#include <QWidgetAction> #include <QWidgetAction>
#include "gui/settings/rsharesettings.h" #include "gui/settings/rsharesettings.h"
#include "gui/common/FilesDefs.h"
RSTreeWidget::RSTreeWidget(QWidget *parent) : QTreeWidget(parent) RSTreeWidget::RSTreeWidget(QWidget *parent) : QTreeWidget(parent)
{ {
@ -259,7 +260,7 @@ QMenu *RSTreeWidget::createStandardContextMenu(QMenu *contextMenu)
hbox->setSpacing(6); hbox->setSpacing(6);
QLabel *iconLabel = new QLabel(widget); QLabel *iconLabel = new QLabel(widget);
QPixmap pix = QPixmap(":/images/settings.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5); QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/settings.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
iconLabel->setPixmap(pix); iconLabel->setPixmap(pix);
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width()); iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
hbox->addWidget(iconLabel); hbox->addWidget(iconLabel);

View File

@ -143,7 +143,7 @@ RsCollectionDialog::RsCollectionDialog(const QString& collectionFileName
setWindowTitle(QString("%1 - %2").arg(windowTitle()).arg(QFileInfo(_fileName).completeBaseName())); setWindowTitle(QString("%1 - %2").arg(windowTitle()).arg(QFileInfo(_fileName).completeBaseName()));
ui.headerFrame->setHeaderImage(QPixmap(":/icons/collections.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/collections.png"));
if(creation) if(creation)
{ {

View File

@ -40,6 +40,7 @@
#include "gui/RetroShareLink.h" #include "gui/RetroShareLink.h"
#include "gui/notifyqt.h" #include "gui/notifyqt.h"
#include "gui/common/AvatarDefs.h" #include "gui/common/AvatarDefs.h"
#include "gui/common/FilesDefs.h"
#include "gui/MainWindow.h" #include "gui/MainWindow.h"
#include "util/DateTime.h" #include "util/DateTime.h"
#include "util/misc.h" #include "util/misc.h"
@ -84,7 +85,7 @@ ConfCertDialog::ConfCertDialog(const RsPeerId& id, const RsPgpId &pgp_id, QWidge
/* Invoke Qt Designer generated QObject setup routine */ /* Invoke Qt Designer generated QObject setup routine */
ui.setupUi(this); ui.setupUi(this);
Settings->loadWidgetInformation(this); Settings->loadWidgetInformation(this);
ui.headerFrame->setHeaderImage(QPixmap(":/images/user/identityinfo64.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/user/identityinfo64.png"));
//ui.headerFrame->setHeaderText(tr("Friend node details")); //ui.headerFrame->setHeaderText(tr("Friend node details"));
//ui._chat_CB->hide() ; //ui._chat_CB->hide() ;

View File

@ -95,10 +95,10 @@ ConnectFriendWizard::ConnectFriendWizard(QWidget *parent) :
// setOption(HaveHelpButton, true); // setOption(HaveHelpButton, true);
// connect(this, SIGNAL(helpRequested()), this, SLOT(showHelp())); // connect(this, SIGNAL(helpRequested()), this, SLOT(showHelp()));
setPixmap(QWizard::LogoPixmap, QPixmap(":/icons/invite64.png")); setPixmap(QWizard::LogoPixmap, FilesDefs::getPixmapFromQtResourcePath(":/icons/invite64.png"));
// we have no good pictures for watermarks // we have no good pictures for watermarks
// setPixmap(QWizard::WatermarkPixmap, QPixmap(":/images/connectFriendWatermark.png")); // setPixmap(QWizard::WatermarkPixmap, FilesDefs::getPixmapFromQtResourcePath(":/images/connectFriendWatermark.png"));
/* register global fields */ /* register global fields */
ui->ErrorMessagePage->registerField("errorMessage", ui->messageLabel, "text"); ui->ErrorMessagePage->registerField("errorMessage", ui->messageLabel, "text");
@ -563,7 +563,7 @@ void ConnectFriendWizard::initializePage(int id)
ui->_addIPToWhiteList_ComboBox_2->addItem("(Hidden node)") ; ui->_addIPToWhiteList_ComboBox_2->addItem("(Hidden node)") ;
int S = QFontMetricsF(ui->ipEdit->font()).height() ; int S = QFontMetricsF(ui->ipEdit->font()).height() ;
ui->ipEdit->setToolTip("This is a Hidden node - you need tor/i2p proxy to connect"); ui->ipEdit->setToolTip("This is a Hidden node - you need tor/i2p proxy to connect");
ui->ipLabel->setPixmap(QPixmap(":/images/anonymous_128_blue.png").scaledToHeight(S*2,Qt::SmoothTransformation)); ui->ipLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/anonymous_128_blue.png").scaledToHeight(S*2,Qt::SmoothTransformation));
ui->ipLabel->setToolTip("This is a Hidden node - you need tor/i2p proxy to connect"); ui->ipLabel->setToolTip("This is a Hidden node - you need tor/i2p proxy to connect");
} }
if(mIsShortInvite) if(mIsShortInvite)
@ -813,7 +813,7 @@ void ConnectFriendWizard::cleanFriendCert()
std::string cert = ui->friendCertEdit->toPlainText().toUtf8().constData(); std::string cert = ui->friendCertEdit->toPlainText().toUtf8().constData();
if (cert.empty()) { if (cert.empty()) {
ui->friendCertCleanLabel->setPixmap(QPixmap(":/images/delete.png")); ui->friendCertCleanLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/delete.png"));
ui->friendCertCleanLabel->setToolTip(""); ui->friendCertCleanLabel->setToolTip("");
ui->friendCertCleanLabel->setStyleSheet(""); ui->friendCertCleanLabel->setStyleSheet("");
errorMsg = tr(""); errorMsg = tr("");
@ -837,7 +837,7 @@ void ConnectFriendWizard::cleanFriendCert()
} }
errorMsg = tr("Valid certificate") + (mIsShortInvite?" (Short format)":" (plain format with profile key)"); errorMsg = tr("Valid certificate") + (mIsShortInvite?" (Short format)":" (plain format with profile key)");
ui->friendCertCleanLabel->setPixmap(QPixmap(":/images/accepted16.png")); ui->friendCertCleanLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/accepted16.png"));
} else { } else {
if (error_code > 0) { if (error_code > 0) {
switch (error_code) { switch (error_code) {
@ -856,11 +856,11 @@ void ConnectFriendWizard::cleanFriendCert()
ui->friendCertCleanLabel->setStyleSheet("QLabel#friendCertCleanLabel {border: 2px solid red; border-radius: 6px;}"); ui->friendCertCleanLabel->setStyleSheet("QLabel#friendCertCleanLabel {border: 2px solid red; border-radius: 6px;}");
} }
} }
ui->friendCertCleanLabel->setPixmap(QPixmap(":/images/delete.png")); ui->friendCertCleanLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/delete.png"));
} }
} }
ui->friendCertCleanLabel->setPixmap(certValid ? QPixmap(":/images/accepted16.png") : QPixmap(":/images/delete.png")); ui->friendCertCleanLabel->setPixmap(certValid ? FilesDefs::getPixmapFromQtResourcePath(":/images/accepted16.png") : FilesDefs::getPixmapFromQtResourcePath(":/images/delete.png"));
ui->friendCertCleanLabel->setToolTip(errorMsg); ui->friendCertCleanLabel->setToolTip(errorMsg);
ui->friendCertCleanLabel->setText(errorMsg); ui->friendCertCleanLabel->setText(errorMsg);

View File

@ -29,6 +29,7 @@
#include <retroshare/rsdht.h> #include <retroshare/rsdht.h>
#include "gui/common/StatusDefs.h" #include "gui/common/StatusDefs.h"
#include "gui/common/FilesDefs.h"
/* maintain one static dialog per SSL ID */ /* maintain one static dialog per SSL ID */
@ -56,7 +57,7 @@ ConnectProgressDialog::ConnectProgressDialog(const RsPeerId& id, QWidget *parent
ui->setupUi(this); ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose, true); setAttribute(Qt::WA_DeleteOnClose, true);
ui->headerFrame->setHeaderImage(QPixmap(":/images/user/identityinfo64.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/user/identityinfo64.png"));
ui->headerFrame->setHeaderText(tr("Connection Assistant")); ui->headerFrame->setHeaderText(tr("Connection Assistant"));
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(stopAndClose())); connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(stopAndClose()));
@ -281,39 +282,39 @@ void ConnectProgressDialog::stopAndClose()
void ConnectProgressDialog::updateNetworkStatus() void ConnectProgressDialog::updateNetworkStatus()
{ {
uint32_t netState = rsConfig->getNetState(); RsNetState netState = rsConfig->getNetState();
QLabel *label = ui->NetResult; QLabel *label = ui->NetResult;
switch(netState) switch(netState)
{ {
case RSNET_NETSTATE_BAD_UNKNOWN: case RsNetState::BAD_UNKNOWN:
label->setText(tr("Unknown State")); label->setText(tr("Unknown State"));
break; break;
case RSNET_NETSTATE_BAD_OFFLINE: case RsNetState::BAD_OFFLINE:
label->setText(tr("Offline")); label->setText(tr("Offline"));
break; break;
case RSNET_NETSTATE_BAD_NATSYM: case RsNetState::BAD_NATSYM:
label->setText(tr("Behind Symmetric NAT")); label->setText(tr("Behind Symmetric NAT"));
break; break;
case RSNET_NETSTATE_BAD_NODHT_NAT: case RsNetState::BAD_NODHT_NAT:
label->setText(tr("Behind NAT & No DHT")); label->setText(tr("Behind NAT & No DHT"));
break; break;
case RSNET_NETSTATE_WARNING_RESTART: case RsNetState::WARNING_RESTART:
label->setText(tr("NET Restart")); label->setText(tr("NET Restart"));
break; break;
case RSNET_NETSTATE_WARNING_NATTED: case RsNetState::WARNING_NATTED:
label->setText(tr("Behind NAT")); label->setText(tr("Behind NAT"));
break; break;
case RSNET_NETSTATE_WARNING_NODHT: case RsNetState::WARNING_NODHT:
label->setText(tr("No DHT")); label->setText(tr("No DHT"));
break; break;
case RSNET_NETSTATE_GOOD: case RsNetState::GOOD:
label->setText(tr("NET STATE GOOD!")); label->setText(tr("NET STATE GOOD!"));
break; break;
case RSNET_NETSTATE_ADV_FORWARD: case RsNetState::ADV_FORWARD:
label->setText(tr("UNVERIFIABLE FORWARD!")); label->setText(tr("UNVERIFIABLE FORWARD!"));
break; break;
case RSNET_NETSTATE_ADV_DARK_FORWARD: case RsNetState::ADV_DARK_FORWARD:
label->setText(tr("UNVERIFIABLE FORWARD & NO DHT")); label->setText(tr("UNVERIFIABLE FORWARD & NO DHT"));
break; break;
} }
@ -521,30 +522,30 @@ void ConnectProgressDialog::updateLookupStatus()
switch(status.mDhtState) switch(status.mDhtState)
{ {
default: default:
case RSDHT_PEERDHT_NOT_ACTIVE: case RsDhtPeerDht::NOT_ACTIVE:
ui->LookupProgressBar->setValue(0); ui->LookupProgressBar->setValue(0);
ui->LookupResult->setText(tr("Peer DHT NOT ACTIVE")); ui->LookupResult->setText(tr("Peer DHT NOT ACTIVE"));
mLookupStatus = CONNECT_LOOKUP_NODHTCONFIG; mLookupStatus = CONNECT_LOOKUP_NODHTCONFIG;
break; break;
case RSDHT_PEERDHT_SEARCHING: case RsDhtPeerDht::SEARCHING:
ui->LookupResult->setText(tr("Searching")); ui->LookupResult->setText(tr("Searching"));
break; break;
case RSDHT_PEERDHT_FAILURE: case RsDhtPeerDht::FAILURE:
ui->LookupProgressBar->setValue(0); ui->LookupProgressBar->setValue(0);
ui->LookupResult->setText(tr("Lookup Failure")); ui->LookupResult->setText(tr("Lookup Failure"));
mLookupStatus = CONNECT_LOOKUP_FAIL; mLookupStatus = CONNECT_LOOKUP_FAIL;
break; break;
case RSDHT_PEERDHT_OFFLINE: case RsDhtPeerDht::OFFLINE:
ui->LookupProgressBar->setValue(100); ui->LookupProgressBar->setValue(100);
ui->LookupResult->setText(tr("Peer Offline")); ui->LookupResult->setText(tr("Peer Offline"));
mLookupStatus = CONNECT_LOOKUP_OFFLINE; mLookupStatus = CONNECT_LOOKUP_OFFLINE;
break; break;
case RSDHT_PEERDHT_UNREACHABLE: case RsDhtPeerDht::UNREACHABLE:
ui->LookupProgressBar->setValue(100); ui->LookupProgressBar->setValue(100);
ui->LookupResult->setText(tr("Peer Firewalled")); ui->LookupResult->setText(tr("Peer Firewalled"));
mLookupStatus = CONNECT_LOOKUP_UNREACHABLE; mLookupStatus = CONNECT_LOOKUP_UNREACHABLE;
break; break;
case RSDHT_PEERDHT_ONLINE: case RsDhtPeerDht::ONLINE:
ui->LookupProgressBar->setValue(100); ui->LookupProgressBar->setValue(100);
ui->LookupResult->setText(tr("Peer Online")); ui->LookupResult->setText(tr("Peer Online"));
mLookupStatus = CONNECT_LOOKUP_ONLINE; mLookupStatus = CONNECT_LOOKUP_ONLINE;

View File

@ -75,7 +75,7 @@ PGPKeyDialog::PGPKeyDialog(const RsPeerId& id, const RsPgpId &pgp_id, QWidget *p
// ui._useOldFormat_CB->setEnabled(false) ; // ui._useOldFormat_CB->setEnabled(false) ;
// } // }
ui.headerFrame->setHeaderImage(QPixmap(":/images/user/identityinfo64.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/user/identityinfo64.png"));
ui.headerFrame->setHeaderText(tr("Retroshare profile")); ui.headerFrame->setHeaderText(tr("Retroshare profile"));
//ui._chat_CB->hide() ; //ui._chat_CB->hide() ;

View File

@ -148,7 +148,7 @@ void GxsChannelGroupItem::fill()
if (mGroup.mImage.mData != NULL) { if (mGroup.mImage.mData != NULL) {
QPixmap chanImage; QPixmap chanImage;
GxsIdDetails::loadPixmapFromData(mGroup.mImage.mData, mGroup.mImage.mSize, chanImage,GxsIdDetails::ORIGINAL); GxsIdDetails::loadPixmapFromData(mGroup.mImage.mData, mGroup.mImage.mSize, chanImage,GxsIdDetails::ORIGINAL);
ui->logoLabel->setPixmap(QPixmap(chanImage)); ui->logoLabel->setPixmap(chanImage);
} }
if (IS_GROUP_SUBSCRIBED(mGroup.mMeta.mSubscribeFlags)) { if (IS_GROUP_SUBSCRIBED(mGroup.mMeta.mSubscribeFlags)) {

View File

@ -156,7 +156,7 @@ void GxsChannelPostItem::setup()
// memory. // memory.
ui->logoLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/thumb-default-video.png")); ui->logoLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/thumb-default-video.png"));
ui->warn_image_label->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/status_unknown.png")); //ui->warn_image_label->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/status_unknown.png"));
ui->readButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/images/message-state-unread.png")); ui->readButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/images/message-state-unread.png"));
ui->voteUpButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/images/vote_up.png")); ui->voteUpButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/images/vote_up.png"));
ui->voteDownButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/images/vote_down.png")); ui->voteDownButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/images/vote_down.png"));
@ -211,12 +211,12 @@ void GxsChannelPostItem::setup()
ui->downloadButton->hide(); ui->downloadButton->hide();
ui->playButton->hide(); ui->playButton->hide();
ui->warn_image_label->hide(); //ui->warn_image_label->hide();
ui->warning_label->hide(); //ui->warning_label->hide();
ui->titleLabel->setMinimumWidth(100); ui->titleLabel->setMinimumWidth(100);
//ui->subjectLabel->setMinimumWidth(100); //ui->subjectLabel->setMinimumWidth(100);
ui->warning_label->setMinimumWidth(100); //ui->warning_label->setMinimumWidth(100);
ui->mainFrame->setProperty("new", false); ui->mainFrame->setProperty("new", false);
ui->mainFrame->style()->unpolish(ui->mainFrame); ui->mainFrame->style()->unpolish(ui->mainFrame);
@ -466,7 +466,7 @@ void GxsChannelPostItem::fill()
ui->titleLabel->setText(title); ui->titleLabel->setText(title);
RetroShareLink msgLink = RetroShareLink::createGxsMessageLink(RetroShareLink::TYPE_CHANNEL, mPost.mMeta.mGroupId, mPost.mMeta.mMsgId, messageName()); RetroShareLink msgLink = RetroShareLink::createGxsMessageLink(RetroShareLink::TYPE_CHANNEL, mPost.mMeta.mGroupId, mPost.mMeta.mMsgId, messageName());
//ui->subjectLabel->setText(msgLink.toHtml()); ui->subjectLabel->setText(msgLink.toHtml());
if (IS_GROUP_SUBSCRIBED(mGroupMeta.mSubscribeFlags) || IS_GROUP_ADMIN(mGroupMeta.mSubscribeFlags)) if (IS_GROUP_SUBSCRIBED(mGroupMeta.mSubscribeFlags) || IS_GROUP_ADMIN(mGroupMeta.mSubscribeFlags))
{ {
@ -489,12 +489,12 @@ void GxsChannelPostItem::fill()
/* subject */ /* subject */
ui->titleLabel->setText(QString::fromUtf8(mPost.mMeta.mMsgName.c_str())); ui->titleLabel->setText(QString::fromUtf8(mPost.mMeta.mMsgName.c_str()));
//uint32_t autorized_lines = (int)floor((ui->logoLabel->height() - ui->titleLabel->height() - ui->buttonHLayout->sizeHint().height())/QFontMetricsF(ui->subjectLabel->font()).height()); uint32_t autorized_lines = (int)floor((ui->logoLabel->height() - ui->titleLabel->height() - ui->buttonHLayout->sizeHint().height())/QFontMetricsF(ui->subjectLabel->font()).height());
// fill first 4 lines of message. (csoler) Disabled the replacement of smileys and links, because the cost is too crazy // fill first 4 lines of message. (csoler) Disabled the replacement of smileys and links, because the cost is too crazy
//ui->subjectLabel->setText(RsHtml().formatText(NULL, RsStringUtil::CopyLines(QString::fromUtf8(mPost.mMsg.c_str()), autorized_lines), RSHTML_FORMATTEXT_EMBED_SMILEYS | RSHTML_FORMATTEXT_EMBED_LINKS)); //ui->subjectLabel->setText(RsHtml().formatText(NULL, RsStringUtil::CopyLines(QString::fromUtf8(mPost.mMsg.c_str()), autorized_lines), RSHTML_FORMATTEXT_EMBED_SMILEYS | RSHTML_FORMATTEXT_EMBED_LINKS));
//ui->subjectLabel->setText(RsStringUtil::CopyLines(QString::fromUtf8(mPost.mMsg.c_str()), 2)) ; ui->subjectLabel->setText(RsStringUtil::CopyLines(QString::fromUtf8(mPost.mMsg.c_str()), 2)) ;
//QString score = QString::number(post.mTopScore); //QString score = QString::number(post.mTopScore);
// scoreLabel->setText(score); // scoreLabel->setText(score);
@ -654,21 +654,21 @@ void GxsChannelPostItem::setReadStatus(bool isNew, bool isUnread)
ui->mainFrame->style()->polish( ui->mainFrame); ui->mainFrame->style()->polish( ui->mainFrame);
} }
void GxsChannelPostItem::setFileCleanUpWarning(uint32_t time_left) // void GxsChannelPostItem::setFileCleanUpWarning(uint32_t time_left)
{ // {
int hours = (int)time_left/3600; // int hours = (int)time_left/3600;
int minutes = (time_left - hours*3600)%60; // int minutes = (time_left - hours*3600)%60;
//
ui->warning_label->setText(tr("Warning! You have less than %1 hours and %2 minute before this file is deleted Consider saving it.").arg( // ui->warning_label->setText(tr("Warning! You have less than %1 hours and %2 minute before this file is deleted Consider saving it.").arg(
QString::number(hours)).arg(QString::number(minutes))); // QString::number(hours)).arg(QString::number(minutes)));
//
QFont warnFont = ui->warning_label->font(); // QFont warnFont = ui->warning_label->font();
warnFont.setBold(true); // warnFont.setBold(true);
ui->warning_label->setFont(warnFont); // ui->warning_label->setFont(warnFont);
//
ui->warn_image_label->setVisible(true); // ui->warn_image_label->setVisible(true);
ui->warning_label->setVisible(true); // ui->warning_label->setVisible(true);
} // }
void GxsChannelPostItem::updateItem() void GxsChannelPostItem::updateItem()
{ {

View File

@ -56,7 +56,7 @@ public:
bool setGroup(const RsGxsChannelGroup& group, bool doFill = true); bool setGroup(const RsGxsChannelGroup& group, bool doFill = true);
bool setPost(const RsGxsChannelPost& post, bool doFill = true); bool setPost(const RsGxsChannelPost& post, bool doFill = true);
void setFileCleanUpWarning(uint32_t time_left); //void setFileCleanUpWarning(uint32_t time_left);
QString getTitleLabel(); QString getTitleLabel();
QString getMsgLabel(); QString getMsgLabel();

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>922</width> <width>1092</width>
<height>187</height> <height>231</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gxsChannelPostItem_GLayout"> <layout class="QGridLayout" name="gxsChannelPostItem_GLayout">
@ -124,6 +124,16 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<widget class="QLabel" name="subjectLabel">
<property name="text">
<string notr="true">TextLabel</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item> <item>
<spacer name="verticalSpacer_2"> <spacer name="verticalSpacer_2">
<property name="orientation"> <property name="orientation">
@ -137,33 +147,6 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<layout class="QHBoxLayout" name="subjectHLayout"/>
</item>
<item>
<layout class="QHBoxLayout" name="warningHLayout">
<item>
<widget class="QLabel" name="warn_image_label">
<property name="maximumSize">
<size>
<width>24</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="warning_label">
<property name="text">
<string notr="true">TextLabel</string>
</property>
</widget>
</item>
</layout>
</item>
<item> <item>
<layout class="QHBoxLayout" name="newCommHLayout"> <layout class="QHBoxLayout" name="newCommHLayout">
<property name="topMargin"> <property name="topMargin">
@ -486,21 +469,18 @@
</layout> </layout>
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget>
<class>StyledElidedLabel</class>
<extends>QLabel</extends>
<header>gui/common/StyledElidedLabel.h</header>
</customwidget>
<customwidget> <customwidget>
<class>ElidedLabel</class> <class>ElidedLabel</class>
<extends>QLabel</extends> <extends>QLabel</extends>
<header location="global">gui/common/ElidedLabel.h</header> <header location="global">gui/common/ElidedLabel.h</header>
<container>1</container> <container>1</container>
</customwidget> </customwidget>
<customwidget>
<class>StyledElidedLabel</class>
<extends>QLabel</extends>
<header>gui/common/StyledElidedLabel.h</header>
</customwidget>
</customwidgets> </customwidgets>
<resources> <resources/>
<include location="../icons.qrc"/>
<include location="../images.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

View File

@ -159,9 +159,9 @@ void GxsForumGroupItem::fill()
ui->descLabel->setText(QString::fromUtf8(mGroup.mDescription.c_str())); ui->descLabel->setText(QString::fromUtf8(mGroup.mDescription.c_str()));
if (IS_GROUP_PUBLISHER(mGroup.mMeta.mSubscribeFlags)) { if (IS_GROUP_PUBLISHER(mGroup.mMeta.mSubscribeFlags)) {
ui->forumlogo_label->setPixmap(QPixmap(":/icons/png/forums.png")); ui->forumlogo_label->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/forums.png"));
} else { } else {
ui->forumlogo_label->setPixmap(QPixmap(":/icons/png/forums-default.png")); ui->forumlogo_label->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/forums-default.png"));
} }
if (IS_GROUP_SUBSCRIBED(mGroup.mMeta.mSubscribeFlags)) { if (IS_GROUP_SUBSCRIBED(mGroup.mMeta.mSubscribeFlags)) {

View File

@ -335,9 +335,9 @@ void GxsForumMsgItem::fill()
} }
if (IS_GROUP_PUBLISHER(mGroup.mMeta.mSubscribeFlags)) { if (IS_GROUP_PUBLISHER(mGroup.mMeta.mSubscribeFlags)) {
ui->iconLabel->setPixmap(QPixmap(":/icons/png/forums.png")); ui->iconLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/forums.png"));
} else { } else {
ui->iconLabel->setPixmap(QPixmap(":/icons/png/forums-default.png")); ui->iconLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/forums-default.png"));
} }
if (!mIsHome) { if (!mIsHome) {

View File

@ -157,15 +157,15 @@ void PostedGroupItem::fill()
GxsIdDetails::loadPixmapFromData(mGroup.mGroupImage.mData, mGroup.mGroupImage.mSize, postedImage,GxsIdDetails::ORIGINAL); GxsIdDetails::loadPixmapFromData(mGroup.mGroupImage.mData, mGroup.mGroupImage.mSize, postedImage,GxsIdDetails::ORIGINAL);
ui->logoLabel->setPixmap(QPixmap(postedImage)); ui->logoLabel->setPixmap(QPixmap(postedImage));
} else { } else {
ui->logoLabel->setPixmap(QPixmap(":/icons/png/posted.png")); ui->logoLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png"));
} }
//TODO - nice icon for subscribed group //TODO - nice icon for subscribed group
// if (IS_GROUP_PUBLISHER(mGroup.mMeta.mSubscribeFlags)) { // if (IS_GROUP_PUBLISHER(mGroup.mMeta.mSubscribeFlags)) {
// ui->logoLabel->setPixmap(QPixmap(":/icons/png/posted.png")); // ui->logoLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png"));
// } else { // } else {
// ui->logoLabel->setPixmap(QPixmap(":/icons/png/posted.png")); // ui->logoLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png"));
// } // }
if (IS_GROUP_SUBSCRIBED(mGroup.mMeta.mSubscribeFlags)) { if (IS_GROUP_SUBSCRIBED(mGroup.mMeta.mSubscribeFlags)) {

View File

@ -26,6 +26,7 @@
#include "gui/common/GroupDefs.h" #include "gui/common/GroupDefs.h"
#include "gui/settings/rsharesettings.h" #include "gui/settings/rsharesettings.h"
#include "util/misc.h" #include "util/misc.h"
#include "gui/common/FilesDefs.h"
#include <algorithm> #include <algorithm>
@ -40,7 +41,7 @@ CreateGroup::CreateGroup(const RsNodeGroupId &groupId, QWidget *parent)
mIsStandard = false; mIsStandard = false;
ui.headerFrame->setHeaderImage(QPixmap(":/images/user/add_group256.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/user/add_group256.png"));
mGroupId = groupId; mGroupId = groupId;
@ -68,7 +69,7 @@ CreateGroup::CreateGroup(const RsNodeGroupId &groupId, QWidget *parent)
} }
setWindowTitle(tr("Edit Group")); setWindowTitle(tr("Edit Group"));
ui.headerFrame->setHeaderImage(QPixmap(":/images/user/edit_group64.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/user/edit_group64.png"));
ui.headerFrame->setHeaderText(tr("Edit Group")); ui.headerFrame->setHeaderText(tr("Edit Group"));
ui.groupName->setDisabled(mIsStandard); ui.groupName->setDisabled(mIsStandard);

View File

@ -146,7 +146,7 @@ void GxsGroupFrameDialog::initUi()
{ {
registerHelpButton(ui->helpButton, getHelpString(),pageName()) ; registerHelpButton(ui->helpButton, getHelpString(),pageName()) ;
ui->titleBarPixmap->setPixmap(QPixmap(icon(ICON_NAME))); ui->titleBarPixmap->setPixmap(FilesDefs::getPixmapFromQtResourcePath(icon(ICON_NAME)));
ui->titleBarLabel->setText(text(TEXT_NAME)); ui->titleBarLabel->setText(text(TEXT_NAME));
/* Initialize group tree */ /* Initialize group tree */

View File

@ -29,6 +29,7 @@
#include <retroshare/rsposted.h> #include <retroshare/rsposted.h>
#include "gui/common/PeerDefs.h" #include "gui/common/PeerDefs.h"
#include "gui/common/FilesDefs.h"
GroupShareKey::GroupShareKey(QWidget *parent, const RsGxsGroupId &grpId, int grpType) : GroupShareKey::GroupShareKey(QWidget *parent, const RsGxsGroupId &grpId, int grpType) :
QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint), mGrpId(grpId), mGrpType(grpType) QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint), mGrpId(grpId), mGrpType(grpType)
@ -36,7 +37,7 @@ GroupShareKey::GroupShareKey(QWidget *parent, const RsGxsGroupId &grpId, int grp
ui = new Ui::ShareKey(); ui = new Ui::ShareKey();
ui->setupUi(this); ui->setupUi(this);
ui->headerFrame->setHeaderImage(QPixmap(":/images/user/agt_forum64.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/user/agt_forum64.png"));
ui->headerFrame->setHeaderText(tr("Share")); ui->headerFrame->setHeaderText(tr("Share"));
connect( ui->buttonBox, SIGNAL(accepted()), this, SLOT(shareKey())); connect( ui->buttonBox, SIGNAL(accepted()), this, SLOT(shareKey()));
@ -76,14 +77,14 @@ void GroupShareKey::setTyp()
if (!rsGxsChannels) if (!rsGxsChannels)
return; return;
ui->headerFrame->setHeaderImage(QPixmap(":/icons/png/channels.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/channels.png"));
ui->headerFrame->setHeaderText(tr("Share channel publish permissions")); ui->headerFrame->setHeaderText(tr("Share channel publish permissions"));
ui->sharekeyinfo_label->setText(tr("You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions.")); ui->sharekeyinfo_label->setText(tr("You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions."));
} }
else if(mGrpType == FORUM_KEY_SHARE) else if(mGrpType == FORUM_KEY_SHARE)
{ {
ui->headerFrame->setHeaderImage(QPixmap(":/icons/png/forums.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/forums.png"));
ui->headerFrame->setHeaderText(tr("Share forum admin permissions")); ui->headerFrame->setHeaderText(tr("Share forum admin permissions"));
ui->sharekeyinfo_label->setText(tr("You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum.")); ui->sharekeyinfo_label->setText(tr("You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum."));
@ -93,7 +94,7 @@ void GroupShareKey::setTyp()
if (!rsPosted) if (!rsPosted)
return; return;
ui->headerFrame->setHeaderImage(QPixmap(":/icons/png/posted.png")); ui->headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png"));
ui->headerFrame->setHeaderText(tr("Share board admin permissions")); ui->headerFrame->setHeaderText(tr("Share board admin permissions"));
ui->sharekeyinfo_label->setText(tr("You can allow your friends to edit the board. Select them in the list below. Note: it is not possible to revoke Board admin permissions.")); ui->sharekeyinfo_label->setText(tr("You can allow your friends to edit the board. Select them in the list below. Note: it is not possible to revoke Board admin permissions."));

View File

@ -161,7 +161,7 @@ QVariant GxsIdRSTreeWidgetItem::data(int column, int role) const
if(mId.isNull()) if(mId.isNull())
return RSTreeWidgetItem::data(column, role); return RSTreeWidgetItem::data(column, role);
else if( rsReputations->overallReputationLevel(mId) == RsReputationLevel::LOCALLY_NEGATIVE ) else if( rsReputations->overallReputationLevel(mId) == RsReputationLevel::LOCALLY_NEGATIVE )
pix = QPixmap(BANNED_IMAGE); pix = FilesDefs::getPixmapFromQtResourcePath(BANNED_IMAGE);
else if ( mAvatar.mSize == 0 || !GxsIdDetails::loadPixmapFromData(mAvatar.mData, mAvatar.mSize, pix,GxsIdDetails::LARGE) ) else if ( mAvatar.mSize == 0 || !GxsIdDetails::loadPixmapFromData(mAvatar.mData, mAvatar.mSize, pix,GxsIdDetails::LARGE) )
pix = GxsIdDetails::makeDefaultIcon(mId,GxsIdDetails::LARGE); pix = GxsIdDetails::makeDefaultIcon(mId,GxsIdDetails::LARGE);

View File

@ -87,7 +87,7 @@ void WikiGroupDialog::initUi()
QPixmap WikiGroupDialog::serviceImage() QPixmap WikiGroupDialog::serviceImage()
{ {
return QPixmap(":/icons/png/wiki.png"); return FilesDefs::getPixmapFromQtResourcePath(":/icons/png/wiki.png");
} }

View File

@ -56,7 +56,7 @@ CreateGxsChannelMsg::CreateGxsChannelMsg(const RsGxsGroupId &cId, RsGxsMessageId
setupUi(this); setupUi(this);
Settings->loadWidgetInformation(this); Settings->loadWidgetInformation(this);
headerFrame->setHeaderImage(QPixmap(":/icons/png/channel.png")); headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/channel.png"));
if(!existing_post.isNull()) if(!existing_post.isNull())
headerFrame->setHeaderText(tr("Edit Channel Post")); headerFrame->setHeaderText(tr("Edit Channel Post"));

View File

@ -21,6 +21,7 @@
#include <QBuffer> #include <QBuffer>
#include "gui/gxs/GxsIdDetails.h" #include "gui/gxs/GxsIdDetails.h"
#include "gui/common/FilesDefs.h"
#include "GxsChannelGroupDialog.h" #include "GxsChannelGroupDialog.h"
#include <retroshare/rsgxschannels.h> #include <retroshare/rsgxschannels.h>
@ -99,11 +100,9 @@ QPixmap GxsChannelGroupDialog::serviceImage()
switch (mode()) switch (mode())
{ {
case MODE_CREATE: case MODE_CREATE:
return QPixmap(":/icons/png/channel.png");
case MODE_SHOW: case MODE_SHOW:
return QPixmap(":/icons/png/channel.png");
case MODE_EDIT: case MODE_EDIT:
return QPixmap(":/icons/png/channel.png"); return FilesDefs::getPixmapFromQtResourcePath(":/icons/png/channel.png");
} }
return QPixmap(); return QPixmap();

View File

@ -121,7 +121,11 @@ void ChannelPostDelegate::paint(QPainter * painter, const QStyleOptionViewItem &
RsGxsChannelPost post = index.data(Qt::UserRole).value<RsGxsChannelPost>() ; RsGxsChannelPost post = index.data(Qt::UserRole).value<RsGxsChannelPost>() ;
painter->fillRect( option.rect, option.backgroundBrush); // if(index.row() & 0x01)
// painter->fillRect( option.rect, option.palette.alternateBase().color());
// else
painter->fillRect( option.rect, option.palette.base().color());
painter->restore(); painter->restore();
if(mUseGrid || index.column()==0) if(mUseGrid || index.column()==0)
@ -130,6 +134,7 @@ void ChannelPostDelegate::paint(QPainter * painter, const QStyleOptionViewItem &
uint32_t flags = (mUseGrid)?(ChannelPostThumbnailView::FLAG_SHOW_TEXT | ChannelPostThumbnailView::FLAG_SCALE_FONT):0; uint32_t flags = (mUseGrid)?(ChannelPostThumbnailView::FLAG_SHOW_TEXT | ChannelPostThumbnailView::FLAG_SCALE_FONT):0;
ChannelPostThumbnailView w(post,flags); ChannelPostThumbnailView w(post,flags);
w.setBackgroundRole(QPalette::AlternateBase);
w.setAspectRatio(mAspectRatio); w.setAspectRatio(mAspectRatio);
w.updateGeometry(); w.updateGeometry();
w.adjustSize(); w.adjustSize();
@ -139,7 +144,14 @@ void ChannelPostDelegate::paint(QPainter * painter, const QStyleOptionViewItem &
if((option.state & QStyle::State_Selected) && post.mMeta.mPublishTs > 0) // check if post is selected and is not empty (end of last row) if((option.state & QStyle::State_Selected) && post.mMeta.mPublishTs > 0) // check if post is selected and is not empty (end of last row)
pixmap.fill(SelectedColor); // I dont know how to grab the backgroud color for selected objects automatically. pixmap.fill(SelectedColor); // I dont know how to grab the backgroud color for selected objects automatically.
else else
pixmap.fill(QRgb(0x00ffffff)); // choose a fully transparent background {
// we need to do the alternate color manually
//if(index.row() & 0x01)
// pixmap.fill(option.palette.alternateBase().color());
//else
pixmap.fill(option.palette.base().color());
}
w.render(&pixmap,QPoint(),QRegion(),QWidget::DrawChildren );// draw the widgets, not the background w.render(&pixmap,QPoint(),QRegion(),QWidget::DrawChildren );// draw the widgets, not the background
@ -198,8 +210,11 @@ void ChannelPostDelegate::paint(QPainter * painter, const QStyleOptionViewItem &
painter->drawText(QPoint(p.x()+0.5*font_height,y),QDateTime::fromSecsSinceEpoch(post.mMeta.mPublishTs).toString(Qt::DefaultLocaleShortDate)); painter->drawText(QPoint(p.x()+0.5*font_height,y),QDateTime::fromSecsSinceEpoch(post.mMeta.mPublishTs).toString(Qt::DefaultLocaleShortDate));
y += font_height; y += font_height;
if(post.mCount > 0)
{
painter->drawText(QPoint(p.x()+0.5*font_height,y),QString::number(post.mCount)+ " " +((post.mCount>1)?tr("files"):tr("file")) + " (" + QString::number(post.mSize) + " " + tr("bytes") + ")" ); painter->drawText(QPoint(p.x()+0.5*font_height,y),QString::number(post.mCount)+ " " +((post.mCount>1)?tr("files"):tr("file")) + " (" + QString::number(post.mSize) + " " + tr("bytes") + ")" );
y += font_height; y += font_height;
}
painter->restore(); painter->restore();
} }
@ -285,7 +300,13 @@ void ChannelPostFilesDelegate::paint(QPainter * painter, const QStyleOptionViewI
w.setFixedHeight(option.rect.height()); w.setFixedHeight(option.rect.height());
QPixmap pixmap(w.size()); QPixmap pixmap(w.size());
pixmap.fill(QRgb(0x00ffffff)); // choose a fully transparent background
// apparently we need to do the alternate colors manually
//if(index.row() & 0x01)
// pixmap.fill(option.palette.alternateBase().color());
//else
pixmap.fill(option.palette.base().color());
w.render(&pixmap,QPoint(),QRegion(),QWidget::DrawChildren );// draw the widgets, not the background w.render(&pixmap,QPoint(),QRegion(),QWidget::DrawChildren );// draw the widgets, not the background
painter->drawPixmap(option.rect.topLeft(),pixmap); painter->drawPixmap(option.rect.topLeft(),pixmap);
@ -335,6 +356,7 @@ GxsChannelPostsWidgetWithModel::GxsChannelPostsWidgetWithModel(const RsGxsGroupI
ui->showUnread_TB->setToolTip(tr("Show unread posts only")); ui->showUnread_TB->setToolTip(tr("Show unread posts only"));
connect(ui->showUnread_TB,SIGNAL(toggled(bool)),this,SLOT(switchOnlyUnread(bool))); connect(ui->showUnread_TB,SIGNAL(toggled(bool)),this,SLOT(switchOnlyUnread(bool)));
ui->postsTree->setAlternatingRowColors(false);
ui->postsTree->setModel(mChannelPostsModel = new RsGxsChannelPostsModel()); ui->postsTree->setModel(mChannelPostsModel = new RsGxsChannelPostsModel());
ui->postsTree->setItemDelegate(mChannelPostsDelegate = new ChannelPostDelegate()); ui->postsTree->setItemDelegate(mChannelPostsDelegate = new ChannelPostDelegate());
ui->postsTree->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); // prevents bug on w10, since row size depends on widget width ui->postsTree->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); // prevents bug on w10, since row size depends on widget width
@ -351,6 +373,7 @@ GxsChannelPostsWidgetWithModel::GxsChannelPostsWidgetWithModel(const RsGxsGroupI
ui->channelPostFiles_TV->setPlaceholderText(tr("No files in this post, or no post selected")); ui->channelPostFiles_TV->setPlaceholderText(tr("No files in this post, or no post selected"));
ui->channelPostFiles_TV->setSortingEnabled(true); ui->channelPostFiles_TV->setSortingEnabled(true);
ui->channelPostFiles_TV->sortByColumn(0, Qt::AscendingOrder); ui->channelPostFiles_TV->sortByColumn(0, Qt::AscendingOrder);
ui->channelPostFiles_TV->setAlternatingRowColors(false);
ui->channelFiles_TV->setModel(mChannelFilesModel = new RsGxsChannelPostFilesModel()); ui->channelFiles_TV->setModel(mChannelFilesModel = new RsGxsChannelPostFilesModel());
ui->channelFiles_TV->setItemDelegate(mFilesDelegate = new ChannelPostFilesDelegate()); ui->channelFiles_TV->setItemDelegate(mFilesDelegate = new ChannelPostFilesDelegate());
@ -418,8 +441,8 @@ GxsChannelPostsWidgetWithModel::GxsChannelPostsWidgetWithModel(const RsGxsGroupI
/* Initialize subscribe button */ /* Initialize subscribe button */
QIcon icon; QIcon icon;
icon.addPixmap(QPixmap(":/images/redled.png"), QIcon::Normal, QIcon::On); icon.addPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/redled.png"), QIcon::Normal, QIcon::On);
icon.addPixmap(QPixmap(":/images/start.png"), QIcon::Normal, QIcon::Off); icon.addPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/start.png"), QIcon::Normal, QIcon::Off);
mAutoDownloadAction = new QAction(icon, "", this); mAutoDownloadAction = new QAction(icon, "", this);
mAutoDownloadAction->setCheckable(true); mAutoDownloadAction->setCheckable(true);
connect(mAutoDownloadAction, SIGNAL(triggered()), this, SLOT(toggleAutoDownload())); connect(mAutoDownloadAction, SIGNAL(triggered()), this, SLOT(toggleAutoDownload()));
@ -894,15 +917,7 @@ void GxsChannelPostsWidgetWithModel::processSettings(bool load)
Settings->beginGroup(QString("ChannelPostsWidget")); Settings->beginGroup(QString("ChannelPostsWidget"));
if (load) { if (load) {
#ifdef TO_REMOVE
// load settings
/* Filter */
//ui->filterLineEdit->setCurrentFilter(Settings->value("filter", FILTER_TITLE).toInt());
/* View mode */
//setViewMode(Settings->value("viewMode", VIEW_MODE_FEEDS).toInt());
#endif
// state of files tree // state of files tree
channelpostfilesheader->restoreState(Settings->value("PostFilesTree").toByteArray()); channelpostfilesheader->restoreState(Settings->value("PostFilesTree").toByteArray());
channelfilesheader->restoreState(Settings->value("FilesTree").toByteArray()); channelfilesheader->restoreState(Settings->value("FilesTree").toByteArray());
@ -910,15 +925,6 @@ void GxsChannelPostsWidgetWithModel::processSettings(bool load)
// state of splitter // state of splitter
ui->splitter->restoreState(Settings->value("SplitterChannelPosts").toByteArray()); ui->splitter->restoreState(Settings->value("SplitterChannelPosts").toByteArray());
} else { } else {
#ifdef TO_REMOVE
// save settings
/* Filter */
//Settings->setValue("filter", ui->filterLineEdit->currentFilter());
/* View mode */
//Settings->setValue("viewMode", viewMode());
#endif
// state of files tree // state of files tree
Settings->setValue("PostFilesTree", channelpostfilesheader->saveState()); Settings->setValue("PostFilesTree", channelpostfilesheader->saveState());
Settings->setValue("FilesTree", channelfilesheader->saveState()); Settings->setValue("FilesTree", channelfilesheader->saveState());
@ -946,7 +952,7 @@ void GxsChannelPostsWidgetWithModel::groupNameChanged(const QString &name)
{ {
// if (groupId().isNull()) { // if (groupId().isNull()) {
// ui->nameLabel->setText(tr("No Channel Selected")); // ui->nameLabel->setText(tr("No Channel Selected"));
// ui->logoLabel->setPixmap(QPixmap(":/icons/png/channels.png")); // ui->logoLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/channels.png"));
// } else { // } else {
// ui->nameLabel->setText(name); // ui->nameLabel->setText(name);
// } // }
@ -1000,7 +1006,7 @@ void GxsChannelPostsWidgetWithModel::insertChannelDetails(const RsGxsChannelGrou
if (group.mImage.mData != NULL) { if (group.mImage.mData != NULL) {
GxsIdDetails::loadPixmapFromData(group.mImage.mData, group.mImage.mSize, chanImage,GxsIdDetails::ORIGINAL); GxsIdDetails::loadPixmapFromData(group.mImage.mData, group.mImage.mSize, chanImage,GxsIdDetails::ORIGINAL);
} else { } else {
chanImage = QPixmap(ChannelPostThumbnailView::CHAN_DEFAULT_IMAGE); chanImage = FilesDefs::getPixmapFromQtResourcePath(ChannelPostThumbnailView::CHAN_DEFAULT_IMAGE);
} }
if(group.mMeta.mGroupName.empty()) if(group.mMeta.mGroupName.empty())
ui->channelName_LB->setText(tr("[No name]")); ui->channelName_LB->setText(tr("[No name]"));
@ -1106,47 +1112,6 @@ void GxsChannelPostsWidgetWithModel::insertChannelDetails(const RsGxsChannelGrou
showPostDetails(); showPostDetails();
} }
#ifdef TODO
int GxsChannelPostsWidgetWithModel::viewMode()
{
if (ui->feedToolButton->isChecked()) {
return VIEW_MODE_FEEDS;
} else if (ui->fileToolButton->isChecked()) {
return VIEW_MODE_FILES;
}
/* Default */
return VIEW_MODE_FEEDS;
}
#endif
void GxsChannelPostsWidgetWithModel::setViewMode(int viewMode)
{
#ifdef TODO
switch (viewMode) {
case VIEW_MODE_FEEDS:
ui->feedWidget->show();
ui->fileWidget->hide();
ui->feedToolButton->setChecked(true);
ui->fileToolButton->setChecked(false);
break;
case VIEW_MODE_FILES:
ui->feedWidget->hide();
ui->fileWidget->show();
ui->feedToolButton->setChecked(false);
ui->fileToolButton->setChecked(true);
break;
default:
setViewMode(VIEW_MODE_FEEDS);
return;
}
#endif
}
void GxsChannelPostsWidgetWithModel::switchOnlyUnread(bool) void GxsChannelPostsWidgetWithModel::switchOnlyUnread(bool)
{ {
filterChanged(ui->filterLineEdit->text()); filterChanged(ui->filterLineEdit->text());
@ -1160,150 +1125,6 @@ void GxsChannelPostsWidgetWithModel::filterChanged(QString s)
mChannelFilesModel->setFilter(ql,count); mChannelFilesModel->setFilter(ql,count);
} }
#ifdef TODO
/*static*/ bool GxsChannelPostsWidgetWithModel::filterItem(FeedItem *feedItem, const QString &text, int filter)
{
GxsChannelPostItem *item = dynamic_cast<GxsChannelPostItem*>(feedItem);
if (!item) {
return true;
}
bool bVisible = text.isEmpty();
if (!bVisible)
{
switch(filter)
{
case FILTER_TITLE:
bVisible = item->getTitleLabel().contains(text,Qt::CaseInsensitive);
break;
case FILTER_MSG:
bVisible = item->getMsgLabel().contains(text,Qt::CaseInsensitive);
break;
case FILTER_FILE_NAME:
{
std::list<SubFileItem *> fileItems = item->getFileItems();
std::list<SubFileItem *>::iterator lit;
for(lit = fileItems.begin(); lit != fileItems.end(); ++lit)
{
SubFileItem *fi = *lit;
QString fileName = QString::fromUtf8(fi->FileName().c_str());
bVisible = (bVisible || fileName.contains(text,Qt::CaseInsensitive));
}
break;
}
default:
bVisible = true;
break;
}
}
return bVisible;
}
void GxsChannelPostsWidget::createPostItemFromMetaData(const RsGxsMsgMetaData& meta,bool related)
{
GxsChannelPostItem *item = NULL;
RsGxsChannelPost post;
if(!meta.mOrigMsgId.isNull())
{
FeedItem *feedItem = ui->feedWidget->findFeedItem(GxsChannelPostItem::computeIdentifier(meta.mOrigMsgId)) ;
item = dynamic_cast<GxsChannelPostItem*>(feedItem);
if(item)
{
post = feedItem->post();
ui->feedWidget->removeFeedItem(item) ;
post.mOlderVersions.insert(post.mMeta.mMsgId);
GxsChannelPostItem *item = new GxsChannelPostItem(this, 0, post, true, false,post.mOlderVersions);
ui->feedWidget->addFeedItem(item, ROLE_PUBLISH, QDateTime::fromTime_t(post.mMeta.mPublishTs));
return ;
}
}
if (related)
{
FeedItem *feedItem = ui->feedWidget->findFeedItem(GxsChannelPostItem::computeIdentifier(meta.mMsgId)) ;
item = dynamic_cast<GxsChannelPostItem*>(feedItem);
}
if (item)
{
item->setPost(post);
ui->feedWidget->setSort(item, ROLE_PUBLISH, QDateTime::fromTime_t(meta.mPublishTs));
}
else
{
GxsChannelPostItem *item = new GxsChannelPostItem(this, 0, meta.mGroupId,meta.mMsgId, true, true);
ui->feedWidget->addFeedItem(item, ROLE_PUBLISH, QDateTime::fromTime_t(post.mMeta.mPublishTs));
}
#ifdef TODO
ui->fileWidget->addFiles(post, related);
#endif
}
void GxsChannelPostsWidget::createPostItem(const RsGxsChannelPost& post, bool related)
{
GxsChannelPostItem *item = NULL;
const RsMsgMetaData& meta(post.mMeta);
if(!meta.mOrigMsgId.isNull())
{
FeedItem *feedItem = ui->feedWidget->findFeedItem(GxsChannelPostItem::computeIdentifier(meta.mOrigMsgId)) ;
item = dynamic_cast<GxsChannelPostItem*>(feedItem);
if(item)
{
std::set<RsGxsMessageId> older_versions(item->olderVersions()); // we make a copy because the item will be deleted
ui->feedWidget->removeFeedItem(item) ;
older_versions.insert(meta.mMsgId);
GxsChannelPostItem *item = new GxsChannelPostItem(this, 0, mGroup.mMeta,meta.mMsgId, true, false,older_versions);
ui->feedWidget->addFeedItem(item, ROLE_PUBLISH, QDateTime::fromTime_t(meta.mPublishTs));
return ;
}
}
if (related)
{
FeedItem *feedItem = ui->feedWidget->findFeedItem(GxsChannelPostItem::computeIdentifier(meta.mMsgId)) ;
item = dynamic_cast<GxsChannelPostItem*>(feedItem);
}
if (item)
{
item->setPost(post);
ui->feedWidget->setSort(item, ROLE_PUBLISH, QDateTime::fromTime_t(meta.mPublishTs));
}
else
{
GxsChannelPostItem *item = new GxsChannelPostItem(this, 0, mGroup.mMeta,meta.mMsgId, true, true);
ui->feedWidget->addFeedItem(item, ROLE_PUBLISH, QDateTime::fromTime_t(meta.mPublishTs));
}
ui->fileWidget->addFiles(post, related);
}
void GxsChannelPostsWidget::fillThreadCreatePost(const QVariant &post, bool related, int current, int count)
{
/* show fill progress */
if (count) {
ui->progressBar->setValue(current * ui->progressBar->maximum() / count);
}
if (!post.canConvert<RsGxsChannelPost>()) {
return;
}
createPostItem(post.value<RsGxsChannelPost>(), related);
}
#endif
void GxsChannelPostsWidgetWithModel::blank() void GxsChannelPostsWidgetWithModel::blank()
{ {
ui->postButton->setEnabled(false); ui->postButton->setEnabled(false);

View File

@ -147,7 +147,6 @@ private slots:
void toggleAutoDownload(); void toggleAutoDownload();
void subscribeGroup(bool subscribe); void subscribeGroup(bool subscribe);
void filterChanged(QString); void filterChanged(QString);
void setViewMode(int viewMode);
void settingsChanged(); void settingsChanged();
void handlePostsTreeSizeChange(QSize s, bool force=false); void handlePostsTreeSizeChange(QSize s, bool force=false);
void postChannelPostLoad(); void postChannelPostLoad();
@ -172,8 +171,6 @@ private:
void setAutoDownload(bool autoDl); void setAutoDownload(bool autoDl);
static bool filterItem(FeedItem *feedItem, const QString &text, int filter); static bool filterItem(FeedItem *feedItem, const QString &text, int filter);
int viewMode();
void insertChannelDetails(const RsGxsChannelGroup &group); void insertChannelDetails(const RsGxsChannelGroup &group);
void handleEvent_main_thread(std::shared_ptr<const RsEvent> event); void handleEvent_main_thread(std::shared_ptr<const RsEvent> event);

View File

@ -393,6 +393,9 @@ p, li { white-space: pre-wrap; }
<property name="contextMenuPolicy"> <property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum> <enum>Qt::CustomContextMenu</enum>
</property> </property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Click to view post. &lt;/p&gt;&lt;p&gt;Use Ctrl+mouse wheel &lt;/p&gt;&lt;p&gt;to zoom/unzoom.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="sizeAdjustPolicy"> <property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::AdjustToContents</enum> <enum>QAbstractScrollArea::AdjustToContents</enum>
</property> </property>
@ -428,7 +431,7 @@ p, li { white-space: pre-wrap; }
</font> </font>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>1</number>
</property> </property>
<widget class="QWidget" name="tab"> <widget class="QWidget" name="tab">
<attribute name="title"> <attribute name="title">
@ -593,16 +596,16 @@ p, li { white-space: pre-wrap; }
<extends>QToolButton</extends> <extends>QToolButton</extends>
<header>gui/common/SubscribeToolButton.h</header> <header>gui/common/SubscribeToolButton.h</header>
</customwidget> </customwidget>
<customwidget>
<class>StyledElidedLabel</class>
<extends>QLabel</extends>
<header>gui/common/StyledElidedLabel.h</header>
</customwidget>
<customwidget> <customwidget>
<class>RSTreeView</class> <class>RSTreeView</class>
<extends>QTreeView</extends> <extends>QTreeView</extends>
<header>gui/common/RSTreeView.h</header> <header>gui/common/RSTreeView.h</header>
</customwidget> </customwidget>
<customwidget>
<class>LineEditClear</class>
<extends>QLineEdit</extends>
<header>gui/common/LineEditClear.h</header>
</customwidget>
<customwidget> <customwidget>
<class>GxsCommentDialog</class> <class>GxsCommentDialog</class>
<extends>QWidget</extends> <extends>QWidget</extends>
@ -610,9 +613,9 @@ p, li { white-space: pre-wrap; }
<container>1</container> <container>1</container>
</customwidget> </customwidget>
<customwidget> <customwidget>
<class>LineEditClear</class> <class>StyledElidedLabel</class>
<extends>QLineEdit</extends> <extends>QLabel</extends>
<header>gui/common/LineEditClear.h</header> <header>gui/common/StyledElidedLabel.h</header>
</customwidget> </customwidget>
</customwidgets> </customwidgets>
<resources> <resources>

View File

@ -35,6 +35,7 @@
#include "gui/common/Emoticons.h" #include "gui/common/Emoticons.h"
#include "gui/common/UIStateHelper.h" #include "gui/common/UIStateHelper.h"
#include "gui/Identity/IdEditDialog.h" #include "gui/Identity/IdEditDialog.h"
#include "gui/common/FilesDefs.h"
#include "util/HandleRichText.h" #include "util/HandleRichText.h"
#include "util/misc.h" #include "util/misc.h"
@ -89,7 +90,7 @@ CreateGxsForumMsg::CreateGxsForumMsg(const RsGxsGroupId &fId, const RsGxsMessage
ui.forumMessage->setPlaceholderText(tr ("Text")); ui.forumMessage->setPlaceholderText(tr ("Text"));
ui.headerFrame->setHeaderImage(QPixmap(":/icons/png/forums.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/forums.png"));
ui.headerFrame->setHeaderText(text); ui.headerFrame->setHeaderText(text);
ui.generateSpinBox->setEnabled(false); ui.generateSpinBox->setEnabled(false);

View File

@ -19,6 +19,7 @@
*******************************************************************************/ *******************************************************************************/
#include "GxsForumGroupDialog.h" #include "GxsForumGroupDialog.h"
#include "gui/common/FilesDefs.h"
#include <retroshare/rsgxsforums.h> #include <retroshare/rsgxsforums.h>
#include <iostream> #include <iostream>
@ -96,7 +97,7 @@ void GxsForumGroupDialog::initUi()
QPixmap GxsForumGroupDialog::serviceImage() QPixmap GxsForumGroupDialog::serviceImage()
{ {
return QPixmap(":/icons/png/forums.png"); return FilesDefs::getPixmapFromQtResourcePath(":/icons/png/forums.png");
} }
bool GxsForumGroupDialog::service_createGroup(RsGroupMetaData& meta) bool GxsForumGroupDialog::service_createGroup(RsGroupMetaData& meta)

View File

@ -32,6 +32,7 @@
#include "IMHistoryItemDelegate.h" #include "IMHistoryItemDelegate.h"
#include "IMHistoryItemPainter.h" #include "IMHistoryItemPainter.h"
#include "util/HandleRichText.h" #include "util/HandleRichText.h"
#include "gui/common/FilesDefs.h"
#include "rshare.h" #include "rshare.h"
#include <retroshare/rshistory.h> #include <retroshare/rshistory.h>
@ -96,7 +97,7 @@ ImHistoryBrowser::ImHistoryBrowser(const ChatId &chatId, QTextEdit *edit, QWidge
/* Invoke Qt Designer generated QObject setup routine */ /* Invoke Qt Designer generated QObject setup routine */
ui.setupUi(this); ui.setupUi(this);
ui.headerFrame->setHeaderImage(QPixmap(":/images/user/agt_forum64.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/user/agt_forum64.png"));
ui.headerFrame->setHeaderText(tr("Message History")); ui.headerFrame->setHeaderText(tr("Message History"));
m_chatId = chatId; m_chatId = chatId;

View File

@ -51,7 +51,7 @@ ProfileManager::ProfileManager(QWidget *parent)
/* Invoke Qt Designer generated QObject setup routine */ /* Invoke Qt Designer generated QObject setup routine */
ui.setupUi(this); ui.setupUi(this);
ui.headerFrame->setHeaderImage(QPixmap(":/icons/png/profile.png")); ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/profile.png"));
ui.headerFrame->setHeaderText(tr("Profile Manager")); ui.headerFrame->setHeaderText(tr("Profile Manager"));
connect(ui.identityTreeWidget, SIGNAL( customContextMenuRequested(QPoint)), this, SLOT( identityTreeWidgetCostumPopupMenu(QPoint))); connect(ui.identityTreeWidget, SIGNAL( customContextMenuRequested(QPoint)), this, SLOT( identityTreeWidgetCostumPopupMenu(QPoint)));

View File

@ -22,8 +22,9 @@
#include <QFileDialog> #include <QFileDialog>
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "ui_AboutPage.h" #include "ui_AboutPage.h"
#include "gui/common/FilesDefs.h"
class AboutPage : public ConfigPage class AboutPage : public ConfigPage
{ {
@ -38,7 +39,7 @@ public:
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/svg/info.svg") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/svg/info.svg") ; }
virtual QString pageName() const { return tr("About") ; } virtual QString pageName() const { return tr("About") ; }
virtual QString helpText() const { return ""; } virtual QString helpText() const { return ""; }

View File

@ -21,9 +21,10 @@
#ifndef _APPERARANCEPAGE_H #ifndef _APPERARANCEPAGE_H
#define _APPERARANCEPAGE_H #define _APPERARANCEPAGE_H
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "gui/MainWindow.h" #include "gui/MainWindow.h"
#include "ui_AppearancePage.h" #include "ui_AppearancePage.h"
#include "gui/common/FilesDefs.h"
class AppearancePage : public ConfigPage class AppearancePage : public ConfigPage
{ {
@ -36,7 +37,7 @@ public:
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/appearance.svg") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/appearance.svg") ; }
virtual QString pageName() const { return tr("Appearance") ; } virtual QString pageName() const { return tr("Appearance") ; }
virtual QString helpText() const { return ""; } virtual QString helpText() const { return ""; }

View File

@ -21,8 +21,9 @@
#ifndef CHANNELPAGE_H #ifndef CHANNELPAGE_H
#define CHANNELPAGE_H #define CHANNELPAGE_H
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "ui_ChannelPage.h" #include "ui_ChannelPage.h"
#include "gui/common/FilesDefs.h"
class ChannelPage : public ConfigPage class ChannelPage : public ConfigPage
{ {
@ -35,7 +36,7 @@ public:
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/channels.svg") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/channels.svg") ; }
virtual QString pageName() const { return tr("Channels") ; } virtual QString pageName() const { return tr("Channels") ; }
virtual QString helpText() const { return ""; } virtual QString helpText() const { return ""; }

View File

@ -21,9 +21,10 @@
#ifndef _CHATPAGE_H #ifndef _CHATPAGE_H
#define _CHATPAGE_H #define _CHATPAGE_H
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "gui/chat/ChatStyle.h" #include "gui/chat/ChatStyle.h"
#include "ui_ChatPage.h" #include "ui_ChatPage.h"
#include "gui/common/FilesDefs.h"
class ChatPage : public ConfigPage class ChatPage : public ConfigPage
{ {
@ -38,7 +39,7 @@ class ChatPage : public ConfigPage
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/chat.svg") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/chat.svg") ; }
virtual QString pageName() const { return tr("Chats") ; } virtual QString pageName() const { return tr("Chats") ; }
virtual QString helpText() const { return ""; } virtual QString helpText() const { return ""; }

View File

@ -21,8 +21,9 @@
#ifndef _CRYPTOPAGE_H #ifndef _CRYPTOPAGE_H
#define _CRYPTOPAGE_H #define _CRYPTOPAGE_H
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "ui_CryptoPage.h" #include "ui_CryptoPage.h"
#include "gui/common/FilesDefs.h"
class CryptoPage : public ConfigPage class CryptoPage : public ConfigPage
{ {
@ -36,7 +37,7 @@ class CryptoPage : public ConfigPage
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/profile.svg") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/profile.svg") ; }
virtual QString pageName() const { return tr("Node") ; } virtual QString pageName() const { return tr("Node") ; }
virtual QString helpText() const { return ""; } virtual QString helpText() const { return ""; }

View File

@ -22,7 +22,8 @@
#ifndef __FileAssociationsPage__ #ifndef __FileAssociationsPage__
#define __FileAssociationsPage__ #define __FileAssociationsPage__
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "gui/common/FilesDefs.h"
class QToolBar; class QToolBar;
class QAction; class QAction;
@ -52,7 +53,7 @@ public:
virtual ~FileAssociationsPage(); virtual ~FileAssociationsPage();
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/images/filetype-association.png") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/images/filetype-association.png") ; }
virtual QString pageName() const { return tr("Associations") ; } virtual QString pageName() const { return tr("Associations") ; }
protected: protected:

View File

@ -21,8 +21,9 @@
#ifndef FORUMPAGE_H #ifndef FORUMPAGE_H
#define FORUMPAGE_H #define FORUMPAGE_H
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "ui_ForumPage.h" #include "ui_ForumPage.h"
#include "gui/common/FilesDefs.h"
class ForumPage : public ConfigPage class ForumPage : public ConfigPage
{ {
@ -35,7 +36,7 @@ public:
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/forums.svg") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/forums.svg") ; }
virtual QString pageName() const { return tr("Forums") ; } virtual QString pageName() const { return tr("Forums") ; }
virtual QString helpText() const { return ""; } virtual QString helpText() const { return ""; }

View File

@ -22,8 +22,9 @@
#ifndef _GENERALPAGE_H #ifndef _GENERALPAGE_H
#define _GENERALPAGE_H #define _GENERALPAGE_H
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "ui_GeneralPage.h" #include "ui_GeneralPage.h"
#include "gui/common/FilesDefs.h"
class GeneralPage : public ConfigPage class GeneralPage : public ConfigPage
{ {
@ -39,7 +40,7 @@ public:
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/general.svg") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/general.svg") ; }
virtual QString pageName() const { return tr("General") ; } virtual QString pageName() const { return tr("General") ; }
virtual QString helpText() const { return ""; } virtual QString helpText() const { return ""; }

View File

@ -1,7 +1,7 @@
/******************************************************************************* /*******************************************************************************
* gui/settings/JsonApiPage.h * * gui/settings/JsonApiPage.h *
* * * *
* Copyright (C) 2018 Gioacchino Mazzurco <gio@eigenlab.org> * * Copyright (C) 2018-2020 Gioacchino Mazzurco <gio@eigenlab.org> *
* * * *
* This program is free software: you can redistribute it and/or modify * * This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Affero General Public License as * * it under the terms of the GNU Affero General Public License as *
@ -20,7 +20,8 @@
#pragma once #pragma once
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "gui/common/FilesDefs.h"
#include "ui_JsonApiPage.h" #include "ui_JsonApiPage.h"
class JsonApiPage : public ConfigPage class JsonApiPage : public ConfigPage
@ -30,14 +31,16 @@ class JsonApiPage : public ConfigPage
public: public:
JsonApiPage(QWidget * parent = nullptr, Qt::WindowFlags flags = 0); JsonApiPage(QWidget * parent = nullptr, Qt::WindowFlags flags = 0);
~JsonApiPage() {} ~JsonApiPage() override = default;
/** Loads the settings for this page */ virtual QPixmap iconPixmap() const override
{
return FilesDefs::getPixmapFromQtResourcePath(
":/icons/svg/empty-circle.svg" );
}
virtual QPixmap iconPixmap() const virtual QString pageName() const override { return tr("JSON API"); }
{ return QPixmap(":/icons/svg/empty-circle.svg"); } virtual QString helpText() const override;
virtual QString pageName() const { return tr("JSON API"); }
virtual QString helpText() const;
/** Call this after start of libretroshare/Retroshare /** Call this after start of libretroshare/Retroshare
* checks the settings and starts JSON API if required */ * checks the settings and starts JSON API if required */

View File

@ -23,10 +23,11 @@
#include <stdint.h> #include <stdint.h>
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "ui_MessagePage.h" #include "ui_MessagePage.h"
#include "gui/msgs/MessageInterface.h" #include "gui/msgs/MessageInterface.h"
#include "gui/common/FilesDefs.h"
class MessagePage : public ConfigPage class MessagePage : public ConfigPage
{ {
@ -39,7 +40,7 @@ public:
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/messages.svg") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/messages.svg") ; }
virtual QString pageName() const { return tr("Mail") ; } virtual QString pageName() const { return tr("Mail") ; }
virtual QString helpText() const { return ""; } virtual QString helpText() const { return ""; }

View File

@ -25,6 +25,7 @@
#include "ui_NotifyPage.h" #include "ui_NotifyPage.h"
#include "gui/chat/ChatLobbyUserNotify.h" #include "gui/chat/ChatLobbyUserNotify.h"
#include "gui/common/FilesDefs.h"
class UserNotify; class UserNotify;
class FeedNotify; class FeedNotify;
@ -78,7 +79,7 @@ public:
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/notify.svg") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/notify.svg") ; }
virtual QString pageName() const { return tr("Notify") ; } virtual QString pageName() const { return tr("Notify") ; }
virtual QString helpText() const ; virtual QString helpText() const ;

View File

@ -21,8 +21,9 @@
#ifndef PEOPLEPAGE_H #ifndef PEOPLEPAGE_H
#define PEOPLEPAGE_H #define PEOPLEPAGE_H
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "ui_PeoplePage.h" #include "ui_PeoplePage.h"
#include "gui/common/FilesDefs.h"
class PeoplePage : public ConfigPage class PeoplePage : public ConfigPage
{ {
@ -35,7 +36,7 @@ public:
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/people.svg") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/people.svg") ; }
virtual QString pageName() const { return tr("People") ; } virtual QString pageName() const { return tr("People") ; }
virtual QString helpText() const { return ""; } virtual QString helpText() const { return ""; }

View File

@ -20,8 +20,9 @@
#pragma once #pragma once
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "ui_PluginsPage.h" #include "ui_PluginsPage.h"
#include "gui/common/FilesDefs.h"
namespace settings { namespace settings {
@ -36,7 +37,7 @@ class PluginsPage : public ConfigPage
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/plugins.svg") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/plugins.svg") ; }
virtual QString pageName() const { return tr("Plugins") ; } virtual QString pageName() const { return tr("Plugins") ; }
virtual QString helpText() const ; virtual QString helpText() const ;

View File

@ -21,7 +21,8 @@
#ifndef POSTEDPAGE_H #ifndef POSTEDPAGE_H
#define POSTEDPAGE_H #define POSTEDPAGE_H
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include "gui/common/FilesDefs.h"
namespace Ui { namespace Ui {
class PostedPage; class PostedPage;
@ -38,7 +39,7 @@ public:
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/posted.svg") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/posted.svg") ; }
virtual QString pageName() const { return tr("Boards") ; } virtual QString pageName() const { return tr("Boards") ; }
virtual QString helpText() const { return ""; } virtual QString helpText() const { return ""; }

View File

@ -448,26 +448,26 @@ void ServerPage::load()
//Relay Tab //Relay Tab
uint32_t count; uint32_t count;
uint32_t bandwidth; uint32_t bandwidth;
rsDht->getRelayAllowance(RSDHT_RELAY_CLASS_FRIENDS, count, bandwidth); rsDht->getRelayAllowance(RsDhtRelayClass::FRIENDS, count, bandwidth);
whileBlocking(ui.noFriendSpinBox)->setValue(count); whileBlocking(ui.noFriendSpinBox)->setValue(count);
whileBlocking(ui.bandFriendSpinBox)->setValue(bandwidth / 1024); whileBlocking(ui.bandFriendSpinBox)->setValue(bandwidth / 1024);
rsDht->getRelayAllowance(RSDHT_RELAY_CLASS_FOF, count, bandwidth); rsDht->getRelayAllowance(RsDhtRelayClass::FOF, count, bandwidth);
whileBlocking(ui.noFOFSpinBox)->setValue(count); whileBlocking(ui.noFOFSpinBox)->setValue(count);
whileBlocking(ui.bandFOFSpinBox)->setValue(bandwidth / 1024); whileBlocking(ui.bandFOFSpinBox)->setValue(bandwidth / 1024);
rsDht->getRelayAllowance(RSDHT_RELAY_CLASS_GENERAL, count, bandwidth); rsDht->getRelayAllowance(RsDhtRelayClass::GENERAL, count, bandwidth);
whileBlocking(ui.noGeneralSpinBox)->setValue(count); whileBlocking(ui.noGeneralSpinBox)->setValue(count);
whileBlocking(ui.bandGeneralSpinBox)->setValue(bandwidth / 1024); whileBlocking(ui.bandGeneralSpinBox)->setValue(bandwidth / 1024);
updateTotals(); updateTotals();
uint32_t relayMode = rsDht->getRelayMode(); RsDhtRelayMode relayMode = rsDht->getRelayMode();
if (relayMode & RSDHT_RELAY_ENABLED) if (!!(relayMode & RsDhtRelayMode::ENABLED))
{ {
whileBlocking(ui.enableCheckBox)->setCheckState(Qt::Checked); whileBlocking(ui.enableCheckBox)->setCheckState(Qt::Checked);
if ((relayMode & RSDHT_RELAY_MODE_MASK) == RSDHT_RELAY_MODE_OFF) if ((relayMode & RsDhtRelayMode::MASK) == RsDhtRelayMode::OFF)
{ {
whileBlocking(ui.serverCheckBox)->setCheckState(Qt::Unchecked); whileBlocking(ui.serverCheckBox)->setCheckState(Qt::Unchecked);
} }
@ -884,19 +884,19 @@ void ServerPage::updateStatus()
/******* Network Status Tab *******/ /******* Network Status Tab *******/
if(net_status.netUpnpOk) if(net_status.netUpnpOk)
ui.iconlabel_upnp->setPixmap(QPixmap(":/images/ledon1.png")); ui.iconlabel_upnp->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
else else
ui.iconlabel_upnp->setPixmap(QPixmap(":/images/ledoff1.png")); ui.iconlabel_upnp->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
if (net_status.netLocalOk) if (net_status.netLocalOk)
ui.iconlabel_netLimited->setPixmap(QPixmap(":/images/ledon1.png")); ui.iconlabel_netLimited->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
else else
ui.iconlabel_netLimited->setPixmap(QPixmap(":/images/ledoff1.png")); ui.iconlabel_netLimited->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
if (net_status.netExtAddressOk) if (net_status.netExtAddressOk)
ui.iconlabel_ext->setPixmap(QPixmap(":/images/ledon1.png")); ui.iconlabel_ext->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
else else
ui.iconlabel_ext->setPixmap(QPixmap(":/images/ledoff1.png")); ui.iconlabel_ext->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
} }
@ -1080,7 +1080,7 @@ void ServerPage::loadHiddenNode()
ui.textlabel_hiddenMode->show(); ui.textlabel_hiddenMode->show();
ui.iconlabel_hiddenMode->show() ; ui.iconlabel_hiddenMode->show() ;
ui.iconlabel_hiddenMode->setPixmap(QPixmap(":/images/ledon1.png")); ui.iconlabel_hiddenMode->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
// CHANGE OPTIONS ON // CHANGE OPTIONS ON
whileBlocking(ui.discComboBox)->removeItem(3); whileBlocking(ui.discComboBox)->removeItem(3);
@ -1129,9 +1129,9 @@ void ServerPage::loadHiddenNode()
for(std::list<std::string>::const_iterator it(detail.ipAddressList.begin());it!=detail.ipAddressList.end();++it) for(std::list<std::string>::const_iterator it(detail.ipAddressList.begin());it!=detail.ipAddressList.end();++it)
whileBlocking(ui.ipAddressList)->addItem(QString::fromStdString(*it)); whileBlocking(ui.ipAddressList)->addItem(QString::fromStdString(*it));
ui.iconlabel_upnp->setPixmap(QPixmap(":/images/ledoff1.png")); ui.iconlabel_upnp->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
ui.iconlabel_netLimited->setPixmap(QPixmap(":/images/ledoff1.png")); ui.iconlabel_netLimited->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
ui.iconlabel_ext->setPixmap(QPixmap(":/images/ledoff1.png")); ui.iconlabel_ext->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
whileBlocking(ui.allowIpDeterminationCB)->setChecked(false); whileBlocking(ui.allowIpDeterminationCB)->setChecked(false);
whileBlocking(ui.allowIpDeterminationCB)->setEnabled(false); whileBlocking(ui.allowIpDeterminationCB)->setEnabled(false);
@ -1235,19 +1235,19 @@ void ServerPage::updateStatusHiddenNode()
/******* Network Status Tab *******/ /******* Network Status Tab *******/
if(net_status.netUpnpOk) if(net_status.netUpnpOk)
ui.iconlabel_upnp->setPixmap(QPixmap(":/images/ledon1.png")); ui.iconlabel_upnp->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
else else
ui.iconlabel_upnp->setPixmap(QPixmap(":/images/ledoff1.png")); ui.iconlabel_upnp->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
if (net_status.netLocalOk) if (net_status.netLocalOk)
ui.iconlabel_netLimited->setPixmap(QPixmap(":/images/ledon1.png")); ui.iconlabel_netLimited->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
else else
ui.iconlabel_netLimited->setPixmap(QPixmap(":/images/ledoff1.png")); ui.iconlabel_netLimited->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
if (net_status.netExtAddressOk) if (net_status.netExtAddressOk)
ui.iconlabel_ext->setPixmap(QPixmap(":/images/ledon1.png")); ui.iconlabel_ext->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
else else
ui.iconlabel_ext->setPixmap(QPixmap(":/images/ledoff1.png")); ui.iconlabel_ext->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
#endif #endif
} }
@ -1306,12 +1306,12 @@ void ServerPage::updateOutProxyIndicator()
if(socket.waitForConnected(500)) if(socket.waitForConnected(500))
{ {
socket.disconnectFromHost(); socket.disconnectFromHost();
ui.iconlabel_tor_outgoing->setPixmap(QPixmap(ICON_STATUS_OK)) ; ui.iconlabel_tor_outgoing->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_OK)) ;
ui.iconlabel_tor_outgoing->setToolTip(tr("Proxy seems to work.")) ; ui.iconlabel_tor_outgoing->setToolTip(tr("Proxy seems to work.")) ;
} }
else else
{ {
ui.iconlabel_tor_outgoing->setPixmap(QPixmap(ICON_STATUS_UNKNOWN)) ; ui.iconlabel_tor_outgoing->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_UNKNOWN)) ;
ui.iconlabel_tor_outgoing->setToolTip(tr("Tor proxy is not enabled")) ; ui.iconlabel_tor_outgoing->setToolTip(tr("Tor proxy is not enabled")) ;
} }
@ -1320,12 +1320,12 @@ void ServerPage::updateOutProxyIndicator()
if(socket.waitForConnected(500)) if(socket.waitForConnected(500))
{ {
socket.disconnectFromHost(); socket.disconnectFromHost();
ui.iconlabel_i2p_outgoing->setPixmap(QPixmap(ICON_STATUS_OK)) ; ui.iconlabel_i2p_outgoing->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_OK)) ;
ui.iconlabel_i2p_outgoing->setToolTip(tr("Proxy seems to work.")) ; ui.iconlabel_i2p_outgoing->setToolTip(tr("Proxy seems to work.")) ;
} }
else else
{ {
ui.iconlabel_i2p_outgoing->setPixmap(QPixmap(ICON_STATUS_UNKNOWN)) ; ui.iconlabel_i2p_outgoing->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_UNKNOWN)) ;
ui.iconlabel_i2p_outgoing->setToolTip(tr("I2P proxy is not enabled")) ; ui.iconlabel_i2p_outgoing->setToolTip(tr("I2P proxy is not enabled")) ;
} }
@ -1334,12 +1334,12 @@ void ServerPage::updateOutProxyIndicator()
if(true == (mBobAccessible = socket.waitForConnected(500))) if(true == (mBobAccessible = socket.waitForConnected(500)))
{ {
socket.disconnectFromHost(); socket.disconnectFromHost();
ui.iconlabel_i2p_outgoing_2->setPixmap(QPixmap(ICON_STATUS_OK)) ; ui.iconlabel_i2p_outgoing_2->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_OK)) ;
ui.iconlabel_i2p_outgoing_2->setToolTip(tr("BOB is running and accessible")) ; ui.iconlabel_i2p_outgoing_2->setToolTip(tr("BOB is running and accessible")) ;
} }
else else
{ {
ui.iconlabel_i2p_outgoing_2->setPixmap(QPixmap(ICON_STATUS_UNKNOWN)) ; ui.iconlabel_i2p_outgoing_2->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_UNKNOWN)) ;
ui.iconlabel_i2p_outgoing_2->setToolTip(tr("BOB is not accessible! Is it running?")) ; ui.iconlabel_i2p_outgoing_2->setToolTip(tr("BOB is not accessible! Is it running?")) ;
} }
} }
@ -1351,7 +1351,7 @@ void ServerPage::updateInProxyIndicator()
if(!mIsHiddenNode) if(!mIsHiddenNode)
return ; return ;
//ui.iconlabel_tor_incoming->setPixmap(QPixmap(ICON_STATUS_UNKNOWN)) ; //ui.iconlabel_tor_incoming->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_UNKNOWN)) ;
//ui.testIncomingTor_PB->setIcon(FilesDefs::getIconFromQtResourcePath(":/loader/circleball-16.gif")) ; //ui.testIncomingTor_PB->setIcon(FilesDefs::getIconFromQtResourcePath(":/loader/circleball-16.gif")) ;
QMovie *movie = new QMovie(":/images/loader/circleball-16.gif"); QMovie *movie = new QMovie(":/images/loader/circleball-16.gif");
ui.iconlabel_service_incoming->setMovie(movie); ui.iconlabel_service_incoming->setMovie(movie);
@ -1674,7 +1674,7 @@ void ServerPage::updateStatusBob()
case csConnected: case csConnected:
case csDoDisconnect: case csDoDisconnect:
case csWaitForBob: case csWaitForBob:
ui.iconlabel_i2p_bob->setPixmap(QPixmap(ICON_STATUS_WORKING)); ui.iconlabel_i2p_bob->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_WORKING));
ui.iconlabel_i2p_bob->setToolTip(tr("BOB is processing a request")); ui.iconlabel_i2p_bob->setToolTip(tr("BOB is processing a request"));
enableBobElements(false); enableBobElements(false);
@ -1707,7 +1707,7 @@ void ServerPage::updateStatusBob()
// get error msg from bob // get error msg from bob
rsAutoProxyMonitor::taskSync(autoProxyType::I2PBOB, autoProxyTask::getErrorInfo, &errorString); rsAutoProxyMonitor::taskSync(autoProxyType::I2PBOB, autoProxyTask::getErrorInfo, &errorString);
ui.iconlabel_i2p_bob->setPixmap(QPixmap(ICON_STATUS_ERROR)); ui.iconlabel_i2p_bob->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_ERROR));
ui.iconlabel_i2p_bob->setToolTip(tr("BOB is broken\n") + QString::fromStdString(errorString)); ui.iconlabel_i2p_bob->setToolTip(tr("BOB is broken\n") + QString::fromStdString(errorString));
enableBobElements(false); enableBobElements(false);
@ -1723,7 +1723,7 @@ void ServerPage::updateStatusBob()
case csIdel: case csIdel:
switch (bs.ct) { switch (bs.ct) {
case ctRunSetUp: case ctRunSetUp:
ui.iconlabel_i2p_bob->setPixmap(QPixmap(ICON_STATUS_OK)); ui.iconlabel_i2p_bob->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_OK));
ui.iconlabel_i2p_bob->setToolTip(tr("BOB tunnel is running")); ui.iconlabel_i2p_bob->setToolTip(tr("BOB tunnel is running"));
enableBobElements(false); enableBobElements(false);
@ -1736,7 +1736,7 @@ void ServerPage::updateStatusBob()
break; break;
case ctRunCheck: case ctRunCheck:
case ctRunGetKeys: case ctRunGetKeys:
ui.iconlabel_i2p_bob->setPixmap(QPixmap(ICON_STATUS_WORKING)); ui.iconlabel_i2p_bob->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_WORKING));
ui.iconlabel_i2p_bob->setToolTip(tr("BOB is processing a request")); ui.iconlabel_i2p_bob->setToolTip(tr("BOB is processing a request"));
enableBobElements(false); enableBobElements(false);
@ -1749,7 +1749,7 @@ void ServerPage::updateStatusBob()
break; break;
case ctRunShutDown: case ctRunShutDown:
case ctIdle: case ctIdle:
ui.iconlabel_i2p_bob->setPixmap(QPixmap(ICON_STATUS_UNKNOWN)); ui.iconlabel_i2p_bob->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_UNKNOWN));
ui.iconlabel_i2p_bob->setToolTip(tr("BOB tunnel is not running")); ui.iconlabel_i2p_bob->setToolTip(tr("BOB tunnel is not running"));
enableBobElements(true); enableBobElements(true);
@ -1844,14 +1844,14 @@ void ServerPage::updateInProxyIndicatorResult(bool success)
if (success) { if (success) {
std::cerr <<"Connected!" << std::endl; std::cerr <<"Connected!" << std::endl;
ui.iconlabel_service_incoming->setPixmap(QPixmap(ICON_STATUS_OK)) ; ui.iconlabel_service_incoming->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_OK)) ;
ui.iconlabel_service_incoming->setToolTip(tr("You are reachable through the hidden service.")) ; ui.iconlabel_service_incoming->setToolTip(tr("You are reachable through the hidden service.")) ;
//ui.testIncomingTor_PB->setIcon(FilesDefs::getIconFromQtResourcePath(ICON_STATUS_OK)) ; //ui.testIncomingTor_PB->setIcon(FilesDefs::getIconFromQtResourcePath(ICON_STATUS_OK)) ;
} else { } else {
std::cerr <<"Failed!" << std::endl; std::cerr <<"Failed!" << std::endl;
//ui.testIncomingTor_PB->setIcon(FilesDefs::getIconFromQtResourcePath(ICON_STATUS_UNKNOWN)) ; //ui.testIncomingTor_PB->setIcon(FilesDefs::getIconFromQtResourcePath(ICON_STATUS_UNKNOWN)) ;
ui.iconlabel_service_incoming->setPixmap(QPixmap(ICON_STATUS_UNKNOWN)) ; ui.iconlabel_service_incoming->setPixmap(FilesDefs::getPixmapFromQtResourcePath(ICON_STATUS_UNKNOWN)) ;
ui.iconlabel_service_incoming->setToolTip(tr("The proxy is not enabled or broken.\nAre all services up and running fine??\nAlso check your ports!")) ; ui.iconlabel_service_incoming->setToolTip(tr("The proxy is not enabled or broken.\nAre all services up and running fine??\nAlso check your ports!")) ;
} }
// delete movie // delete movie
@ -1887,33 +1887,33 @@ void ServerPage::updateTotals()
int total = nFriends + nFOF + nGeneral; int total = nFriends + nFOF + nGeneral;
rsDht->setRelayAllowance(RSDHT_RELAY_CLASS_ALL, total, 0); rsDht->setRelayAllowance(RsDhtRelayClass::ALL, total, 0);
rsDht->setRelayAllowance(RSDHT_RELAY_CLASS_FRIENDS, nFriends, 1024 * friendBandwidth); rsDht->setRelayAllowance(RsDhtRelayClass::FRIENDS, nFriends, 1024 * friendBandwidth);
rsDht->setRelayAllowance(RSDHT_RELAY_CLASS_FOF, nFOF, 1024 * fofBandwidth); rsDht->setRelayAllowance(RsDhtRelayClass::FOF, nFOF, 1024 * fofBandwidth);
rsDht->setRelayAllowance(RSDHT_RELAY_CLASS_GENERAL, nGeneral, 1024 * genBandwidth); rsDht->setRelayAllowance(RsDhtRelayClass::GENERAL, nGeneral, 1024 * genBandwidth);
} }
/** Saves the changes on this page */ /** Saves the changes on this page */
void ServerPage::updateRelayMode() void ServerPage::updateRelayMode()
{ {
uint32_t relayMode = 0; RsDhtRelayMode relayMode = static_cast<RsDhtRelayMode>(0);
if (ui.enableCheckBox->isChecked()) if (ui.enableCheckBox->isChecked())
{ {
relayMode |= RSDHT_RELAY_ENABLED; relayMode |= RsDhtRelayMode::ENABLED;
if (ui.serverCheckBox->isChecked()) if (ui.serverCheckBox->isChecked())
{ {
relayMode |= RSDHT_RELAY_MODE_ON; relayMode |= RsDhtRelayMode::ON;
} }
else else
{ {
relayMode |= RSDHT_RELAY_MODE_OFF; relayMode |= RsDhtRelayMode::OFF;
} }
} }
else else
{ {
relayMode |= RSDHT_RELAY_MODE_OFF; relayMode |= RsDhtRelayMode::OFF;
} }
rsDht->setRelayMode(relayMode); rsDht->setRelayMode(relayMode);

View File

@ -36,8 +36,9 @@
#include <services/autoproxy/rsautoproxymonitor.h> #include <services/autoproxy/rsautoproxymonitor.h>
#include <services/autoproxy/p3i2pbob.h> #include <services/autoproxy/p3i2pbob.h>
#include <retroshare-gui/configpage.h> #include "retroshare-gui/configpage.h"
#include <retroshare-gui/RsAutoUpdatePage.h> #include "retroshare-gui/RsAutoUpdatePage.h"
#include "gui/common/FilesDefs.h"
class QNetworkReply; class QNetworkReply;
@ -55,7 +56,7 @@ public:
/** Loads the settings for this page */ /** Loads the settings for this page */
virtual void load(); virtual void load();
virtual QPixmap iconPixmap() const { return QPixmap(":/icons/png/network.png") ; } virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/png/network.png") ; }
virtual QString pageName() const { return tr("Network") ; } virtual QString pageName() const { return tr("Network") ; }
virtual QString helpText() const { return ""; } virtual QString helpText() const { return ""; }

Some files were not shown because too many files have changed in this diff Show More