mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-22 09:16:05 +03:00
- Allow to change UPnP port while it is enabled
- Allow to change qBT style! (GTK people should like Cleanlooks style)
This commit is contained in:
parent
e0a0a0beb1
commit
92f840519c
58 changed files with 11121 additions and 4519 deletions
|
@ -2,6 +2,7 @@
|
||||||
- FEATURE: Added UPnP port forwarding support
|
- FEATURE: Added UPnP port forwarding support
|
||||||
- FEATURE: Display more infos about the torrent in its properties
|
- FEATURE: Display more infos about the torrent in its properties
|
||||||
- FEATURE: Allow the user to edit torrents' trackers
|
- FEATURE: Allow the user to edit torrents' trackers
|
||||||
|
- FEATURE: Allow user to change qBT's style (Plastique, Cleanlooks, Motif, CDE, MacOSX, WinXP)
|
||||||
- COSMETIC: Redesigned torrent properties a little
|
- COSMETIC: Redesigned torrent properties a little
|
||||||
- COSMETIC: Redesigned options a little
|
- COSMETIC: Redesigned options a little
|
||||||
|
|
||||||
|
|
18
TODO
18
TODO
|
@ -28,19 +28,19 @@
|
||||||
- Option to shutdown computer when downloads are finished
|
- Option to shutdown computer when downloads are finished
|
||||||
- Add a torrent scheduler
|
- Add a torrent scheduler
|
||||||
|
|
||||||
// in v0.10 (partial)
|
// in v0.10 (partial) - WIP
|
||||||
- Download from RSS feeds (WIP by gtsoul in RSS_SUPPORT branch)
|
- Download from RSS feeds (WIP by gtsoul in RSS_SUPPORT branch, clean & finish rss.h, merge with trunk, add a tab in mainWindow, debug)
|
||||||
- Move finished torrent to another tab and keep on seeding them even after restart
|
- Move finished torrent to another tab and keep on seeding them even after restart (better for sharing)
|
||||||
- Improve torrent creation dialog (look & features) :
|
- Improve torrent creation dialog (look & features) :
|
||||||
- Add Private combobox (allow to share on DHT or not)
|
- Add Private combobox (allow to share on DHT or not)
|
||||||
- Use a QListWidget to allow multiple input paths
|
- Use a QListWidget to allow multiple input paths
|
||||||
- Possibility to add url seeds
|
- Possibility to add url seeds
|
||||||
- Add IPv6 support (at least start working on it)
|
- Add IPv6 support (at least start working on it, libtorrent seems to support it, we should limit our code to IPv4 anymore)
|
||||||
- UPnP support (debug, sync with aMule CVS)
|
- UPnP support (debug, sync with next aMule release (or CVS)) : seems to be working!
|
||||||
- Allow user to change application style? (WinXP, MacOS, CleanLooks...) : app.setStyle(new QCleanlooksStyle());
|
|
||||||
- Update v0.9.0 changelog after its release
|
- Update v0.9.0 changelog after its release
|
||||||
- Display Url seeds in torrent properties and allow to edit them
|
- Display Url seeds in torrent properties and allow to edit them
|
||||||
- Improve Ipfilter.dat parser (move to a thread ?)
|
- Improve Ipfilter.dat parser (move to a thread ? - too slow to load qBT and more importantly options)
|
||||||
- Use tooltips to explain options
|
- Use tooltips to explain options
|
||||||
- Exit confirmation only if there are active downloads
|
- Exit confirmation only if there are active downloads (display number of downloads) - SMARTER
|
||||||
- Support UPnP port edition
|
- Make use of QNetworkInterface (could be useful ?)
|
||||||
|
- Display more info in log (PeX, UPnP, DHT w/ ports...)
|
|
@ -988,6 +988,7 @@ void GUI::configureSession(bool deleteOptions){
|
||||||
// Upnp
|
// Upnp
|
||||||
if(options->isDHTEnabled()){
|
if(options->isDHTEnabled()){
|
||||||
BTSession.enableUPnP(options->getUPnPPort());
|
BTSession.enableUPnP(options->getUPnPPort());
|
||||||
|
BTSession.setUPnPPort(options->getUPnPPort());
|
||||||
}else{
|
}else{
|
||||||
BTSession.disableUPnP();
|
BTSession.disableUPnP();
|
||||||
}
|
}
|
||||||
|
|
|
@ -979,7 +979,8 @@ m_RootDeviceMap(),
|
||||||
m_ServiceMap(),
|
m_ServiceMap(),
|
||||||
m_ActivePortMappingsMap(),
|
m_ActivePortMappingsMap(),
|
||||||
m_IGWDeviceDetected(false),
|
m_IGWDeviceDetected(false),
|
||||||
m_WanService(NULL)
|
m_WanService(NULL),
|
||||||
|
m_UPnPPort(udpPort)
|
||||||
{
|
{
|
||||||
// Pointer to self
|
// Pointer to self
|
||||||
s_CtrlPoint = this;
|
s_CtrlPoint = this;
|
||||||
|
|
|
@ -640,6 +640,7 @@ private:
|
||||||
bool m_IGWDeviceDetected;
|
bool m_IGWDeviceDetected;
|
||||||
CUPnPService *m_WanService;
|
CUPnPService *m_WanService;
|
||||||
QMutex m_WaitForSearchTimeout;
|
QMutex m_WaitForSearchTimeout;
|
||||||
|
unsigned short m_UPnPPort;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CUPnPControlPoint(unsigned short udpPort);
|
CUPnPControlPoint(unsigned short udpPort);
|
||||||
|
@ -650,6 +651,9 @@ public:
|
||||||
std::vector<CUPnPPortMapping> &upnpPortMapping);
|
std::vector<CUPnPPortMapping> &upnpPortMapping);
|
||||||
bool DeletePortMappings(
|
bool DeletePortMappings(
|
||||||
std::vector<CUPnPPortMapping> &upnpPortMapping);
|
std::vector<CUPnPPortMapping> &upnpPortMapping);
|
||||||
|
unsigned short getUPnPPort() const{
|
||||||
|
return m_UPnPPort;
|
||||||
|
}
|
||||||
|
|
||||||
UpnpClient_Handle GetUPnPClientHandle() const
|
UpnpClient_Handle GetUPnPClientHandle() const
|
||||||
{ return m_UPnPClientHandle; }
|
{ return m_UPnPClientHandle; }
|
||||||
|
|
|
@ -90,6 +90,22 @@ void bittorrent::enableUPnP(int port){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set UPnP port (>= 1000)
|
||||||
|
void bittorrent::setUPnPPort(int upnp_port){
|
||||||
|
if(!UPnPEnabled){
|
||||||
|
qDebug("Cannot set UPnP port because it is disabled");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(m_upnp->getUPnPPort() != upnp_port){
|
||||||
|
qDebug("Changing UPnP port to %d", upnp_port);
|
||||||
|
delete m_upnp;
|
||||||
|
m_upnp = new CUPnPControlPoint(upnp_port);
|
||||||
|
m_upnp->AddPortMappings(m_upnpMappings);
|
||||||
|
}else{
|
||||||
|
qDebug("UPnP: No need to set the port, it is already listening on this port");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void bittorrent::disableUPnP(){
|
void bittorrent::disableUPnP(){
|
||||||
if(UPnPEnabled){
|
if(UPnPEnabled){
|
||||||
qDebug("Disabling UPnP");
|
qDebug("Disabling UPnP");
|
||||||
|
|
|
@ -121,6 +121,7 @@ class bittorrent : public QObject{
|
||||||
#ifndef NO_UPNP
|
#ifndef NO_UPNP
|
||||||
void enableUPnP(int port=50000);
|
void enableUPnP(int port=50000);
|
||||||
void disableUPnP();
|
void disableUPnP();
|
||||||
|
void setUPnPPort(int upnp_port);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
47
src/main.cpp
47
src/main.cpp
|
@ -28,7 +28,10 @@
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QTcpSocket>
|
#include <QTcpSocket>
|
||||||
#include <QTcpServer>
|
#include <QTcpServer>
|
||||||
|
#include <QPlastiqueStyle>
|
||||||
|
#include <QCleanlooksStyle>
|
||||||
|
#include <QMotifStyle>
|
||||||
|
#include <QCDEStyle>
|
||||||
#ifdef Q_WS_WIN
|
#ifdef Q_WS_WIN
|
||||||
#include <QWindowsXPStyle>
|
#include <QWindowsXPStyle>
|
||||||
#endif
|
#endif
|
||||||
|
@ -42,6 +45,35 @@
|
||||||
#include "GUI.h"
|
#include "GUI.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
|
void useStyle(QApplication *app, QString style){
|
||||||
|
std::cout << "* Style: Using " << style.toStdString() << " style\n";
|
||||||
|
if(style == "Cleanlooks"){
|
||||||
|
app->setStyle(new QCleanlooksStyle());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(style == "Motif"){
|
||||||
|
app->setStyle(new QMotifStyle());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(style == "CDE"){
|
||||||
|
app->setStyle(new QCDEStyle());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#ifdef Q_WS_MAC
|
||||||
|
if(style == "MacOS"){
|
||||||
|
app->setStyle(new QMacStyle());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#ifdef Q_WS_WIN
|
||||||
|
if(style == "WinXP"){
|
||||||
|
app->setStyle(new QWindowsXPStyle());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
app->setStyle(new QPlastiqueStyle());
|
||||||
|
}
|
||||||
|
|
||||||
// Main
|
// Main
|
||||||
int main(int argc, char *argv[]){
|
int main(int argc, char *argv[]){
|
||||||
QFile file;
|
QFile file;
|
||||||
|
@ -91,16 +123,23 @@ int main(int argc, char *argv[]){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
QApplication app(argc, argv);
|
QApplication app(argc, argv);
|
||||||
|
QSettings settings("qBittorrent", "qBittorrent");
|
||||||
|
QString style;
|
||||||
#ifdef Q_WS_WIN
|
#ifdef Q_WS_WIN
|
||||||
app.setStyle(new QWindowsXPStyle());
|
style = settings.value("Options/Style", "WinXP").toString();
|
||||||
#endif
|
#endif
|
||||||
#ifdef Q_WS_MAC
|
#ifdef Q_WS_MAC
|
||||||
app.setStyle(new QMacStyle());
|
style = settings.value("Options/Style", "MacOS").toString();
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef Q_WS_WIN
|
||||||
|
#ifndef Q_WS_MAC
|
||||||
|
style = settings.value("Options/Style", "Plastique").toString();
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
useStyle(&app, style);
|
||||||
QSplashScreen *splash = new QSplashScreen(QPixmap(":/Icons/splash.jpg"));
|
QSplashScreen *splash = new QSplashScreen(QPixmap(":/Icons/splash.jpg"));
|
||||||
splash->show();
|
splash->show();
|
||||||
// Open options file to read locale
|
// Open options file to read locale
|
||||||
QSettings settings("qBittorrent", "qBittorrent");
|
|
||||||
locale = settings.value("Options/Language/Locale", QString()).toString();
|
locale = settings.value("Options/Language/Locale", QString()).toString();
|
||||||
QTranslator translator;
|
QTranslator translator;
|
||||||
if(locale.isEmpty()){
|
if(locale.isEmpty()){
|
||||||
|
|
|
@ -1532,6 +1532,72 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupStyle" >
|
||||||
|
<property name="title" >
|
||||||
|
<string>Style (Look 'n Feel)</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" >
|
||||||
|
<property name="margin" >
|
||||||
|
<number>9</number>
|
||||||
|
</property>
|
||||||
|
<property name="spacing" >
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="radioPlastiqueStyle" >
|
||||||
|
<property name="text" >
|
||||||
|
<string>Plastique style (KDE like)</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked" >
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="radioCleanlooksStyle" >
|
||||||
|
<property name="text" >
|
||||||
|
<string>Cleanlooks style (GNOME like)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="radioMotifStyle" >
|
||||||
|
<property name="text" >
|
||||||
|
<string>Motif style (default Qt style on Unix systems)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="radioCDEStyle" >
|
||||||
|
<property name="text" >
|
||||||
|
<string>CDE style (Common Desktop Environment like)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="radioMacOSStyle" >
|
||||||
|
<property name="enabled" >
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string>MacOS style (MacOSX only)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="radioWinXPStyle" >
|
||||||
|
<property name="enabled" >
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text" >
|
||||||
|
<string>WindowsXP style (WIndows XP only)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer>
|
<spacer>
|
||||||
<property name="orientation" >
|
<property name="orientation" >
|
||||||
|
|
|
@ -49,6 +49,12 @@ options_imp::options_imp(QWidget *parent):QDialog(parent){
|
||||||
#ifdef NO_UPNP
|
#ifdef NO_UPNP
|
||||||
groupMainUPnP->setEnabled(false);
|
groupMainUPnP->setEnabled(false);
|
||||||
disableUPnP->setChecked(true);
|
disableUPnP->setChecked(true);
|
||||||
|
#endif
|
||||||
|
#ifdef Q_WS_WIN
|
||||||
|
radioWinXPStyle->setEnabled(true);
|
||||||
|
#endif
|
||||||
|
#ifdef Q_WS_MAC
|
||||||
|
radioMacOSStyle->setEnabled(true);
|
||||||
#endif
|
#endif
|
||||||
// Languages supported
|
// Languages supported
|
||||||
combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/united_kingdom.png"))), QString::fromUtf8("English"));
|
combo_i18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/united_kingdom.png"))), QString::fromUtf8("English"));
|
||||||
|
@ -110,6 +116,9 @@ options_imp::options_imp(QWidget *parent):QDialog(parent){
|
||||||
connect(disableUPLimit, SIGNAL(stateChanged(int)), this, SLOT(disableUpload(int)));
|
connect(disableUPLimit, SIGNAL(stateChanged(int)), this, SLOT(disableUpload(int)));
|
||||||
connect(disableDLLimit, SIGNAL(stateChanged(int)), this, SLOT(disableDownload(int)));
|
connect(disableDLLimit, SIGNAL(stateChanged(int)), this, SLOT(disableDownload(int)));
|
||||||
connect(disableDHT, SIGNAL(stateChanged(int)), this, SLOT(disableDHTGroup(int)));
|
connect(disableDHT, SIGNAL(stateChanged(int)), this, SLOT(disableDHTGroup(int)));
|
||||||
|
#ifndef NO_UPNP
|
||||||
|
connect(disableUPnP, SIGNAL(stateChanged(int)), this, SLOT(disableUPnPGroup(int)));
|
||||||
|
#endif
|
||||||
connect(disableRatio, SIGNAL(stateChanged(int)), this, SLOT(disableShareRatio(int)));
|
connect(disableRatio, SIGNAL(stateChanged(int)), this, SLOT(disableShareRatio(int)));
|
||||||
connect(activateFilter, SIGNAL(stateChanged(int)), this, SLOT(enableFilter(int)));
|
connect(activateFilter, SIGNAL(stateChanged(int)), this, SLOT(enableFilter(int)));
|
||||||
connect(enableProxy_checkBox, SIGNAL(stateChanged(int)), this, SLOT(enableProxy(int)));
|
connect(enableProxy_checkBox, SIGNAL(stateChanged(int)), this, SLOT(enableProxy(int)));
|
||||||
|
@ -158,6 +167,16 @@ options_imp::options_imp(QWidget *parent):QDialog(parent){
|
||||||
connect(alwaysOSD, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
connect(alwaysOSD, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
connect(someOSD, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
connect(someOSD, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
connect(neverOSD, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
connect(neverOSD, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
|
connect(radioPlastiqueStyle, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
|
connect(radioCleanlooksStyle, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
|
connect(radioMotifStyle, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
|
connect(radioCDEStyle, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
|
#ifdef Q_WS_WIN
|
||||||
|
connect(radioWinXPStyle, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
|
#endif
|
||||||
|
#ifdef Q_WS_MAC
|
||||||
|
connect(radioMacOSStyle, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
|
#endif
|
||||||
// Disable apply Button
|
// Disable apply Button
|
||||||
applyButton->setEnabled(false);
|
applyButton->setEnabled(false);
|
||||||
if(!QSystemTrayIcon::supportsMessages()){
|
if(!QSystemTrayIcon::supportsMessages()){
|
||||||
|
@ -238,6 +257,7 @@ void options_imp::saveOptions(){
|
||||||
settings.setValue("ConfirmOnExit", getConfirmOnExit());
|
settings.setValue("ConfirmOnExit", getConfirmOnExit());
|
||||||
settings.setValue("GoToSystray", getGoToSysTrayOnMinimizingWindow());
|
settings.setValue("GoToSystray", getGoToSysTrayOnMinimizingWindow());
|
||||||
settings.setValue("GoToSystrayOnExit", getGoToSysTrayOnExitingWindow());
|
settings.setValue("GoToSystrayOnExit", getGoToSysTrayOnExitingWindow());
|
||||||
|
// End Behaviour group
|
||||||
settings.endGroup();
|
settings.endGroup();
|
||||||
settings.setValue("PreviewProgram", getPreviewProgram());
|
settings.setValue("PreviewProgram", getPreviewProgram());
|
||||||
// End Misc options
|
// End Misc options
|
||||||
|
@ -251,6 +271,8 @@ void options_imp::saveOptions(){
|
||||||
settings.setValue("OSDEnabled", 0);
|
settings.setValue("OSDEnabled", 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
settings.setValue("Style", getStyle());
|
||||||
|
// End Options group
|
||||||
settings.endGroup();
|
settings.endGroup();
|
||||||
// Disable apply Button
|
// Disable apply Button
|
||||||
applyButton->setEnabled(false);
|
applyButton->setEnabled(false);
|
||||||
|
@ -260,6 +282,46 @@ bool options_imp::isFilteringEnabled() const{
|
||||||
return activateFilter->isChecked();
|
return activateFilter->isChecked();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString options_imp::getStyle() const{
|
||||||
|
if(radioPlastiqueStyle->isChecked()) return "Plastique";
|
||||||
|
if(radioCleanlooksStyle->isChecked()) return "Cleanlooks";
|
||||||
|
if(radioMotifStyle->isChecked()) return "Motif";
|
||||||
|
if(radioCDEStyle->isChecked()) return "CDE";
|
||||||
|
if(radioMacOSStyle->isChecked()) return "MacOS";
|
||||||
|
if(radioWinXPStyle->isChecked()) return "WinXP";
|
||||||
|
#ifdef Q_WS_WIN
|
||||||
|
return "WinXP";
|
||||||
|
#endif
|
||||||
|
#ifdef Q_WS_MAC
|
||||||
|
return "MacOS";
|
||||||
|
#endif
|
||||||
|
return "Plastique";
|
||||||
|
}
|
||||||
|
|
||||||
|
void options_imp::setStyle(QString style){
|
||||||
|
if(style == "Cleanlooks"){
|
||||||
|
radioCleanlooksStyle->setChecked(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(style == "Motif"){
|
||||||
|
radioMotifStyle->setChecked(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(style == "CDE"){
|
||||||
|
radioCDEStyle->setChecked(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(style == "MacOS"){
|
||||||
|
radioMacOSStyle->setChecked(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(style == "WinXP"){
|
||||||
|
radioWinXPStyle->setChecked(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
radioPlastiqueStyle->setChecked(true);
|
||||||
|
}
|
||||||
|
|
||||||
void options_imp::loadOptions(){
|
void options_imp::loadOptions(){
|
||||||
int value;
|
int value;
|
||||||
float floatValue;
|
float floatValue;
|
||||||
|
@ -429,9 +491,10 @@ void options_imp::loadOptions(){
|
||||||
confirmExit_checkBox->setChecked(settings.value("ConfirmOnExit", true).toBool());
|
confirmExit_checkBox->setChecked(settings.value("ConfirmOnExit", true).toBool());
|
||||||
check_goToSysTray->setChecked(settings.value("GoToSystray", true).toBool());
|
check_goToSysTray->setChecked(settings.value("GoToSystray", true).toBool());
|
||||||
check_closeToSysTray->setChecked(settings.value("GoToSystrayOnExit", false).toBool());
|
check_closeToSysTray->setChecked(settings.value("GoToSystrayOnExit", false).toBool());
|
||||||
|
// End Behaviour group
|
||||||
settings.endGroup();
|
settings.endGroup();
|
||||||
preview_program->setText(settings.value("PreviewProgram", QString()).toString());
|
preview_program->setText(settings.value("PreviewProgram", QString()).toString());
|
||||||
// End Misc options
|
// End Misc group
|
||||||
settings.endGroup();
|
settings.endGroup();
|
||||||
value = settings.value("OSDEnabled", 1).toInt();
|
value = settings.value("OSDEnabled", 1).toInt();
|
||||||
if(value == 0){
|
if(value == 0){
|
||||||
|
@ -443,6 +506,8 @@ void options_imp::loadOptions(){
|
||||||
alwaysOSD->setChecked(true);
|
alwaysOSD->setChecked(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
setStyle(settings.value("Style", QString()).toString());
|
||||||
|
// End Options group
|
||||||
settings.endGroup();
|
settings.endGroup();
|
||||||
// Disable apply Button
|
// Disable apply Button
|
||||||
applyButton->setEnabled(false);
|
applyButton->setEnabled(false);
|
||||||
|
@ -609,6 +674,16 @@ void options_imp::disableDHTGroup(int checkBoxValue){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void options_imp::disableUPnPGroup(int checkBoxValue){
|
||||||
|
if(checkBoxValue==2){
|
||||||
|
//Disable
|
||||||
|
groupUPnP->setEnabled(false);
|
||||||
|
}else{
|
||||||
|
//enable
|
||||||
|
groupUPnP->setEnabled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void options_imp::enableSavePath(int checkBoxValue){
|
void options_imp::enableSavePath(int checkBoxValue){
|
||||||
if(checkBoxValue==2){
|
if(checkBoxValue==2){
|
||||||
//enable
|
//enable
|
||||||
|
|
|
@ -79,7 +79,8 @@ class options_imp : public QDialog, private Ui::Dialog{
|
||||||
QString getPreviewProgram() const;
|
QString getPreviewProgram() const;
|
||||||
bool getUseOSDAlways() const;
|
bool getUseOSDAlways() const;
|
||||||
bool getUseOSDWhenHiddenOnly() const;
|
bool getUseOSDWhenHiddenOnly() const;
|
||||||
|
QString getStyle() const;
|
||||||
|
void setStyle(QString style);
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void on_okButton_clicked();
|
void on_okButton_clicked();
|
||||||
|
@ -93,6 +94,9 @@ class options_imp : public QDialog, private Ui::Dialog{
|
||||||
void on_filterBrowse_clicked();
|
void on_filterBrowse_clicked();
|
||||||
void disableDownload(int checkBoxValue);
|
void disableDownload(int checkBoxValue);
|
||||||
void disableDHTGroup(int checkBoxValue);
|
void disableDHTGroup(int checkBoxValue);
|
||||||
|
#ifndef NO_UPNP
|
||||||
|
void disableUPnPGroup(int checkBoxValue);
|
||||||
|
#endif
|
||||||
void disableMaxConnecLimit(int);
|
void disableMaxConnecLimit(int);
|
||||||
void enableFilter(int checkBoxValue);
|
void enableFilter(int checkBoxValue);
|
||||||
void disableUpload(int checkBoxValue);
|
void disableUpload(int checkBoxValue);
|
||||||
|
|
|
@ -11,7 +11,7 @@ TARGET = qbittorrent
|
||||||
CONFIG += qt thread x11 network
|
CONFIG += qt thread x11 network
|
||||||
|
|
||||||
# Update this VERSION for each release
|
# Update this VERSION for each release
|
||||||
DEFINES += VERSION=\\\"v0.10.0alpha3\\\"
|
DEFINES += VERSION=\\\"v0.10.0alpha4\\\"
|
||||||
DEFINES += VERSION_MAJOR=0
|
DEFINES += VERSION_MAJOR=0
|
||||||
DEFINES += VERSION_MINOR=10
|
DEFINES += VERSION_MINOR=10
|
||||||
DEFINES += VERSION_BUGFIX=0
|
DEFINES += VERSION_BUGFIX=0
|
||||||
|
|
Loading…
Reference in a new issue