mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-21 05:44:29 -05:00
added the basic natstatus feature for statusbar,
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1150 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
9113d01977
commit
255b5dca39
@ -1,4 +1,4 @@
|
|||||||
CONFIG += qt gui uic qrc resources uitools release
|
CONFIG += qt gui uic qrc resources uitools debug
|
||||||
QT += network xml script
|
QT += network xml script
|
||||||
TEMPLATE = app
|
TEMPLATE = app
|
||||||
TARGET = RetroShare
|
TARGET = RetroShare
|
||||||
@ -109,7 +109,7 @@ HEADERS += rshare.h \
|
|||||||
gui/StartDialog.h \
|
gui/StartDialog.h \
|
||||||
gui/ChatDialog.h \
|
gui/ChatDialog.h \
|
||||||
gui/BlogDialog.h \
|
gui/BlogDialog.h \
|
||||||
gui/CalDialog.h \
|
gui/CalDialog.h \
|
||||||
gui/NetworkDialog.h \
|
gui/NetworkDialog.h \
|
||||||
gui/GenCertDialog.h \
|
gui/GenCertDialog.h \
|
||||||
gui/TransfersDialog.h \
|
gui/TransfersDialog.h \
|
||||||
@ -169,8 +169,8 @@ HEADERS += rshare.h \
|
|||||||
util/log.h \
|
util/log.h \
|
||||||
util/misc.h \
|
util/misc.h \
|
||||||
gui/bwgraph/bwgraph.h \
|
gui/bwgraph/bwgraph.h \
|
||||||
gui/profile/ProfileView.h \
|
gui/profile/ProfileView.h \
|
||||||
gui/profile/ProfileEdit.h \
|
gui/profile/ProfileEdit.h \
|
||||||
gui/chat/PopupChatDialog.h \
|
gui/chat/PopupChatDialog.h \
|
||||||
gui/connect/ConnectDialog.h \
|
gui/connect/ConnectDialog.h \
|
||||||
gui/connect/ConfCertDialog.h \
|
gui/connect/ConfCertDialog.h \
|
||||||
@ -215,6 +215,8 @@ HEADERS += rshare.h \
|
|||||||
gui/Settings/ServerPage.h \
|
gui/Settings/ServerPage.h \
|
||||||
gui/Settings/NetworkPage.h \
|
gui/Settings/NetworkPage.h \
|
||||||
gui/statusbar/peerstatus.h \
|
gui/statusbar/peerstatus.h \
|
||||||
|
gui/statusbar/dhtstatus.h \
|
||||||
|
gui/statusbar/natstatus.h \
|
||||||
gui/advsearch/advancedsearchdialog.h \
|
gui/advsearch/advancedsearchdialog.h \
|
||||||
gui/advsearch/expressionwidget.h \
|
gui/advsearch/expressionwidget.h \
|
||||||
gui/advsearch/guiexprelement.h \
|
gui/advsearch/guiexprelement.h \
|
||||||
@ -235,7 +237,7 @@ HEADERS += rshare.h \
|
|||||||
gui/MsgFeed.h \
|
gui/MsgFeed.h \
|
||||||
gui/TransferFeed.h \
|
gui/TransferFeed.h \
|
||||||
gui/ChannelFeed.h \
|
gui/ChannelFeed.h \
|
||||||
gui/GeneralMsgDialog.h \
|
gui/GeneralMsgDialog.h \
|
||||||
gui/feeds/FeedHolder.h \
|
gui/feeds/FeedHolder.h \
|
||||||
gui/feeds/ForumNewItem.h \
|
gui/feeds/ForumNewItem.h \
|
||||||
gui/feeds/ForumMsgItem.h \
|
gui/feeds/ForumMsgItem.h \
|
||||||
@ -252,8 +254,8 @@ HEADERS += rshare.h \
|
|||||||
|
|
||||||
|
|
||||||
FORMS += gui/ChatDialog.ui \
|
FORMS += gui/ChatDialog.ui \
|
||||||
gui/BlogDialog.ui \
|
gui/BlogDialog.ui \
|
||||||
gui/CalDialog.ui \
|
gui/CalDialog.ui \
|
||||||
gui/StartDialog.ui \
|
gui/StartDialog.ui \
|
||||||
gui/GenCertDialog.ui \
|
gui/GenCertDialog.ui \
|
||||||
gui/NetworkDialog.ui \
|
gui/NetworkDialog.ui \
|
||||||
@ -275,15 +277,15 @@ FORMS += gui/ChatDialog.ui \
|
|||||||
gui/PeersDialog.ui \
|
gui/PeersDialog.ui \
|
||||||
gui/SearchDialog.ui \
|
gui/SearchDialog.ui \
|
||||||
gui/SharedFilesDialog.ui \
|
gui/SharedFilesDialog.ui \
|
||||||
gui/ShareManager.ui \
|
gui/ShareManager.ui \
|
||||||
gui/StatisticDialog.ui \
|
gui/StatisticDialog.ui \
|
||||||
gui/MessagesDialog.ui \
|
gui/MessagesDialog.ui \
|
||||||
gui/MessagesPopupDialog.ui \
|
gui/MessagesPopupDialog.ui \
|
||||||
gui/help/browser/helpbrowser.ui \
|
gui/help/browser/helpbrowser.ui \
|
||||||
gui/HelpDialog.ui \
|
gui/HelpDialog.ui \
|
||||||
gui/bwgraph/bwgraph.ui \
|
gui/bwgraph/bwgraph.ui \
|
||||||
gui/profile/ProfileView.ui \
|
gui/profile/ProfileView.ui \
|
||||||
gui/profile/ProfileEdit.ui \
|
gui/profile/ProfileEdit.ui \
|
||||||
gui/chat/PopupChatDialog.ui \
|
gui/chat/PopupChatDialog.ui \
|
||||||
gui/connect/ConnectDialog.ui \
|
gui/connect/ConnectDialog.ui \
|
||||||
gui/connect/ConfCertDialog.ui \
|
gui/connect/ConfCertDialog.ui \
|
||||||
@ -398,8 +400,8 @@ SOURCES += main.cpp \
|
|||||||
util/printpreview.cpp \
|
util/printpreview.cpp \
|
||||||
util/log.cpp \
|
util/log.cpp \
|
||||||
gui/bwgraph/bwgraph.cpp \
|
gui/bwgraph/bwgraph.cpp \
|
||||||
gui/profile/ProfileView.cpp \
|
gui/profile/ProfileView.cpp \
|
||||||
gui/profile/ProfileEdit.cpp \
|
gui/profile/ProfileEdit.cpp \
|
||||||
gui/chat/PopupChatDialog.cpp \
|
gui/chat/PopupChatDialog.cpp \
|
||||||
gui/connect/ConnectDialog.cpp \
|
gui/connect/ConnectDialog.cpp \
|
||||||
gui/connect/ConfCertDialog.cpp \
|
gui/connect/ConfCertDialog.cpp \
|
||||||
@ -430,7 +432,9 @@ SOURCES += main.cpp \
|
|||||||
gui/Settings/DirectoriesPage.cpp \
|
gui/Settings/DirectoriesPage.cpp \
|
||||||
gui/Settings/ServerPage.cpp \
|
gui/Settings/ServerPage.cpp \
|
||||||
gui/Settings/NetworkPage.cpp \
|
gui/Settings/NetworkPage.cpp \
|
||||||
gui/statusbar/peerstatus.cpp \
|
gui/statusbar/peerstatus.cpp \
|
||||||
|
gui/statusbar/dhtstatus.cpp \
|
||||||
|
gui/statusbar/natstatus.cpp \
|
||||||
gui/toaster/ChatToaster.cpp \
|
gui/toaster/ChatToaster.cpp \
|
||||||
gui/toaster/MessageToaster.cpp \
|
gui/toaster/MessageToaster.cpp \
|
||||||
gui/toaster/CallToaster.cpp \
|
gui/toaster/CallToaster.cpp \
|
||||||
@ -456,7 +460,7 @@ SOURCES += main.cpp \
|
|||||||
gui/MsgFeed.cpp \
|
gui/MsgFeed.cpp \
|
||||||
gui/TransferFeed.cpp \
|
gui/TransferFeed.cpp \
|
||||||
gui/ChannelFeed.cpp \
|
gui/ChannelFeed.cpp \
|
||||||
gui/GeneralMsgDialog.cpp \
|
gui/GeneralMsgDialog.cpp \
|
||||||
gui/feeds/ForumNewItem.cpp \
|
gui/feeds/ForumNewItem.cpp \
|
||||||
gui/feeds/ForumMsgItem.cpp \
|
gui/feeds/ForumMsgItem.cpp \
|
||||||
gui/feeds/PeerItem.cpp \
|
gui/feeds/PeerItem.cpp \
|
||||||
|
@ -54,6 +54,8 @@
|
|||||||
|
|
||||||
#include "statusbar/peerstatus.h"
|
#include "statusbar/peerstatus.h"
|
||||||
#include "statusbar/dhtstatus.h"
|
#include "statusbar/dhtstatus.h"
|
||||||
|
#include "statusbar/natstatus.h"
|
||||||
|
|
||||||
#include "Preferences/PreferencesWindow.h"
|
#include "Preferences/PreferencesWindow.h"
|
||||||
#include "Settings/gsettingswin.h"
|
#include "Settings/gsettingswin.h"
|
||||||
#include "util/rsversion.h"
|
#include "util/rsversion.h"
|
||||||
@ -312,11 +314,15 @@ MainWindow::MainWindow(QWidget* parent, Qt::WFlags flags)
|
|||||||
ui.toolBarservice->addSeparator();
|
ui.toolBarservice->addSeparator();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
/** StatusBar section **/
|
||||||
peerstatus = new PeerStatus();
|
peerstatus = new PeerStatus();
|
||||||
statusBar()->addWidget(peerstatus);
|
statusBar()->addWidget(peerstatus);
|
||||||
|
|
||||||
dhtstatus = new DHTStatus();
|
dhtstatus = new DHTStatus();
|
||||||
statusBar()->addWidget(dhtstatus);
|
statusBar()->addWidget(dhtstatus);
|
||||||
|
|
||||||
|
natstatus = new NATStatus();
|
||||||
|
statusBar()->addWidget(natstatus);
|
||||||
|
|
||||||
QWidget *widget = new QWidget();
|
QWidget *widget = new QWidget();
|
||||||
QSizePolicy sizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
|
QSizePolicy sizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
|
||||||
@ -413,6 +419,9 @@ void MainWindow::updateStatus()
|
|||||||
|
|
||||||
if (dhtstatus)
|
if (dhtstatus)
|
||||||
dhtstatus->getDHTStatus();
|
dhtstatus->getDHTStatus();
|
||||||
|
|
||||||
|
if (natstatus)
|
||||||
|
natstatus->getNATStatus();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,6 +62,7 @@ class SMPlayer;
|
|||||||
|
|
||||||
class PeerStatus;
|
class PeerStatus;
|
||||||
class DHTStatus;
|
class DHTStatus;
|
||||||
|
class NATStatus;
|
||||||
|
|
||||||
void openFile(std::string path);
|
void openFile(std::string path);
|
||||||
|
|
||||||
@ -216,6 +217,8 @@ private:
|
|||||||
QLabel *statusRates;
|
QLabel *statusRates;
|
||||||
PeerStatus *peerstatus;
|
PeerStatus *peerstatus;
|
||||||
DHTStatus *dhtstatus;
|
DHTStatus *dhtstatus;
|
||||||
|
NATStatus *natstatus;
|
||||||
|
|
||||||
|
|
||||||
QLabel *_hashing_info_label ;
|
QLabel *_hashing_info_label ;
|
||||||
|
|
||||||
|
@ -639,20 +639,20 @@ void NetworkDialog::getNetworkStatus()
|
|||||||
|
|
||||||
if(config.netUdpOk)
|
if(config.netUdpOk)
|
||||||
{
|
{
|
||||||
setLogInfo(tr("UDP Port is Reacheable"), QString::fromUtf8("green"));
|
setLogInfo(tr("UDP Port is reachable"), QString::fromUtf8("green"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setLogInfo(tr("UDP Port isnt Reacheable"), QString::fromUtf8("red"));
|
setLogInfo(tr("UDP Port is not reachable"), QString::fromUtf8("red"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(config.netTcpOk)
|
if(config.netTcpOk)
|
||||||
{
|
{
|
||||||
setLogInfo(tr("TCP Port is Reacheable"), QString::fromUtf8("green"));
|
setLogInfo(tr("TCP Port is reachable"), QString::fromUtf8("green"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setLogInfo(tr("TCP Port is not Reacheable"), QString::fromUtf8("red"));
|
setLogInfo(tr("TCP Port is not reachable"), QString::fromUtf8("red"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.netExtOk)
|
if (config.netExtOk)
|
||||||
@ -708,4 +708,4 @@ void NetworkDialog::on_actionTabsRounded_activated()
|
|||||||
{
|
{
|
||||||
ui.networkTab->setTabShape(QTabWidget::Rounded);
|
ui.networkTab->setTabShape(QTabWidget::Rounded);
|
||||||
ui.tabBottom->setTabShape(QTabWidget::Rounded);
|
ui.tabBottom->setTabShape(QTabWidget::Rounded);
|
||||||
}
|
}
|
||||||
|
145
retroshare-gui/src/gui/statusbar/natstatus.cpp
Normal file
145
retroshare-gui/src/gui/statusbar/natstatus.cpp
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
/****************************************************************
|
||||||
|
* RetroShare is distributed under the following license:
|
||||||
|
*
|
||||||
|
* Copyright (C) 2009 RetroShare Team
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
* Boston, MA 02110-1301, USA.
|
||||||
|
****************************************************************/
|
||||||
|
#include "natstatus.h"
|
||||||
|
|
||||||
|
#include <QtGui>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
#include <QLayout>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QIcon>
|
||||||
|
#include <QPainter>
|
||||||
|
#include <QPixmap>
|
||||||
|
|
||||||
|
#include "rsiface/rsiface.h"
|
||||||
|
#include "rsiface/rspeers.h"
|
||||||
|
|
||||||
|
#include <sstream>
|
||||||
|
#include <iomanip>
|
||||||
|
|
||||||
|
NATStatus::NATStatus(QWidget *parent)
|
||||||
|
: QWidget(parent)
|
||||||
|
{
|
||||||
|
QHBoxLayout *hbox = new QHBoxLayout();
|
||||||
|
hbox->setMargin(0);
|
||||||
|
hbox->setSpacing(6);
|
||||||
|
|
||||||
|
statusNAT = new QLabel( tr("<strong>NAT:</strong>"), this );
|
||||||
|
//statusDHT->setMinimumSize( statusPeers->frameSize().width() + 0, 0 );
|
||||||
|
hbox->addWidget(statusNAT);
|
||||||
|
|
||||||
|
iconLabel = new QLabel( this );
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/grayled.png"));
|
||||||
|
// iconLabel doesn't change over time, so we didn't need a minimum size
|
||||||
|
hbox->addWidget(iconLabel);
|
||||||
|
|
||||||
|
setLayout( hbox );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
NATStatus::~NATStatus()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void NATStatus::getNATStatus()
|
||||||
|
{
|
||||||
|
|
||||||
|
rsiface->lockData(); /* Lock Interface */
|
||||||
|
|
||||||
|
/* now the extra bit .... switch on check boxes */
|
||||||
|
const RsConfig &config = rsiface->getConfig();
|
||||||
|
|
||||||
|
if(config.netUpnpOk)
|
||||||
|
{
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/greenled.png"));
|
||||||
|
iconLabel->setToolTip(tr("UPNP is active."));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/yellowled.png"));
|
||||||
|
iconLabel->setToolTip(tr("UPNP NOT FOUND."));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(config.netExtOk)
|
||||||
|
{
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/greenled.png"));
|
||||||
|
iconLabel->setToolTip(tr("Stable External IP Address"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/yellowled.png"));
|
||||||
|
iconLabel->setToolTip(tr("Not Found External Address"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(config.netUdpOk)
|
||||||
|
{
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/greenled.png"));
|
||||||
|
iconLabel->setToolTip(tr("UDP Port is reachable"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/yellowled.png"));
|
||||||
|
iconLabel->setToolTip(tr("UDP Port is not reachable"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(config.netTcpOk)
|
||||||
|
{
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/greenled.png"));
|
||||||
|
iconLabel->setToolTip(tr("TCP Port is reachable"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/yellowled.png"));
|
||||||
|
iconLabel->setToolTip(tr("TCP Port is not reachable"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (config.netExtOk)
|
||||||
|
{
|
||||||
|
if (config.netUpnpOk || config.netTcpOk)
|
||||||
|
{
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/greenled.png"));
|
||||||
|
iconLabel->setToolTip(tr("RetroShare Server"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/greenled.png"));
|
||||||
|
iconLabel->setToolTip(tr("UDP Server"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (config.netOk)
|
||||||
|
{
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/grayled.png"));
|
||||||
|
iconLabel->setToolTip(tr("Net Limited"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iconLabel->setPixmap(QPixmap::QPixmap(":/images/redled.png"));
|
||||||
|
iconLabel->setToolTip(tr("No Conectivity"));
|
||||||
|
}
|
||||||
|
|
||||||
|
rsiface->unlockData(); /* UnLock Interface */
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
45
retroshare-gui/src/gui/statusbar/natstatus.h
Normal file
45
retroshare-gui/src/gui/statusbar/natstatus.h
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/****************************************************************
|
||||||
|
* RetroShare is distributed under the following license:
|
||||||
|
*
|
||||||
|
* Copyright (C) 2009 RetroShare Team
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
* Boston, MA 02110-1301, USA.
|
||||||
|
****************************************************************/
|
||||||
|
#ifndef NATSTATUS_H
|
||||||
|
#define NATSTATUS_H
|
||||||
|
#include "gui/MainWindow.h"
|
||||||
|
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
|
||||||
|
class NATStatus : public QWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
NATStatus(QWidget *parent = 0);
|
||||||
|
|
||||||
|
~NATStatus();
|
||||||
|
|
||||||
|
void getNATStatus( );
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
class QLabel *iconLabel, *statusNAT;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue
Block a user