mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-28 00:49:28 -05:00
Added Relay Configuration Panel.
- Handles rsDht Relay settings. git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-dhtmods@4731 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
e232b1d47d
commit
00b1161ace
@ -305,6 +305,7 @@ HEADERS += rshare.h \
|
|||||||
gui/settings/SoundPage.h \
|
gui/settings/SoundPage.h \
|
||||||
gui/settings/TransferPage.h \
|
gui/settings/TransferPage.h \
|
||||||
gui/settings/ChatPage.h \
|
gui/settings/ChatPage.h \
|
||||||
|
gui/settings/RelayPage.h \
|
||||||
gui/settings/AddFileAssociationDialog.h \
|
gui/settings/AddFileAssociationDialog.h \
|
||||||
gui/toaster/MessageToaster.h \
|
gui/toaster/MessageToaster.h \
|
||||||
gui/toaster/OnlineToaster.h \
|
gui/toaster/OnlineToaster.h \
|
||||||
@ -424,6 +425,7 @@ FORMS += gui/StartDialog.ui \
|
|||||||
gui/settings/TransferPage.ui \
|
gui/settings/TransferPage.ui \
|
||||||
gui/settings/SoundPage.ui \
|
gui/settings/SoundPage.ui \
|
||||||
gui/settings/ChatPage.ui \
|
gui/settings/ChatPage.ui \
|
||||||
|
gui/settings/RelayPage.ui \
|
||||||
gui/settings/PluginItem.ui \
|
gui/settings/PluginItem.ui \
|
||||||
gui/toaster/MessageToaster.ui \
|
gui/toaster/MessageToaster.ui \
|
||||||
gui/toaster/OnlineToaster.ui \
|
gui/toaster/OnlineToaster.ui \
|
||||||
@ -577,6 +579,7 @@ SOURCES += main.cpp \
|
|||||||
gui/settings/SoundPage.cpp \
|
gui/settings/SoundPage.cpp \
|
||||||
gui/settings/TransferPage.cpp \
|
gui/settings/TransferPage.cpp \
|
||||||
gui/settings/ChatPage.cpp \
|
gui/settings/ChatPage.cpp \
|
||||||
|
gui/settings/RelayPage.cpp \
|
||||||
gui/settings/AddFileAssociationDialog.cpp \
|
gui/settings/AddFileAssociationDialog.cpp \
|
||||||
gui/statusbar/peerstatus.cpp \
|
gui/statusbar/peerstatus.cpp \
|
||||||
gui/statusbar/natstatus.cpp \
|
gui/statusbar/natstatus.cpp \
|
||||||
|
@ -566,7 +566,7 @@ void ForumsDialog::insertForums()
|
|||||||
uint32_t i = 0;
|
uint32_t i = 0;
|
||||||
uint32_t popLimit = 0;
|
uint32_t popLimit = 0;
|
||||||
std::multimap<uint32_t, GroupItemInfo>::reverse_iterator rit;
|
std::multimap<uint32_t, GroupItemInfo>::reverse_iterator rit;
|
||||||
for(rit = popMap.rbegin(); ((rit != popMap.rend()) && (i < popCount)); rit++, i++);
|
for(rit = popMap.rbegin(); ((rit != popMap.rend()) && (i < popCount)); rit++, i++) ;
|
||||||
if (rit != popMap.rend()) {
|
if (rit != popMap.rend()) {
|
||||||
popLimit = rit->first;
|
popLimit = rit->first;
|
||||||
}
|
}
|
||||||
|
278
retroshare-gui/src/gui/settings/RelayPage.cpp
Normal file
278
retroshare-gui/src/gui/settings/RelayPage.cpp
Normal file
@ -0,0 +1,278 @@
|
|||||||
|
/****************************************************************
|
||||||
|
* RetroShare is distributed under the following license:
|
||||||
|
*
|
||||||
|
* Copyright (C) 2006 - 2010 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 "RelayPage.h"
|
||||||
|
|
||||||
|
#include "rshare.h"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
|
#include <retroshare/rsiface.h>
|
||||||
|
#include <retroshare/rsfiles.h>
|
||||||
|
#include <retroshare/rspeers.h>
|
||||||
|
#include <retroshare/rsdht.h>
|
||||||
|
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
|
RelayPage::RelayPage(QWidget * parent, Qt::WFlags flags)
|
||||||
|
: ConfigPage(parent, flags)
|
||||||
|
{
|
||||||
|
/* Invoke the Qt Designer generated object setup routine */
|
||||||
|
ui.setupUi(this);
|
||||||
|
|
||||||
|
QObject::connect(ui.noFriendSpinBox,SIGNAL(valueChanged(int)),this,SLOT(updateRelayOptions()));
|
||||||
|
QObject::connect(ui.noFOFSpinBox,SIGNAL(valueChanged(int)),this,SLOT(updateRelayOptions()));
|
||||||
|
QObject::connect(ui.noGeneralSpinBox,SIGNAL(valueChanged(int)),this,SLOT(updateRelayOptions()));
|
||||||
|
QObject::connect(ui.bandFriendSpinBox,SIGNAL(valueChanged(int)),this,SLOT(updateRelayOptions()));
|
||||||
|
QObject::connect(ui.bandFOFSpinBox,SIGNAL(valueChanged(int)),this,SLOT(updateRelayOptions()));
|
||||||
|
QObject::connect(ui.bandGeneralSpinBox,SIGNAL(valueChanged(int)),this,SLOT(updateRelayOptions()));
|
||||||
|
|
||||||
|
QObject::connect(ui.addPushButton,SIGNAL(clicked()),this,SLOT(addServer()));
|
||||||
|
QObject::connect(ui.removePushButton,SIGNAL(clicked()),this,SLOT(removeServer()));
|
||||||
|
QObject::connect(ui.DhtLineEdit,SIGNAL(textChanged(const QString &)),this,SLOT(checkKey()));
|
||||||
|
|
||||||
|
QObject::connect(ui.enableCheckBox,SIGNAL(stateChanged(int)),this,SLOT(updateEnabled()));
|
||||||
|
QObject::connect(ui.serverCheckBox,SIGNAL(stateChanged(int)),this,SLOT(updateEnabled()));
|
||||||
|
|
||||||
|
|
||||||
|
/* Hide platform specific features */
|
||||||
|
#ifdef Q_WS_WIN
|
||||||
|
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Saves the changes on this page */
|
||||||
|
bool RelayPage::save(QString &errmsg)
|
||||||
|
{
|
||||||
|
|
||||||
|
int nFriends = ui.noFriendSpinBox->value();
|
||||||
|
int friendBandwidth = ui.bandFriendSpinBox->value();
|
||||||
|
|
||||||
|
int nFOF = ui.noFOFSpinBox->value();
|
||||||
|
int fofBandwidth = ui.bandFOFSpinBox->value();
|
||||||
|
|
||||||
|
int nGeneral = ui.noGeneralSpinBox->value();
|
||||||
|
int genBandwidth = ui.bandGeneralSpinBox->value();
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
uint32_t relayMode = 0;
|
||||||
|
if (ui.enableCheckBox->isChecked())
|
||||||
|
{
|
||||||
|
relayMode |= RSDHT_RELAY_ENABLED;
|
||||||
|
|
||||||
|
if (ui.serverCheckBox->isChecked())
|
||||||
|
{
|
||||||
|
relayMode |= RSDHT_RELAY_MODE_ON;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
relayMode |= RSDHT_RELAY_MODE_OFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
relayMode |= RSDHT_RELAY_MODE_OFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
rsDht->setRelayMode(relayMode);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Loads the settings for this page */
|
||||||
|
void RelayPage::load()
|
||||||
|
{
|
||||||
|
uint32_t count;
|
||||||
|
uint32_t bandwidth;
|
||||||
|
rsDht->getRelayAllowance(RSDHT_RELAY_CLASS_FRIENDS, count, bandwidth);
|
||||||
|
ui.noFriendSpinBox->setValue(count);
|
||||||
|
ui.bandFriendSpinBox->setValue(bandwidth / 1000);
|
||||||
|
|
||||||
|
rsDht->getRelayAllowance(RSDHT_RELAY_CLASS_FOF, count, bandwidth);
|
||||||
|
ui.noFOFSpinBox->setValue(count);
|
||||||
|
ui.bandFOFSpinBox->setValue(bandwidth / 1000);
|
||||||
|
|
||||||
|
rsDht->getRelayAllowance(RSDHT_RELAY_CLASS_GENERAL, count, bandwidth);
|
||||||
|
ui.noGeneralSpinBox->setValue(count);
|
||||||
|
ui.bandGeneralSpinBox->setValue(bandwidth / 1000);
|
||||||
|
|
||||||
|
|
||||||
|
uint32_t relayMode = rsDht->getRelayMode();
|
||||||
|
if (relayMode & RSDHT_RELAY_ENABLED)
|
||||||
|
{
|
||||||
|
ui.enableCheckBox->setCheckState(Qt::Checked);
|
||||||
|
if ((relayMode & RSDHT_RELAY_MODE_MASK) == RSDHT_RELAY_MODE_OFF)
|
||||||
|
{
|
||||||
|
ui.serverCheckBox->setCheckState(Qt::Unchecked);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui.serverCheckBox->setCheckState(Qt::Checked);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui.enableCheckBox->setCheckState(Qt::Unchecked);
|
||||||
|
ui.serverCheckBox->setCheckState(Qt::Unchecked);
|
||||||
|
}
|
||||||
|
|
||||||
|
loadServers();
|
||||||
|
updateRelayOptions();
|
||||||
|
updateEnabled();
|
||||||
|
checkKey();
|
||||||
|
}
|
||||||
|
|
||||||
|
void RelayPage::loadServers()
|
||||||
|
{
|
||||||
|
std::list<std::string> servers;
|
||||||
|
std::list<std::string>::iterator it;
|
||||||
|
|
||||||
|
rsDht->getRelayServerList(servers);
|
||||||
|
|
||||||
|
ui.serverTreeWidget->clear();
|
||||||
|
for(it = servers.begin(); it != servers.end(); it++)
|
||||||
|
{
|
||||||
|
QTreeWidgetItem *item = new QTreeWidgetItem();
|
||||||
|
item->setData(0, Qt::DisplayRole, QString::fromStdString(*it));
|
||||||
|
ui.serverTreeWidget->addTopLevelItem(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void RelayPage::updateRelayOptions()
|
||||||
|
{
|
||||||
|
int nFriends = ui.noFriendSpinBox->value();
|
||||||
|
int friendBandwidth = ui.bandFriendSpinBox->value();
|
||||||
|
|
||||||
|
int nFOF = ui.noFOFSpinBox->value();
|
||||||
|
int fofBandwidth = ui.bandFOFSpinBox->value();
|
||||||
|
|
||||||
|
int nGeneral = ui.noGeneralSpinBox->value();
|
||||||
|
int genBandwidth = ui.bandGeneralSpinBox->value();
|
||||||
|
|
||||||
|
std::ostringstream tfriendout;
|
||||||
|
tfriendout << nFriends * friendBandwidth * 2;
|
||||||
|
ui.totalFriendLineEdit->setText(QString::fromStdString(tfriendout.str()));
|
||||||
|
|
||||||
|
std::ostringstream tfofout;
|
||||||
|
tfofout << nFOF * fofBandwidth * 2;
|
||||||
|
ui.totalFOFLineEdit->setText(QString::fromStdString(tfofout.str()));
|
||||||
|
|
||||||
|
std::ostringstream tgenout;
|
||||||
|
tgenout << nGeneral * genBandwidth * 2;
|
||||||
|
ui.totalGeneralLineEdit->setText(QString::fromStdString(tgenout.str()));
|
||||||
|
|
||||||
|
std::ostringstream totalout;
|
||||||
|
totalout << (nFriends * friendBandwidth
|
||||||
|
+ nFOF * fofBandwidth
|
||||||
|
+ nGeneral * genBandwidth) * 2;
|
||||||
|
ui.totalBandwidthLineEdit->setText(QString::fromStdString(totalout.str()));
|
||||||
|
|
||||||
|
std::ostringstream countout;
|
||||||
|
countout << (nFriends + nFOF + nGeneral);
|
||||||
|
ui.noTotalLineEdit->setText(QString::fromStdString(countout.str()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void RelayPage::updateEnabled()
|
||||||
|
{
|
||||||
|
std::cerr << "RelayPage::updateEnabled()" << std::endl;
|
||||||
|
|
||||||
|
if (ui.enableCheckBox->isChecked())
|
||||||
|
{
|
||||||
|
ui.groupBox->setEnabled(true);
|
||||||
|
if (ui.serverCheckBox->isChecked())
|
||||||
|
{
|
||||||
|
std::cerr << "RelayPage::updateEnabled() Both Enabled" << std::endl;
|
||||||
|
ui.serverGroupBox->setEnabled(true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cerr << "RelayPage::updateEnabled() Options Only Enabled" << std::endl;
|
||||||
|
ui.serverGroupBox->setEnabled(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cerr << "RelayPage::updateEnabled() Both Disabled" << std::endl;
|
||||||
|
ui.groupBox->setEnabled(false);
|
||||||
|
ui.serverGroupBox->setEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void RelayPage::checkKey()
|
||||||
|
{
|
||||||
|
|
||||||
|
std::string server = ui.DhtLineEdit->text().toStdString();
|
||||||
|
std::cerr << "RelayPage::checkKey() length: " << server.length();
|
||||||
|
std::cerr << std::endl;
|
||||||
|
if (server.length() == 40)
|
||||||
|
{
|
||||||
|
ui.keyOkBox->setChecked(Qt::Checked);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui.keyOkBox->setChecked(Qt::Unchecked);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void RelayPage::addServer()
|
||||||
|
{
|
||||||
|
std::cerr << "RelayPage::addServer()";
|
||||||
|
std::cerr << std::endl;
|
||||||
|
|
||||||
|
if (!ui.keyOkBox->isChecked())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string server = ui.DhtLineEdit->text().toStdString();
|
||||||
|
|
||||||
|
bool ok = rsDht->addRelayServer(server);
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
ui.DhtLineEdit->setText(QString(""));
|
||||||
|
}
|
||||||
|
loadServers();
|
||||||
|
}
|
||||||
|
|
||||||
|
void RelayPage::removeServer()
|
||||||
|
{
|
||||||
|
QTreeWidgetItem *item = ui.serverTreeWidget->currentItem();
|
||||||
|
if (item)
|
||||||
|
{
|
||||||
|
std::string server = item->data(0, Qt::DisplayRole).toString().toStdString();
|
||||||
|
rsDht->removeRelayServer(server);
|
||||||
|
}
|
||||||
|
|
||||||
|
loadServers();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
57
retroshare-gui/src/gui/settings/RelayPage.h
Normal file
57
retroshare-gui/src/gui/settings/RelayPage.h
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
/****************************************************************
|
||||||
|
* RetroShare is distributed under the following license:
|
||||||
|
*
|
||||||
|
* Copyright (C) 2006 - 2010 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 RELAYPAGE_H
|
||||||
|
#define RELAYPAGE_H
|
||||||
|
|
||||||
|
# include <QtGui/QWidget>
|
||||||
|
|
||||||
|
#include "configpage.h"
|
||||||
|
#include "ui_RelayPage.h"
|
||||||
|
|
||||||
|
class RelayPage: public ConfigPage
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
RelayPage(QWidget * parent = 0, Qt::WFlags flags = 0);
|
||||||
|
~RelayPage() {}
|
||||||
|
|
||||||
|
/** Saves the changes on this page */
|
||||||
|
virtual bool save(QString &/*errmsg*/);
|
||||||
|
/** Loads the settings for this page */
|
||||||
|
virtual void load();
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void updateRelayOptions();
|
||||||
|
void updateEnabled();
|
||||||
|
void checkKey();
|
||||||
|
void addServer();
|
||||||
|
void removeServer();
|
||||||
|
void loadServers();
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
Ui::RelayPage ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif //RELAYPAGE_H
|
||||||
|
|
372
retroshare-gui/src/gui/settings/RelayPage.ui
Normal file
372
retroshare-gui/src/gui/settings/RelayPage.ui
Normal file
@ -0,0 +1,372 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>RelayPage</class>
|
||||||
|
<widget class="QWidget" name="RelayPage">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>486</width>
|
||||||
|
<height>360</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="enableCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Enable Relay Connections</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_5">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="serverCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Use Relay Servers</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_4">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="title">
|
||||||
|
<string>Relay options</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<property name="margin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<spacer name="horizontalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>110</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Number</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>6</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="3">
|
||||||
|
<widget class="QLabel" name="label_12">
|
||||||
|
<property name="text">
|
||||||
|
<string>Bandwidth per link</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="4" rowspan="7">
|
||||||
|
<widget class="Line" name="line_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="5">
|
||||||
|
<widget class="QLabel" name="label_13">
|
||||||
|
<property name="text">
|
||||||
|
<string>Total Bandwidth</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0" rowspan="2">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="text">
|
||||||
|
<string>Friends</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1" rowspan="2">
|
||||||
|
<widget class="QSpinBox" name="noFriendSpinBox">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>99</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2" rowspan="2">
|
||||||
|
<widget class="QLabel" name="label_9">
|
||||||
|
<property name="text">
|
||||||
|
<string>x</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="3" rowspan="2">
|
||||||
|
<widget class="QSpinBox" name="bandFriendSpinBox">
|
||||||
|
<property name="suffix">
|
||||||
|
<string>kB/s</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="5">
|
||||||
|
<widget class="QLineEdit" name="totalFriendLineEdit">
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0" rowspan="2">
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="text">
|
||||||
|
<string>Friends of Friends</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1" rowspan="2">
|
||||||
|
<widget class="QSpinBox" name="noFOFSpinBox"/>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="2" rowspan="2">
|
||||||
|
<widget class="QLabel" name="label_10">
|
||||||
|
<property name="text">
|
||||||
|
<string>x</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="3" rowspan="2">
|
||||||
|
<widget class="QSpinBox" name="bandFOFSpinBox">
|
||||||
|
<property name="suffix">
|
||||||
|
<string>kB/s</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="5">
|
||||||
|
<widget class="QLineEdit" name="totalFOFLineEdit">
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0" rowspan="2">
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="text">
|
||||||
|
<string>General</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1" rowspan="2">
|
||||||
|
<widget class="QSpinBox" name="noGeneralSpinBox"/>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="2" rowspan="2">
|
||||||
|
<widget class="QLabel" name="label_11">
|
||||||
|
<property name="text">
|
||||||
|
<string>x</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="3" rowspan="2">
|
||||||
|
<widget class="QSpinBox" name="bandGeneralSpinBox">
|
||||||
|
<property name="suffix">
|
||||||
|
<string>kB/s</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="5">
|
||||||
|
<widget class="QLineEdit" name="totalGeneralLineEdit">
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="0" colspan="6">
|
||||||
|
<widget class="Line" name="line">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="1">
|
||||||
|
<widget class="QLineEdit" name="noTotalLineEdit">
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::WheelFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="0">
|
||||||
|
<widget class="QLabel" name="label_8">
|
||||||
|
<property name="text">
|
||||||
|
<string>Total:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="2" colspan="2">
|
||||||
|
<spacer name="horizontalSpacer_3">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>123</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="5">
|
||||||
|
<widget class="QLineEdit" name="totalBandwidthLineEdit">
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="serverGroupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Relay Server Setup</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<property name="horizontalSpacing">
|
||||||
|
<number>-1</number>
|
||||||
|
</property>
|
||||||
|
<property name="verticalSpacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="margin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLineEdit" name="DhtLineEdit">
|
||||||
|
<property name="inputMask">
|
||||||
|
<string notr="true">HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH; </string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QCheckBox" name="keyOkBox">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QPushButton" name="addPushButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Add Server</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0" colspan="2">
|
||||||
|
<widget class="QTreeWidget" name="serverTreeWidget">
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Server Dht Key</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2">
|
||||||
|
<widget class="QPushButton" name="removePushButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Remove Server</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
@ -31,6 +31,7 @@
|
|||||||
#include "FileAssociationsPage.h"
|
#include "FileAssociationsPage.h"
|
||||||
#include "SoundPage.h"
|
#include "SoundPage.h"
|
||||||
#include "TransferPage.h"
|
#include "TransferPage.h"
|
||||||
|
#include "RelayPage.h"
|
||||||
#include "ChatPage.h"
|
#include "ChatPage.h"
|
||||||
#include "MessagePage.h"
|
#include "MessagePage.h"
|
||||||
#include "ForumPage.h"
|
#include "ForumPage.h"
|
||||||
@ -107,6 +108,7 @@ RSettingsWin::initStackedWidget()
|
|||||||
stackedWidget->addWidget(new GeneralPage(0));
|
stackedWidget->addWidget(new GeneralPage(0));
|
||||||
stackedWidget->addWidget(new ServerPage());
|
stackedWidget->addWidget(new ServerPage());
|
||||||
stackedWidget->addWidget(new TransferPage());
|
stackedWidget->addWidget(new TransferPage());
|
||||||
|
stackedWidget->addWidget(new RelayPage() );
|
||||||
stackedWidget->addWidget(new DirectoriesPage());
|
stackedWidget->addWidget(new DirectoriesPage());
|
||||||
stackedWidget->addWidget(new PluginsPage() );
|
stackedWidget->addWidget(new PluginsPage() );
|
||||||
stackedWidget->addWidget(new NotifyPage());
|
stackedWidget->addWidget(new NotifyPage());
|
||||||
@ -143,6 +145,10 @@ RSettingsWin::setNewPage(int page)
|
|||||||
text = tr("Transfer");
|
text = tr("Transfer");
|
||||||
pageicon->setPixmap(QPixmap(":/images/ktorrent32.png"));
|
pageicon->setPixmap(QPixmap(":/images/ktorrent32.png"));
|
||||||
break;
|
break;
|
||||||
|
case Relay:
|
||||||
|
text = tr("Relay");
|
||||||
|
pageicon->setPixmap(QPixmap(":/images/server_24x24.png"));
|
||||||
|
break;
|
||||||
case Notify:
|
case Notify:
|
||||||
text = tr("Notify");
|
text = tr("Notify");
|
||||||
pageicon->setPixmap(QPixmap(":/images/status_unknown.png"));
|
pageicon->setPixmap(QPixmap(":/images/status_unknown.png"));
|
||||||
|
@ -31,7 +31,7 @@ class RSettingsWin: public QDialog, private Ui::Settings
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum PageType { LastPage = -1, General = 0, Server, Transfer,
|
enum PageType { LastPage = -1, General = 0, Server, Transfer,Relay,
|
||||||
Directories, Plugins, Notify, Security, Message, Forum, Chat, Appearance, Sound, Fileassociations };
|
Directories, Plugins, Notify, Security, Message, Forum, Chat, Appearance, Sound, Fileassociations };
|
||||||
|
|
||||||
static void showYourself(QWidget *parent, PageType page = LastPage);
|
static void showYourself(QWidget *parent, PageType page = LastPage);
|
||||||
|
@ -107,6 +107,15 @@
|
|||||||
<normaloff>:/images/ktorrent32.png</normaloff>:/images/ktorrent32.png</iconset>
|
<normaloff>:/images/ktorrent32.png</normaloff>:/images/ktorrent32.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Relays</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../images.qrc">
|
||||||
|
<normaloff>:/images/server_24x24.png</normaloff>:/images/server_24x24.png</iconset>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Directories</string>
|
<string>Directories</string>
|
||||||
|
Loading…
Reference in New Issue
Block a user