1
mirror of https://github.com/qbittorrent/qBittorrent synced 2025-10-14 11:52:15 +02:00

Compare commits

...

62 Commits

Author SHA1 Message Date
Christophe Dumez
3f22122348 Tagged v2.2.6 release 2010-04-18 14:08:36 +00:00
Christophe Dumez
59c77a3f9c Prepare for v2.2.6 release 2010-04-18 13:56:53 +00:00
Christophe Dumez
8ce9649310 Make sure status filters height is correct when the visual style changes 2010-04-17 14:21:34 +00:00
Christophe Dumez
fe5ac5d083 Updated Arabic translation 2010-04-16 18:33:09 +00:00
Christophe Dumez
8740627c12 Arabic translation fixes 2010-04-15 19:22:20 +00:00
Christophe Dumez
c47f2e449b Support Right to left languages 2010-04-13 18:46:44 +00:00
Christophe Dumez
db09e40690 Added an OS/2 specific README file 2010-04-13 10:42:10 +00:00
Christophe Dumez
3ca3f91590 Some Arabic related improvements 2010-04-12 19:23:24 +00:00
Christophe Dumez
ee9a8d0563 Added Arabic translation 2010-04-12 18:59:39 +00:00
Christophe Dumez
3542980e50 BUGFIX: Stop rechecking torrents when they are moved 2010-04-10 15:55:57 +00:00
Christophe Dumez
f243b8535a - BUGFIX: Remove old folder when moving a torrent
- BUGFIX: Improved reliability of torrent moving
2010-04-10 15:03:16 +00:00
Christophe Dumez
7953809024 BUGFIX: Added support for single-thread boost 2010-04-09 18:51:32 +00:00
Christophe Dumez
3ac65a477c Remove some unneeded dependencies for qBittorrent nox 2010-04-09 15:32:40 +00:00
Christophe Dumez
00cab62381 Improved previous patch 2010-04-08 16:37:02 +00:00
Christophe Dumez
ab31300201 eCS (OS/2) compilation fix (Thanks Silvan Scherrer) 2010-04-08 16:32:21 +00:00
Christophe Dumez
754eb2788f Qt 4.4 compilation fix 2010-04-07 10:02:00 +00:00
Christophe Dumez
8dcb9f17bc Updated INSTALL file 2010-04-07 09:58:53 +00:00
Christophe Dumez
38121920a1 Bring back compatibility with boost v1.34 2010-04-07 09:54:48 +00:00
Christophe Dumez
e815f934e1 Improved libboost detection again 2010-04-07 09:48:34 +00:00
Christophe Dumez
4a305222be Updated boost dependencies in INSTALL file 2010-04-07 09:43:19 +00:00
Christophe Dumez
dcfed67173 Improved libboost detection by configure file 2010-04-07 09:36:44 +00:00
Christophe Dumez
db43606620 Do not display a warning when libtorrent v0.14.x is detected since it is the advised version 2010-04-07 09:07:09 +00:00
Christophe Dumez
3b16a89c36 Improved slow_off icon 2010-04-07 09:03:43 +00:00
Christophe Dumez
4c03e708e0 Added icons to menu actions in Web UI 2010-04-07 08:33:01 +00:00
Christophe Dumez
3e0fc5234f Flat buttons in status bar should never get focus 2010-04-07 08:20:32 +00:00
Christophe Dumez
5ba7e643b9 Bump to v2.2.5 2010-04-07 08:07:07 +00:00
Christophe Dumez
c53e265b70 Improved speed limits icons location in preferences 2010-04-07 08:03:50 +00:00
Christophe Dumez
2b5f12e014 Fix transparency of speed limits icons
Dropped dependency on Qt gif library
2010-04-07 08:01:37 +00:00
Christophe Dumez
ee518973ea BUGFIX: Fix Download from URL title size in Web UI 2010-04-06 17:03:54 +00:00
Christophe Dumez
aa08552686 Fix deprecation warnings with libtorrent v0.15 2010-04-06 16:55:11 +00:00
Christophe Dumez
fa43393b65 BUGFIX: Fix HTTPS protocol support in torrent/rss downloader 2010-04-06 16:27:34 +00:00
Christophe Dumez
48dcfb56ad Fix torrent addition dialog buttons height (Thanks Mariusz Fik) 2010-04-06 16:15:01 +00:00
Christophe Dumez
511fa5d988 BUGFIX: Fix crash when adding a new torrent label 2010-04-06 16:09:06 +00:00
Christophe Dumez
5694c8aa8b Updated Polish translation 2010-04-06 16:01:25 +00:00
Christophe Dumez
e3098c5191 Fix default width of file name column in torrent content 2010-04-06 09:30:35 +00:00
Christophe Dumez
dbacb1961c Added forgotten icons 2010-04-06 07:50:08 +00:00
Christophe Dumez
1092064115 Updated Changelog 2010-04-05 23:34:47 +00:00
Christophe Dumez
7988f15da7 Update icons resource file 2010-04-05 23:17:25 +00:00
Christophe Dumez
689df74d7e Bump to v2.2.4 2010-04-05 23:16:10 +00:00
Christophe Dumez
c59dde4f58 Fix in last commit 2010-04-05 21:04:14 +00:00
Christophe Dumez
4bc36b4d28 COSMETIC: Improved alternative speed limits icons 2010-04-05 20:55:37 +00:00
Christophe Dumez
430c7d2deb BUGFIX: Display correct share ratio for paused torrents 2010-04-05 20:11:27 +00:00
Christophe Dumez
d72c79b259 Correctly clear trackers error messages once they work 2010-04-05 20:00:12 +00:00
Christophe Dumez
efbf470585 Fix Web UI about dialog 2010-04-05 19:53:08 +00:00
Christophe Dumez
4e20723ae6 BUGFIX: Fix torrent addition window layout (torrent content not expanding) 2010-04-05 19:44:27 +00:00
Christophe Dumez
f3268bf49e Similar fix 2010-04-05 19:33:12 +00:00
Christophe Dumez
5aba9179c4 Similar fixes 2010-04-05 19:32:06 +00:00
Christophe Dumez
450814ae23 Fix possible crash when adding a torrent 2010-04-05 19:02:21 +00:00
Christophe Dumez
ba22fa8331 Bump to v2.2.3 2010-04-04 19:55:16 +00:00
Christophe Dumez
5ce02cb612 Clean fix for progress display with cleanlooks style 2010-03-31 14:36:16 +00:00
Christophe Dumez
1013f39a42 A msvc compilation fix 2010-03-30 19:40:35 +00:00
Christophe Dumez
cd5c4bf464 On Windows, add qBittorrent executable folder to PATH envar 2010-03-30 19:03:12 +00:00
Christophe Dumez
84bfc54b03 Updated Changelog 2010-03-30 12:13:43 +00:00
Christophe Dumez
5b3b5eb2ef Enable Apply button when alternative rate limits are changed 2010-03-30 12:09:51 +00:00
Christophe Dumez
990a863d41 Several compilation and execution fixes for Windows and OS/2
Cleaner binutils gold linker support
2010-03-30 11:39:40 +00:00
Christophe Dumez
7f27d10735 Fix possible error in boost exception handling 2010-03-29 10:44:33 +00:00
Christophe Dumez
1377a75a53 Fix typo 2010-03-27 16:00:47 +00:00
Christophe Dumez
bcd33fc861 ANother Windows fix 2010-03-27 15:58:28 +00:00
Christophe Dumez
46d8fa1656 Another compilation fix 2010-03-27 15:50:50 +00:00
Christophe Dumez
28cf69b84d Windows compilation fix improvement 2010-03-27 09:17:40 +00:00
Christophe Dumez
89389df74d Compilation fix on Windows (getuid missing) 2010-03-27 09:06:01 +00:00
Christophe Dumez
77c29f48cb Fix possible crash when deleting a torrent just after pausing it 2010-03-23 21:42:33 +00:00
65 changed files with 10536 additions and 5524 deletions

View File

@@ -60,6 +60,7 @@ Images Authors:
Translations authors:
* files: src/lang/*.ts
copyright:
- Arabic: SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com)
- Brazilian: Nick Marinho (nickmarinho@gmail.com)
- Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)
- Catalan: Francisco Luque Contreras (frannoe@ya.com)

View File

@@ -1,3 +1,42 @@
* Sun Apr 18 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.6
- BUGFIX: Announce to all trackers at once
- BUGFIX: Added support for single-thread boost
- BUGFIX: Remove old folder when moving a torrent
- BUGFIX: Improved reliability of torrent moving
- BUGFIX: Stop rechecking torrents when they are moved
- BUGFIX: Status filters height stays correct when the visual style changes
- I18N: Added Arabic translation
* Wed Apr 07 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.5
- BUGFIX: Fix crash when adding a new torrent label
- BUGFIX: Fix HTTPS protocol support in torrent/rss downloader
- BUGFIX: Fix default width of file name column in torrent content
- BUGFIX: Fix torrent addition dialog buttons height
- BUGFIX: Fix deprecation warnings with libtorrent v0.15
- BUGFIX: Fix "Download from URL" title size in Web UI
- BUGFIX: Fix transparency of speed limits icons
- BUGFIX: Dropped dependency on Qt gif library
- BUGFIX: Improved libboost detection by configure file
- BUGFIX: Bring back compatibility with boost v1.34
- COSMETIC: Added icons to menu actions in Web UI
* Tue Apr 06 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.4
- BUGFIX: Fix possible crash when adding a torrent
- BUGFIX: Fix failure to remember some torrents on startup
- BUGFIX: Fix torrent addition window layout (torrent content not expanding)
- BUGFIX: Fix about dialog in Web UI
- BUGFIX: Correctly clear trackers error messages once they work
- BUGFIX: Display correct share ratio for paused torrents
- COSMETIC: Improved alternative speed limits icons
* Sun Apr 04 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.3
- BUGFIX: Fix possible crash when deleting a torrent just after pausing it
- BUGFIX: Enable Apply button when alternative rate limits are changed
- BUGFIX: Source compatibility with Windows (Thanks Ishan Arora)
- BUGFIX: Source compatibility with eCS (OS/2) (Thanks Silvan Scherrer)
- BUGFIX: Cleaner binutils gold linker support
- BUGFIX: Clean fix for progress display with cleanlooks style
* Mon Mar 22 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.2
- FEATURE: DHT port can be set from Web UI
- BUGFIX: Fix possible crash with folder scanning

View File

@@ -14,11 +14,13 @@ qBittorrent - A BitTorrent client in C++ / Qt4
- pkg-config executable
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, >= v0.15.0 ADVISED)
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, compatible with v0.15.x)
-> http://www.libtorrent.net
Be careful: another library (the one used by rTorrent) uses a similar name.
- libboost: libboost-filesystem, libboost-date-time, libboost-thread, libboost-serialization
- libboost 1.34.x (libboost-filesystem, libboost-thread, libboost-date-time) + libasio
or
- libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-thread, libboost-date-time)
- python >= 2.3 (needed by search engine)
* Run time only dependency

62
README.os2 Normal file
View File

@@ -0,0 +1,62 @@
qBittorrent - A BitTorrent client in Qt4
------------------------------------------
This is the eComStation (OS/2) qBittorrent part of the readme. See also README for more general information.
Building qBittorrent
********************
Requirements
============
- gcc based build env (recommended gcc v4.4.2 or greater)
- Qt4 for eCS (OS/2) dev package (see http://svn.netlabs.org/qt4 for more information)
- libtorrent-rasterbar for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information)
- boost for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information)
How to build
============
First you need to create the conf.pri file in the same dir as this readme.os2 is.
the conf.pri file has the following content:
##### conf.pri content beginn #####
PREFIX = .
BINDIR = ./bin
INCDIR = ./include
LIBDIR = ./lib
DATADIR = ./share
CONFIG += staticlib
INCLUDEPATH += x:/trees/libtorrent/trunk/include
LIBS += -Lx:/trees/libtorrent/trunk/src/.libs \
-Lx:/trees/boost/trunk/stage/lib \
-Lx:/trees/openssl \
-Lx:/extras/lib
##### conf.pri content end #####
Of course all the above path references have to be adjusted to your build env.
It should now be easy to build qBittorrent:
Simply type:
$ qmake
Followed by:
$ make
If all works fine you should get a working qbittorrent executable.
If you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC:
#netlabs on irc.freenode.net
------------------------------------------
Silvan Scherrer <silvan.scherrer@aroa.ch>

91
configure vendored
View File

@@ -21,6 +21,7 @@ Dependency options:
--disable-gui Disable qBittorrent Graphical user
interface for headless running
--with-libboost-inc=[path] Path to libboost include files
--with-libboost-lib=[path] Path to libboost library files
--disable-libnotify Disable use of libnotify
--disable-geoip-database Disable use of geoip-database
--with-geoip-database-embedded Geoip Database will be embedded in
@@ -152,6 +153,11 @@ while [ $# -gt 0 ]; do
shift
;;
--with-libboost-lib=*)
QC_WITH_LIBBOOST_LIB=$optarg
shift
;;
--disable-libnotify)
QC_DISABLE_libnotify="Y"
shift
@@ -190,6 +196,7 @@ echo DATADIR=$DATADIR
echo EX_QTDIR=$EX_QTDIR
echo QC_DISABLE_GUI=$QC_DISABLE_GUI
echo QC_WITH_LIBBOOST_INC=$QC_WITH_LIBBOOST_INC
echo QC_WITH_LIBBOOST_LIB=$QC_WITH_LIBBOOST_LIB
echo QC_DISABLE_libnotify=$QC_DISABLE_libnotify
echo QC_DISABLE_geoip_database=$QC_DISABLE_geoip_database
echo QC_WITH_GEOIP_DATABASE_EMBEDDED=$QC_WITH_GEOIP_DATABASE_EMBEDDED
@@ -357,16 +364,21 @@ public:
conf->addIncludePath(incs[n]);
//if(!libs.isEmpty())
// conf->addLib(libs);
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, adv_ver, &version, &incs, &libs, &other))
printf("\nWarning: libtorrent-rasterbar v%s was detected. Some feature will be disabled because they require v%s.\n", version.toLocal8Bit().data(), adv_ver.toUtf8().data());
else
if(conf->findPkgConfig("libtorrent-rasterbar", mode, adv_ver, &version, &incs, &libs, &other)) {
//printf("\nWarning: libtorrent-rasterbar v%s was detected. Some feature will be disabled because they require v%s.\n", version.toLocal8Bit().data(), adv_ver.toUtf8().data());
//else
conf->addDefine("LIBTORRENT_0_15");
}
// Get linking parameters
QStringList params;
QByteArray staticlibs;
params << "--static" << "--libs" << "libtorrent-rasterbar";
conf->doCommand("pkg-config", params, &staticlibs);
conf->addLib(staticlibs.trimmed());
//QStringList params;
//QByteArray staticlibs;
//params << "--static" << "--libs" << "libtorrent-rasterbar";
//conf->doCommand("pkg-config", params, &staticlibs);
//conf->addLib(staticlibs.trimmed());
//libcrypto
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
conf->addLib("-lcrypto");
}
return true;
}
};
@@ -375,14 +387,39 @@ public:
-----BEGIN QCMOD-----
name: libboost
arg: with-libboost-inc=[path], Path to libboost include files
arg: with-libboost-lib=[path], Path to libboost library files
-----END QCMOD-----
*/
#include <boost/version.hpp>
class qc_libboost : public ConfObj
{
public:
qc_libboost(Conf *c) : ConfObj(c) {}
QString name() const { return "libboost"; }
QString shortname() const { return "libboost"; }
QString findBoostLib(QString path, QString lib) const {
QString name;
QDir libDir(path);
QStringList filters;
filters << "libboost_"+lib+"*-mt*.so";
QStringList result = libDir.entryList(filters, QDir::Files);
if(!result.empty()) {
name = result.first().mid(3);
// Remove .so
name.chop(3);
} else {
// Fall back to non -mt boost lib
filters.clear();
filters << "libboost_"+lib+"*.so";
result = libDir.entryList(filters, QDir::Files);
if(!result.empty()) {
name = result.first().mid(3);
// Remove .so
name.chop(3);
}
}
return name;
}
bool exec(){
QString s;
s = conf->getenv("QC_WITH_LIBBOOST_INC");
@@ -424,6 +461,43 @@ public:
}
}
conf->addIncludePath(s);
// Find library
s = conf->getenv("QC_WITH_LIBBOOST_LIB");
QStringList required_libs;
#if BOOST_VERSION >= 103500
required_libs << "system";
#endif
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
// Not required by nox
required_libs << "filesystem" << "thread";
}
QStringList libDirs;
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";
foreach(const QString& lib, required_libs) {
if(!s.isEmpty()) {
QString detected_name = findBoostLib(s, lib);
if(detected_name.isEmpty()) {
printf("Could not find boost %s library!\n", qPrintable(lib));
return false;
} else {
conf->addLib("-l"+detected_name);
}
} else {
bool found = false;
foreach(const QString& libDir, libDirs) {
QString detected_name = findBoostLib(libDir, lib);
if(!detected_name.isEmpty()) {
conf->addLib("-l"+detected_name);
found = true;
break;
}
}
if(!found) {
printf("Could not find boost %s library!\n", qPrintable(lib));
return false;
}
}
}
return true;
}
};
@@ -1483,6 +1557,7 @@ export DATADIR
export EX_QTDIR
export QC_DISABLE_GUI
export QC_WITH_LIBBOOST_INC
export QC_WITH_LIBBOOST_LIB
export QC_DISABLE_libnotify
export QC_DISABLE_geoip_database
export QC_WITH_GEOIP_DATABASE_EMBEDDED

View File

@@ -2,14 +2,39 @@
-----BEGIN QCMOD-----
name: libboost
arg: with-libboost-inc=[path], Path to libboost include files
arg: with-libboost-lib=[path], Path to libboost library files
-----END QCMOD-----
*/
#include <boost/version.hpp>
class qc_libboost : public ConfObj
{
public:
qc_libboost(Conf *c) : ConfObj(c) {}
QString name() const { return "libboost"; }
QString shortname() const { return "libboost"; }
QString findBoostLib(QString path, QString lib) const {
QString name;
QDir libDir(path);
QStringList filters;
filters << "libboost_"+lib+"*-mt*.so";
QStringList result = libDir.entryList(filters, QDir::Files);
if(!result.empty()) {
name = result.first().mid(3);
// Remove .so
name.chop(3);
} else {
// Fall back to non -mt boost lib
filters.clear();
filters << "libboost_"+lib+"*.so";
result = libDir.entryList(filters, QDir::Files);
if(!result.empty()) {
name = result.first().mid(3);
// Remove .so
name.chop(3);
}
}
return name;
}
bool exec(){
QString s;
s = conf->getenv("QC_WITH_LIBBOOST_INC");
@@ -51,6 +76,43 @@ public:
}
}
conf->addIncludePath(s);
// Find library
s = conf->getenv("QC_WITH_LIBBOOST_LIB");
QStringList required_libs;
#if BOOST_VERSION >= 103500
required_libs << "system";
#endif
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
// Not required by nox
required_libs << "filesystem" << "thread";
}
QStringList libDirs;
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";
foreach(const QString& lib, required_libs) {
if(!s.isEmpty()) {
QString detected_name = findBoostLib(s, lib);
if(detected_name.isEmpty()) {
printf("Could not find boost %s library!\n", qPrintable(lib));
return false;
} else {
conf->addLib("-l"+detected_name);
}
} else {
bool found = false;
foreach(const QString& libDir, libDirs) {
QString detected_name = findBoostLib(libDir, lib);
if(!detected_name.isEmpty()) {
conf->addLib("-l"+detected_name);
found = true;
break;
}
}
if(!found) {
printf("Could not find boost %s library!\n", qPrintable(lib));
return false;
}
}
}
return true;
}
};

View File

@@ -22,16 +22,21 @@ public:
conf->addIncludePath(incs[n]);
//if(!libs.isEmpty())
// conf->addLib(libs);
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, adv_ver, &version, &incs, &libs, &other))
printf("\nWarning: libtorrent-rasterbar v%s was detected. Some feature will be disabled because they require v%s.\n", version.toLocal8Bit().data(), adv_ver.toUtf8().data());
else
if(conf->findPkgConfig("libtorrent-rasterbar", mode, adv_ver, &version, &incs, &libs, &other)) {
//printf("\nWarning: libtorrent-rasterbar v%s was detected. Some feature will be disabled because they require v%s.\n", version.toLocal8Bit().data(), adv_ver.toUtf8().data());
//else
conf->addDefine("LIBTORRENT_0_15");
}
// Get linking parameters
QStringList params;
QByteArray staticlibs;
params << "--static" << "--libs" << "libtorrent-rasterbar";
conf->doCommand("pkg-config", params, &staticlibs);
conf->addLib(staticlibs.trimmed());
//QStringList params;
//QByteArray staticlibs;
//params << "--static" << "--libs" << "libtorrent-rasterbar";
//conf->doCommand("pkg-config", params, &staticlibs);
//conf->addLib(staticlibs.trimmed());
//libcrypto
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
conf->addLib("-lcrypto");
}
return true;
}
};

View File

@@ -66,6 +66,11 @@
#include "propertieswidget.h"
#include "statusbar.h"
#ifdef Q_WS_WIN
#include <windows.h>
const int UNLEN = 256;
#endif
using namespace libtorrent;
#define TIME_TRAY_BALLOON 5000
@@ -161,7 +166,15 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
processParams(torrentCmdLine);
// Use a tcp server to allow only one instance of qBittorrent
localServer = new QLocalServer();
QString uid = QString::number(getuid());
QString uid = "";
#ifdef Q_WS_WIN
char buffer[UNLEN+1] = {0};
DWORD buffer_len = UNLEN + 1;
if (!GetUserName(buffer, &buffer_len))
uid = QString(buffer)
#else
uid = QString::number(getuid());
#endif
#ifdef Q_WS_X11
if(QFile::exists(QDir::tempPath()+QDir::separator()+QString("qBittorrent-")+uid)) {
// Socket was not closed cleanly
@@ -815,12 +828,7 @@ void GUI::trackerAuthenticationRequired(QTorrentHandle& h) {
void GUI::updateGUI() {
// update global informations
if(systrayIcon) {
#ifdef Q_WS_WIN
// Windows does not support html here
QString html =tr("DL speed: %1 KiB/s", "e.g: Download speed: 10 KiB/s").arg(QString::number(BTSession->getPayloadDownloadRate()/1024., 'f', 1));
html += "\n";
html += tr("UP speed: %1 KiB/s", "e.g: Upload speed: 10 KiB/s").arg(QString::number(BTSession->getPayloadUploadRate()/1024., 'f', 1));
#else
#if defined(Q_WS_X11) || defined(Q_WS_MAC)
QString html = "<div style='background-color: #678db2; color: #fff;height: 18px; font-weight: bold; margin-bottom: 5px;'>";
html += tr("qBittorrent");
html += "</div>";
@@ -830,6 +838,11 @@ void GUI::updateGUI() {
html += "<div style='vertical-align: baseline; height: 18px;'>";
html += "<img src=':/Icons/skin/seeding.png'/>&nbsp;"+tr("UP speed: %1 KiB/s", "e.g: Upload speed: 10 KiB/s").arg(QString::number(BTSession->getPayloadUploadRate()/1024., 'f', 1));
html += "</div>";
#else
// OSes such as Windows do not support html here
QString html =tr("DL speed: %1 KiB/s", "e.g: Download speed: 10 KiB/s").arg(QString::number(BTSession->getPayloadDownloadRate()/1024., 'f', 1));
html += "\n";
html += tr("UP speed: %1 KiB/s", "e.g: Upload speed: 10 KiB/s").arg(QString::number(BTSession->getPayloadUploadRate()/1024., 'f', 1));
#endif
systrayIcon->setToolTip(html); // tray icon
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

View File

@@ -1,6 +1,6 @@
[Desktop Entry]
Categories=Qt;Network;P2P;
Comment=V2.2.2
Comment=V2.2.6
Exec=qbittorrent %f
GenericName=Bittorrent client
GenericName[bg]=Торент клиент

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 910 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 680 B

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -62,7 +62,8 @@ class about : public QDialog, private Ui::AboutDlg{
te_translation->append(QString::fromUtf8("<a name='top'></a>"));
te_translation->append(tr("I would like to thank the following people who volunteered to translate qBittorrent:")+QString::fromUtf8("<br>"));
te_translation->append(QString::fromUtf8(
"<i>- <u>Brazilian:</u> Nick Marinho (nickmarinho@gmail.com)<br>\
"<i><u>Arabic:</u> SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com)<br>\
- <u>Brazilian:</u> Nick Marinho (nickmarinho@gmail.com)<br>\
- <u>Bulgarian:</u> Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)<br>\
- <u>Catalan:</u> Francisco Luque Contreras (frannoe@ya.com)<br>\
- <u>Chinese (Simplified):</u> Guo Yue (yue.guo0418@gmail.com)<br>\
@@ -92,6 +93,9 @@ class about : public QDialog, private Ui::AboutDlg{
te_translation->scrollToAnchor(QString::fromUtf8("top"));
// License
te_license->append(QString::fromUtf8("<a name='top'></a>"));
#ifdef Q_WS_WIN
te_license->append(QString::fromUtf8("qBittorrent is licensed under the GNU General Public License version 2."));
#else
te_license->append(QString::fromUtf8("qBittorrent is licensed under the GNU General Public License version 2 with the\
addition of the following special exception:\
<br><br>\
@@ -438,6 +442,7 @@ exception statement from your version.</i>\
consider it more useful to permit linking proprietary applications with the<br>\
library. If this is what you want to do, use the GNU Library General<br>\
Public License instead of this License.<br>"));
#endif
te_license->scrollToAnchor(QString::fromUtf8("top"));
show();
}

File diff suppressed because it is too large Load Diff

View File

@@ -135,7 +135,9 @@ public slots:
void resumeTorrent(QString hash);
void resumeAllTorrents();
/* End Web UI */
#ifndef LIBTORRENT_0_15
void saveDHTEntry();
#endif
void preAllocateAllFiles(bool b);
void saveFastResumeData();
void enableIPFilter(QString filter);

View File

@@ -42,6 +42,9 @@ enum ProxyType {HTTP=1, SOCKS5=2, HTTP_PW=3, SOCKS5_PW=4, SOCKS4=5};
downloadThread::downloadThread(QObject* parent) : QObject(parent) {
networkManager = new QNetworkAccessManager(this);
connect(networkManager, SIGNAL(finished (QNetworkReply*)), this, SLOT(processDlFinished(QNetworkReply*)));
#ifndef QT_NO_OPENSSL
connect(networkManager, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), this, SLOT(ignoreSslErrors(QNetworkReply*,QList<QSslError>)));
#endif
}
downloadThread::~downloadThread(){
@@ -213,3 +216,11 @@ QString downloadThread::errorCodeToString(QNetworkReply::NetworkError status) {
return tr("Unknown error");
}
}
#ifndef QT_NO_OPENSSL
void downloadThread::ignoreSslErrors(QNetworkReply* reply,QList<QSslError> errors) {
Q_UNUSED(errors)
// Ignore all SSL errors
reply->ignoreSslErrors();
}
#endif

View File

@@ -34,6 +34,7 @@
#include <QNetworkReply>
#include <QObject>
#include <QHash>
#include <QSslError>
class QNetworkAccessManager;
@@ -62,6 +63,9 @@ protected:
protected slots:
void processDlFinished(QNetworkReply* reply);
void checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal);
#ifndef QT_NO_OPENSSL
void ignoreSslErrors(QNetworkReply*,QList<QSslError>);
#endif
};

View File

@@ -188,6 +188,7 @@ public:
if(iso[1] == 'S') return QIcon(":/Icons/flags/serbia.png");
break;
case 'S':
if(iso[1] == 'A') return QIcon(":/Icons/flags/saoudi_arabia.png");
if(iso[1] == 'E') return QIcon(":/Icons/flags/sweden.png");
if(iso[1] == 'K') return QIcon(":/Icons/flags/slovakia.png");
if(iso[1] == 'G') return QIcon(":/Icons/flags/singapore.png");

View File

@@ -1,6 +1,5 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>Icons/slow48.png</file>
<file>Icons/rss32.png</file>
<file>Icons/sphere2.png</file>
<file>Icons/downarrow.png</file>
@@ -122,6 +121,7 @@
<file>Icons/flags/egypt.png</file>
<file>Icons/flags/italy.png</file>
<file>Icons/flags/south_korea.png</file>
<file>Icons/flags/saoudi_arabia.png</file>
<file>Icons/flags/bosnia.png</file>
<file>Icons/flags/japan.png</file>
<file>Icons/flags/malaysia.png</file>

View File

@@ -7,6 +7,7 @@
<file>lang/qbittorrent_sv.qm</file>
<file>lang/qbittorrent_pl.qm</file>
<file>lang/qbittorrent_it.qm</file>
<file>lang/qbittorrent_ar.qm</file>
<file>lang/qbittorrent_ko.qm</file>
<file>lang/qbittorrent_en.qm</file>
<file>lang/qbittorrent_ro.qm</file>

BIN
src/lang/qbittorrent_ar.qm Normal file

Binary file not shown.

4701
src/lang/qbittorrent_ar.ts Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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