mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-01-12 07:59:29 -05:00
Merge remote-tracking branch 'upstream/master' into v0.6-TorV3
This commit is contained in:
commit
74660b916a
@ -21,7 +21,6 @@
|
||||
*******************************************************************************/
|
||||
|
||||
#include "dht/connectstatebox.h"
|
||||
#include "retroshare/rsconfig.h"
|
||||
|
||||
#include "util/rsrandom.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;
|
||||
|
||||
if (netmode == RSNET_NETWORK_EXTERNALIP)
|
||||
if (netmode == RsNetworkMode::EXTERNALIP)
|
||||
{
|
||||
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;
|
||||
}
|
||||
else if (netmode == RSNET_NETWORK_BEHINDNAT)
|
||||
else if (netmode == RsNetworkMode::BEHINDNAT)
|
||||
{
|
||||
if ((nattype == RSNET_NATTYPE_RESTRICTED_CONE) ||
|
||||
(nattype == RSNET_NATTYPE_FULL_CONE))
|
||||
if ((nattype == RsNatTypeMode::RESTRICTED_CONE) ||
|
||||
(nattype == RsNatTypeMode::FULL_CONE))
|
||||
{
|
||||
connNet = CSB_NETSTATE_STABLENAT;
|
||||
}
|
||||
else if (nattype == RSNET_NATTYPE_DETERM_SYM)
|
||||
else if (nattype == RsNatTypeMode::DETERM_SYM)
|
||||
{
|
||||
connNet = CSB_NETSTATE_EXCLUSIVENAT;
|
||||
}
|
||||
@ -300,20 +299,20 @@ bool shouldUseProxyPortInternal(uint32_t netstate)
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
|
||||
|
@ -75,17 +75,19 @@
|
||||
#include "util/rstime.h"
|
||||
#include <inttypes.h>
|
||||
|
||||
#include <retroshare/rsconfig.h>
|
||||
|
||||
class PeerConnectStateBox
|
||||
{
|
||||
public:
|
||||
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);
|
||||
|
||||
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 mPeerId;
|
||||
|
@ -45,20 +45,20 @@ class DhtPeerDetails
|
||||
|
||||
DhtPeerDetails();
|
||||
|
||||
uint32_t mPeerType;
|
||||
RsDhtPeerType mPeerType;
|
||||
|
||||
bdId mDhtId;
|
||||
RsPeerId mRsId;
|
||||
|
||||
/* direct from the DHT! */
|
||||
uint32_t mDhtState; // One of RSDHT_PEERDHT_[...]
|
||||
RsDhtPeerDht mDhtState;
|
||||
rstime_t mDhtUpdateTS;
|
||||
|
||||
/* internal state */
|
||||
PeerConnectStateBox mConnectLogic;
|
||||
|
||||
/* Actual Connection Status */
|
||||
uint32_t mPeerConnectState; // One of RSDHT_PEERCONN_
|
||||
RsDhtPeerConnectState mPeerConnectState;
|
||||
std::string mPeerConnectMsg;
|
||||
uint32_t mPeerConnectMode;
|
||||
bdId mPeerConnectPeerId;
|
||||
@ -77,7 +77,7 @@ class DhtPeerDetails
|
||||
|
||||
/* Connection Request Status */
|
||||
std::string mPeerReqStatusMsg;
|
||||
uint32_t mPeerReqState;
|
||||
RsDhtPeerRequest mPeerReqState;
|
||||
uint32_t mPeerReqMode;
|
||||
bdId mPeerReqProxyId;
|
||||
rstime_t mPeerReqTS;
|
||||
@ -294,11 +294,11 @@ public:
|
||||
virtual int addRelayServer(std::string ids);
|
||||
virtual int removeRelayServer(std::string ids);
|
||||
|
||||
virtual uint32_t getRelayMode();
|
||||
virtual int setRelayMode(uint32_t mode);
|
||||
virtual RsDhtRelayMode getRelayMode();
|
||||
virtual int setRelayMode(RsDhtRelayMode mode);
|
||||
|
||||
virtual int getRelayAllowance(int classIdx, uint32_t &count, uint32_t &bandwidth);
|
||||
virtual int setRelayAllowance(int classIdx, uint32_t count, uint32_t bandwidth);
|
||||
virtual int getRelayAllowance(RsDhtRelayClass classIdx, uint32_t &count, uint32_t &bandwidth);
|
||||
virtual int setRelayAllowance(RsDhtRelayClass classIdx, uint32_t count, uint32_t bandwidth);
|
||||
|
||||
private:
|
||||
|
||||
@ -307,7 +307,7 @@ private:
|
||||
int pushRelayServers();
|
||||
|
||||
std::list<std::string> mRelayServerList;
|
||||
uint32_t mRelayMode;
|
||||
RsDhtRelayMode mRelayMode;
|
||||
|
||||
protected:
|
||||
/*****************************************************************/
|
||||
@ -348,9 +348,9 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
DhtPeerDetails *addInternalPeer_locked(const RsPeerId& pid, uint32_t type);
|
||||
DhtPeerDetails *addInternalPeer_locked(const RsPeerId& pid, RsDhtPeerType type);
|
||||
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);
|
||||
|
||||
bool havePeerTranslation_locked(const RsPeerId &pid);
|
||||
|
@ -302,16 +302,16 @@ void convertDhtPeerDetailsToRsDhtNetPeer(RsDhtNetPeer &status, const DhtPeerDeta
|
||||
switch(details.mPeerConnectMode)
|
||||
{
|
||||
default:
|
||||
status.mPeerConnectMode = RSDHT_TOU_MODE_NONE;
|
||||
status.mPeerConnectMode = RsDhtTouMode::NONE;
|
||||
break;
|
||||
case BITDHT_CONNECT_MODE_DIRECT:
|
||||
status.mPeerConnectMode = RSDHT_TOU_MODE_DIRECT;
|
||||
status.mPeerConnectMode = RsDhtTouMode::DIRECT;
|
||||
break;
|
||||
case BITDHT_CONNECT_MODE_PROXY:
|
||||
status.mPeerConnectMode = RSDHT_TOU_MODE_PROXY;
|
||||
status.mPeerConnectMode = RsDhtTouMode::PROXY;
|
||||
break;
|
||||
case BITDHT_CONNECT_MODE_RELAY:
|
||||
status.mPeerConnectMode = RSDHT_TOU_MODE_RELAY;
|
||||
status.mPeerConnectMode = RsDhtTouMode::RELAY;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -83,7 +83,7 @@ int p3BitDht::InfoCallback(const bdId *id, uint32_t /*type*/, uint32_t /*flags*/
|
||||
{
|
||||
RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/
|
||||
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(id->id), RSDHT_PEERTYPE_ANY);
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(id->id), RsDhtPeerType::ANY);
|
||||
|
||||
if (dpd)
|
||||
{
|
||||
@ -204,7 +204,7 @@ int p3BitDht::PeerCallback(const bdId *id, uint32_t status)
|
||||
|
||||
RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/
|
||||
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(id->id), RSDHT_PEERTYPE_FRIEND);
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(id->id), RsDhtPeerType::FRIEND);
|
||||
|
||||
if (!dpd)
|
||||
{
|
||||
@ -222,26 +222,26 @@ int p3BitDht::PeerCallback(const bdId *id, uint32_t status)
|
||||
switch(status)
|
||||
{
|
||||
default:
|
||||
dpd->mDhtState = RSDHT_PEERDHT_NOT_ACTIVE;
|
||||
dpd->mDhtState = RsDhtPeerDht::NOT_ACTIVE;
|
||||
break;
|
||||
|
||||
case BITDHT_MGR_QUERY_FAILURE:
|
||||
dpd->mDhtState = RSDHT_PEERDHT_FAILURE;
|
||||
dpd->mDhtState = RsDhtPeerDht::FAILURE;
|
||||
break;
|
||||
|
||||
case BITDHT_MGR_QUERY_PEER_OFFLINE:
|
||||
dpd->mDhtState = RSDHT_PEERDHT_OFFLINE;
|
||||
dpd->mDhtState = RsDhtPeerDht::OFFLINE;
|
||||
break;
|
||||
|
||||
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.
|
||||
UnreachablePeerCallback_locked(id, status, dpd);
|
||||
|
||||
break;
|
||||
|
||||
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.
|
||||
OnlinePeerCallback_locked(id, status, dpd);
|
||||
|
||||
@ -262,8 +262,8 @@ int p3BitDht::OnlinePeerCallback_locked(const bdId *id, uint32_t /*status*/, Dht
|
||||
/* remove unused parameter warnings */
|
||||
(void) id;
|
||||
|
||||
if ((dpd->mPeerConnectState != RSDHT_PEERCONN_DISCONNECTED) ||
|
||||
(dpd->mPeerReqState == RSDHT_PEERREQ_RUNNING))
|
||||
if ((dpd->mPeerConnectState != RsDhtPeerConnectState::DISCONNECTED) ||
|
||||
(dpd->mPeerReqState == RsDhtPeerRequest::RUNNING))
|
||||
{
|
||||
|
||||
#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)
|
||||
{
|
||||
|
||||
if ((dpd->mPeerConnectState != RSDHT_PEERCONN_DISCONNECTED) ||
|
||||
(dpd->mPeerReqState == RSDHT_PEERREQ_RUNNING))
|
||||
if ((dpd->mPeerConnectState != RsDhtPeerConnectState::DISCONNECTED) ||
|
||||
(dpd->mPeerReqState == RsDhtPeerRequest::RUNNING))
|
||||
{
|
||||
|
||||
#ifdef DEBUG_PEERNET
|
||||
@ -717,7 +717,7 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RSDHT_PEERTYPE_FRIEND);
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RsDhtPeerType::FRIEND);
|
||||
if (dpd)
|
||||
{
|
||||
proxyPort = dpd->mConnectLogic.shouldUseProxyPort(
|
||||
@ -811,7 +811,7 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RSDHT_PEERTYPE_FRIEND);
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RsDhtPeerType::FRIEND);
|
||||
if (dpd)
|
||||
{
|
||||
dpd->mExclusiveProxyLock = true;
|
||||
@ -939,7 +939,7 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId
|
||||
|
||||
RsStackMutex stack(dhtMtx); /********** LOCKED MUTEX ***************/
|
||||
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RSDHT_PEERTYPE_FRIEND);
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(peerId.id), RsDhtPeerType::FRIEND);
|
||||
if (dpd)
|
||||
{
|
||||
dpd->mPeerCbMsg = "ERROR : ";
|
||||
@ -980,7 +980,7 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId
|
||||
|
||||
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 (errcode)
|
||||
@ -989,7 +989,7 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId
|
||||
|
||||
dpd->mPeerReqStatusMsg = "STOPPED: ";
|
||||
dpd->mPeerReqStatusMsg += decodeConnectionError(errcode);
|
||||
dpd->mPeerReqState = RSDHT_PEERREQ_STOPPED;
|
||||
dpd->mPeerReqState = RsDhtPeerRequest::STOPPED;
|
||||
dpd->mPeerReqTS = now;
|
||||
|
||||
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.
|
||||
{
|
||||
dpd->mPeerReqStatusMsg = "Connect Attempt";
|
||||
dpd->mPeerReqState = RSDHT_PEERREQ_RUNNING;
|
||||
dpd->mPeerReqState = RsDhtPeerRequest::RUNNING;
|
||||
dpd->mPeerReqMode = mode;
|
||||
dpd->mPeerReqProxyId = *proxyId;
|
||||
dpd->mPeerReqTS = now;
|
||||
@ -1232,7 +1232,7 @@ int p3BitDht::doActions()
|
||||
{
|
||||
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)
|
||||
{
|
||||
connectOk = true;
|
||||
@ -1387,11 +1387,11 @@ int p3BitDht::doActions()
|
||||
#endif
|
||||
|
||||
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(action.mDestId.id), RSDHT_PEERTYPE_FRIEND);
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&(action.mDestId.id), RsDhtPeerType::FRIEND);
|
||||
if (dpd)
|
||||
{
|
||||
dpd->mPeerReqStatusMsg = "Connect Request";
|
||||
dpd->mPeerReqState = RSDHT_PEERREQ_RUNNING;
|
||||
dpd->mPeerReqState = RsDhtPeerRequest::RUNNING;
|
||||
dpd->mPeerReqMode = action.mMode;
|
||||
dpd->mPeerReqTS = now;
|
||||
|
||||
@ -1428,13 +1428,13 @@ int p3BitDht::doActions()
|
||||
//}
|
||||
|
||||
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)
|
||||
{
|
||||
dpd->mConnectLogic.updateCb(failReason);
|
||||
|
||||
dpd->mPeerReqStatusMsg = "Req Mode Unavailable";
|
||||
dpd->mPeerReqState = RSDHT_PEERREQ_STOPPED;
|
||||
dpd->mPeerReqState = RsDhtPeerRequest::STOPPED;
|
||||
dpd->mPeerReqMode = action.mMode;
|
||||
dpd->mPeerReqTS = now;
|
||||
|
||||
@ -1496,7 +1496,7 @@ int p3BitDht::doActions()
|
||||
{
|
||||
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 (action.mAnswer)
|
||||
@ -1604,7 +1604,7 @@ int p3BitDht::doActions()
|
||||
{
|
||||
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)
|
||||
{
|
||||
peerRsId = dpd->mRsId;
|
||||
@ -1730,7 +1730,7 @@ int p3BitDht::checkConnectionAllowed(const bdId *peerId, int mode)
|
||||
rstime_t now = time(NULL);
|
||||
|
||||
/* 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)
|
||||
{
|
||||
#ifdef DEBUG_PEERNET
|
||||
@ -1749,14 +1749,14 @@ int p3BitDht::checkConnectionAllowed(const bdId *peerId, int mode)
|
||||
|
||||
/* flag as failed */
|
||||
it->second.mDhtId = *peerId;
|
||||
it->second.mDhtState = RSDHT_PEERDHT_NOT_ACTIVE;
|
||||
it->second.mDhtState = RsDhtPeerDht::NOT_ACTIVE;
|
||||
it->second.mDhtUpdateTS = now;
|
||||
|
||||
it->second.mPeerType = RSDHT_PEERTYPE_OTHER;
|
||||
it->second.mPeerType = RsDhtPeerType::OTHER;
|
||||
it->second.mPeerCbMsg = "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.mPeerReqMode = 0;
|
||||
//it->second.mPeerProxyId;
|
||||
@ -1765,7 +1765,7 @@ int p3BitDht::checkConnectionAllowed(const bdId *peerId, int mode)
|
||||
it->second.mPeerCbMsg = "Denied Non-Friend";
|
||||
|
||||
it->second.mPeerConnectMsg = "Denied Non-Friend";
|
||||
it->second.mPeerConnectState = RSDHT_PEERCONN_DISCONNECTED;
|
||||
it->second.mPeerConnectState = RsDhtPeerConnectState::DISCONNECTED;
|
||||
|
||||
|
||||
return 0;
|
||||
@ -1774,7 +1774,7 @@ int p3BitDht::checkConnectionAllowed(const bdId *peerId, int mode)
|
||||
|
||||
/* 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 << std::endl;
|
||||
@ -1979,7 +1979,7 @@ void p3BitDht::initiateConnection(const bdId *srcId, const bdId *proxyId, const
|
||||
{
|
||||
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 */
|
||||
if (!dpd)
|
||||
{
|
||||
@ -1988,7 +1988,7 @@ void p3BitDht::initiateConnection(const bdId *srcId, const bdId *proxyId, const
|
||||
return;
|
||||
}
|
||||
|
||||
if (dpd->mPeerConnectState != RSDHT_PEERCONN_DISCONNECTED)
|
||||
if (dpd->mPeerConnectState != RsDhtPeerConnectState::DISCONNECTED)
|
||||
{
|
||||
std::cerr << "p3BitDht::initiateConnection() ERROR Peer is not Disconnected";
|
||||
std::cerr << std::endl;
|
||||
@ -2003,7 +2003,7 @@ void p3BitDht::initiateConnection(const bdId *srcId, const bdId *proxyId, const
|
||||
{
|
||||
default:
|
||||
case BITDHT_CONNECT_MODE_DIRECT:
|
||||
// touConnectMode = RSDHT_TOU_MODE_DIRECT;
|
||||
// touConnectMode = RsDhtTouMode::DIRECT;
|
||||
connectFlags |= RS_CB_FLAG_MODE_UDP_DIRECT;
|
||||
delay = delayOrBandwidth;
|
||||
break;
|
||||
@ -2021,12 +2021,12 @@ void p3BitDht::initiateConnection(const bdId *srcId, const bdId *proxyId, const
|
||||
delay = delayOrBandwidth;
|
||||
if (useProxyPort)
|
||||
{
|
||||
// touConnectMode = RSDHT_TOU_MODE_PROXY;
|
||||
// touConnectMode = RsDhtTouMode::PROXY;
|
||||
connectFlags |= RS_CB_FLAG_MODE_UDP_PROXY;
|
||||
}
|
||||
else
|
||||
{
|
||||
// touConnectMode = RSDHT_TOU_MODE_DIRECT;
|
||||
// touConnectMode = RsDhtTouMode::DIRECT;
|
||||
connectFlags |= RS_CB_FLAG_MODE_UDP_DIRECT;
|
||||
}
|
||||
|
||||
@ -2034,7 +2034,7 @@ void p3BitDht::initiateConnection(const bdId *srcId, const bdId *proxyId, const
|
||||
break;
|
||||
|
||||
case BITDHT_CONNECT_MODE_RELAY:
|
||||
// touConnectMode = RSDHT_TOU_MODE_RELAY;
|
||||
// touConnectMode = RsDhtTouMode::RELAY;
|
||||
connectFlags |= RS_CB_FLAG_MODE_UDP_RELAY;
|
||||
bandwidth = delayOrBandwidth;
|
||||
break;
|
||||
@ -2047,7 +2047,7 @@ void p3BitDht::initiateConnection(const bdId *srcId, const bdId *proxyId, const
|
||||
|
||||
/* store results in Status */
|
||||
dpd->mPeerConnectMsg = "UDP started";
|
||||
dpd->mPeerConnectState = RSDHT_PEERCONN_UDP_STARTED;
|
||||
dpd->mPeerConnectState = RsDhtPeerConnectState::UDP_STARTED;
|
||||
dpd->mPeerConnectUdpTS = time(NULL);
|
||||
dpd->mPeerConnectMode = mode;
|
||||
dpd->mPeerConnectPoint = loc;
|
||||
@ -2092,22 +2092,22 @@ int p3BitDht::installRelayConnection(const bdId *srcId, const bdId *destId, uint
|
||||
#endif
|
||||
|
||||
/* grab a socket */
|
||||
DhtPeerDetails *dpd_src = findInternalDhtPeer_locked(&(srcId->id), RSDHT_PEERTYPE_ANY);
|
||||
DhtPeerDetails *dpd_dest = findInternalDhtPeer_locked(&(destId->id), RSDHT_PEERTYPE_ANY);
|
||||
DhtPeerDetails *dpd_src = findInternalDhtPeer_locked(&(srcId->id), RsDhtPeerType::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;
|
||||
}
|
||||
else if ((dpd_dest) && (dpd_dest->mPeerType == RSDHT_PEERTYPE_FRIEND))
|
||||
else if ((dpd_dest) && (dpd_dest->mPeerType == RsDhtPeerType::FRIEND))
|
||||
{
|
||||
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;
|
||||
}
|
||||
else if ((dpd_dest) && (dpd_dest->mPeerType == RSDHT_PEERTYPE_FOF))
|
||||
else if ((dpd_dest) && (dpd_dest->mPeerType == RsDhtPeerType::FOF))
|
||||
{
|
||||
relayClass = UDP_RELAY_CLASS_FOF;
|
||||
}
|
||||
@ -2178,12 +2178,12 @@ void p3BitDht::monitorConnections()
|
||||
for(it = mPeers.begin(); it != mPeers.end(); ++it)
|
||||
{
|
||||
/* ignore ones which aren't friends */
|
||||
if (it->second.mPeerType != RSDHT_PEERTYPE_FRIEND)
|
||||
if (it->second.mPeerType != RsDhtPeerType::FRIEND)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (it->second.mPeerConnectState == RSDHT_PEERCONN_UDP_STARTED)
|
||||
if (it->second.mPeerConnectState == RsDhtPeerConnectState::UDP_STARTED)
|
||||
{
|
||||
#ifdef DEBUG_PEERNET
|
||||
std::cerr << "p3BitDht::monitorConnections() Connection in progress to: ";
|
||||
@ -2225,7 +2225,7 @@ void p3BitDht::Feedback_Connected(const RsPeerId& pid)
|
||||
}
|
||||
|
||||
/* sanity checking */
|
||||
if (dpd->mPeerConnectState != RSDHT_PEERCONN_UDP_STARTED)
|
||||
if (dpd->mPeerConnectState != RsDhtPeerConnectState::UDP_STARTED)
|
||||
{
|
||||
/* ERROR */
|
||||
std::cerr << "p3BitDht::Feedback_Connected() ERROR not in UDP_STARTED mode for: ";
|
||||
@ -2242,7 +2242,7 @@ void p3BitDht::Feedback_Connected(const RsPeerId& pid)
|
||||
#endif
|
||||
|
||||
/* switch state! */
|
||||
dpd->mPeerConnectState = RSDHT_PEERCONN_CONNECTED;
|
||||
dpd->mPeerConnectState = RsDhtPeerConnectState::CONNECTED;
|
||||
dpd->mPeerConnectTS = time(NULL);
|
||||
|
||||
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);
|
||||
|
||||
// Remove the Connection Request.
|
||||
if (dpd->mPeerReqState == RSDHT_PEERREQ_RUNNING)
|
||||
if (dpd->mPeerReqState == RsDhtPeerRequest::RUNNING)
|
||||
{
|
||||
#ifdef DEBUG_PEERNET
|
||||
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)
|
||||
{
|
||||
if (dpd->mPeerConnectState == RSDHT_PEERCONN_UDP_STARTED)
|
||||
if (dpd->mPeerConnectState == RsDhtPeerConnectState::UDP_STARTED)
|
||||
{
|
||||
#ifdef DEBUG_PEERNET
|
||||
std::cerr << "p3BitDht::UdpConnectionFailed_locked() UDP Connection Failed: ";
|
||||
@ -2345,11 +2345,11 @@ void p3BitDht::UdpConnectionFailed_locked(DhtPeerDetails *dpd)
|
||||
/* shut it down */
|
||||
|
||||
/* 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->mPeerConnectState = RSDHT_PEERCONN_DISCONNECTED;
|
||||
dpd->mPeerConnectState = RsDhtPeerConnectState::DISCONNECTED;
|
||||
dpd->mPeerConnectMsg = "UDP Failed";
|
||||
|
||||
}
|
||||
@ -2363,14 +2363,14 @@ void p3BitDht::UdpConnectionFailed_locked(DhtPeerDetails *dpd)
|
||||
|
||||
dpd->mConnectLogic.updateCb(CSB_UPDATE_DISCONNECTED);
|
||||
|
||||
dpd->mPeerConnectState = RSDHT_PEERCONN_DISCONNECTED;
|
||||
dpd->mPeerConnectState = RsDhtPeerConnectState::DISCONNECTED;
|
||||
dpd->mPeerConnectClosedTS = time(NULL);
|
||||
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
|
||||
std::cerr << "p3BitDht::UdpConnectionFailed_locked() ";
|
||||
|
@ -64,7 +64,7 @@ bool p3BitDht::findPeer(const RsPeerId& pid)
|
||||
DhtPeerDetails *dpd = findInternalRsPeer_locked(pid);
|
||||
if (!dpd)
|
||||
{
|
||||
dpd = addInternalPeer_locked(pid, RSDHT_PEERTYPE_FRIEND);
|
||||
dpd = addInternalPeer_locked(pid, RsDhtPeerType::FRIEND);
|
||||
if (!dpd)
|
||||
{
|
||||
/* ERROR */
|
||||
@ -76,7 +76,7 @@ bool p3BitDht::findPeer(const RsPeerId& pid)
|
||||
}
|
||||
|
||||
/* new entry... what do we need to set? */
|
||||
dpd->mDhtState = RSDHT_PEERDHT_SEARCHING;
|
||||
dpd->mDhtState = RsDhtPeerDht::SEARCHING;
|
||||
|
||||
#ifdef DEBUG_BITDHT
|
||||
std::cerr << "p3BitDht::findPeer() Installed new DhtPeer with pid => NodeId: ";
|
||||
@ -93,7 +93,7 @@ bool p3BitDht::findPeer(const RsPeerId& pid)
|
||||
std::cerr << std::endl;
|
||||
#endif
|
||||
|
||||
if (dpd->mDhtState != RSDHT_PEERDHT_NOT_ACTIVE)
|
||||
if (dpd->mDhtState != RsDhtPeerDht::NOT_ACTIVE)
|
||||
{
|
||||
#ifdef DEBUG_BITDHT
|
||||
std::cerr << "p3BitDht::findPeer() WARNING DhtState is Already Active!";
|
||||
@ -104,7 +104,7 @@ bool p3BitDht::findPeer(const RsPeerId& pid)
|
||||
else
|
||||
{
|
||||
/* flag as searching */
|
||||
dpd->mDhtState = RSDHT_PEERDHT_SEARCHING;
|
||||
dpd->mDhtState = RsDhtPeerDht::SEARCHING;
|
||||
#ifdef DEBUG_BITDHT
|
||||
std::cerr << "p3BitDht::findPeer() Marking Old Peer as SEARCHING";
|
||||
std::cerr << std::endl;
|
||||
@ -150,13 +150,13 @@ bool p3BitDht::dropPeer(const RsPeerId& pid)
|
||||
#endif
|
||||
|
||||
//addFriend(pid);
|
||||
dpd = addInternalPeer_locked(pid, RSDHT_PEERTYPE_FOF);
|
||||
dpd = addInternalPeer_locked(pid, RsDhtPeerType::FOF);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/* flag as searching */
|
||||
dpd->mDhtState = RSDHT_PEERDHT_NOT_ACTIVE;
|
||||
dpd->mDhtState = RsDhtPeerDht::NOT_ACTIVE;
|
||||
|
||||
nid = dpd->mDhtId.id;
|
||||
|
||||
@ -242,7 +242,7 @@ int p3BitDht::addKnownPeer( const RsPeerId &pid,
|
||||
addrv4.sin_addr = ap->sin_addr;
|
||||
addrv4.sin_port = ap->sin_port;
|
||||
|
||||
int p3type = 0;
|
||||
RsDhtPeerType p3type = RsDhtPeerType::ANY;
|
||||
int bdflags = 0;
|
||||
bdId id;
|
||||
bool isOwnId = false;
|
||||
@ -253,27 +253,27 @@ int p3BitDht::addKnownPeer( const RsPeerId &pid,
|
||||
return 0;
|
||||
break;
|
||||
case NETASSIST_KNOWN_PEER_WHITELIST:
|
||||
p3type = RSDHT_PEERTYPE_OTHER;
|
||||
p3type = RsDhtPeerType::OTHER;
|
||||
bdflags = BITDHT_PEER_STATUS_DHT_WHITELIST;
|
||||
|
||||
break;
|
||||
case NETASSIST_KNOWN_PEER_FOF:
|
||||
p3type = RSDHT_PEERTYPE_FOF;
|
||||
p3type = RsDhtPeerType::FOF;
|
||||
bdflags = BITDHT_PEER_STATUS_DHT_FOF;
|
||||
|
||||
break;
|
||||
case NETASSIST_KNOWN_PEER_FRIEND:
|
||||
p3type = RSDHT_PEERTYPE_FRIEND;
|
||||
p3type = RsDhtPeerType::FRIEND;
|
||||
bdflags = BITDHT_PEER_STATUS_DHT_FRIEND;
|
||||
|
||||
break;
|
||||
case NETASSIST_KNOWN_PEER_RELAY:
|
||||
p3type = RSDHT_PEERTYPE_OTHER;
|
||||
p3type = RsDhtPeerType::OTHER;
|
||||
bdflags = BITDHT_PEER_STATUS_DHT_RELAY_SERVER;
|
||||
|
||||
break;
|
||||
case NETASSIST_KNOWN_PEER_SELF:
|
||||
p3type = RSDHT_PEERTYPE_OTHER;
|
||||
p3type = RsDhtPeerType::OTHER;
|
||||
bdflags = BITDHT_PEER_STATUS_DHT_SELF;
|
||||
isOwnId = true;
|
||||
|
||||
@ -364,7 +364,7 @@ int p3BitDht::addFriend(const std::string pid)
|
||||
{
|
||||
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 *********/
|
||||
|
||||
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 *********/
|
||||
|
||||
return (NULL != addInternalPeer_locked(pid, RSDHT_PEERTYPE_OTHER));
|
||||
return (NULL != addInternalPeer_locked(pid, RsDhtPeerType::OTHER));
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -397,7 +397,7 @@ int p3BitDht::removePeer(const RsPeerId& pid)
|
||||
********************************* 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 */
|
||||
if (!havePeerTranslation_locked(pid))
|
||||
@ -411,18 +411,18 @@ DhtPeerDetails *p3BitDht::addInternalPeer_locked(const RsPeerId& pid, uint32_t t
|
||||
return 0;
|
||||
}
|
||||
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&id, RSDHT_PEERTYPE_ANY);
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&id, RsDhtPeerType::ANY);
|
||||
if (!dpd)
|
||||
{
|
||||
DhtPeerDetails newdpd;
|
||||
|
||||
newdpd.mDhtId.id = id;
|
||||
newdpd.mRsId = pid;
|
||||
newdpd.mDhtState = RSDHT_PEERDHT_NOT_ACTIVE;
|
||||
newdpd.mPeerType = RSDHT_PEERTYPE_ANY;
|
||||
newdpd.mDhtState = RsDhtPeerDht::NOT_ACTIVE;
|
||||
newdpd.mPeerType = RsDhtPeerType::ANY;
|
||||
|
||||
mPeers[id] = newdpd;
|
||||
dpd = findInternalDhtPeer_locked(&id, RSDHT_PEERTYPE_ANY);
|
||||
dpd = findInternalDhtPeer_locked(&id, RsDhtPeerType::ANY);
|
||||
|
||||
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 */
|
||||
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);
|
||||
if (it == mPeers.end())
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
if (type)
|
||||
if (type != RsDhtPeerType::ANY)
|
||||
{
|
||||
if (it->second.mPeerType != type)
|
||||
{
|
||||
@ -495,7 +495,7 @@ DhtPeerDetails *p3BitDht::findInternalRsPeer_locked(const RsPeerId &pid)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&id,RSDHT_PEERTYPE_ANY);
|
||||
DhtPeerDetails *dpd = findInternalDhtPeer_locked(&id,RsDhtPeerType::ANY);
|
||||
|
||||
return dpd;
|
||||
}
|
||||
@ -717,13 +717,13 @@ int p3BitDht::calculateNodeId(const RsPeerId& pid, bdNodeId *id)
|
||||
|
||||
DhtPeerDetails::DhtPeerDetails()
|
||||
{
|
||||
mDhtState = RSDHT_PEERDHT_NOT_ACTIVE;
|
||||
mDhtState = RsDhtPeerDht::NOT_ACTIVE;
|
||||
|
||||
mDhtState = RSDHT_PEERDHT_SEARCHING;
|
||||
mDhtState = RsDhtPeerDht::SEARCHING;
|
||||
mDhtUpdateTS = time(NULL);
|
||||
|
||||
mPeerReqStatusMsg = "Just Added";
|
||||
mPeerReqState = RSDHT_PEERREQ_STOPPED;
|
||||
mPeerReqState = RsDhtPeerRequest::STOPPED;
|
||||
mPeerReqMode = 0;
|
||||
//mPeerReqProxyId;
|
||||
mPeerReqTS = time(NULL);
|
||||
@ -737,7 +737,7 @@ DhtPeerDetails::DhtPeerDetails()
|
||||
//mPeerCbDestId = 0;
|
||||
mPeerCbTS = 0;
|
||||
|
||||
mPeerConnectState = RSDHT_PEERCONN_DISCONNECTED;
|
||||
mPeerConnectState = RsDhtPeerConnectState::DISCONNECTED;
|
||||
mPeerConnectMsg = "Disconnected";
|
||||
mPeerConnectMode = 0;
|
||||
//dpd->mPeerConnectProxyId;
|
||||
|
@ -35,7 +35,7 @@
|
||||
|
||||
int p3BitDht::setupRelayDefaults()
|
||||
{
|
||||
uint32_t mode = RSDHT_RELAY_ENABLED | RSDHT_RELAY_MODE_OFF;
|
||||
RsDhtRelayMode mode = RsDhtRelayMode::ENABLED | RsDhtRelayMode::OFF;
|
||||
setRelayMode(mode);
|
||||
|
||||
return 1;
|
||||
@ -111,19 +111,19 @@ int p3BitDht::pushRelayServers()
|
||||
}
|
||||
|
||||
|
||||
uint32_t p3BitDht::getRelayMode()
|
||||
RsDhtRelayMode p3BitDht::getRelayMode()
|
||||
{
|
||||
RsStackMutex stack(dhtMtx); /*********** LOCKED **********/
|
||||
|
||||
return mRelayMode;
|
||||
}
|
||||
|
||||
int p3BitDht::setRelayMode(uint32_t mode)
|
||||
int p3BitDht::setRelayMode(RsDhtRelayMode mode)
|
||||
{
|
||||
std::cerr << "p3BitDht::setRelayMode(" << mode << ")";
|
||||
std::cerr << std::endl;
|
||||
|
||||
if (mode & RSDHT_RELAY_ENABLED)
|
||||
if (!!(mode & RsDhtRelayMode::ENABLED))
|
||||
{
|
||||
mUdpBitDht->ConnectionOptions(
|
||||
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);
|
||||
}
|
||||
|
||||
int relaymode = mode & RSDHT_RELAY_MODE_MASK;
|
||||
RsDhtRelayMode relaymode = mode & RsDhtRelayMode::MASK;
|
||||
|
||||
switch(relaymode)
|
||||
{
|
||||
case RSDHT_RELAY_MODE_OFF:
|
||||
case RsDhtRelayMode::OFF:
|
||||
mUdpBitDht->setDhtMode(BITDHT_MODE_RELAYSERVERS_IGNORED);
|
||||
break;
|
||||
case RSDHT_RELAY_MODE_ON:
|
||||
case RsDhtRelayMode::ON:
|
||||
pushRelayServers();
|
||||
mUdpBitDht->setDhtMode(BITDHT_MODE_RELAYSERVERS_FLAGGED);
|
||||
break;
|
||||
case RSDHT_RELAY_MODE_SERVER:
|
||||
case RsDhtRelayMode::SERVER:
|
||||
pushRelayServers();
|
||||
mUdpBitDht->setDhtMode(BITDHT_MODE_RELAYSERVERS_SERVER);
|
||||
break;
|
||||
@ -163,13 +163,13 @@ int p3BitDht::setRelayMode(uint32_t mode)
|
||||
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 << "): ";
|
||||
if ((classIdx >= 0) && (classIdx < RSDHT_RELAY_NUM_CLASS))
|
||||
std::cerr << "p3BitDht::getRelayAllowance(" << static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(classIdx) << "): ";
|
||||
if ((classIdx >= RsDhtRelayClass::ALL) && (classIdx < RsDhtRelayClass::NUM_CLASS))
|
||||
{
|
||||
count = mRelay->getRelayClassMax(classIdx);
|
||||
bandwidth = mRelay->getRelayClassBandwidth(classIdx);
|
||||
count = mRelay->getRelayClassMax(static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(classIdx));
|
||||
bandwidth = mRelay->getRelayClassBandwidth(static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(classIdx));
|
||||
|
||||
std::cerr << " count: " << count << " bandwidth: " << bandwidth;
|
||||
std::cerr << std::endl;
|
||||
@ -181,13 +181,13 @@ int p3BitDht::getRelayAllowance(int classIdx, uint32_t &count, uint32_t &bandwid
|
||||
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 << 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();
|
||||
|
||||
return retval;
|
||||
@ -224,7 +224,7 @@ bool p3BitDht::saveList(bool &cleanup, std::list<RsItem *> &saveList)
|
||||
|
||||
/* Push Relay Class Stuff */
|
||||
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.value, "%d", mRelay->getRelayClassMax(i));
|
||||
@ -302,11 +302,11 @@ bool p3BitDht::loadList(std::list<RsItem *>& load)
|
||||
//config->print(std::cerr, 0);
|
||||
|
||||
std::list<std::string> servers;
|
||||
int peers[RSDHT_RELAY_NUM_CLASS] = {0};
|
||||
int bandwidth[RSDHT_RELAY_NUM_CLASS] = {0};
|
||||
int peers[static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::NUM_CLASS)] = {0};
|
||||
int bandwidth[static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::NUM_CLASS)] = {0};
|
||||
|
||||
bool haveMode = false;
|
||||
int mode = 0;
|
||||
RsDhtRelayMode mode = RsDhtRelayMode::DISABLED;
|
||||
|
||||
std::list<RsTlvKeyValue>::iterator 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))
|
||||
{
|
||||
mode = atoi(value.c_str());
|
||||
mode = static_cast<RsDhtRelayMode>(atoi(value.c_str()));
|
||||
haveMode = true;
|
||||
|
||||
//std::cerr << "p3BitDht::loadList() Found Mode: " << mode;
|
||||
@ -386,7 +386,7 @@ bool p3BitDht::loadList(std::list<RsItem *>& load)
|
||||
}
|
||||
|
||||
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]);
|
||||
}
|
||||
|
@ -1063,8 +1063,12 @@ void p3LinkMgrIMPL::peerStatus(const RsPeerId& id, const pqiIpAddrSet &addrs,
|
||||
uint32_t peer_vs_dht = 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 *******/
|
||||
|
||||
|
@ -124,8 +124,8 @@ p3NetMgrIMPL::p3NetMgrIMPL() : mPeerMgr(nullptr), mLinkMgr(nullptr),
|
||||
mNetFlags = pqiNetStatus();
|
||||
mOldNetFlags = pqiNetStatus();
|
||||
|
||||
mOldNatType = RSNET_NATTYPE_UNKNOWN;
|
||||
mOldNatHole = RSNET_NATHOLE_UNKNOWN;
|
||||
mOldNatType = RsNatTypeMode::UNKNOWN;
|
||||
mOldNatHole = RsNatHoleMode::UNKNOWN;
|
||||
sockaddr_storage_clear(mLocalAddr);
|
||||
sockaddr_storage_clear(mExtAddr);
|
||||
|
||||
@ -1629,31 +1629,31 @@ void p3NetMgrIMPL::setIPServersEnabled(bool b)
|
||||
************************************** NetStateBox ******************************************
|
||||
**********************************************************************************************/
|
||||
|
||||
uint32_t p3NetMgrIMPL::getNetStateMode()
|
||||
RsNetState p3NetMgrIMPL::getNetStateMode()
|
||||
{
|
||||
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
|
||||
return mNetStateBox.getNetStateMode();
|
||||
}
|
||||
|
||||
uint32_t p3NetMgrIMPL::getNetworkMode()
|
||||
RsNetworkMode p3NetMgrIMPL::getNetworkMode()
|
||||
{
|
||||
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
|
||||
return mNetStateBox.getNetworkMode();
|
||||
}
|
||||
|
||||
uint32_t p3NetMgrIMPL::getNatTypeMode()
|
||||
RsNatTypeMode p3NetMgrIMPL::getNatTypeMode()
|
||||
{
|
||||
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
|
||||
return mNetStateBox.getNatTypeMode();
|
||||
}
|
||||
|
||||
uint32_t p3NetMgrIMPL::getNatHoleMode()
|
||||
RsNatHoleMode p3NetMgrIMPL::getNatHoleMode()
|
||||
{
|
||||
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
|
||||
return mNetStateBox.getNatHoleMode();
|
||||
}
|
||||
|
||||
uint32_t p3NetMgrIMPL::getConnectModes()
|
||||
RsConnectModes p3NetMgrIMPL::getConnectModes()
|
||||
{
|
||||
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
|
||||
return mNetStateBox.getConnectModes();
|
||||
@ -1768,8 +1768,8 @@ void p3NetMgrIMPL::updateNetStateBox_temporal()
|
||||
void p3NetMgrIMPL::updateNatSetting()
|
||||
{
|
||||
bool updateRefreshRate = false;
|
||||
uint32_t natType = RSNET_NATTYPE_UNKNOWN;
|
||||
uint32_t natHole = RSNET_NATHOLE_UNKNOWN;
|
||||
RsNatTypeMode natType = RsNatTypeMode::UNKNOWN;
|
||||
RsNatHoleMode natHole = RsNatHoleMode::UNKNOWN;
|
||||
{
|
||||
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
|
||||
|
||||
@ -1806,9 +1806,9 @@ void p3NetMgrIMPL::updateNatSetting()
|
||||
if (mProxyStunner) {
|
||||
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);
|
||||
}
|
||||
@ -1818,12 +1818,12 @@ void p3NetMgrIMPL::updateNatSetting()
|
||||
}
|
||||
break;
|
||||
}
|
||||
case RSNET_NATTYPE_NONE:
|
||||
case RSNET_NATTYPE_UNKNOWN:
|
||||
case RSNET_NATTYPE_SYMMETRIC:
|
||||
case RSNET_NATTYPE_DETERM_SYM:
|
||||
case RSNET_NATTYPE_FULL_CONE:
|
||||
case RSNET_NATTYPE_OTHER:
|
||||
case RsNatTypeMode::NONE:
|
||||
case RsNatTypeMode::UNKNOWN:
|
||||
case RsNatTypeMode::SYMMETRIC:
|
||||
case RsNatTypeMode::DETERM_SYM:
|
||||
case RsNatTypeMode::FULL_CONE:
|
||||
case RsNatTypeMode::OTHER:
|
||||
|
||||
mProxyStunner->setRefreshPeriod(NET_STUNNER_PERIOD_SLOW);
|
||||
break;
|
||||
@ -1836,22 +1836,22 @@ void p3NetMgrIMPL::updateNatSetting()
|
||||
* So that messages can get through.
|
||||
* 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 to attach mode if we have a bad firewall */
|
||||
case RSNET_NATTYPE_UNKNOWN:
|
||||
case RSNET_NATTYPE_SYMMETRIC:
|
||||
case RSNET_NATTYPE_RESTRICTED_CONE:
|
||||
case RSNET_NATTYPE_DETERM_SYM:
|
||||
case RSNET_NATTYPE_OTHER:
|
||||
case RsNatTypeMode::UNKNOWN:
|
||||
case RsNatTypeMode::SYMMETRIC:
|
||||
case RsNatTypeMode::RESTRICTED_CONE:
|
||||
case RsNatTypeMode::DETERM_SYM:
|
||||
case RsNatTypeMode::OTHER:
|
||||
netAssistAttach(true);
|
||||
|
||||
break;
|
||||
/* switch off attach mode if we have a nice firewall */
|
||||
case RSNET_NATTYPE_NONE:
|
||||
case RSNET_NATTYPE_FULL_CONE:
|
||||
case RsNatTypeMode::NONE:
|
||||
case RsNatTypeMode::FULL_CONE:
|
||||
netAssistAttach(false);
|
||||
break;
|
||||
}
|
||||
@ -1970,8 +1970,8 @@ void p3NetMgrIMPL::updateNetStateBox_reset()
|
||||
|
||||
mNetStateBox.reset();
|
||||
|
||||
mOldNatHole = RSNET_NATHOLE_UNKNOWN;
|
||||
mOldNatType = RSNET_NATTYPE_UNKNOWN;
|
||||
mOldNatHole = RsNatHoleMode::UNKNOWN;
|
||||
mOldNatType = RsNatTypeMode::UNKNOWN;
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -103,11 +103,11 @@ virtual bool netAssistBadPeer(const struct sockaddr_storage &addr, uint32_t reas
|
||||
virtual bool netAssistStatusUpdate(const RsPeerId &id, int mode) = 0;
|
||||
|
||||
/* Get Network State */
|
||||
virtual uint32_t getNetStateMode() = 0;
|
||||
virtual uint32_t getNetworkMode() = 0;
|
||||
virtual uint32_t getNatTypeMode() = 0;
|
||||
virtual uint32_t getNatHoleMode() = 0;
|
||||
virtual uint32_t getConnectModes() = 0;
|
||||
virtual RsNetState getNetStateMode() = 0;
|
||||
virtual RsNetworkMode getNetworkMode() = 0;
|
||||
virtual RsNatTypeMode getNatTypeMode() = 0;
|
||||
virtual RsNatHoleMode getNatHoleMode() = 0;
|
||||
virtual RsConnectModes getConnectModes() = 0;
|
||||
|
||||
/* Shut It Down! */
|
||||
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);
|
||||
|
||||
/* Get Network State */
|
||||
virtual uint32_t getNetStateMode();
|
||||
virtual uint32_t getNetworkMode();
|
||||
virtual uint32_t getNatTypeMode();
|
||||
virtual uint32_t getNatHoleMode();
|
||||
virtual uint32_t getConnectModes();
|
||||
virtual RsNetState getNetStateMode();
|
||||
virtual RsNetworkMode getNetworkMode();
|
||||
virtual RsNatTypeMode getNatTypeMode();
|
||||
virtual RsNatHoleMode getNatHoleMode();
|
||||
virtual RsConnectModes getConnectModes();
|
||||
|
||||
/* Shut It Down! */
|
||||
virtual bool shutdown(); /* blocking shutdown call */
|
||||
@ -323,8 +323,8 @@ void netStatusReset_locked();
|
||||
pqiNetStateBox mNetStateBox;
|
||||
|
||||
rstime_t mDoNotNetCheckUntilTs;
|
||||
uint32_t mOldNatType;
|
||||
uint32_t mOldNatHole;
|
||||
RsNatTypeMode mOldNatType;
|
||||
RsNatHoleMode mOldNatHole;
|
||||
|
||||
RS_SET_CONTEXT_DEBUG_LEVEL(2)
|
||||
};
|
||||
|
@ -20,7 +20,6 @@
|
||||
* *
|
||||
*******************************************************************************/
|
||||
|
||||
#include "retroshare/rsconfig.h"
|
||||
#include "util/rsnet.h"
|
||||
#include "pqi/pqinetstatebox.h"
|
||||
#include "util/rstime.h"
|
||||
@ -147,32 +146,32 @@ void pqiNetStateBox::setDhtState(bool on, bool active)
|
||||
|
||||
|
||||
/* Extract Net State */
|
||||
uint32_t pqiNetStateBox::getNetworkMode()
|
||||
RsNetworkMode pqiNetStateBox::getNetworkMode()
|
||||
{
|
||||
updateNetState();
|
||||
return mNetworkMode;
|
||||
}
|
||||
|
||||
uint32_t pqiNetStateBox::getNatTypeMode()
|
||||
RsNatTypeMode pqiNetStateBox::getNatTypeMode()
|
||||
{
|
||||
updateNetState();
|
||||
return mNatTypeMode;
|
||||
}
|
||||
|
||||
uint32_t pqiNetStateBox::getNatHoleMode()
|
||||
RsNatHoleMode pqiNetStateBox::getNatHoleMode()
|
||||
{
|
||||
updateNetState();
|
||||
return mNatHoleMode;
|
||||
}
|
||||
|
||||
uint32_t pqiNetStateBox::getConnectModes()
|
||||
RsConnectModes pqiNetStateBox::getConnectModes()
|
||||
{
|
||||
updateNetState();
|
||||
return mConnectModes;
|
||||
}
|
||||
|
||||
|
||||
uint32_t pqiNetStateBox::getNetStateMode()
|
||||
RsNetState pqiNetStateBox::getNetStateMode()
|
||||
{
|
||||
updateNetState();
|
||||
return mNetStateMode;
|
||||
@ -193,11 +192,11 @@ void pqiNetStateBox::reset()
|
||||
mStatusOkay = false;
|
||||
//rstime_t mStatusTS;
|
||||
|
||||
mNetworkMode = RSNET_NETWORK_UNKNOWN;
|
||||
mNatTypeMode = RSNET_NATTYPE_UNKNOWN;
|
||||
mNatHoleMode = RSNET_NATHOLE_UNKNOWN;
|
||||
mConnectModes = RSNET_CONNECT_NONE;
|
||||
mNetStateMode = RSNET_NETSTATE_BAD_UNKNOWN;
|
||||
mNetworkMode = RsNetworkMode::UNKNOWN;
|
||||
mNatTypeMode = RsNatTypeMode::UNKNOWN;
|
||||
mNatHoleMode = RsNatHoleMode::UNKNOWN;
|
||||
mConnectModes = RsConnectModes::NONE;
|
||||
mNetStateMode = RsNetState::BAD_UNKNOWN;
|
||||
|
||||
/* Parameters set externally */
|
||||
|
||||
@ -302,11 +301,11 @@ void pqiNetStateBox::determineNetworkState()
|
||||
/* firstly lets try to identify OFFLINE / UNKNOWN */
|
||||
if ((!mStunProxySet) || (!mStunDhtSet))
|
||||
{
|
||||
mNetworkMode = RSNET_NETWORK_UNKNOWN;
|
||||
mNetworkMode = RsNetworkMode::UNKNOWN;
|
||||
// Assume these.
|
||||
mNatTypeMode = RSNET_NATTYPE_UNKNOWN;
|
||||
mNatHoleMode = RSNET_NATHOLE_NONE;
|
||||
mNetStateMode = RSNET_NETSTATE_BAD_UNKNOWN;
|
||||
mNatTypeMode = RsNatTypeMode::UNKNOWN;
|
||||
mNatHoleMode = RsNatHoleMode::NONE;
|
||||
mNetStateMode = RsNetState::BAD_UNKNOWN;
|
||||
|
||||
//mExtAddress = .... unknown;
|
||||
//mExtAddrStable = false;
|
||||
@ -335,19 +334,19 @@ void pqiNetStateBox::determineNetworkState()
|
||||
*
|
||||
*/
|
||||
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNatTypeMode = RSNET_NATTYPE_DETERM_SYM;
|
||||
mNatHoleMode = RSNET_NATHOLE_NONE;
|
||||
mNetStateMode = RSNET_NETSTATE_WARNING_NATTED;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
mNatTypeMode = RsNatTypeMode::DETERM_SYM;
|
||||
mNatHoleMode = RsNatHoleMode::NONE;
|
||||
mNetStateMode = RsNetState::WARNING_NATTED;
|
||||
|
||||
}
|
||||
else if (!mStunProxyStable)
|
||||
{
|
||||
/* both unstable, Symmetric NAT, Firewalled, No UDP Hole */
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNatTypeMode = RSNET_NATTYPE_SYMMETRIC;
|
||||
mNatHoleMode = RSNET_NATHOLE_NONE;
|
||||
mNetStateMode = RSNET_NETSTATE_BAD_NATSYM;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
mNatTypeMode = RsNatTypeMode::SYMMETRIC;
|
||||
mNatHoleMode = RsNatHoleMode::NONE;
|
||||
mNetStateMode = RsNetState::BAD_NATSYM;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -366,10 +365,10 @@ void pqiNetStateBox::determineNetworkState()
|
||||
* but that label is really fully accurate. (gray area).
|
||||
*/
|
||||
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNatTypeMode = RSNET_NATTYPE_RESTRICTED_CONE;
|
||||
mNatHoleMode = RSNET_NATHOLE_NONE;
|
||||
mNetStateMode = RSNET_NETSTATE_WARNING_NATTED;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
mNatTypeMode = RsNatTypeMode::RESTRICTED_CONE;
|
||||
mNatHoleMode = RsNatHoleMode::NONE;
|
||||
mNetStateMode = RsNetState::WARNING_NATTED;
|
||||
}
|
||||
}
|
||||
else // Dht Stable.
|
||||
@ -392,47 +391,47 @@ void pqiNetStateBox::determineNetworkState()
|
||||
if (mStunProxySemiStable)
|
||||
{
|
||||
/* must be a forwarded port/ext or something similar */
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNatTypeMode = RSNET_NATTYPE_DETERM_SYM;
|
||||
mNatHoleMode = RSNET_NATHOLE_FORWARDED;
|
||||
mNetStateMode = RSNET_NETSTATE_GOOD;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
mNatTypeMode = RsNatTypeMode::DETERM_SYM;
|
||||
mNatHoleMode = RsNatHoleMode::FORWARDED;
|
||||
mNetStateMode = RsNetState::GOOD;
|
||||
}
|
||||
else if (!mStunProxyStable)
|
||||
{
|
||||
/* must be a forwarded port/ext or something similar */
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNatTypeMode = RSNET_NATTYPE_SYMMETRIC;
|
||||
mNatHoleMode = RSNET_NATHOLE_FORWARDED;
|
||||
mNetStateMode = RSNET_NETSTATE_GOOD;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
mNatTypeMode = RsNatTypeMode::SYMMETRIC;
|
||||
mNatHoleMode = RsNatHoleMode::FORWARDED;
|
||||
mNetStateMode = RsNetState::GOOD;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* fallback is FULL CONE NAT */
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNatTypeMode = RSNET_NATTYPE_FULL_CONE;
|
||||
mNatHoleMode = RSNET_NATHOLE_NONE;
|
||||
mNetStateMode = RSNET_NETSTATE_WARNING_NATTED;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
mNatTypeMode = RsNatTypeMode::FULL_CONE;
|
||||
mNatHoleMode = RsNatHoleMode::NONE;
|
||||
mNetStateMode = RsNetState::WARNING_NATTED;
|
||||
}
|
||||
|
||||
if (mUPnPActive)
|
||||
{
|
||||
// This Mode is OKAY.
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
// Use Fallback Guess.
|
||||
//mNatTypeMode = RSNET_NATTYPE_UNKNOWN;
|
||||
mNatHoleMode = RSNET_NATHOLE_UPNP;
|
||||
mNetStateMode = RSNET_NETSTATE_GOOD;
|
||||
//mNatTypeMode = RsNatTypeMode::UNKNOWN;
|
||||
mNatHoleMode = RsNatHoleMode::UPNP;
|
||||
mNetStateMode = RsNetState::GOOD;
|
||||
//mExtAddress = ... from UPnP, should match StunDht.
|
||||
//mExtAddrStable = true;
|
||||
}
|
||||
else if (mNatPMPActive)
|
||||
{
|
||||
// This Mode is OKAY.
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
// Use Fallback Guess.
|
||||
//mNatTypeMode = RSNET_NATTYPE_UNKNOWN;
|
||||
mNatHoleMode = RSNET_NATHOLE_NATPMP;
|
||||
mNetStateMode = RSNET_NETSTATE_GOOD;
|
||||
//mNatTypeMode = RsNatTypeMode::UNKNOWN;
|
||||
mNatHoleMode = RsNatHoleMode::NATPMP;
|
||||
mNetStateMode = RsNetState::GOOD;
|
||||
//mExtAddress = ... from NatPMP, should match NatPMP
|
||||
//mExtAddrStable = true;
|
||||
}
|
||||
@ -442,20 +441,20 @@ void pqiNetStateBox::determineNetworkState()
|
||||
|
||||
if (isExtAddress)
|
||||
{
|
||||
mNetworkMode = RSNET_NETWORK_EXTERNALIP;
|
||||
mNatTypeMode = RSNET_NATTYPE_NONE;
|
||||
mNatHoleMode = RSNET_NATHOLE_NONE;
|
||||
mNetStateMode = RSNET_NETSTATE_GOOD;
|
||||
mNetworkMode = RsNetworkMode::EXTERNALIP;
|
||||
mNatTypeMode = RsNatTypeMode::NONE;
|
||||
mNatHoleMode = RsNatHoleMode::NONE;
|
||||
mNetStateMode = RsNetState::GOOD;
|
||||
|
||||
//mExtAddrStable = true;
|
||||
}
|
||||
else if (mPortForwardSet)
|
||||
{
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
// Use Fallback Guess.
|
||||
//mNatTypeMode = RSNET_NATTYPE_UNKNOWN;
|
||||
mNatHoleMode = RSNET_NATHOLE_FORWARDED;
|
||||
mNetStateMode = RSNET_NETSTATE_ADV_FORWARD;
|
||||
//mNatTypeMode = RsNatTypeMode::UNKNOWN;
|
||||
mNatHoleMode = RsNatHoleMode::FORWARDED;
|
||||
mNetStateMode = RsNetState::ADV_FORWARD;
|
||||
|
||||
//mExtAddrStable = true; // Probably, makin assumption.
|
||||
}
|
||||
@ -479,22 +478,22 @@ void pqiNetStateBox::determineNetworkState()
|
||||
if (mUPnPActive)
|
||||
{
|
||||
// This Mode is OKAY.
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNatTypeMode = RSNET_NATTYPE_UNKNOWN;
|
||||
mNatHoleMode = RSNET_NATHOLE_UPNP;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
mNatTypeMode = RsNatTypeMode::UNKNOWN;
|
||||
mNatHoleMode = RsNatHoleMode::UPNP;
|
||||
//mExtAddress = ... from UPnP.
|
||||
//mExtAddrStable = true;
|
||||
mNetStateMode = RSNET_NETSTATE_WARNING_NODHT;
|
||||
mNetStateMode = RsNetState::WARNING_NODHT;
|
||||
}
|
||||
else if (mNatPMPActive)
|
||||
{
|
||||
// This Mode is OKAY.
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNatTypeMode = RSNET_NATTYPE_UNKNOWN;
|
||||
mNatHoleMode = RSNET_NATHOLE_NATPMP;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
mNatTypeMode = RsNatTypeMode::UNKNOWN;
|
||||
mNatHoleMode = RsNatHoleMode::NATPMP;
|
||||
//mExtAddress = ... from NatPMP.
|
||||
//mExtAddrStable = true;
|
||||
mNetStateMode = RSNET_NETSTATE_WARNING_NODHT;
|
||||
mNetStateMode = RsNetState::WARNING_NODHT;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -506,21 +505,21 @@ void pqiNetStateBox::determineNetworkState()
|
||||
|
||||
if (isExtAddress)
|
||||
{
|
||||
mNetworkMode = RSNET_NETWORK_EXTERNALIP;
|
||||
mNatTypeMode = RSNET_NATTYPE_NONE;
|
||||
mNatHoleMode = RSNET_NATHOLE_NONE;
|
||||
mNetworkMode = RsNetworkMode::EXTERNALIP;
|
||||
mNatTypeMode = RsNatTypeMode::NONE;
|
||||
mNatHoleMode = RsNatHoleMode::NONE;
|
||||
|
||||
//mExtAddrStable = true;
|
||||
mNetStateMode = RSNET_NETSTATE_WARNING_NODHT;
|
||||
mNetStateMode = RsNetState::WARNING_NODHT;
|
||||
}
|
||||
else if (mPortForwardSet)
|
||||
{
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNatTypeMode = RSNET_NATTYPE_UNKNOWN;
|
||||
mNatHoleMode = RSNET_NATHOLE_FORWARDED;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
mNatTypeMode = RsNatTypeMode::UNKNOWN;
|
||||
mNatHoleMode = RsNatHoleMode::FORWARDED;
|
||||
|
||||
//mExtAddrStable = true; // Probably, makin assumption.
|
||||
mNetStateMode = RSNET_NETSTATE_WARNING_NODHT;
|
||||
mNetStateMode = RsNetState::WARNING_NODHT;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -528,10 +527,10 @@ void pqiNetStateBox::determineNetworkState()
|
||||
* These people have destroyed the possibility of making connections ;(
|
||||
* Should WARN about this.
|
||||
*/
|
||||
mNetworkMode = RSNET_NETWORK_BEHINDNAT;
|
||||
mNatTypeMode = RSNET_NATTYPE_UNKNOWN;
|
||||
mNatHoleMode = RSNET_NATHOLE_NONE;
|
||||
mNetStateMode = RSNET_NETSTATE_BAD_NODHT_NAT;
|
||||
mNetworkMode = RsNetworkMode::BEHINDNAT;
|
||||
mNatTypeMode = RsNatTypeMode::UNKNOWN;
|
||||
mNatHoleMode = RsNatHoleMode::NONE;
|
||||
mNetStateMode = RsNetState::BAD_NODHT_NAT;
|
||||
|
||||
//mExtAddrStable = false; // Unlikely to be stable.
|
||||
}
|
||||
@ -553,42 +552,43 @@ void pqiNetStateBox::determineNetworkState()
|
||||
void pqiNetStateBox::workoutNetworkMode()
|
||||
{
|
||||
/* connectModes are dependent on the other modes */
|
||||
mConnectModes = RSNET_CONNECT_NONE;
|
||||
mConnectModes = RsConnectModes::NONE;
|
||||
switch(mNetworkMode)
|
||||
{
|
||||
case RSNET_NETWORK_UNKNOWN:
|
||||
case RSNET_NETWORK_OFFLINE:
|
||||
case RSNET_NETWORK_LOCALNET:
|
||||
case RsNetworkMode::UNKNOWN:
|
||||
case RsNetworkMode::OFFLINE:
|
||||
case RsNetworkMode::LOCALNET:
|
||||
case RsNetworkMode::RESTARTING:
|
||||
/* nothing here */
|
||||
break;
|
||||
case RSNET_NETWORK_EXTERNALIP:
|
||||
mConnectModes = RSNET_CONNECT_OUTGOING_TCP;
|
||||
mConnectModes |= RSNET_CONNECT_ACCEPT_TCP;
|
||||
case RsNetworkMode::EXTERNALIP:
|
||||
mConnectModes = RsConnectModes::OUTGOING_TCP;
|
||||
mConnectModes |= RsConnectModes::ACCEPT_TCP;
|
||||
|
||||
if (mDhtActive)
|
||||
{
|
||||
mConnectModes |= RSNET_CONNECT_DIRECT_UDP;
|
||||
mConnectModes |= RsConnectModes::DIRECT_UDP;
|
||||
/* if open port. don't want PROXY or RELAY connect
|
||||
* because we should be able to do direct with EVERYONE.
|
||||
* Ability to do Proxy is dependent on FIREWALL status.
|
||||
* Technically could do RELAY, but disable both.
|
||||
*/
|
||||
//mConnectModes |= RSNET_CONNECT_PROXY_UDP;
|
||||
//mConnectModes |= RSNET_CONNECT_RELAY_UDP;
|
||||
//mConnectModes |= RsConnectModes::PROXY_UDP;
|
||||
//mConnectModes |= RsConnectModes::RELAY_UDP;
|
||||
}
|
||||
break;
|
||||
case RSNET_NETWORK_BEHINDNAT:
|
||||
mConnectModes = RSNET_CONNECT_OUTGOING_TCP;
|
||||
case RsNetworkMode::BEHINDNAT:
|
||||
mConnectModes = RsConnectModes::OUTGOING_TCP;
|
||||
|
||||
/* we're okay if there's a NAT HOLE */
|
||||
if ((mNatHoleMode == RSNET_NATHOLE_UPNP) ||
|
||||
(mNatHoleMode == RSNET_NATHOLE_NATPMP) ||
|
||||
(mNatHoleMode == RSNET_NATHOLE_FORWARDED))
|
||||
if ((mNatHoleMode == RsNatHoleMode::UPNP) ||
|
||||
(mNatHoleMode == RsNatHoleMode::NATPMP) ||
|
||||
(mNatHoleMode == RsNatHoleMode::FORWARDED))
|
||||
{
|
||||
mConnectModes |= RSNET_CONNECT_ACCEPT_TCP;
|
||||
mConnectModes |= RsConnectModes::ACCEPT_TCP;
|
||||
if (mDhtActive)
|
||||
{
|
||||
mConnectModes |= RSNET_CONNECT_DIRECT_UDP;
|
||||
mConnectModes |= RsConnectModes::DIRECT_UDP;
|
||||
/* dont want PROXY | RELAY with open ports */
|
||||
}
|
||||
}
|
||||
@ -600,175 +600,17 @@ void pqiNetStateBox::workoutNetworkMode()
|
||||
*/
|
||||
if (mDhtActive)
|
||||
{
|
||||
mConnectModes |= RSNET_CONNECT_DIRECT_UDP;
|
||||
mConnectModes |= RSNET_CONNECT_RELAY_UDP;
|
||||
mConnectModes |= RsConnectModes::DIRECT_UDP;
|
||||
mConnectModes |= RsConnectModes::RELAY_UDP;
|
||||
|
||||
if ((mNatTypeMode == RSNET_NATTYPE_RESTRICTED_CONE) ||
|
||||
(mNatTypeMode == RSNET_NATTYPE_FULL_CONE) ||
|
||||
(mNatTypeMode == RSNET_NATTYPE_DETERM_SYM))
|
||||
if ((mNatTypeMode == RsNatTypeMode::RESTRICTED_CONE) ||
|
||||
(mNatTypeMode == RsNatTypeMode::FULL_CONE) ||
|
||||
(mNatTypeMode == RsNatTypeMode::DETERM_SYM))
|
||||
{
|
||||
mConnectModes |= RSNET_CONNECT_PROXY_UDP;
|
||||
mConnectModes |= RsConnectModes::PROXY_UDP;
|
||||
}
|
||||
}
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -27,6 +27,9 @@
|
||||
#include <string>
|
||||
#include <list>
|
||||
|
||||
#include <util/rstime.h>
|
||||
#include <retroshare/rsconfig.h>
|
||||
|
||||
/*** Network state
|
||||
* Want this to be all encompassing.
|
||||
*
|
||||
@ -51,11 +54,11 @@ class pqiNetStateBox
|
||||
|
||||
void setDhtState(bool dhtOn, bool dhtActive);
|
||||
|
||||
uint32_t getNetStateMode();
|
||||
uint32_t getNetworkMode();
|
||||
uint32_t getNatTypeMode();
|
||||
uint32_t getNatHoleMode();
|
||||
uint32_t getConnectModes();
|
||||
RsNetState getNetStateMode();
|
||||
RsNetworkMode getNetworkMode();
|
||||
RsNatTypeMode getNatTypeMode();
|
||||
RsNatHoleMode getNatHoleMode();
|
||||
RsConnectModes getConnectModes();
|
||||
|
||||
private:
|
||||
|
||||
@ -71,11 +74,11 @@ class pqiNetStateBox
|
||||
bool mStatusOkay;
|
||||
rstime_t mStatusTS;
|
||||
|
||||
uint32_t mNetworkMode;
|
||||
uint32_t mNatTypeMode;
|
||||
uint32_t mNatHoleMode;
|
||||
uint32_t mConnectModes;
|
||||
uint32_t mNetStateMode;
|
||||
RsNetworkMode mNetworkMode;
|
||||
RsNatTypeMode mNatTypeMode;
|
||||
RsNatHoleMode mNatHoleMode;
|
||||
RsConnectModes mConnectModes;
|
||||
RsNetState mNetStateMode;
|
||||
|
||||
/* Parameters set externally */
|
||||
|
||||
@ -114,13 +117,4 @@ class pqiNetStateBox
|
||||
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
|
||||
|
@ -37,77 +37,82 @@ class RsServerConfig;
|
||||
*/
|
||||
extern RsServerConfig *rsConfig;
|
||||
|
||||
#define RSNET_NETWORK_UNKNOWN 1
|
||||
#define RSNET_NETWORK_RESTARTING 2
|
||||
#define RSNET_NETWORK_OFFLINE 3
|
||||
#define RSNET_NETWORK_LOCALNET 4
|
||||
#define RSNET_NETWORK_BEHINDNAT 5
|
||||
#define RSNET_NETWORK_EXTERNALIP 6
|
||||
enum class RsNetworkMode : uint8_t
|
||||
{
|
||||
UNKNOWN = 1,
|
||||
RESTARTING = 2,
|
||||
OFFLINE = 3,
|
||||
LOCALNET = 4,
|
||||
BEHINDNAT = 5,
|
||||
EXTERNALIP = 6
|
||||
};
|
||||
|
||||
// WHAT TYPE OF FIREWALL?
|
||||
#define RSNET_NATTYPE_NONE 1
|
||||
#define RSNET_NATTYPE_UNKNOWN 2
|
||||
#define RSNET_NATTYPE_SYMMETRIC 3
|
||||
#define RSNET_NATTYPE_DETERM_SYM 4
|
||||
#define RSNET_NATTYPE_RESTRICTED_CONE 5
|
||||
#define RSNET_NATTYPE_FULL_CONE 6
|
||||
#define RSNET_NATTYPE_OTHER 7
|
||||
enum class RsNatTypeMode : uint8_t
|
||||
{
|
||||
NONE = 1,
|
||||
UNKNOWN = 2,
|
||||
SYMMETRIC = 3,
|
||||
DETERM_SYM = 4,
|
||||
RESTRICTED_CONE = 5,
|
||||
FULL_CONE = 6,
|
||||
OTHER = 7
|
||||
};
|
||||
|
||||
// WHAT TYPE OF HOLE?
|
||||
#define RSNET_NATHOLE_UNKNOWN 0
|
||||
#define RSNET_NATHOLE_NONE 1
|
||||
#define RSNET_NATHOLE_UPNP 2
|
||||
#define RSNET_NATHOLE_NATPMP 3
|
||||
#define RSNET_NATHOLE_FORWARDED 4
|
||||
enum class RsNatHoleMode : uint8_t
|
||||
{
|
||||
UNKNOWN = 0,
|
||||
NONE = 1,
|
||||
UPNP = 2,
|
||||
NATPMP = 3,
|
||||
FORWARDED = 4
|
||||
};
|
||||
|
||||
// Types of Connections.
|
||||
#define RSNET_CONNECT_NONE 0x0000
|
||||
#define RSNET_CONNECT_ACCEPT_TCP 0x0001
|
||||
#define RSNET_CONNECT_OUTGOING_TCP 0x0002
|
||||
#define RSNET_CONNECT_DIRECT_UDP 0x0100
|
||||
#define RSNET_CONNECT_PROXY_UDP 0x0200
|
||||
#define RSNET_CONNECT_RELAY_UDP 0x0400
|
||||
enum class RsConnectModes : uint16_t
|
||||
{
|
||||
NONE = 0x0000,
|
||||
ACCEPT_TCP = 0x0001,
|
||||
OUTGOING_TCP= 0x0002,
|
||||
DIRECT_UDP = 0x0100,
|
||||
PROXY_UDP = 0x0200,
|
||||
RELAY_UDP = 0x0400
|
||||
};
|
||||
RS_REGISTER_ENUM_FLAGS_TYPE(RsConnectModes)
|
||||
|
||||
// net state (good, okay, bad)
|
||||
// BAD. (RED)
|
||||
#define RSNET_NETSTATE_BAD_UNKNOWN 1
|
||||
#define RSNET_NETSTATE_BAD_OFFLINE 2
|
||||
#define RSNET_NETSTATE_BAD_NATSYM 3
|
||||
#define RSNET_NETSTATE_BAD_NODHT_NAT 4
|
||||
enum class RsNetState : uint8_t
|
||||
{
|
||||
// BAD. (RED)
|
||||
BAD_UNKNOWN = 1,
|
||||
BAD_OFFLINE = 2,
|
||||
BAD_NATSYM = 3,
|
||||
BAD_NODHT_NAT = 4,
|
||||
|
||||
// CAUTION. (ORANGE)
|
||||
#define RSNET_NETSTATE_WARNING_RESTART 5
|
||||
#define RSNET_NETSTATE_WARNING_NATTED 6
|
||||
#define RSNET_NETSTATE_WARNING_NODHT 7
|
||||
// CAUTION. (ORANGE)
|
||||
WARNING_RESTART = 5,
|
||||
WARNING_NATTED = 6,
|
||||
WARNING_NODHT = 7,
|
||||
|
||||
// GOOD (GREEN)
|
||||
// NAT with forwarded port, or EXT port.
|
||||
#define RSNET_NETSTATE_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
|
||||
// GOOD (GREEN)
|
||||
// NAT with forwarded port, or EXT port.
|
||||
GOOD = 8,
|
||||
|
||||
// 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 ******/
|
||||
|
||||
#define RSCONFIG_USER_LEVEL_NEW 0x0001 /* no friends */
|
||||
#define RSCONFIG_USER_LEVEL_BASIC 0x0002 /* no connections */
|
||||
#define RSCONFIG_USER_LEVEL_CASUAL 0x0003 /* firewalled */
|
||||
#define RSCONFIG_USER_LEVEL_POWER 0x0004 /* good! */
|
||||
#define RSCONFIG_USER_LEVEL_OVERRIDE 0x0005 /* forced to POWER level */
|
||||
enum class RsConfigUserLvl : uint8_t
|
||||
{
|
||||
NEW = 1, /* no friends */
|
||||
BASIC = 2, /* no connections */
|
||||
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_OPMODE_FULL 0x0001
|
||||
#define RS_OPMODE_NOTURTLE 0x0002
|
||||
#define RS_OPMODE_GAMING 0x0003
|
||||
#define RS_OPMODE_MINIMAL 0x0004
|
||||
enum class RsOpMode : uint8_t
|
||||
{
|
||||
FULL = 1,
|
||||
NOTURTLE= 2,
|
||||
GAMING = 3,
|
||||
MINIMAL = 4
|
||||
};
|
||||
|
||||
|
||||
class RsConfigStartup
|
||||
@ -348,13 +356,13 @@ public:
|
||||
|
||||
/* New Stuff */
|
||||
|
||||
virtual uint32_t getUserLevel() = 0;
|
||||
virtual RsConfigUserLvl getUserLevel() = 0;
|
||||
|
||||
virtual uint32_t getNetState() = 0;
|
||||
virtual uint32_t getNetworkMode() = 0;
|
||||
virtual uint32_t getNatTypeMode() = 0;
|
||||
virtual uint32_t getNatHoleMode() = 0;
|
||||
virtual uint32_t getConnectModes() = 0;
|
||||
virtual RsNetState getNetState() = 0;
|
||||
virtual RsNetworkMode getNetworkMode() = 0;
|
||||
virtual RsNatTypeMode getNatTypeMode() = 0;
|
||||
virtual RsNatHoleMode getNatHoleMode() = 0;
|
||||
virtual RsConnectModes getConnectModes() = 0;
|
||||
|
||||
virtual bool getConfigurationOption(uint32_t key, std::string &opt) = 0;
|
||||
virtual bool setConfigurationOption(uint32_t key, const std::string &opt) = 0;
|
||||
@ -366,7 +374,7 @@ public:
|
||||
* @jsonapi{development}
|
||||
* @return return the current operating mode
|
||||
*/
|
||||
virtual uint32_t getOperatingMode() = 0;
|
||||
virtual RsOpMode getOperatingMode() = 0;
|
||||
|
||||
/**
|
||||
* @brief setOperatingMode set the current oprating mode
|
||||
@ -374,7 +382,7 @@ public:
|
||||
* @param[in] opMode new opearting mode
|
||||
* @return
|
||||
*/
|
||||
virtual bool setOperatingMode(uint32_t opMode) = 0;
|
||||
virtual bool setOperatingMode(RsOpMode opMode) = 0;
|
||||
|
||||
/**
|
||||
* @brief setOperatingMode set the current operating mode from string
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include <list>
|
||||
#include <retroshare/rstypes.h>
|
||||
#include "util/rsnet.h"
|
||||
#include "retroshare/rsflags.h"
|
||||
|
||||
/* The Main Interface Class - for information about your Peers */
|
||||
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 RsPhotoDetails &detail);
|
||||
|
||||
#define RSDHT_NETSTART_NETWORKMODE 0x0001
|
||||
#define RSDHT_NETSTART_NATTYPE 0x0002
|
||||
#define RSDHT_NETSTART_NATHOLE 0x0003
|
||||
#define RSDHT_NETSTART_CONNECTMODES 0x0004
|
||||
#define RSDHT_NETSTART_NETSTATE 0x0005
|
||||
enum class RsDhtPeerType : uint8_t
|
||||
{
|
||||
ANY = 0,
|
||||
OTHER = 1,
|
||||
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
|
||||
#define RSDHT_PEERTYPE_OTHER 0x0001
|
||||
#define RSDHT_PEERTYPE_FOF 0x0002
|
||||
#define RSDHT_PEERTYPE_FRIEND 0x0003
|
||||
enum class RsDhtPeerRequest : uint8_t
|
||||
{
|
||||
STOPPED = 1,
|
||||
RUNNING = 2
|
||||
};
|
||||
|
||||
#define RSDHT_PEERDHT_NOT_ACTIVE 0x0000
|
||||
#define RSDHT_PEERDHT_SEARCHING 0x0001
|
||||
#define RSDHT_PEERDHT_FAILURE 0x0002
|
||||
#define RSDHT_PEERDHT_OFFLINE 0x0003
|
||||
#define RSDHT_PEERDHT_UNREACHABLE 0x0004
|
||||
#define RSDHT_PEERDHT_ONLINE 0x0005
|
||||
enum class RsDhtTouMode : uint8_t
|
||||
{
|
||||
NONE = 0,
|
||||
DIRECT = 1,
|
||||
PROXY = 2,
|
||||
RELAY = 3
|
||||
};
|
||||
|
||||
#define RSDHT_PEERCONN_DISCONNECTED 1
|
||||
#define RSDHT_PEERCONN_UDP_STARTED 2
|
||||
#define RSDHT_PEERCONN_CONNECTED 3
|
||||
enum class RsDhtRelayClass : uint8_t
|
||||
{
|
||||
ALL = 0,
|
||||
GENERAL = 1,
|
||||
FOF = 2,
|
||||
FRIENDS = 3,
|
||||
|
||||
#define RSDHT_PEERREQ_STOPPED 1
|
||||
#define RSDHT_PEERREQ_RUNNING 2
|
||||
NUM_CLASS = 4
|
||||
};
|
||||
|
||||
#define RSDHT_TOU_MODE_NONE 0
|
||||
#define RSDHT_TOU_MODE_DIRECT 1
|
||||
#define RSDHT_TOU_MODE_PROXY 2
|
||||
#define RSDHT_TOU_MODE_RELAY 3
|
||||
|
||||
|
||||
#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
|
||||
enum class RsDhtRelayMode : uint16_t
|
||||
{
|
||||
DISABLED= 0x0000,
|
||||
ENABLED = 0x0001,
|
||||
|
||||
MASK = 0x00f0,
|
||||
OFF = 0x0010,
|
||||
ON = 0x0020,
|
||||
SERVER = 0x0040
|
||||
};
|
||||
RS_REGISTER_ENUM_FLAGS_TYPE(RsDhtRelayMode)
|
||||
|
||||
class RsDhtPeer
|
||||
{
|
||||
@ -108,18 +120,18 @@ class RsDhtNetPeer
|
||||
std::string mDhtId;
|
||||
RsPeerId mRsId;
|
||||
|
||||
uint32_t mPeerType;
|
||||
uint32_t mDhtState;
|
||||
RsDhtPeerType mPeerType;
|
||||
RsDhtPeerDht mDhtState;
|
||||
|
||||
std::string mConnectState; // connectLogic.
|
||||
|
||||
uint32_t mPeerConnectState; // connect Status
|
||||
uint32_t mPeerConnectMode; // connect mode
|
||||
RsDhtPeerConnectState mPeerConnectState;
|
||||
RsDhtTouMode mPeerConnectMode;
|
||||
bool mExclusiveProxyLock;
|
||||
|
||||
std::string mPeerConnectProxyId;
|
||||
|
||||
uint32_t mPeerReqState; // Req Status.
|
||||
RsDhtPeerRequest mPeerReqState;
|
||||
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 removeRelayServer(std::string ids) = 0;
|
||||
|
||||
virtual uint32_t getRelayMode() = 0;
|
||||
virtual int setRelayMode(uint32_t mode) = 0;
|
||||
virtual RsDhtRelayMode getRelayMode() = 0;
|
||||
virtual int setRelayMode(RsDhtRelayMode mode) = 0;
|
||||
|
||||
virtual int getRelayAllowance(int classIdx, uint32_t &count, uint32_t &bandwidth) = 0;
|
||||
virtual int setRelayAllowance(int classIdx, uint32_t count, uint32_t bandwidth) = 0;
|
||||
virtual int getRelayAllowance(RsDhtRelayClass 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.
|
||||
virtual bool getOwnDhtId(std::string &ownDhtId) = 0;
|
||||
|
@ -37,7 +37,13 @@ using rs_is_scoped_enum = std::integral_constant< bool,
|
||||
* 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
|
||||
* 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
|
||||
* underlining type (usually from uint8_t up to uint64_t) has been declared for
|
||||
* 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
|
||||
* flag variable with different lenght, potentially causing interoperability
|
||||
* issues between differents builds.
|
||||
*
|
||||
* Usage example:
|
||||
@code{.cpp}
|
||||
enum class RsGrouterItemFlags : uint32_t
|
||||
|
@ -38,7 +38,7 @@
|
||||
class RsGxsForums;
|
||||
|
||||
/**
|
||||
* Pointer to global instance of RsGxsChannels service implementation
|
||||
* Pointer to global instance of RsGxsForums service implementation
|
||||
* @jsonapi{development}
|
||||
*/
|
||||
extern RsGxsForums* rsGxsForums;
|
||||
|
@ -48,11 +48,11 @@ p3ServerConfig::p3ServerConfig(p3PeerMgr *peerMgr, p3LinkMgr *linkMgr, p3NetMgr
|
||||
|
||||
RsStackMutex stack(configMtx); /******* LOCKED MUTEX *****/
|
||||
|
||||
mUserLevel = RSCONFIG_USER_LEVEL_NEW; /* START LEVEL */
|
||||
mUserLevel = RsConfigUserLvl::NEW; /* START LEVEL */
|
||||
mRateDownload = DEFAULT_DOWNLOAD_KB_RATE;
|
||||
mRateUpload = DEFAULT_UPLOAD_KB_RATE;
|
||||
|
||||
mOpMode = RS_OPMODE_FULL;
|
||||
mOpMode = RsOpMode::FULL;
|
||||
|
||||
rsConfig = this;
|
||||
}
|
||||
@ -86,7 +86,7 @@ void p3ServerConfig::load_config()
|
||||
}
|
||||
|
||||
/* enable operating mode */
|
||||
uint32_t opMode = getOperatingMode();
|
||||
RsOpMode opMode = getOperatingMode();
|
||||
switchToOperatingMode(opMode);
|
||||
}
|
||||
|
||||
@ -264,9 +264,9 @@ std::string p3ServerConfig::getRetroshareDataDirectory()
|
||||
|
||||
/* 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 *****/
|
||||
userLevel = mUserLevel;
|
||||
@ -274,47 +274,47 @@ uint32_t p3ServerConfig::getUserLevel()
|
||||
|
||||
switch(userLevel)
|
||||
{
|
||||
case RSCONFIG_USER_LEVEL_OVERRIDE:
|
||||
case RsConfigUserLvl::OVERRIDE:
|
||||
break;
|
||||
|
||||
#define MIN_BASIC_FRIENDS 2
|
||||
|
||||
// FALL THROUGH EVERYTHING.
|
||||
default:
|
||||
case RSCONFIG_USER_LEVEL_NEW:
|
||||
case RsConfigUserLvl::NEW:
|
||||
{
|
||||
|
||||
if (mPeerMgr->getFriendCount(true, false) > MIN_BASIC_FRIENDS)
|
||||
{
|
||||
userLevel = RSCONFIG_USER_LEVEL_BASIC;
|
||||
userLevel = RsConfigUserLvl::BASIC;
|
||||
}
|
||||
}
|
||||
/* fallthrough */
|
||||
case RSCONFIG_USER_LEVEL_BASIC:
|
||||
case RsConfigUserLvl::BASIC:
|
||||
{
|
||||
/* check that we have some lastConnect > 0 */
|
||||
if (mPeerMgr->haveOnceConnected())
|
||||
{
|
||||
userLevel = RSCONFIG_USER_LEVEL_CASUAL;
|
||||
userLevel = RsConfigUserLvl::CASUAL;
|
||||
}
|
||||
}
|
||||
/* fallthrough */
|
||||
case RSCONFIG_USER_LEVEL_CASUAL:
|
||||
case RSCONFIG_USER_LEVEL_POWER:
|
||||
case RsConfigUserLvl::CASUAL:
|
||||
case RsConfigUserLvl::POWER:
|
||||
|
||||
{
|
||||
/* check that the firewall is open */
|
||||
|
||||
uint32_t netMode = mNetMgr->getNetworkMode();
|
||||
uint32_t firewallMode = mNetMgr->getNatHoleMode();
|
||||
RsNetworkMode netMode = mNetMgr->getNetworkMode();
|
||||
RsNatHoleMode firewallMode = mNetMgr->getNatHoleMode();
|
||||
|
||||
if ((RSNET_NETWORK_EXTERNALIP == netMode) ||
|
||||
((RSNET_NETWORK_BEHINDNAT == netMode) &&
|
||||
((RSNET_NATHOLE_UPNP == firewallMode) ||
|
||||
(RSNET_NATHOLE_NATPMP == firewallMode) ||
|
||||
(RSNET_NATHOLE_FORWARDED == firewallMode))))
|
||||
if ((RsNetworkMode::EXTERNALIP == netMode) ||
|
||||
((RsNetworkMode::BEHINDNAT == netMode) &&
|
||||
(RsNatHoleMode::UPNP == firewallMode ||
|
||||
(RsNatHoleMode::NATPMP == firewallMode) ||
|
||||
(RsNatHoleMode::FORWARDED == firewallMode))))
|
||||
{
|
||||
userLevel = RSCONFIG_USER_LEVEL_POWER;
|
||||
userLevel = RsConfigUserLvl::POWER;
|
||||
}
|
||||
}
|
||||
break; /* for all */
|
||||
@ -329,27 +329,27 @@ uint32_t p3ServerConfig::getUserLevel()
|
||||
}
|
||||
|
||||
|
||||
uint32_t p3ServerConfig::getNetState()
|
||||
RsNetState p3ServerConfig::getNetState()
|
||||
{
|
||||
return mNetMgr->getNetStateMode();
|
||||
}
|
||||
|
||||
uint32_t p3ServerConfig::getNetworkMode()
|
||||
RsNetworkMode p3ServerConfig::getNetworkMode()
|
||||
{
|
||||
return mNetMgr->getNetworkMode();
|
||||
}
|
||||
|
||||
uint32_t p3ServerConfig::getNatTypeMode()
|
||||
RsNatTypeMode p3ServerConfig::getNatTypeMode()
|
||||
{
|
||||
return mNetMgr->getNatTypeMode();
|
||||
}
|
||||
|
||||
uint32_t p3ServerConfig::getNatHoleMode()
|
||||
RsNatHoleMode p3ServerConfig::getNatHoleMode()
|
||||
{
|
||||
return mNetMgr->getNatHoleMode();
|
||||
}
|
||||
|
||||
uint32_t p3ServerConfig::getConnectModes()
|
||||
RsConnectModes p3ServerConfig::getConnectModes()
|
||||
{
|
||||
return mNetMgr->getConnectModes();
|
||||
}
|
||||
@ -357,27 +357,27 @@ uint32_t p3ServerConfig::getConnectModes()
|
||||
/* Operating Mode */
|
||||
#define RS_CONFIG_OPERATING_STRING "OperatingMode"
|
||||
|
||||
uint32_t p3ServerConfig::getOperatingMode()
|
||||
RsOpMode p3ServerConfig::getOperatingMode()
|
||||
{
|
||||
#ifdef SAVE_OPERATING_MODE
|
||||
std::string modestr = mGeneralConfig->getSetting(RS_CONFIG_OPERATING_STRING);
|
||||
uint32_t mode = RS_OPMODE_FULL;
|
||||
uint32_t mode = RsOpMode::FULL;
|
||||
|
||||
if (modestr == "FULL")
|
||||
{
|
||||
mode = RS_OPMODE_FULL;
|
||||
mode = RsOpMode::FULL;
|
||||
}
|
||||
else if (modestr == "NOTURTLE")
|
||||
{
|
||||
mode = RS_OPMODE_NOTURTLE;
|
||||
mode = RsOpMode::NOTURTLE;
|
||||
}
|
||||
else if (modestr == "GAMING")
|
||||
{
|
||||
mode = RS_OPMODE_GAMING;
|
||||
mode = RsOpMode::GAMING;
|
||||
}
|
||||
else if (modestr == "MINIMAL")
|
||||
{
|
||||
mode = RS_OPMODE_MINIMAL;
|
||||
mode = RsOpMode::MINIMAL;
|
||||
}
|
||||
return mode;
|
||||
#else
|
||||
@ -387,24 +387,24 @@ uint32_t p3ServerConfig::getOperatingMode()
|
||||
}
|
||||
|
||||
|
||||
bool p3ServerConfig::setOperatingMode(uint32_t opMode)
|
||||
bool p3ServerConfig::setOperatingMode(RsOpMode opMode)
|
||||
{
|
||||
#ifdef SAVE_OPERATING_MODE
|
||||
std::string modestr = "FULL";
|
||||
switch(opMode)
|
||||
{
|
||||
case RS_OPMODE_FULL:
|
||||
case RsOpMode::FULL:
|
||||
modestr = "FULL";
|
||||
break;
|
||||
case RS_OPMODE_NOTURTLE:
|
||||
case RsOpMode::NOTURTLE:
|
||||
modestr = "NOTURTLE";
|
||||
|
||||
break;
|
||||
case RS_OPMODE_GAMING:
|
||||
case RsOpMode::GAMING:
|
||||
modestr = "GAMING";
|
||||
|
||||
break;
|
||||
case RS_OPMODE_MINIMAL:
|
||||
case RsOpMode::MINIMAL:
|
||||
modestr = "MINIMAL";
|
||||
break;
|
||||
}
|
||||
@ -420,31 +420,31 @@ bool p3ServerConfig::setOperatingMode(uint32_t opMode)
|
||||
|
||||
bool p3ServerConfig::setOperatingMode(const std::string &opModeStr)
|
||||
{
|
||||
uint32_t opMode = RS_OPMODE_FULL;
|
||||
RsOpMode opMode = RsOpMode::FULL;
|
||||
std::string upper;
|
||||
stringToUpperCase(opModeStr, upper);
|
||||
|
||||
if (upper == "NOTURTLE")
|
||||
{
|
||||
opMode = RS_OPMODE_NOTURTLE;
|
||||
opMode = RsOpMode::NOTURTLE;
|
||||
}
|
||||
else if (upper == "GAMING")
|
||||
{
|
||||
opMode = RS_OPMODE_GAMING;
|
||||
opMode = RsOpMode::GAMING;
|
||||
}
|
||||
else if (upper == "MINIMAL")
|
||||
{
|
||||
opMode = RS_OPMODE_MINIMAL;
|
||||
opMode = RsOpMode::MINIMAL;
|
||||
}
|
||||
else // "FULL" by default
|
||||
{
|
||||
opMode = RS_OPMODE_FULL;
|
||||
opMode = RsOpMode::FULL;
|
||||
}
|
||||
|
||||
return setOperatingMode(opMode);
|
||||
}
|
||||
|
||||
bool p3ServerConfig::switchToOperatingMode(uint32_t opMode)
|
||||
bool p3ServerConfig::switchToOperatingMode(RsOpMode opMode)
|
||||
{
|
||||
float dl_rate = 0;
|
||||
float ul_rate = 0;
|
||||
@ -456,13 +456,13 @@ bool p3ServerConfig::switchToOperatingMode(uint32_t opMode)
|
||||
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;
|
||||
|
||||
switch (opMode)
|
||||
{
|
||||
default:
|
||||
case RS_OPMODE_FULL:
|
||||
case RsOpMode::FULL:
|
||||
/* switch on all transfers */
|
||||
/* 100% bandwidth */
|
||||
/* switch on popups, enable hashing */
|
||||
@ -470,14 +470,14 @@ bool p3ServerConfig::switchToOperatingMode(uint32_t opMode)
|
||||
//setMaxRate(false, mro); // Out / Upload.
|
||||
turtle_enabled = true;
|
||||
break;
|
||||
case RS_OPMODE_NOTURTLE:
|
||||
case RsOpMode::NOTURTLE:
|
||||
/* switch on all transfers - except turtle, enable hashing */
|
||||
/* 100% bandwidth */
|
||||
/* switch on popups, enable hashing */
|
||||
turtle_enabled = false;
|
||||
|
||||
break;
|
||||
case RS_OPMODE_GAMING:
|
||||
case RsOpMode::GAMING:
|
||||
/* switch on all transfers */
|
||||
/* reduce bandwidth to 25% */
|
||||
/* switch off popups, enable hashing */
|
||||
@ -486,7 +486,7 @@ bool p3ServerConfig::switchToOperatingMode(uint32_t opMode)
|
||||
dl_rate *= 0.25;
|
||||
ul_rate *= 0.25;
|
||||
break;
|
||||
case RS_OPMODE_MINIMAL:
|
||||
case RsOpMode::MINIMAL:
|
||||
/* switch off all transfers */
|
||||
/* reduce bandwidth to 10%, but make sure there is enough for VoIP */
|
||||
/* switch on popups, enable hashing */
|
||||
|
@ -72,20 +72,20 @@ virtual std::string getRetroshareDataDirectory();
|
||||
|
||||
/* New Stuff */
|
||||
|
||||
virtual uint32_t getUserLevel();
|
||||
virtual RsConfigUserLvl getUserLevel();
|
||||
|
||||
virtual uint32_t getNetState();
|
||||
virtual uint32_t getNetworkMode();
|
||||
virtual uint32_t getNatTypeMode();
|
||||
virtual uint32_t getNatHoleMode();
|
||||
virtual uint32_t getConnectModes();
|
||||
virtual RsNetState getNetState();
|
||||
virtual RsNetworkMode getNetworkMode();
|
||||
virtual RsNatTypeMode getNatTypeMode();
|
||||
virtual RsNatHoleMode getNatHoleMode();
|
||||
virtual RsConnectModes getConnectModes();
|
||||
|
||||
virtual bool getConfigurationOption(uint32_t key, std::string &opt);
|
||||
virtual bool setConfigurationOption(uint32_t key, const std::string &opt);
|
||||
|
||||
/* Operating Mode */
|
||||
virtual uint32_t getOperatingMode();
|
||||
virtual bool setOperatingMode(uint32_t opMode);
|
||||
virtual RsOpMode getOperatingMode();
|
||||
virtual bool setOperatingMode(RsOpMode opMode);
|
||||
virtual bool setOperatingMode(const std::string &opModeStr);
|
||||
|
||||
virtual int SetMaxDataRates( int downKb, int upKb );
|
||||
@ -97,7 +97,7 @@ virtual int GetTrafficSum( uint64_t &inb, uint64_t &outb );
|
||||
|
||||
private:
|
||||
|
||||
bool switchToOperatingMode(uint32_t opMode);
|
||||
bool switchToOperatingMode(RsOpMode opMode);
|
||||
|
||||
bool findConfigurationOption(uint32_t key, std::string &keystr);
|
||||
|
||||
@ -108,11 +108,11 @@ bool findConfigurationOption(uint32_t key, std::string &keystr);
|
||||
p3GeneralConfig *mGeneralConfig;
|
||||
|
||||
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 mRateUpload;
|
||||
|
||||
uint32_t mOpMode;
|
||||
RsOpMode mOpMode;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -101,12 +101,14 @@ std::ostream &operator<<(std::ostream &out, const UdpRelayEnd &ure);
|
||||
|
||||
|
||||
/**** 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_GENERAL RSDHT_RELAY_CLASS_GENERAL
|
||||
#define UDP_RELAY_CLASS_FOF RSDHT_RELAY_CLASS_FOF
|
||||
#define UDP_RELAY_CLASS_FRIENDS RSDHT_RELAY_CLASS_FRIENDS
|
||||
#define UDP_RELAY_CLASS_ALL static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::ALL)
|
||||
#define UDP_RELAY_CLASS_GENERAL static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::GENERAL)
|
||||
#define UDP_RELAY_CLASS_FOF static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::FOF)
|
||||
#define UDP_RELAY_CLASS_FRIENDS static_cast<typename std::underlying_type<RsDhtRelayClass>::type>(RsDhtRelayClass::FRIENDS)
|
||||
|
||||
// Just for some testing fun!
|
||||
//#define UDP_RELAY_LIFETIME_GENERAL 180 // 3 minutes
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include <retroshare/rsidentity.h>
|
||||
|
||||
#include "gui/common/AvatarDefs.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
#include "util/qtthreadsutils.h"
|
||||
#include "gui/Circles/CreateCircleDialog.h"
|
||||
#include "gui/gxs/GxsIdDetails.h"
|
||||
@ -53,7 +54,7 @@ CreateCircleDialog::CreateCircleDialog()
|
||||
ui.setupUi(this);
|
||||
|
||||
/* Setup Queue */
|
||||
ui.headerFrame->setHeaderImage(QPixmap(":/icons/png/circles.png"));
|
||||
ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/circles.png"));
|
||||
|
||||
// connect up the buttons.
|
||||
connect(ui.addButton, SIGNAL(clicked()), this, SLOT(addMember()));
|
||||
|
@ -23,11 +23,12 @@
|
||||
#include <math.h>
|
||||
#include <QStylePainter>
|
||||
#include <QDebug>
|
||||
#include <retroshare/rsfiles.h>
|
||||
#include <retroshare/rstypes.h>
|
||||
#include "retroshare/rsfiles.h"
|
||||
#include "retroshare/rstypes.h"
|
||||
#include "util/misc.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
|
||||
//
|
||||
@ -49,10 +50,10 @@ FileTransferInfoWidget::FileTransferInfoWidget(QWidget * /*parent*/, Qt::WindowF
|
||||
|
||||
int S = 0.9*QFontMetricsF(font()).height();
|
||||
|
||||
downloadedPixmap = QPixmap(":/icons/tile_downloaded_48.png").scaledToHeight(S,Qt::SmoothTransformation);
|
||||
downloadingPixmap = QPixmap(":/icons/tile_downloading_48.png").scaledToHeight(S,Qt::SmoothTransformation);
|
||||
notDownloadPixmap = QPixmap(":/icons/tile_inactive_48.png").scaledToHeight(S,Qt::SmoothTransformation);
|
||||
checkingPixmap = QPixmap(":/icons/tile_checking_48.png").scaledToHeight(S,Qt::SmoothTransformation);
|
||||
downloadedPixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/tile_downloaded_48.png").scaledToHeight(S,Qt::SmoothTransformation);
|
||||
downloadingPixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/tile_downloading_48.png").scaledToHeight(S,Qt::SmoothTransformation);
|
||||
notDownloadPixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/tile_inactive_48.png").scaledToHeight(S,Qt::SmoothTransformation);
|
||||
checkingPixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/tile_checking_48.png").scaledToHeight(S,Qt::SmoothTransformation);
|
||||
|
||||
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
}
|
||||
|
@ -268,7 +268,7 @@ LocalSharedFilesDialog::LocalSharedFilesDialog(QWidget *parent)
|
||||
openfolderAct = new QAction(QIcon(IMAGE_OPENFOLDER), tr("Open Folder"), this) ;
|
||||
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()) ;
|
||||
}
|
||||
@ -500,7 +500,7 @@ void LocalSharedFilesDialog::checkUpdate()
|
||||
else
|
||||
{
|
||||
ui.checkButton->setText(tr("Check files"));
|
||||
ui.hashLabel->setPixmap(QPixmap(IMAGE_HASH_DONE));
|
||||
ui.hashLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_HASH_DONE));
|
||||
ui.hashLabel->setToolTip("") ;
|
||||
}
|
||||
|
||||
|
@ -35,6 +35,7 @@
|
||||
#include "gui/settings/rsharesettings.h"
|
||||
#include "TorControl/TorManager.h"
|
||||
#include "util/misc.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
#include <retroshare/rsidentity.h>
|
||||
#include <retroshare/rsinit.h>
|
||||
@ -132,7 +133,7 @@ GenCertDialog::GenCertDialog(bool onlyGenerateIdentity, QWidget *parent)
|
||||
/* Invoke Qt Designer generated QObject setup routine */
|
||||
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"));
|
||||
|
||||
connect(ui.reuse_existing_node_CB, SIGNAL(triggered()), this, SLOT(switchReuseExistingNode()));
|
||||
@ -432,9 +433,9 @@ void GenCertDialog::updateCheckLabels()
|
||||
}
|
||||
|
||||
if(mEntropyOk)
|
||||
ui.randomness_check_LB->setPixmap(QPixmap(IMAGE_GOOD)) ;
|
||||
ui.randomness_check_LB->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_GOOD)) ;
|
||||
else
|
||||
ui.randomness_check_LB->setPixmap(QPixmap(IMAGE_BAD)) ;
|
||||
ui.randomness_check_LB->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_BAD)) ;
|
||||
|
||||
setupState();
|
||||
}
|
||||
|
@ -105,7 +105,7 @@ void GetStartedDialog::showEvent ( QShowEvent * /*event*/ )
|
||||
|
||||
void GetStartedDialog::updateFromUserLevel()
|
||||
{
|
||||
uint32_t userLevel = RSCONFIG_USER_LEVEL_NEW;
|
||||
RsConfigUserLvl userLevel = RsConfigUserLvl::NEW;
|
||||
userLevel = rsConfig->getUserLevel();
|
||||
|
||||
ui.inviteCheckBox->setChecked(false);
|
||||
@ -116,19 +116,19 @@ void GetStartedDialog::updateFromUserLevel()
|
||||
switch(userLevel)
|
||||
{
|
||||
// FALLS THROUGH EVERYWHERE.
|
||||
case RSCONFIG_USER_LEVEL_POWER:
|
||||
case RSCONFIG_USER_LEVEL_OVERRIDE:
|
||||
case RsConfigUserLvl::POWER:
|
||||
case RsConfigUserLvl::OVERRIDE:
|
||||
ui.firewallCheckBox->setChecked(true);
|
||||
/* fallthrough */
|
||||
case RSCONFIG_USER_LEVEL_CASUAL:
|
||||
case RsConfigUserLvl::CASUAL:
|
||||
ui.connectCheckBox->setChecked(true);
|
||||
/* fallthrough */
|
||||
case RSCONFIG_USER_LEVEL_BASIC:
|
||||
case RsConfigUserLvl::BASIC:
|
||||
ui.addCheckBox->setChecked(true);
|
||||
ui.inviteCheckBox->setChecked(true);
|
||||
|
||||
default:
|
||||
case RSCONFIG_USER_LEVEL_NEW:
|
||||
case RsConfigUserLvl::NEW:
|
||||
|
||||
break;
|
||||
}
|
||||
@ -325,7 +325,7 @@ void GetStartedDialog::emailSupport()
|
||||
return;
|
||||
}
|
||||
|
||||
uint32_t userLevel;
|
||||
RsConfigUserLvl userLevel;
|
||||
{
|
||||
RsAutoUpdatePage::lockAllEvents();
|
||||
|
||||
@ -427,7 +427,7 @@ void GetStartedDialog::emailSupport()
|
||||
sysVersion = "Linux";
|
||||
#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 += QString("I am having trouble with RetroShare.");
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "util/qtthreadsutils.h"
|
||||
#include "gui/settings/rsharesettings.h"
|
||||
#include "gui/common/UIStateHelper.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
#include "gui/msgs/MessageComposer.h"
|
||||
#include "gui/RetroShareLink.h"
|
||||
|
||||
@ -82,7 +83,7 @@ IdDetailsDialog::IdDetailsDialog(const RsGxsGroupId& id, QWidget *parent) :
|
||||
|
||||
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"));
|
||||
|
||||
//connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(changeGroup()));
|
||||
|
@ -255,7 +255,7 @@ IdDialog::IdDialog(QWidget *parent) : MainPage(parent), ui(new Ui::IdDialog)
|
||||
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"));
|
||||
|
||||
@ -459,7 +459,7 @@ void IdDialog::clearPerson()
|
||||
{
|
||||
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->inviteFrame->hide();
|
||||
@ -2174,7 +2174,7 @@ void IdDialog::IdListCustomPopupMenu( QPoint )
|
||||
hbox->setSpacing(6);
|
||||
|
||||
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->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
||||
hbox->addWidget(iconLabel);
|
||||
|
@ -32,6 +32,7 @@
|
||||
|
||||
#include <retroshare/rsidentity.h>
|
||||
#include <retroshare/rspeers.h>
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
@ -47,7 +48,7 @@ IdEditDialog::IdEditDialog(QWidget *parent) :
|
||||
|
||||
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"));
|
||||
|
||||
/* Setup UI helper */
|
||||
@ -199,7 +200,7 @@ void IdEditDialog::setAvatar(const QPixmap &avatar)
|
||||
void IdEditDialog::setupExistingId(const RsGxsGroupId& keyId)
|
||||
{
|
||||
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"));
|
||||
|
||||
mStateHelper->setLoading(IDEDITDIALOG_LOADID, true);
|
||||
|
@ -20,8 +20,9 @@
|
||||
|
||||
#include "LogoBar.h"
|
||||
|
||||
#include <util/RetroStyleLabel.h>
|
||||
#include <util/MouseEventFilter.h>
|
||||
#include "util/RetroStyleLabel.h"
|
||||
#include "util/MouseEventFilter.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
#include <QGridLayout>
|
||||
|
||||
@ -42,11 +43,11 @@ void LogoBar::init() {
|
||||
//LogoButton
|
||||
_logoButton = new RetroStyleLabel(this);
|
||||
_logoButton->setPixmaps(
|
||||
QPixmap(":/images/logobar/rslogo2.png"), //Start
|
||||
FilesDefs::getPixmapFromQtResourcePath(":/images/logobar/rslogo2.png"), //Start
|
||||
QPixmap(), //End
|
||||
QPixmap(), //Fill
|
||||
|
||||
QPixmap(":/images/logobar/rslogo2.png"), //Start
|
||||
FilesDefs::getPixmapFromQtResourcePath(":/images/logobar/rslogo2.png"), //Start
|
||||
QPixmap(), //End
|
||||
QPixmap() //Fill
|
||||
);
|
||||
@ -59,11 +60,11 @@ void LogoBar::init() {
|
||||
FillLabel1->setPixmaps(
|
||||
QPixmap(), //Start
|
||||
QPixmap(), //End
|
||||
QPixmap(":/images/logobar/logo_bar_fill.png"), //Fill
|
||||
FilesDefs::getPixmapFromQtResourcePath(":/images/logobar/logo_bar_fill.png"), //Fill
|
||||
|
||||
QPixmap(), //Start
|
||||
QPixmap(), //End
|
||||
QPixmap(":/images/logobar/logo_bar_fill.png") //Fill
|
||||
FilesDefs::getPixmapFromQtResourcePath(":/images/logobar/logo_bar_fill.png") //Fill
|
||||
);
|
||||
|
||||
//FillLabel2
|
||||
@ -71,11 +72,11 @@ void LogoBar::init() {
|
||||
FillLabel2->setPixmaps(
|
||||
QPixmap(), //Start
|
||||
QPixmap(), //End
|
||||
QPixmap(":/images/logobar/logo_bar_fill.png"), //Fill
|
||||
FilesDefs::getPixmapFromQtResourcePath(":/images/logobar/logo_bar_fill.png"), //Fill
|
||||
|
||||
QPixmap(), //Start
|
||||
QPixmap(), //End
|
||||
QPixmap(":/images/logobar/logo_bar_fill.png") //Fill
|
||||
FilesDefs::getPixmapFromQtResourcePath(":/images/logobar/logo_bar_fill.png") //Fill
|
||||
);
|
||||
|
||||
QGridLayout * layout = new QGridLayout(this);
|
||||
|
@ -1563,13 +1563,13 @@ void MainWindow::processLastArgs()
|
||||
if (opModeStatus) {
|
||||
QString opmode = Rshare::opmode().toLower();
|
||||
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") {
|
||||
opModeStatus->setCurrentIndex(RS_OPMODE_GAMING - 1);
|
||||
opModeStatus->setCurrentIndex(static_cast<typename std::underlying_type<RsOpMode>::type>(RsOpMode::GAMING) - 1);
|
||||
} 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 != "") {
|
||||
opModeStatus->setCurrentIndex(RS_OPMODE_FULL - 1);
|
||||
opModeStatus->setCurrentIndex(static_cast<typename std::underlying_type<RsOpMode>::type>(RsOpMode::FULL) - 1);
|
||||
}
|
||||
opModeStatus->setOpMode();
|
||||
} else {
|
||||
|
@ -31,7 +31,7 @@ AlbumDialog::AlbumDialog(const RsPhotoAlbum& album, TokenQueue* photoQueue, RsPh
|
||||
{
|
||||
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"));
|
||||
|
||||
connect(ui->pushButton_PublishPhotos, SIGNAL(clicked()), this, SLOT(updateAlbumPhotos()));
|
||||
@ -69,7 +69,7 @@ void AlbumDialog::setUp()
|
||||
else
|
||||
{
|
||||
// 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"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,7 +99,7 @@ void AlbumGroupDialog::initUi()
|
||||
|
||||
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)
|
||||
@ -175,7 +175,7 @@ bool AlbumGroupDialog::service_loadGroup(const RsGxsGenericGroupData *data, Mode
|
||||
setLogo(pixmap);
|
||||
}
|
||||
} else {
|
||||
setLogo(QPixmap(":/images/album_create_64.png"));
|
||||
setLogo(FilesDefs::getPixmapFromQtResourcePath(":/images/album_create_64.png"));
|
||||
}
|
||||
|
||||
// Load additional data....
|
||||
|
@ -51,7 +51,7 @@ void AlbumItem::setUp()
|
||||
else
|
||||
{
|
||||
// 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"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -59,7 +59,7 @@ PhotoItem::PhotoItem(PhotoShareItemHolder *holder, const QString& path, uint32_t
|
||||
|
||||
mPhotoDetails.mOrder = order;
|
||||
|
||||
QPixmap qtn = QPixmap(path);
|
||||
QPixmap qtn = FilesDefs::getPixmapFromQtResourcePath(path);
|
||||
mLowResImage = qtn.scaled(512,512, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||
|
||||
ui->label_Thumbnail->setPixmap(qtn.scaled(128, 128, Qt::KeepAspectRatio, Qt::SmoothTransformation));
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include <iostream>
|
||||
#include <gui/RetroShareLink.h>
|
||||
#include <util/imageutil.h>
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
/* View Page */
|
||||
#define VIEW_POST 1
|
||||
@ -56,7 +57,7 @@ PostedCreatePostDialog::PostedCreatePostDialog(RsPosted *posted, const RsGxsGrou
|
||||
connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(close()));
|
||||
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"));
|
||||
|
||||
setAttribute ( Qt::WA_DeleteOnClose, true );
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
#include "PostedGroupDialog.h"
|
||||
#include "gui/gxs/GxsIdDetails.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
#include <retroshare/rswiki.h>
|
||||
#include <iostream>
|
||||
@ -89,7 +90,7 @@ void PostedGroupDialog::initUi()
|
||||
|
||||
QPixmap PostedGroupDialog::serviceImage()
|
||||
{
|
||||
return QPixmap(":/icons/png/posted.png");
|
||||
return FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png");
|
||||
}
|
||||
|
||||
void PostedGroupDialog::preparePostedGroup(RsPostedGroup &group, const RsGroupMetaData &meta)
|
||||
@ -159,7 +160,7 @@ bool PostedGroupDialog::service_loadGroup(const RsGxsGenericGroupData *data, Mod
|
||||
|
||||
}
|
||||
else
|
||||
setLogo(QPixmap(":/icons/png/posted.png"));
|
||||
setLogo(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png"));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -490,7 +490,7 @@ void PostedItem::fill()
|
||||
ui->voteUpButton->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->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;
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "gui/settings/rsharesettings.h"
|
||||
#include "PostedItem.h"
|
||||
#include "PostedCardView.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
#include "gui/common/UIStateHelper.h"
|
||||
#include "gui/RetroShareLink.h"
|
||||
#include "util/HandleRichText.h"
|
||||
@ -406,7 +407,7 @@ void PostedListWidget::insertPostedDetails(const RsPostedGroup &group)
|
||||
if (group.mGroupImage.mData != NULL) {
|
||||
GxsIdDetails::loadPixmapFromData(group.mGroupImage.mData, group.mGroupImage.mSize, boardImage,GxsIdDetails::ORIGINAL);
|
||||
} else {
|
||||
boardImage = QPixmap(BOARD_DEFAULT_IMAGE);
|
||||
boardImage = FilesDefs::getPixmapFromQtResourcePath(BOARD_DEFAULT_IMAGE);
|
||||
}
|
||||
ui->logoLabel->setPixmap(boardImage);
|
||||
ui->namelabel->setText(QString::fromUtf8(group.mMeta.mGroupName.c_str()));
|
||||
|
@ -33,13 +33,14 @@
|
||||
#include <retroshare/rstypes.h>
|
||||
#include "settings/rsharesettings.h"
|
||||
#include "util/QtVersion.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
QuickStartWizard::QuickStartWizard(QWidget *parent) :
|
||||
QDialog(parent)
|
||||
{
|
||||
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.pagesWizard->setCurrentIndex(0);
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "ServicePermissionDialog.h"
|
||||
#include "ui_ServicePermissionDialog.h"
|
||||
#include "settings/rsharesettings.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
static ServicePermissionDialog *servicePermissionDialog = NULL;
|
||||
|
||||
@ -36,7 +37,7 @@ ServicePermissionDialog::ServicePermissionDialog() :
|
||||
|
||||
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"));
|
||||
|
||||
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(setPermissions()));
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include "gui/notifyqt.h"
|
||||
#include "util/QtVersion.h"
|
||||
#include "util/misc.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
/* Images for context menu icons */
|
||||
#define IMAGE_CANCEL ":/images/delete.png"
|
||||
@ -57,7 +58,7 @@ ShareManager::ShareManager()
|
||||
/* Invoke Qt Designer generated QObject setup routine */
|
||||
ui.setupUi(this);
|
||||
|
||||
ui.headerFrame->setHeaderImage(QPixmap(":/images/fileshare64.png"));
|
||||
ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/fileshare64.png"));
|
||||
ui.headerFrame->setHeaderText(tr("Share Manager"));
|
||||
|
||||
isLoading = false;
|
||||
|
@ -409,7 +409,7 @@ void PulseAddDialog::addImage(const QString &path)
|
||||
std::cerr << "PulseAddDialog::addImage() loading image from: " << path.toStdString();
|
||||
std::cerr << std::endl;
|
||||
|
||||
QPixmap qtn = QPixmap(path);
|
||||
QPixmap qtn = FilesDefs::getPixmapFromQtResourcePath(path);
|
||||
if (qtn.isNull()) {
|
||||
std::cerr << "PulseAddDialog::addImage() Invalid Image";
|
||||
std::cerr << std::endl;
|
||||
|
@ -126,9 +126,9 @@ void PulseTopLevel::setReferenceString(QString ref)
|
||||
|
||||
// set ref icon
|
||||
if (mPulse->mPulseType & WIRE_PULSE_TYPE_REPUBLISH) {
|
||||
label_reficon->setPixmap(QPixmap(":/images/retweet.png"));
|
||||
label_reficon->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/retweet.png"));
|
||||
} else {
|
||||
label_reficon->setPixmap(QPixmap(":/images/reply.png"));
|
||||
label_reficon->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/reply.png"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -67,7 +67,7 @@ void PulseViewGroup::setup()
|
||||
else
|
||||
{
|
||||
// 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);
|
||||
}
|
||||
|
||||
|
@ -281,7 +281,7 @@ void PulseDataItem::showPulse()
|
||||
if (!headshotOkay)
|
||||
{
|
||||
// default.
|
||||
QPixmap pixmap = QPixmap(":/icons/png/posted.png").scaled(50,50);
|
||||
QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png").scaled(50,50);
|
||||
setHeadshot(pixmap);
|
||||
}
|
||||
|
||||
@ -346,7 +346,7 @@ void PulseDataItem::showPulse()
|
||||
if (!headshotOkay)
|
||||
{
|
||||
// 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"));
|
||||
}
|
||||
|
||||
|
@ -94,7 +94,7 @@ void WireGroupDialog::initUi()
|
||||
|
||||
QPixmap WireGroupDialog::serviceImage()
|
||||
{
|
||||
return QPixmap(":/icons/wire-circle.png");
|
||||
return FilesDefs::getPixmapFromQtResourcePath(":/icons/wire-circle.png");
|
||||
}
|
||||
|
||||
void WireGroupDialog::prepareWireGroup(RsWireGroup &group, const RsGroupMetaData &meta)
|
||||
@ -178,7 +178,7 @@ bool WireGroupDialog::service_loadGroup(const RsGxsGenericGroupData *data, Mode
|
||||
setLogo(pixmap);
|
||||
}
|
||||
} else {
|
||||
setLogo(QPixmap(":/images/album_create_64.png"));
|
||||
setLogo(FilesDefs::getPixmapFromQtResourcePath(":/images/album_create_64.png"));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -66,7 +66,7 @@ void WireGroupItem::setup()
|
||||
else
|
||||
{
|
||||
// default.
|
||||
QPixmap pixmap = QPixmap(":/icons/wire.png").scaled(32,32);
|
||||
QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/wire.png").scaled(32,32);
|
||||
label_headshot->setPixmap(pixmap);
|
||||
}
|
||||
|
||||
|
@ -414,7 +414,7 @@ void WikiEditDialog::setNewPage()
|
||||
ui.groupBox_History->hide();
|
||||
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"));
|
||||
setWindowTitle(tr("Create New Wiki Page"));
|
||||
|
||||
@ -569,7 +569,7 @@ void WikiEditDialog::setupData(const RsGxsGroupId &groupId, const RsGxsMessageId
|
||||
requestPage(msgId);
|
||||
}
|
||||
|
||||
ui.headerFrame->setHeaderImage(QPixmap(":/images/editpage.png"));
|
||||
ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/editpage.png"));
|
||||
ui.headerFrame->setHeaderText(tr("Edit Wiki Page"));
|
||||
setWindowTitle(tr("Edit Wiki Page"));
|
||||
|
||||
|
@ -154,7 +154,7 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi
|
||||
|
||||
{
|
||||
QIcon icon ;
|
||||
icon.addPixmap(QPixmap(":/icons/png/invite.png")) ;
|
||||
icon.addPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/invite.png")) ;
|
||||
inviteFriendsButton->setIcon(icon) ;
|
||||
inviteFriendsButton->setIconSize(icon_size);
|
||||
}
|
||||
@ -196,7 +196,7 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi
|
||||
|
||||
{
|
||||
QIcon icon ;
|
||||
icon.addPixmap(QPixmap(":/icons/png/leave.png")) ;
|
||||
icon.addPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/leave.png")) ;
|
||||
unsubscribeButton->setIcon(icon) ;
|
||||
unsubscribeButton->setIconSize(icon_size);
|
||||
}
|
||||
@ -994,7 +994,7 @@ void ChatLobbyDialog::setWindowed(bool windowed)
|
||||
mPCWindow->addDialog(this);
|
||||
|
||||
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->setIconSize(icon_size);
|
||||
}
|
||||
@ -1009,7 +1009,7 @@ void ChatLobbyDialog::setWindowed(bool windowed)
|
||||
chatLobbyPage->addChatPage(this);
|
||||
|
||||
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->setIconSize(icon_size);
|
||||
}
|
||||
|
@ -1863,7 +1863,7 @@ void ChatWidget::updatePeersCustomStateString(const QString& /*peer_id*/, const
|
||||
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->typingPixmapLabel->setPixmap(QPixmap(":icons/png/typing.png") );
|
||||
ui->typingPixmapLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":icons/png/typing.png") );
|
||||
|
||||
if (statusString == "is typing...") {
|
||||
typing = true;
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include "gui/common/PeerDefs.h"
|
||||
#include "ChatDialog.h"
|
||||
#include "gui/ChatLobbyWidget.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
CreateLobbyDialog::CreateLobbyDialog(const std::set<RsPeerId>& peer_list, int privacyLevel, QWidget *parent) :
|
||||
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->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"));
|
||||
|
||||
RsGxsId default_identity ;
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <gui/gxs/GxsIdDetails.h>
|
||||
|
||||
#include "AvatarDefs.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
void AvatarDefs::getOwnAvatar(QPixmap &avatar, const QString& defaultImage)
|
||||
{
|
||||
@ -36,7 +37,7 @@ void AvatarDefs::getOwnAvatar(QPixmap &avatar, const QString& defaultImage)
|
||||
rsMsgs->getOwnAvatarData(data, size);
|
||||
|
||||
if (size == 0) {
|
||||
avatar = QPixmap(defaultImage);
|
||||
avatar = FilesDefs::getPixmapFromQtResourcePath(defaultImage);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -53,7 +54,7 @@ bool AvatarDefs::getAvatarFromSslId(const RsPeerId& sslId, QPixmap &avatar, cons
|
||||
/* get avatar */
|
||||
rsMsgs->getAvatarData(RsPeerId(sslId), data, size);
|
||||
if (size == 0) {
|
||||
avatar = QPixmap(defaultImage);
|
||||
avatar = FilesDefs::getPixmapFromQtResourcePath(defaultImage);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -72,7 +73,7 @@ bool AvatarDefs::getAvatarFromGxsId(const RsGxsId& gxsId, QPixmap &avatar, const
|
||||
|
||||
if(!rsIdentity->getIdDetails(gxsId, details))
|
||||
{
|
||||
avatar = QPixmap(defaultImage);
|
||||
avatar = FilesDefs::getPixmapFromQtResourcePath(defaultImage);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -107,7 +108,7 @@ bool AvatarDefs::getAvatarFromGpgId(const RsPgpId& gpgId, QPixmap &avatar, const
|
||||
}
|
||||
|
||||
if (size == 0) {
|
||||
avatar = QPixmap(defaultImage);
|
||||
avatar = FilesDefs::getPixmapFromQtResourcePath(defaultImage);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "ui_AvatarDialog.h"
|
||||
#include "AvatarDefs.h"
|
||||
#include "util/misc.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
/** Constructor */
|
||||
AvatarDialog::AvatarDialog(QWidget *parent) :
|
||||
@ -33,7 +34,7 @@ AvatarDialog::AvatarDialog(QWidget *parent) :
|
||||
/* Invoke Qt Designer generated QObject setup routine */
|
||||
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"));
|
||||
|
||||
connect(ui->avatarButton, SIGNAL(clicked(bool)), this, SLOT(changeAvatar()));
|
||||
|
@ -238,7 +238,7 @@ void Emoticons::showSmileyWidget(QWidget *parent, QWidget *button, const char *s
|
||||
QPushButton *button = new QPushButton("", tabGrpWidget);
|
||||
button->setIconSize(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->setStyleSheet("QPushButton:hover {border: 3px solid #0099cc; border-radius: 3px;}");
|
||||
button->setFlat(true);
|
||||
@ -402,7 +402,7 @@ void Emoticons::showStickerWidget(QWidget *parent, QWidget *button, const char *
|
||||
button->setFixedSize(QSize(buttonWidth, buttonHeight));
|
||||
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->setToolTip(fi.fileName());
|
||||
|
@ -306,7 +306,7 @@ void FriendList::peerTreeWidgetCustomPopupMenu()
|
||||
hbox->setSpacing(6);
|
||||
|
||||
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->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
||||
hbox->addWidget(iconLabel);
|
||||
@ -1006,7 +1006,7 @@ void FriendList::insertPeers()
|
||||
sslItem->setHidden(false);
|
||||
gpg_connected = true;
|
||||
|
||||
sslOverlayIcon = QPixmap(StatusDefs::imageStatus(bestRSState));
|
||||
sslOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(StatusDefs::imageStatus(bestRSState));
|
||||
|
||||
connectStateString = StatusDefs::name(rsState);
|
||||
|
||||
@ -1024,9 +1024,9 @@ void FriendList::insertPeers()
|
||||
peerState = PEER_STATE_AVAILABLE;
|
||||
|
||||
if (sslDetail.connectState) {
|
||||
sslOverlayIcon = QPixmap(":/images/connect_creating.png");
|
||||
sslOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(":/images/connect_creating.png");
|
||||
} else {
|
||||
sslOverlayIcon = QPixmap(StatusDefs::imageStatus(RS_STATUS_ONLINE));
|
||||
sslOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(StatusDefs::imageStatus(RS_STATUS_ONLINE));
|
||||
}
|
||||
|
||||
connectStateString = StatusDefs::name(RS_STATUS_ONLINE);
|
||||
@ -1037,9 +1037,9 @@ void FriendList::insertPeers()
|
||||
peerState = PEER_STATE_OFFLINE;
|
||||
sslItem->setHidden(mHideUnconnected);
|
||||
if (sslDetail.connectState) {
|
||||
sslOverlayIcon = QPixmap(":/images/connect_creating.png");
|
||||
sslOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(":/images/connect_creating.png");
|
||||
} else {
|
||||
sslOverlayIcon = QPixmap(StatusDefs::imageStatus(RS_STATUS_OFFLINE));
|
||||
sslOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(StatusDefs::imageStatus(RS_STATUS_OFFLINE));
|
||||
}
|
||||
|
||||
connectStateString = StatusDefs::connectStateWithoutTransportTypeString(sslDetail);
|
||||
@ -1099,7 +1099,7 @@ void FriendList::insertPeers()
|
||||
|
||||
if (std::find(privateChatIds.begin(), privateChatIds.end(), sslDetail.id) != privateChatIds.end()) {
|
||||
// private chat is available
|
||||
sslOverlayIcon = QPixmap(":/images/chat.png");
|
||||
sslOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(":/images/chat.png");
|
||||
gpg_hasPrivateChat = true;
|
||||
}
|
||||
sslItem->setIcon(COLUMN_NAME, createAvatar(sslAvatar, sslOverlayIcon));
|
||||
@ -1138,7 +1138,7 @@ void FriendList::insertPeers()
|
||||
gpgFont = StatusDefs::font(bestRSState);
|
||||
|
||||
if (showInfoAtGpgItem) {
|
||||
gpgOverlayIcon = QPixmap(StatusDefs::imageStatus(bestRSState));
|
||||
gpgOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(StatusDefs::imageStatus(bestRSState));
|
||||
|
||||
if (mShowState) {
|
||||
gpgText = StatusDefs::name(bestRSState);
|
||||
@ -1164,7 +1164,7 @@ void FriendList::insertPeers()
|
||||
gpgText += tr("Available");
|
||||
}
|
||||
|
||||
gpgOverlayIcon = QPixmap(IMAGE_AVAILABLE);
|
||||
gpgOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(IMAGE_AVAILABLE);
|
||||
}
|
||||
} else {
|
||||
bestPeerState = PEER_STATE_OFFLINE;
|
||||
@ -1178,15 +1178,15 @@ void FriendList::insertPeers()
|
||||
gpgText += StatusDefs::name(RS_STATUS_OFFLINE);
|
||||
}
|
||||
|
||||
gpgOverlayIcon = QPixmap(StatusDefs::imageStatus(RS_STATUS_OFFLINE));
|
||||
gpgOverlayIcon = FilesDefs::getPixmapFromQtResourcePath(StatusDefs::imageStatus(RS_STATUS_OFFLINE));
|
||||
}
|
||||
}
|
||||
|
||||
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 */
|
||||
ElidedLabel *gpgNameLabel = NULL;
|
||||
|
@ -307,7 +307,7 @@ void NewFriendList::headerContextMenuRequested(QPoint p)
|
||||
hbox->setSpacing(6);
|
||||
|
||||
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->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
||||
hbox->addWidget(iconLabel);
|
||||
@ -534,7 +534,7 @@ void NewFriendList::peerTreeWidgetCustomPopupMenu()
|
||||
hbox->setSpacing(6);
|
||||
|
||||
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->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
||||
hbox->addWidget(iconLabel);
|
||||
|
@ -27,6 +27,7 @@
|
||||
|
||||
#include "RSTextBrowser.h"
|
||||
#include "RSImageBlockWidget.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
#include <retroshare/rsinit.h> //To get RsAccounts
|
||||
|
||||
@ -149,7 +150,7 @@ QVariant RSTextBrowser::loadResource(int type, const QUrl &name)
|
||||
|
||||
QPixmap RSTextBrowser::getBlockedImage()
|
||||
{
|
||||
return QPixmap(":/images/imageblocked_24.png");
|
||||
return FilesDefs::getPixmapFromQtResourcePath(":/images/imageblocked_24.png");
|
||||
}
|
||||
|
||||
void RSTextBrowser::setImageBlockWidget(RSImageBlockWidget *widget)
|
||||
|
@ -30,7 +30,10 @@ RSTreeView::RSTreeView(QWidget *parent) : QTreeView(parent)
|
||||
void RSTreeView::wheelEvent(QWheelEvent *e)
|
||||
{
|
||||
if(e->modifiers() == Qt::ControlModifier)
|
||||
{
|
||||
emit zoomRequested(e->delta() > 0);
|
||||
return;
|
||||
}
|
||||
else
|
||||
QTreeView::wheelEvent(e);
|
||||
}
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include <QWidgetAction>
|
||||
|
||||
#include "gui/settings/rsharesettings.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
RSTreeWidget::RSTreeWidget(QWidget *parent) : QTreeWidget(parent)
|
||||
{
|
||||
@ -259,7 +260,7 @@ QMenu *RSTreeWidget::createStandardContextMenu(QMenu *contextMenu)
|
||||
hbox->setSpacing(6);
|
||||
|
||||
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->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
||||
hbox->addWidget(iconLabel);
|
||||
|
@ -143,7 +143,7 @@ RsCollectionDialog::RsCollectionDialog(const QString& collectionFileName
|
||||
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)
|
||||
{
|
||||
|
@ -40,6 +40,7 @@
|
||||
#include "gui/RetroShareLink.h"
|
||||
#include "gui/notifyqt.h"
|
||||
#include "gui/common/AvatarDefs.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
#include "gui/MainWindow.h"
|
||||
#include "util/DateTime.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 */
|
||||
ui.setupUi(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._chat_CB->hide() ;
|
||||
|
@ -95,10 +95,10 @@ ConnectFriendWizard::ConnectFriendWizard(QWidget *parent) :
|
||||
// setOption(HaveHelpButton, true);
|
||||
// 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
|
||||
// setPixmap(QWizard::WatermarkPixmap, QPixmap(":/images/connectFriendWatermark.png"));
|
||||
// setPixmap(QWizard::WatermarkPixmap, FilesDefs::getPixmapFromQtResourcePath(":/images/connectFriendWatermark.png"));
|
||||
|
||||
/* register global fields */
|
||||
ui->ErrorMessagePage->registerField("errorMessage", ui->messageLabel, "text");
|
||||
@ -563,7 +563,7 @@ void ConnectFriendWizard::initializePage(int id)
|
||||
ui->_addIPToWhiteList_ComboBox_2->addItem("(Hidden node)") ;
|
||||
int S = QFontMetricsF(ui->ipEdit->font()).height() ;
|
||||
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");
|
||||
}
|
||||
if(mIsShortInvite)
|
||||
@ -813,7 +813,7 @@ void ConnectFriendWizard::cleanFriendCert()
|
||||
std::string cert = ui->friendCertEdit->toPlainText().toUtf8().constData();
|
||||
|
||||
if (cert.empty()) {
|
||||
ui->friendCertCleanLabel->setPixmap(QPixmap(":/images/delete.png"));
|
||||
ui->friendCertCleanLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/delete.png"));
|
||||
ui->friendCertCleanLabel->setToolTip("");
|
||||
ui->friendCertCleanLabel->setStyleSheet("");
|
||||
errorMsg = tr("");
|
||||
@ -837,7 +837,7 @@ void ConnectFriendWizard::cleanFriendCert()
|
||||
}
|
||||
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 {
|
||||
if (error_code > 0) {
|
||||
switch (error_code) {
|
||||
@ -856,11 +856,11 @@ void ConnectFriendWizard::cleanFriendCert()
|
||||
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->setText(errorMsg);
|
||||
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include <retroshare/rsdht.h>
|
||||
|
||||
#include "gui/common/StatusDefs.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
/* maintain one static dialog per SSL ID */
|
||||
|
||||
@ -56,7 +57,7 @@ ConnectProgressDialog::ConnectProgressDialog(const RsPeerId& id, QWidget *parent
|
||||
ui->setupUi(this);
|
||||
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"));
|
||||
|
||||
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(stopAndClose()));
|
||||
@ -281,39 +282,39 @@ void ConnectProgressDialog::stopAndClose()
|
||||
|
||||
void ConnectProgressDialog::updateNetworkStatus()
|
||||
{
|
||||
uint32_t netState = rsConfig->getNetState();
|
||||
RsNetState netState = rsConfig->getNetState();
|
||||
|
||||
QLabel *label = ui->NetResult;
|
||||
switch(netState)
|
||||
{
|
||||
case RSNET_NETSTATE_BAD_UNKNOWN:
|
||||
case RsNetState::BAD_UNKNOWN:
|
||||
label->setText(tr("Unknown State"));
|
||||
break;
|
||||
case RSNET_NETSTATE_BAD_OFFLINE:
|
||||
case RsNetState::BAD_OFFLINE:
|
||||
label->setText(tr("Offline"));
|
||||
break;
|
||||
case RSNET_NETSTATE_BAD_NATSYM:
|
||||
case RsNetState::BAD_NATSYM:
|
||||
label->setText(tr("Behind Symmetric NAT"));
|
||||
break;
|
||||
case RSNET_NETSTATE_BAD_NODHT_NAT:
|
||||
case RsNetState::BAD_NODHT_NAT:
|
||||
label->setText(tr("Behind NAT & No DHT"));
|
||||
break;
|
||||
case RSNET_NETSTATE_WARNING_RESTART:
|
||||
case RsNetState::WARNING_RESTART:
|
||||
label->setText(tr("NET Restart"));
|
||||
break;
|
||||
case RSNET_NETSTATE_WARNING_NATTED:
|
||||
case RsNetState::WARNING_NATTED:
|
||||
label->setText(tr("Behind NAT"));
|
||||
break;
|
||||
case RSNET_NETSTATE_WARNING_NODHT:
|
||||
case RsNetState::WARNING_NODHT:
|
||||
label->setText(tr("No DHT"));
|
||||
break;
|
||||
case RSNET_NETSTATE_GOOD:
|
||||
case RsNetState::GOOD:
|
||||
label->setText(tr("NET STATE GOOD!"));
|
||||
break;
|
||||
case RSNET_NETSTATE_ADV_FORWARD:
|
||||
case RsNetState::ADV_FORWARD:
|
||||
label->setText(tr("UNVERIFIABLE FORWARD!"));
|
||||
break;
|
||||
case RSNET_NETSTATE_ADV_DARK_FORWARD:
|
||||
case RsNetState::ADV_DARK_FORWARD:
|
||||
label->setText(tr("UNVERIFIABLE FORWARD & NO DHT"));
|
||||
break;
|
||||
}
|
||||
@ -521,30 +522,30 @@ void ConnectProgressDialog::updateLookupStatus()
|
||||
switch(status.mDhtState)
|
||||
{
|
||||
default:
|
||||
case RSDHT_PEERDHT_NOT_ACTIVE:
|
||||
case RsDhtPeerDht::NOT_ACTIVE:
|
||||
ui->LookupProgressBar->setValue(0);
|
||||
ui->LookupResult->setText(tr("Peer DHT NOT ACTIVE"));
|
||||
mLookupStatus = CONNECT_LOOKUP_NODHTCONFIG;
|
||||
break;
|
||||
case RSDHT_PEERDHT_SEARCHING:
|
||||
case RsDhtPeerDht::SEARCHING:
|
||||
ui->LookupResult->setText(tr("Searching"));
|
||||
break;
|
||||
case RSDHT_PEERDHT_FAILURE:
|
||||
case RsDhtPeerDht::FAILURE:
|
||||
ui->LookupProgressBar->setValue(0);
|
||||
ui->LookupResult->setText(tr("Lookup Failure"));
|
||||
mLookupStatus = CONNECT_LOOKUP_FAIL;
|
||||
break;
|
||||
case RSDHT_PEERDHT_OFFLINE:
|
||||
case RsDhtPeerDht::OFFLINE:
|
||||
ui->LookupProgressBar->setValue(100);
|
||||
ui->LookupResult->setText(tr("Peer Offline"));
|
||||
mLookupStatus = CONNECT_LOOKUP_OFFLINE;
|
||||
break;
|
||||
case RSDHT_PEERDHT_UNREACHABLE:
|
||||
case RsDhtPeerDht::UNREACHABLE:
|
||||
ui->LookupProgressBar->setValue(100);
|
||||
ui->LookupResult->setText(tr("Peer Firewalled"));
|
||||
mLookupStatus = CONNECT_LOOKUP_UNREACHABLE;
|
||||
break;
|
||||
case RSDHT_PEERDHT_ONLINE:
|
||||
case RsDhtPeerDht::ONLINE:
|
||||
ui->LookupProgressBar->setValue(100);
|
||||
ui->LookupResult->setText(tr("Peer Online"));
|
||||
mLookupStatus = CONNECT_LOOKUP_ONLINE;
|
||||
|
@ -75,7 +75,7 @@ PGPKeyDialog::PGPKeyDialog(const RsPeerId& id, const RsPgpId &pgp_id, QWidget *p
|
||||
// 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._chat_CB->hide() ;
|
||||
|
@ -148,7 +148,7 @@ void GxsChannelGroupItem::fill()
|
||||
if (mGroup.mImage.mData != NULL) {
|
||||
QPixmap chanImage;
|
||||
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)) {
|
||||
|
@ -156,7 +156,7 @@ void GxsChannelPostItem::setup()
|
||||
// memory.
|
||||
|
||||
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->voteUpButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/images/vote_up.png"));
|
||||
ui->voteDownButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/images/vote_down.png"));
|
||||
@ -211,12 +211,12 @@ void GxsChannelPostItem::setup()
|
||||
|
||||
ui->downloadButton->hide();
|
||||
ui->playButton->hide();
|
||||
ui->warn_image_label->hide();
|
||||
ui->warning_label->hide();
|
||||
//ui->warn_image_label->hide();
|
||||
//ui->warning_label->hide();
|
||||
|
||||
ui->titleLabel->setMinimumWidth(100);
|
||||
//ui->subjectLabel->setMinimumWidth(100);
|
||||
ui->warning_label->setMinimumWidth(100);
|
||||
//ui->warning_label->setMinimumWidth(100);
|
||||
|
||||
ui->mainFrame->setProperty("new", false);
|
||||
ui->mainFrame->style()->unpolish(ui->mainFrame);
|
||||
@ -466,7 +466,7 @@ void GxsChannelPostItem::fill()
|
||||
ui->titleLabel->setText(title);
|
||||
|
||||
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))
|
||||
{
|
||||
@ -489,12 +489,12 @@ void GxsChannelPostItem::fill()
|
||||
/* subject */
|
||||
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
|
||||
//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);
|
||||
// scoreLabel->setText(score);
|
||||
@ -654,21 +654,21 @@ void GxsChannelPostItem::setReadStatus(bool isNew, bool isUnread)
|
||||
ui->mainFrame->style()->polish( ui->mainFrame);
|
||||
}
|
||||
|
||||
void GxsChannelPostItem::setFileCleanUpWarning(uint32_t time_left)
|
||||
{
|
||||
int hours = (int)time_left/3600;
|
||||
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(
|
||||
QString::number(hours)).arg(QString::number(minutes)));
|
||||
|
||||
QFont warnFont = ui->warning_label->font();
|
||||
warnFont.setBold(true);
|
||||
ui->warning_label->setFont(warnFont);
|
||||
|
||||
ui->warn_image_label->setVisible(true);
|
||||
ui->warning_label->setVisible(true);
|
||||
}
|
||||
// void GxsChannelPostItem::setFileCleanUpWarning(uint32_t time_left)
|
||||
// {
|
||||
// int hours = (int)time_left/3600;
|
||||
// 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(
|
||||
// QString::number(hours)).arg(QString::number(minutes)));
|
||||
//
|
||||
// QFont warnFont = ui->warning_label->font();
|
||||
// warnFont.setBold(true);
|
||||
// ui->warning_label->setFont(warnFont);
|
||||
//
|
||||
// ui->warn_image_label->setVisible(true);
|
||||
// ui->warning_label->setVisible(true);
|
||||
// }
|
||||
|
||||
void GxsChannelPostItem::updateItem()
|
||||
{
|
||||
|
@ -56,7 +56,7 @@ public:
|
||||
bool setGroup(const RsGxsChannelGroup& group, 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 getMsgLabel();
|
||||
|
@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>922</width>
|
||||
<height>187</height>
|
||||
<width>1092</width>
|
||||
<height>231</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gxsChannelPostItem_GLayout">
|
||||
@ -124,6 +124,16 @@
|
||||
</item>
|
||||
</layout>
|
||||
</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>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
@ -137,33 +147,6 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</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>
|
||||
<layout class="QHBoxLayout" name="newCommHLayout">
|
||||
<property name="topMargin">
|
||||
@ -486,21 +469,18 @@
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>StyledElidedLabel</class>
|
||||
<extends>QLabel</extends>
|
||||
<header>gui/common/StyledElidedLabel.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>ElidedLabel</class>
|
||||
<extends>QLabel</extends>
|
||||
<header location="global">gui/common/ElidedLabel.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>StyledElidedLabel</class>
|
||||
<extends>QLabel</extends>
|
||||
<header>gui/common/StyledElidedLabel.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../icons.qrc"/>
|
||||
<include location="../images.qrc"/>
|
||||
</resources>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
@ -159,9 +159,9 @@ void GxsForumGroupItem::fill()
|
||||
ui->descLabel->setText(QString::fromUtf8(mGroup.mDescription.c_str()));
|
||||
|
||||
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 {
|
||||
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)) {
|
||||
|
@ -335,9 +335,9 @@ void GxsForumMsgItem::fill()
|
||||
}
|
||||
|
||||
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 {
|
||||
ui->iconLabel->setPixmap(QPixmap(":/icons/png/forums-default.png"));
|
||||
ui->iconLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/forums-default.png"));
|
||||
}
|
||||
|
||||
if (!mIsHome) {
|
||||
|
@ -157,15 +157,15 @@ void PostedGroupItem::fill()
|
||||
GxsIdDetails::loadPixmapFromData(mGroup.mGroupImage.mData, mGroup.mGroupImage.mSize, postedImage,GxsIdDetails::ORIGINAL);
|
||||
ui->logoLabel->setPixmap(QPixmap(postedImage));
|
||||
} else {
|
||||
ui->logoLabel->setPixmap(QPixmap(":/icons/png/posted.png"));
|
||||
ui->logoLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png"));
|
||||
}
|
||||
|
||||
|
||||
//TODO - nice icon for subscribed group
|
||||
// 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 {
|
||||
// ui->logoLabel->setPixmap(QPixmap(":/icons/png/posted.png"));
|
||||
// ui->logoLabel->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png"));
|
||||
// }
|
||||
|
||||
if (IS_GROUP_SUBSCRIBED(mGroup.mMeta.mSubscribeFlags)) {
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "gui/common/GroupDefs.h"
|
||||
#include "gui/settings/rsharesettings.h"
|
||||
#include "util/misc.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
@ -40,7 +41,7 @@ CreateGroup::CreateGroup(const RsNodeGroupId &groupId, QWidget *parent)
|
||||
|
||||
mIsStandard = false;
|
||||
|
||||
ui.headerFrame->setHeaderImage(QPixmap(":/images/user/add_group256.png"));
|
||||
ui.headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/images/user/add_group256.png"));
|
||||
|
||||
mGroupId = groupId;
|
||||
|
||||
@ -68,7 +69,7 @@ CreateGroup::CreateGroup(const RsNodeGroupId &groupId, QWidget *parent)
|
||||
}
|
||||
|
||||
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.groupName->setDisabled(mIsStandard);
|
||||
|
@ -146,7 +146,7 @@ void GxsGroupFrameDialog::initUi()
|
||||
{
|
||||
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));
|
||||
|
||||
/* Initialize group tree */
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include <retroshare/rsposted.h>
|
||||
|
||||
#include "gui/common/PeerDefs.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
GroupShareKey::GroupShareKey(QWidget *parent, const RsGxsGroupId &grpId, int 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->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"));
|
||||
|
||||
connect( ui->buttonBox, SIGNAL(accepted()), this, SLOT(shareKey()));
|
||||
@ -76,14 +77,14 @@ void GroupShareKey::setTyp()
|
||||
if (!rsGxsChannels)
|
||||
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->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)
|
||||
{
|
||||
|
||||
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->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)
|
||||
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->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."));
|
||||
|
||||
|
@ -161,7 +161,7 @@ QVariant GxsIdRSTreeWidgetItem::data(int column, int role) const
|
||||
if(mId.isNull())
|
||||
return RSTreeWidgetItem::data(column, role);
|
||||
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) )
|
||||
pix = GxsIdDetails::makeDefaultIcon(mId,GxsIdDetails::LARGE);
|
||||
|
||||
|
@ -87,7 +87,7 @@ void WikiGroupDialog::initUi()
|
||||
|
||||
QPixmap WikiGroupDialog::serviceImage()
|
||||
{
|
||||
return QPixmap(":/icons/png/wiki.png");
|
||||
return FilesDefs::getPixmapFromQtResourcePath(":/icons/png/wiki.png");
|
||||
}
|
||||
|
||||
|
||||
|
@ -56,7 +56,7 @@ CreateGxsChannelMsg::CreateGxsChannelMsg(const RsGxsGroupId &cId, RsGxsMessageId
|
||||
setupUi(this);
|
||||
Settings->loadWidgetInformation(this);
|
||||
|
||||
headerFrame->setHeaderImage(QPixmap(":/icons/png/channel.png"));
|
||||
headerFrame->setHeaderImage(FilesDefs::getPixmapFromQtResourcePath(":/icons/png/channel.png"));
|
||||
|
||||
if(!existing_post.isNull())
|
||||
headerFrame->setHeaderText(tr("Edit Channel Post"));
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <QBuffer>
|
||||
|
||||
#include "gui/gxs/GxsIdDetails.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
#include "GxsChannelGroupDialog.h"
|
||||
|
||||
#include <retroshare/rsgxschannels.h>
|
||||
@ -99,11 +100,9 @@ QPixmap GxsChannelGroupDialog::serviceImage()
|
||||
switch (mode())
|
||||
{
|
||||
case MODE_CREATE:
|
||||
return QPixmap(":/icons/png/channel.png");
|
||||
case MODE_SHOW:
|
||||
return QPixmap(":/icons/png/channel.png");
|
||||
case MODE_EDIT:
|
||||
return QPixmap(":/icons/png/channel.png");
|
||||
return FilesDefs::getPixmapFromQtResourcePath(":/icons/png/channel.png");
|
||||
}
|
||||
|
||||
return QPixmap();
|
||||
|
@ -121,7 +121,11 @@ void ChannelPostDelegate::paint(QPainter * painter, const QStyleOptionViewItem &
|
||||
|
||||
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();
|
||||
|
||||
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;
|
||||
ChannelPostThumbnailView w(post,flags);
|
||||
w.setBackgroundRole(QPalette::AlternateBase);
|
||||
w.setAspectRatio(mAspectRatio);
|
||||
w.updateGeometry();
|
||||
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)
|
||||
pixmap.fill(SelectedColor); // I dont know how to grab the backgroud color for selected objects automatically.
|
||||
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
|
||||
|
||||
@ -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));
|
||||
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") + ")" );
|
||||
y += font_height;
|
||||
}
|
||||
|
||||
painter->restore();
|
||||
}
|
||||
@ -285,7 +300,13 @@ void ChannelPostFilesDelegate::paint(QPainter * painter, const QStyleOptionViewI
|
||||
w.setFixedHeight(option.rect.height());
|
||||
|
||||
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
|
||||
|
||||
painter->drawPixmap(option.rect.topLeft(),pixmap);
|
||||
@ -335,6 +356,7 @@ GxsChannelPostsWidgetWithModel::GxsChannelPostsWidgetWithModel(const RsGxsGroupI
|
||||
ui->showUnread_TB->setToolTip(tr("Show unread posts only"));
|
||||
connect(ui->showUnread_TB,SIGNAL(toggled(bool)),this,SLOT(switchOnlyUnread(bool)));
|
||||
|
||||
ui->postsTree->setAlternatingRowColors(false);
|
||||
ui->postsTree->setModel(mChannelPostsModel = new RsGxsChannelPostsModel());
|
||||
ui->postsTree->setItemDelegate(mChannelPostsDelegate = new ChannelPostDelegate());
|
||||
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->setSortingEnabled(true);
|
||||
ui->channelPostFiles_TV->sortByColumn(0, Qt::AscendingOrder);
|
||||
ui->channelPostFiles_TV->setAlternatingRowColors(false);
|
||||
|
||||
ui->channelFiles_TV->setModel(mChannelFilesModel = new RsGxsChannelPostFilesModel());
|
||||
ui->channelFiles_TV->setItemDelegate(mFilesDelegate = new ChannelPostFilesDelegate());
|
||||
@ -418,8 +441,8 @@ GxsChannelPostsWidgetWithModel::GxsChannelPostsWidgetWithModel(const RsGxsGroupI
|
||||
|
||||
/* Initialize subscribe button */
|
||||
QIcon icon;
|
||||
icon.addPixmap(QPixmap(":/images/redled.png"), QIcon::Normal, QIcon::On);
|
||||
icon.addPixmap(QPixmap(":/images/start.png"), QIcon::Normal, QIcon::Off);
|
||||
icon.addPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/redled.png"), QIcon::Normal, QIcon::On);
|
||||
icon.addPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/start.png"), QIcon::Normal, QIcon::Off);
|
||||
mAutoDownloadAction = new QAction(icon, "", this);
|
||||
mAutoDownloadAction->setCheckable(true);
|
||||
connect(mAutoDownloadAction, SIGNAL(triggered()), this, SLOT(toggleAutoDownload()));
|
||||
@ -894,15 +917,7 @@ void GxsChannelPostsWidgetWithModel::processSettings(bool load)
|
||||
Settings->beginGroup(QString("ChannelPostsWidget"));
|
||||
|
||||
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
|
||||
channelpostfilesheader->restoreState(Settings->value("PostFilesTree").toByteArray());
|
||||
channelfilesheader->restoreState(Settings->value("FilesTree").toByteArray());
|
||||
@ -910,15 +925,6 @@ void GxsChannelPostsWidgetWithModel::processSettings(bool load)
|
||||
// state of splitter
|
||||
ui->splitter->restoreState(Settings->value("SplitterChannelPosts").toByteArray());
|
||||
} else {
|
||||
#ifdef TO_REMOVE
|
||||
// save settings
|
||||
|
||||
/* Filter */
|
||||
//Settings->setValue("filter", ui->filterLineEdit->currentFilter());
|
||||
|
||||
/* View mode */
|
||||
//Settings->setValue("viewMode", viewMode());
|
||||
#endif
|
||||
// state of files tree
|
||||
Settings->setValue("PostFilesTree", channelpostfilesheader->saveState());
|
||||
Settings->setValue("FilesTree", channelfilesheader->saveState());
|
||||
@ -946,7 +952,7 @@ void GxsChannelPostsWidgetWithModel::groupNameChanged(const QString &name)
|
||||
{
|
||||
// if (groupId().isNull()) {
|
||||
// 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 {
|
||||
// ui->nameLabel->setText(name);
|
||||
// }
|
||||
@ -1000,7 +1006,7 @@ void GxsChannelPostsWidgetWithModel::insertChannelDetails(const RsGxsChannelGrou
|
||||
if (group.mImage.mData != NULL) {
|
||||
GxsIdDetails::loadPixmapFromData(group.mImage.mData, group.mImage.mSize, chanImage,GxsIdDetails::ORIGINAL);
|
||||
} else {
|
||||
chanImage = QPixmap(ChannelPostThumbnailView::CHAN_DEFAULT_IMAGE);
|
||||
chanImage = FilesDefs::getPixmapFromQtResourcePath(ChannelPostThumbnailView::CHAN_DEFAULT_IMAGE);
|
||||
}
|
||||
if(group.mMeta.mGroupName.empty())
|
||||
ui->channelName_LB->setText(tr("[No name]"));
|
||||
@ -1106,47 +1112,6 @@ void GxsChannelPostsWidgetWithModel::insertChannelDetails(const RsGxsChannelGrou
|
||||
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)
|
||||
{
|
||||
filterChanged(ui->filterLineEdit->text());
|
||||
@ -1160,150 +1125,6 @@ void GxsChannelPostsWidgetWithModel::filterChanged(QString s)
|
||||
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()
|
||||
{
|
||||
ui->postButton->setEnabled(false);
|
||||
|
@ -147,7 +147,6 @@ private slots:
|
||||
void toggleAutoDownload();
|
||||
void subscribeGroup(bool subscribe);
|
||||
void filterChanged(QString);
|
||||
void setViewMode(int viewMode);
|
||||
void settingsChanged();
|
||||
void handlePostsTreeSizeChange(QSize s, bool force=false);
|
||||
void postChannelPostLoad();
|
||||
@ -172,8 +171,6 @@ private:
|
||||
void setAutoDownload(bool autoDl);
|
||||
static bool filterItem(FeedItem *feedItem, const QString &text, int filter);
|
||||
|
||||
int viewMode();
|
||||
|
||||
void insertChannelDetails(const RsGxsChannelGroup &group);
|
||||
void handleEvent_main_thread(std::shared_ptr<const RsEvent> event);
|
||||
|
||||
|
@ -393,6 +393,9 @@ p, li { white-space: pre-wrap; }
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::CustomContextMenu</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Click to view post. </p><p>Use Ctrl+mouse wheel </p><p>to zoom/unzoom.</p></body></html></string>
|
||||
</property>
|
||||
<property name="sizeAdjustPolicy">
|
||||
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
||||
</property>
|
||||
@ -428,7 +431,7 @@ p, li { white-space: pre-wrap; }
|
||||
</font>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
@ -593,16 +596,16 @@ p, li { white-space: pre-wrap; }
|
||||
<extends>QToolButton</extends>
|
||||
<header>gui/common/SubscribeToolButton.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>StyledElidedLabel</class>
|
||||
<extends>QLabel</extends>
|
||||
<header>gui/common/StyledElidedLabel.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>RSTreeView</class>
|
||||
<extends>QTreeView</extends>
|
||||
<header>gui/common/RSTreeView.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>LineEditClear</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header>gui/common/LineEditClear.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>GxsCommentDialog</class>
|
||||
<extends>QWidget</extends>
|
||||
@ -610,9 +613,9 @@ p, li { white-space: pre-wrap; }
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>LineEditClear</class>
|
||||
<extends>QLineEdit</extends>
|
||||
<header>gui/common/LineEditClear.h</header>
|
||||
<class>StyledElidedLabel</class>
|
||||
<extends>QLabel</extends>
|
||||
<header>gui/common/StyledElidedLabel.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
|
@ -35,6 +35,7 @@
|
||||
#include "gui/common/Emoticons.h"
|
||||
#include "gui/common/UIStateHelper.h"
|
||||
#include "gui/Identity/IdEditDialog.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
#include "util/HandleRichText.h"
|
||||
#include "util/misc.h"
|
||||
@ -89,7 +90,7 @@ CreateGxsForumMsg::CreateGxsForumMsg(const RsGxsGroupId &fId, const RsGxsMessage
|
||||
|
||||
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.generateSpinBox->setEnabled(false);
|
||||
|
@ -19,6 +19,7 @@
|
||||
*******************************************************************************/
|
||||
|
||||
#include "GxsForumGroupDialog.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
#include <retroshare/rsgxsforums.h>
|
||||
#include <iostream>
|
||||
@ -96,7 +97,7 @@ void GxsForumGroupDialog::initUi()
|
||||
|
||||
QPixmap GxsForumGroupDialog::serviceImage()
|
||||
{
|
||||
return QPixmap(":/icons/png/forums.png");
|
||||
return FilesDefs::getPixmapFromQtResourcePath(":/icons/png/forums.png");
|
||||
}
|
||||
|
||||
bool GxsForumGroupDialog::service_createGroup(RsGroupMetaData& meta)
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "IMHistoryItemDelegate.h"
|
||||
#include "IMHistoryItemPainter.h"
|
||||
#include "util/HandleRichText.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
#include "rshare.h"
|
||||
#include <retroshare/rshistory.h>
|
||||
@ -96,7 +97,7 @@ ImHistoryBrowser::ImHistoryBrowser(const ChatId &chatId, QTextEdit *edit, QWidge
|
||||
/* Invoke Qt Designer generated QObject setup routine */
|
||||
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"));
|
||||
|
||||
m_chatId = chatId;
|
||||
|
@ -51,7 +51,7 @@ ProfileManager::ProfileManager(QWidget *parent)
|
||||
/* Invoke Qt Designer generated QObject setup routine */
|
||||
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"));
|
||||
|
||||
connect(ui.identityTreeWidget, SIGNAL( customContextMenuRequested(QPoint)), this, SLOT( identityTreeWidgetCostumPopupMenu(QPoint)));
|
||||
|
@ -22,8 +22,9 @@
|
||||
|
||||
#include <QFileDialog>
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "ui_AboutPage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
class AboutPage : public ConfigPage
|
||||
{
|
||||
@ -38,7 +39,7 @@ public:
|
||||
/** Loads the settings for this page */
|
||||
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 helpText() const { return ""; }
|
||||
|
||||
|
@ -21,9 +21,10 @@
|
||||
#ifndef _APPERARANCEPAGE_H
|
||||
#define _APPERARANCEPAGE_H
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "gui/MainWindow.h"
|
||||
#include "ui_AppearancePage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
class AppearancePage : public ConfigPage
|
||||
{
|
||||
@ -36,7 +37,7 @@ public:
|
||||
/** Loads the settings for this page */
|
||||
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 helpText() const { return ""; }
|
||||
|
||||
|
@ -21,8 +21,9 @@
|
||||
#ifndef CHANNELPAGE_H
|
||||
#define CHANNELPAGE_H
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "ui_ChannelPage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
class ChannelPage : public ConfigPage
|
||||
{
|
||||
@ -35,7 +36,7 @@ public:
|
||||
/** Loads the settings for this page */
|
||||
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 helpText() const { return ""; }
|
||||
|
||||
|
@ -21,9 +21,10 @@
|
||||
#ifndef _CHATPAGE_H
|
||||
#define _CHATPAGE_H
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "gui/chat/ChatStyle.h"
|
||||
#include "ui_ChatPage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
class ChatPage : public ConfigPage
|
||||
{
|
||||
@ -38,7 +39,7 @@ class ChatPage : public ConfigPage
|
||||
/** Loads the settings for this page */
|
||||
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 helpText() const { return ""; }
|
||||
|
||||
|
@ -21,8 +21,9 @@
|
||||
#ifndef _CRYPTOPAGE_H
|
||||
#define _CRYPTOPAGE_H
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "ui_CryptoPage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
class CryptoPage : public ConfigPage
|
||||
{
|
||||
@ -36,7 +37,7 @@ class CryptoPage : public ConfigPage
|
||||
|
||||
/** 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 helpText() const { return ""; }
|
||||
|
||||
|
@ -22,7 +22,8 @@
|
||||
#ifndef __FileAssociationsPage__
|
||||
#define __FileAssociationsPage__
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
class QToolBar;
|
||||
class QAction;
|
||||
@ -52,7 +53,7 @@ public:
|
||||
virtual ~FileAssociationsPage();
|
||||
|
||||
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") ; }
|
||||
|
||||
protected:
|
||||
|
@ -21,8 +21,9 @@
|
||||
#ifndef FORUMPAGE_H
|
||||
#define FORUMPAGE_H
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "ui_ForumPage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
class ForumPage : public ConfigPage
|
||||
{
|
||||
@ -35,7 +36,7 @@ public:
|
||||
/** Loads the settings for this page */
|
||||
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 helpText() const { return ""; }
|
||||
|
||||
|
@ -22,8 +22,9 @@
|
||||
#ifndef _GENERALPAGE_H
|
||||
#define _GENERALPAGE_H
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "ui_GeneralPage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
class GeneralPage : public ConfigPage
|
||||
{
|
||||
@ -39,7 +40,7 @@ public:
|
||||
/** Loads the settings for this page */
|
||||
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 helpText() const { return ""; }
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*******************************************************************************
|
||||
* 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 *
|
||||
* it under the terms of the GNU Affero General Public License as *
|
||||
@ -20,7 +20,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
#include "ui_JsonApiPage.h"
|
||||
|
||||
class JsonApiPage : public ConfigPage
|
||||
@ -30,14 +31,16 @@ class JsonApiPage : public ConfigPage
|
||||
public:
|
||||
|
||||
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
|
||||
{ return QPixmap(":/icons/svg/empty-circle.svg"); }
|
||||
virtual QString pageName() const { return tr("JSON API"); }
|
||||
virtual QString helpText() const;
|
||||
virtual QString pageName() const override { return tr("JSON API"); }
|
||||
virtual QString helpText() const override;
|
||||
|
||||
/** Call this after start of libretroshare/Retroshare
|
||||
* checks the settings and starts JSON API if required */
|
||||
|
@ -23,10 +23,11 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "ui_MessagePage.h"
|
||||
|
||||
#include "gui/msgs/MessageInterface.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
class MessagePage : public ConfigPage
|
||||
{
|
||||
@ -39,7 +40,7 @@ public:
|
||||
/** Loads the settings for this page */
|
||||
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 helpText() const { return ""; }
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "ui_NotifyPage.h"
|
||||
|
||||
#include "gui/chat/ChatLobbyUserNotify.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
class UserNotify;
|
||||
class FeedNotify;
|
||||
@ -78,7 +79,7 @@ public:
|
||||
/** Loads the settings for this page */
|
||||
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 helpText() const ;
|
||||
|
||||
|
@ -21,8 +21,9 @@
|
||||
#ifndef PEOPLEPAGE_H
|
||||
#define PEOPLEPAGE_H
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "ui_PeoplePage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
class PeoplePage : public ConfigPage
|
||||
{
|
||||
@ -35,7 +36,7 @@ public:
|
||||
/** Loads the settings for this page */
|
||||
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 helpText() const { return ""; }
|
||||
|
||||
|
@ -20,8 +20,9 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "ui_PluginsPage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
namespace settings {
|
||||
|
||||
@ -36,7 +37,7 @@ class PluginsPage : public ConfigPage
|
||||
/** Loads the settings for this page */
|
||||
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 helpText() const ;
|
||||
|
||||
|
@ -21,7 +21,8 @@
|
||||
#ifndef POSTEDPAGE_H
|
||||
#define POSTEDPAGE_H
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
namespace Ui {
|
||||
class PostedPage;
|
||||
@ -38,7 +39,7 @@ public:
|
||||
/** Loads the settings for this page */
|
||||
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 helpText() const { return ""; }
|
||||
|
||||
|
@ -448,26 +448,26 @@ void ServerPage::load()
|
||||
//Relay Tab
|
||||
uint32_t count;
|
||||
uint32_t bandwidth;
|
||||
rsDht->getRelayAllowance(RSDHT_RELAY_CLASS_FRIENDS, count, bandwidth);
|
||||
rsDht->getRelayAllowance(RsDhtRelayClass::FRIENDS, count, bandwidth);
|
||||
whileBlocking(ui.noFriendSpinBox)->setValue(count);
|
||||
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.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.bandGeneralSpinBox)->setValue(bandwidth / 1024);
|
||||
|
||||
updateTotals();
|
||||
|
||||
|
||||
uint32_t relayMode = rsDht->getRelayMode();
|
||||
if (relayMode & RSDHT_RELAY_ENABLED)
|
||||
RsDhtRelayMode relayMode = rsDht->getRelayMode();
|
||||
if (!!(relayMode & RsDhtRelayMode::ENABLED))
|
||||
{
|
||||
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);
|
||||
}
|
||||
@ -884,19 +884,19 @@ void ServerPage::updateStatus()
|
||||
/******* Network Status Tab *******/
|
||||
|
||||
if(net_status.netUpnpOk)
|
||||
ui.iconlabel_upnp->setPixmap(QPixmap(":/images/ledon1.png"));
|
||||
ui.iconlabel_upnp->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
|
||||
else
|
||||
ui.iconlabel_upnp->setPixmap(QPixmap(":/images/ledoff1.png"));
|
||||
ui.iconlabel_upnp->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
|
||||
|
||||
if (net_status.netLocalOk)
|
||||
ui.iconlabel_netLimited->setPixmap(QPixmap(":/images/ledon1.png"));
|
||||
ui.iconlabel_netLimited->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
|
||||
else
|
||||
ui.iconlabel_netLimited->setPixmap(QPixmap(":/images/ledoff1.png"));
|
||||
ui.iconlabel_netLimited->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
|
||||
|
||||
if (net_status.netExtAddressOk)
|
||||
ui.iconlabel_ext->setPixmap(QPixmap(":/images/ledon1.png"));
|
||||
ui.iconlabel_ext->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
|
||||
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.iconlabel_hiddenMode->show() ;
|
||||
ui.iconlabel_hiddenMode->setPixmap(QPixmap(":/images/ledon1.png"));
|
||||
ui.iconlabel_hiddenMode->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
|
||||
|
||||
// CHANGE OPTIONS ON
|
||||
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)
|
||||
whileBlocking(ui.ipAddressList)->addItem(QString::fromStdString(*it));
|
||||
|
||||
ui.iconlabel_upnp->setPixmap(QPixmap(":/images/ledoff1.png"));
|
||||
ui.iconlabel_netLimited->setPixmap(QPixmap(":/images/ledoff1.png"));
|
||||
ui.iconlabel_ext->setPixmap(QPixmap(":/images/ledoff1.png"));
|
||||
ui.iconlabel_upnp->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
|
||||
ui.iconlabel_netLimited->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
|
||||
ui.iconlabel_ext->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
|
||||
|
||||
whileBlocking(ui.allowIpDeterminationCB)->setChecked(false);
|
||||
whileBlocking(ui.allowIpDeterminationCB)->setEnabled(false);
|
||||
@ -1235,19 +1235,19 @@ void ServerPage::updateStatusHiddenNode()
|
||||
/******* Network Status Tab *******/
|
||||
|
||||
if(net_status.netUpnpOk)
|
||||
ui.iconlabel_upnp->setPixmap(QPixmap(":/images/ledon1.png"));
|
||||
ui.iconlabel_upnp->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
|
||||
else
|
||||
ui.iconlabel_upnp->setPixmap(QPixmap(":/images/ledoff1.png"));
|
||||
ui.iconlabel_upnp->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
|
||||
|
||||
if (net_status.netLocalOk)
|
||||
ui.iconlabel_netLimited->setPixmap(QPixmap(":/images/ledon1.png"));
|
||||
ui.iconlabel_netLimited->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
|
||||
else
|
||||
ui.iconlabel_netLimited->setPixmap(QPixmap(":/images/ledoff1.png"));
|
||||
ui.iconlabel_netLimited->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
|
||||
|
||||
if (net_status.netExtAddressOk)
|
||||
ui.iconlabel_ext->setPixmap(QPixmap(":/images/ledon1.png"));
|
||||
ui.iconlabel_ext->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledon1.png"));
|
||||
else
|
||||
ui.iconlabel_ext->setPixmap(QPixmap(":/images/ledoff1.png"));
|
||||
ui.iconlabel_ext->setPixmap(FilesDefs::getPixmapFromQtResourcePath(":/images/ledoff1.png"));
|
||||
|
||||
#endif
|
||||
}
|
||||
@ -1306,12 +1306,12 @@ void ServerPage::updateOutProxyIndicator()
|
||||
if(socket.waitForConnected(500))
|
||||
{
|
||||
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.")) ;
|
||||
}
|
||||
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")) ;
|
||||
}
|
||||
|
||||
@ -1320,12 +1320,12 @@ void ServerPage::updateOutProxyIndicator()
|
||||
if(socket.waitForConnected(500))
|
||||
{
|
||||
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.")) ;
|
||||
}
|
||||
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")) ;
|
||||
}
|
||||
|
||||
@ -1334,12 +1334,12 @@ void ServerPage::updateOutProxyIndicator()
|
||||
if(true == (mBobAccessible = socket.waitForConnected(500)))
|
||||
{
|
||||
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")) ;
|
||||
}
|
||||
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?")) ;
|
||||
}
|
||||
}
|
||||
@ -1351,7 +1351,7 @@ void ServerPage::updateInProxyIndicator()
|
||||
if(!mIsHiddenNode)
|
||||
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")) ;
|
||||
QMovie *movie = new QMovie(":/images/loader/circleball-16.gif");
|
||||
ui.iconlabel_service_incoming->setMovie(movie);
|
||||
@ -1674,7 +1674,7 @@ void ServerPage::updateStatusBob()
|
||||
case csConnected:
|
||||
case csDoDisconnect:
|
||||
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"));
|
||||
|
||||
enableBobElements(false);
|
||||
@ -1707,7 +1707,7 @@ void ServerPage::updateStatusBob()
|
||||
// get error msg from bob
|
||||
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));
|
||||
|
||||
enableBobElements(false);
|
||||
@ -1723,7 +1723,7 @@ void ServerPage::updateStatusBob()
|
||||
case csIdel:
|
||||
switch (bs.ct) {
|
||||
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"));
|
||||
|
||||
enableBobElements(false);
|
||||
@ -1736,7 +1736,7 @@ void ServerPage::updateStatusBob()
|
||||
break;
|
||||
case ctRunCheck:
|
||||
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"));
|
||||
|
||||
enableBobElements(false);
|
||||
@ -1749,7 +1749,7 @@ void ServerPage::updateStatusBob()
|
||||
break;
|
||||
case ctRunShutDown:
|
||||
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"));
|
||||
|
||||
enableBobElements(true);
|
||||
@ -1844,14 +1844,14 @@ void ServerPage::updateInProxyIndicatorResult(bool success)
|
||||
if (success) {
|
||||
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.testIncomingTor_PB->setIcon(FilesDefs::getIconFromQtResourcePath(ICON_STATUS_OK)) ;
|
||||
} else {
|
||||
std::cerr <<"Failed!" << std::endl;
|
||||
|
||||
//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!")) ;
|
||||
}
|
||||
// delete movie
|
||||
@ -1887,33 +1887,33 @@ void ServerPage::updateTotals()
|
||||
|
||||
int total = nFriends + nFOF + nGeneral;
|
||||
|
||||
rsDht->setRelayAllowance(RSDHT_RELAY_CLASS_ALL, total, 0);
|
||||
rsDht->setRelayAllowance(RSDHT_RELAY_CLASS_FRIENDS, nFriends, 1024 * friendBandwidth);
|
||||
rsDht->setRelayAllowance(RSDHT_RELAY_CLASS_FOF, nFOF, 1024 * fofBandwidth);
|
||||
rsDht->setRelayAllowance(RSDHT_RELAY_CLASS_GENERAL, nGeneral, 1024 * genBandwidth);
|
||||
rsDht->setRelayAllowance(RsDhtRelayClass::ALL, total, 0);
|
||||
rsDht->setRelayAllowance(RsDhtRelayClass::FRIENDS, nFriends, 1024 * friendBandwidth);
|
||||
rsDht->setRelayAllowance(RsDhtRelayClass::FOF, nFOF, 1024 * fofBandwidth);
|
||||
rsDht->setRelayAllowance(RsDhtRelayClass::GENERAL, nGeneral, 1024 * genBandwidth);
|
||||
}
|
||||
|
||||
/** Saves the changes on this page */
|
||||
|
||||
void ServerPage::updateRelayMode()
|
||||
{
|
||||
uint32_t relayMode = 0;
|
||||
RsDhtRelayMode relayMode = static_cast<RsDhtRelayMode>(0);
|
||||
if (ui.enableCheckBox->isChecked())
|
||||
{
|
||||
relayMode |= RSDHT_RELAY_ENABLED;
|
||||
relayMode |= RsDhtRelayMode::ENABLED;
|
||||
|
||||
if (ui.serverCheckBox->isChecked())
|
||||
{
|
||||
relayMode |= RSDHT_RELAY_MODE_ON;
|
||||
relayMode |= RsDhtRelayMode::ON;
|
||||
}
|
||||
else
|
||||
{
|
||||
relayMode |= RSDHT_RELAY_MODE_OFF;
|
||||
relayMode |= RsDhtRelayMode::OFF;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
relayMode |= RSDHT_RELAY_MODE_OFF;
|
||||
relayMode |= RsDhtRelayMode::OFF;
|
||||
}
|
||||
|
||||
rsDht->setRelayMode(relayMode);
|
||||
|
@ -36,8 +36,9 @@
|
||||
#include <services/autoproxy/rsautoproxymonitor.h>
|
||||
#include <services/autoproxy/p3i2pbob.h>
|
||||
|
||||
#include <retroshare-gui/configpage.h>
|
||||
#include <retroshare-gui/RsAutoUpdatePage.h>
|
||||
#include "retroshare-gui/configpage.h"
|
||||
#include "retroshare-gui/RsAutoUpdatePage.h"
|
||||
#include "gui/common/FilesDefs.h"
|
||||
|
||||
|
||||
class QNetworkReply;
|
||||
@ -55,7 +56,7 @@ public:
|
||||
/** Loads the settings for this page */
|
||||
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 helpText() const { return ""; }
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user