You've already forked qBittorrent
mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-10-19 05:12:18 +02:00
Compare commits
209 Commits
release-2.
...
release-2.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
65e8d1e417 | ||
![]() |
4a846fd185 | ||
![]() |
141618660f | ||
![]() |
553e22bbb4 | ||
![]() |
2e96518051 | ||
![]() |
254f101711 | ||
![]() |
92291c301e | ||
![]() |
0882e5c916 | ||
![]() |
cfd135856b | ||
![]() |
8d03b034c2 | ||
![]() |
ed2834cbc0 | ||
![]() |
013b381a7c | ||
![]() |
d587daf8b3 | ||
![]() |
a875b17e7f | ||
![]() |
b2f225c80d | ||
![]() |
4e65a725e2 | ||
![]() |
ce4d25952c | ||
![]() |
fea8b11083 | ||
![]() |
3e27595cf1 | ||
![]() |
44ab905131 | ||
![]() |
2a04ac55de | ||
![]() |
45ad494a3e | ||
![]() |
78fe44ec01 | ||
![]() |
536bd85fd0 | ||
![]() |
84705489fc | ||
![]() |
ff085e955e | ||
![]() |
4b62c24e54 | ||
![]() |
c7658e2e96 | ||
![]() |
9fe693630c | ||
![]() |
3bba7578af | ||
![]() |
53b6a25442 | ||
![]() |
5e7de313fc | ||
![]() |
8c91e9d4e2 | ||
![]() |
078ee59b4e | ||
![]() |
438e277c42 | ||
![]() |
a4c1b93a42 | ||
![]() |
82877a9afa | ||
![]() |
6bee757652 | ||
![]() |
d8cdc3094a | ||
![]() |
db455c9832 | ||
![]() |
b6c931905a | ||
![]() |
6647973391 | ||
![]() |
4c85ea678d | ||
![]() |
dc27b5e976 | ||
![]() |
4828f6190e | ||
![]() |
84a0f92546 | ||
![]() |
e3a9194010 | ||
![]() |
727e212b8e | ||
![]() |
df64ede724 | ||
![]() |
8a07e01181 | ||
![]() |
d67d4a38ce | ||
![]() |
3b898c52d3 | ||
![]() |
4e79411d9f | ||
![]() |
524875e458 | ||
![]() |
3c75774cfb | ||
![]() |
596737ba2f | ||
![]() |
e142aafea1 | ||
![]() |
09da69918e | ||
![]() |
e0c2e3dd2c | ||
![]() |
5dc79e67fc | ||
![]() |
14341f3be2 | ||
![]() |
2acf90d813 | ||
![]() |
ae1d6492d0 | ||
![]() |
0a0579bc8b | ||
![]() |
ead93baa21 | ||
![]() |
39bad79f5a | ||
![]() |
f25b198516 | ||
![]() |
15d3b07f34 | ||
![]() |
feeecbf395 | ||
![]() |
e7abeb9bd4 | ||
![]() |
879a010c3d | ||
![]() |
89e64a212e | ||
![]() |
82c7c02611 | ||
![]() |
b6c3189fe3 | ||
![]() |
82e41f36ee | ||
![]() |
4b1eade157 | ||
![]() |
b79ed40e32 | ||
![]() |
d06e0b639e | ||
![]() |
d1cfb4f066 | ||
![]() |
efa1f4ebb4 | ||
![]() |
fa4eda9c87 | ||
![]() |
1efb122d9c | ||
![]() |
c2e5ecaaa0 | ||
![]() |
313dfd6475 | ||
![]() |
8dd753ce46 | ||
![]() |
435d0e1019 | ||
![]() |
37cd9c5b7b | ||
![]() |
8b9971003d | ||
![]() |
79cdad47f1 | ||
![]() |
8f1276350e | ||
![]() |
c05e6ba580 | ||
![]() |
2da5e03741 | ||
![]() |
a9ce197d04 | ||
![]() |
1bce5b7837 | ||
![]() |
74718bc568 | ||
![]() |
217937217d | ||
![]() |
af1dfd41ab | ||
![]() |
54c6ccc087 | ||
![]() |
d9e15e40f4 | ||
![]() |
12d1e852f4 | ||
![]() |
802d262776 | ||
![]() |
04b63829d7 | ||
![]() |
8568b29cc1 | ||
![]() |
b1471c2a45 | ||
![]() |
a86b87244d | ||
![]() |
e431b96ca1 | ||
![]() |
ce5cdd0eea | ||
![]() |
c5a831b8ec | ||
![]() |
872002b730 | ||
![]() |
cb6fad87de | ||
![]() |
0f1473e212 | ||
![]() |
b45171ba43 | ||
![]() |
28b8f36f16 | ||
![]() |
35c1389794 | ||
![]() |
6ae7db4afb | ||
![]() |
7b646018ea | ||
![]() |
4c7a5633da | ||
![]() |
76d3e9033d | ||
![]() |
c9d5370dc4 | ||
![]() |
7cdbe8ef34 | ||
![]() |
8b819d7e9e | ||
![]() |
7f0c8dde24 | ||
![]() |
74c32a0ecd | ||
![]() |
87174ef3a4 | ||
![]() |
462c821df9 | ||
![]() |
42d7e20c1d | ||
![]() |
933b924766 | ||
![]() |
be15e6d34c | ||
![]() |
d6997e7833 | ||
![]() |
e94769b58b | ||
![]() |
7616c22897 | ||
![]() |
138cd90736 | ||
![]() |
9aae8040ef | ||
![]() |
2d5612435c | ||
![]() |
2b1e4912f2 | ||
![]() |
b1fe50e056 | ||
![]() |
09a45abd92 | ||
![]() |
adf615d0cc | ||
![]() |
954e010493 | ||
![]() |
86b4db75be | ||
![]() |
587c4f3b14 | ||
![]() |
8238c13dc0 | ||
![]() |
5c8dd9f0fb | ||
![]() |
dfcdb18b41 | ||
![]() |
e402674092 | ||
![]() |
783004ae58 | ||
![]() |
6ff7c6ed06 | ||
![]() |
a0ecbe01a1 | ||
![]() |
47c2f2e30a | ||
![]() |
721fa821f7 | ||
![]() |
6580d23263 | ||
![]() |
0b874d9c42 | ||
![]() |
679c91435d | ||
![]() |
d68b7fc9cb | ||
![]() |
02722dc3c9 | ||
![]() |
844bd52c67 | ||
![]() |
51bc67042e | ||
![]() |
a8978b2ae4 | ||
![]() |
fcf3b8e14a | ||
![]() |
015bdc7930 | ||
![]() |
370b986ab1 | ||
![]() |
9d7591fc84 | ||
![]() |
9b6b357c9e | ||
![]() |
8fd7b86f45 | ||
![]() |
35a4e4aa1c | ||
![]() |
d24abc3088 | ||
![]() |
615e08b74f | ||
![]() |
4644b5cf15 | ||
![]() |
cb719e2bf5 | ||
![]() |
ab8e35b6b4 | ||
![]() |
76ea7525e3 | ||
![]() |
64615adc23 | ||
![]() |
a205591178 | ||
![]() |
25e27f4614 | ||
![]() |
4a66c33a2c | ||
![]() |
16be6fe474 | ||
![]() |
e170d9c3a8 | ||
![]() |
3adc58bb87 | ||
![]() |
55aa6c36ee | ||
![]() |
350bf0ffd4 | ||
![]() |
a9565e363a | ||
![]() |
378e24411c | ||
![]() |
22c785b951 | ||
![]() |
eb0053fe48 | ||
![]() |
6996ccc2c8 | ||
![]() |
fcef304427 | ||
![]() |
bf5c1951ba | ||
![]() |
e931209860 | ||
![]() |
db4520a13b | ||
![]() |
4305e6b1e0 | ||
![]() |
b173458814 | ||
![]() |
833750513b | ||
![]() |
9e63a0babb | ||
![]() |
e48909dea4 | ||
![]() |
f306d02ac9 | ||
![]() |
f9f3642116 | ||
![]() |
1537c70988 | ||
![]() |
847a6c75d7 | ||
![]() |
ecffc5e550 | ||
![]() |
65e9401c5d | ||
![]() |
ae3632e5c1 | ||
![]() |
9ba3862be1 | ||
![]() |
793c1be9bd | ||
![]() |
1ce6f4a7c3 | ||
![]() |
816cfefbac | ||
![]() |
0eec718354 | ||
![]() |
b80148c7e4 | ||
![]() |
3bc946bfb9 | ||
![]() |
a62169001e |
5
AUTHORS
5
AUTHORS
@@ -50,6 +50,10 @@ Images Authors:
|
||||
copyright: Greg Houston <gregory.houston@gmail.com>
|
||||
license: MIT
|
||||
|
||||
* file: src/Icons/skin/qbittorrent_mono.svg
|
||||
copyright: Daniel Eguren <deguren@gmail.com>
|
||||
license: LGPL
|
||||
|
||||
* file: src/search_engine/engines/btjunkie.png
|
||||
copyright: Downloaded from btjunkie.org
|
||||
|
||||
@@ -89,6 +93,7 @@ Translations authors:
|
||||
- Italian: Matteo Sechi (bu17714@gmail.com)
|
||||
- Japanese: Nardog (alphisation@gmail.com)
|
||||
- Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
|
||||
- Lithuanian: Naglis Jonaitis (njonaitis@gmail.com)
|
||||
- Norwegian: Tomaso
|
||||
- Polish: Mariusz Fik (fisiu@opensuse.org)
|
||||
- Portuguese: Nick Marinho (nickmarinho@gmail.com)
|
||||
|
68
Changelog
68
Changelog
@@ -1,48 +1,28 @@
|
||||
* Thu Feb 3 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.5
|
||||
- BUGFIX: Make sure the progress is not 100% unless the file is complete
|
||||
- BUGFIX: Fix memory leak in HTTP torrent downloader
|
||||
- BUGFIX: Use native file dialogs (by Vladimir Golovnev)
|
||||
- BUGFIX: Fix encoding problem in torrent moving code (by Vladimir Golovnev)
|
||||
- BUGFIX: Performance improvement on ARM
|
||||
- BUGFIX: RSS code rewrite (more cpu/memory efficient)
|
||||
- I18N: Updated Norwegian translation (Tomaso)
|
||||
* Sat Mar 26 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.7.1
|
||||
- BUGFIX: Limit file names to 255 bytes to avoid issues on Linux FS
|
||||
- BUGFIX: Fix possible crash when changing the priority of a file
|
||||
- BUGFIX: Magnet link association fix on Win32 (sledgehammer999)
|
||||
- BUGFIX: Easier compilation on Win32 using MinGW (sledgehammer999)
|
||||
- BUGFIX: Sync program preferences before computer shutdown to avoid loss
|
||||
- OTHER: Get rid of QtSVG dependency
|
||||
- I18N: Updated German, Italian, Hungarian, Portuguese, Brazilian,
|
||||
Spanish and Catalan translations
|
||||
|
||||
* Sun Jan 23 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.4
|
||||
- BUGFIX: Added unicode support to email notification
|
||||
- BUGFIX: Improved compatibility with various SMTP servers
|
||||
- BUGFIX: Fix Labeling in RSS downloader
|
||||
- BUGFIX: Avoid main window flashing on startup (closes #703984)
|
||||
- BUGFIX: Improved hostname resolution code
|
||||
- BUGFIX: Dropped dependency on libboost-thread
|
||||
- BUGFIX: Display legal notice on screen center
|
||||
- BUGFIX: Fix renaming of single-file torrents (by Vladimir Golovnev)
|
||||
- I18N: More dialog buttons are now translated (by Vladimir Golovnev)
|
||||
- I18N: Fix translation of size units (by Vladimir Golovnev)
|
||||
|
||||
* Sat Jan 15 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.3
|
||||
- BUGFIX: Fix possible crashes in full allocation mode
|
||||
- BUGFIX: Fix icon size issues (Linux, icon theme)
|
||||
- BUGFIX: Fixed file priority context menu
|
||||
- BUGFIX: Remove dbus dependency in nox mode
|
||||
- BUGFIX: Fix compilation on FreeBSD
|
||||
- I18N: Improve Web UI translation
|
||||
- I18N: Updated Polish translation
|
||||
|
||||
* Wed Jan 12 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.2
|
||||
- BUGFIX: Do not report PeX as being disabled when DHT is
|
||||
- BUGFIX: Fix possible crash on adding magnet links
|
||||
- BUGFIX: Fix torrent import (was not working)
|
||||
- I18N: Updated Greek, Croatian, Russian, Unkrainian and Bulgarian translations
|
||||
- I18N: Added Armenian translation (New)
|
||||
- I18N: Remove country flags from program preferences (language selection)
|
||||
- I18N: Translate locale names (language selection)
|
||||
|
||||
* Mon Jan 10 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.1
|
||||
- BUGFIX: Really disable torrent addition dialog by default
|
||||
- BUGFIX: Fix some missing icons in the Web UI
|
||||
- BUGFIX: Fix magnet torrent name update problem
|
||||
- COSMETIC: Use 24px size for toolbar icons and reduce spacing
|
||||
- COSMETIC: Move transfer list filter on the right side of the toolbar
|
||||
* Sun Mar 20 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.7.0
|
||||
- FEATURE: Added search field for torrent content
|
||||
- FEATURE: Added auto-shutdown confirmation dialog
|
||||
- FEATURE: Added option to skip torrent deletion confirmation (Ville Kiiskinen)
|
||||
- FEATURE: IP address reported to trackers is now customizable
|
||||
- FEATURE: Inhibit system sleep when torrents are active (Vladimir Golovnev)
|
||||
- FEATURE: Added option to bypass Web UI authentication for localhost
|
||||
- FEATURE: Added option to disable program exit confirmation
|
||||
- FEATURE: Added per-torrent ratio limiting (Christian Kandeler)
|
||||
- FEATURE: Torrent content list is now sortable
|
||||
- BUGFIX: Fix compilation with namespaced Qt (Christian Kandeler)
|
||||
- BUGFIX: Added length restriction on UI lock password
|
||||
- COSMETIC: Added monochrome tray icon
|
||||
- COSMETIC: Improved status bar's style
|
||||
- OTHER: Make QtDBus dependency optional (X11)
|
||||
|
||||
* Sun Jan 9 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.0
|
||||
- FEATURE: Use system icons (Linux, Qt >= 4.6)
|
||||
|
43
configure
vendored
43
configure
vendored
@@ -22,6 +22,7 @@ Dependency options:
|
||||
--disable-gui Disable qBittorrent
|
||||
Graphical user interface for
|
||||
headless running
|
||||
--disable-qt-dbus Disable use of qt-dbus
|
||||
--with-libboost-inc=[path] Path to libboost include
|
||||
files
|
||||
--with-libboost-lib=[path] Path to libboost library
|
||||
@@ -162,6 +163,11 @@ while [ $# -gt 0 ]; do
|
||||
shift
|
||||
;;
|
||||
|
||||
--disable-qt-dbus)
|
||||
QC_DISABLE_qt_dbus="Y"
|
||||
shift
|
||||
;;
|
||||
|
||||
--with-libboost-inc=*)
|
||||
QC_WITH_LIBBOOST_INC=$optarg
|
||||
shift
|
||||
@@ -215,6 +221,7 @@ echo DATADIR=$DATADIR
|
||||
echo EX_QTDIR=$EX_QTDIR
|
||||
echo QC_ENABLE_DEBUG=$QC_ENABLE_DEBUG
|
||||
echo QC_DISABLE_GUI=$QC_DISABLE_GUI
|
||||
echo QC_DISABLE_qt_dbus=$QC_DISABLE_qt_dbus
|
||||
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
|
||||
@@ -355,6 +362,38 @@ public:
|
||||
return(QT_VERSION >= 0x040500);
|
||||
}
|
||||
};
|
||||
#line 1 "qt-dbus.qcm"
|
||||
/*
|
||||
-----BEGIN QCMOD-----
|
||||
name: qt-dbus
|
||||
-----END QCMOD-----
|
||||
*/
|
||||
// see Conf::findPkgConfig
|
||||
class qc_qt_dbus : public ConfObj
|
||||
{
|
||||
public:
|
||||
qc_qt_dbus(Conf *c) : ConfObj(c) {}
|
||||
QString name() const { return "QtDBus >= 4.5"; }
|
||||
QString shortname() const { return "qt-dbus"; }
|
||||
QString checkString() const {
|
||||
if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
|
||||
return "";
|
||||
return ConfObj::checkString();
|
||||
}
|
||||
bool exec(){
|
||||
if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
|
||||
return false;
|
||||
QStringList incs;
|
||||
QString req_ver = "4.5.0";
|
||||
QString version, libs, other;
|
||||
VersionMode mode = VersionMin;
|
||||
if(conf->findPkgConfig("QtDBus", mode, req_ver, &version, &incs, &libs, &other)) {
|
||||
conf->addExtra("CONFIG += dbus");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
#line 1 "pkg-config.qcm"
|
||||
/*
|
||||
-----BEGIN QCMOD-----
|
||||
@@ -645,6 +684,9 @@ cat >$1/modules_new.cpp <<EOT
|
||||
o = new qc_qt4(conf);
|
||||
o->required = true;
|
||||
o->disabled = false;
|
||||
o = new qc_qt_dbus(conf);
|
||||
o->required = false;
|
||||
o->disabled = false;
|
||||
o = new qc_pkg_config(conf);
|
||||
o->required = true;
|
||||
o->disabled = false;
|
||||
@@ -1610,6 +1652,7 @@ export DATADIR
|
||||
export EX_QTDIR
|
||||
export QC_ENABLE_DEBUG
|
||||
export QC_DISABLE_GUI
|
||||
export QC_DISABLE_qt_dbus
|
||||
export QC_WITH_LIBBOOST_INC
|
||||
export QC_WITH_LIBBOOST_LIB
|
||||
export QC_DISABLE_libnotify
|
||||
|
@@ -6,6 +6,8 @@
|
||||
<dep type='qt4'>
|
||||
<required/>
|
||||
</dep>
|
||||
<dep type='qt-dbus'>
|
||||
</dep>
|
||||
<dep type='pkg-config'>
|
||||
<required/>
|
||||
</dep>
|
||||
|
31
qcm/qt-dbus.qcm
Normal file
31
qcm/qt-dbus.qcm
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
-----BEGIN QCMOD-----
|
||||
name: qt-dbus
|
||||
-----END QCMOD-----
|
||||
*/
|
||||
// see Conf::findPkgConfig
|
||||
class qc_qt_dbus : public ConfObj
|
||||
{
|
||||
public:
|
||||
qc_qt_dbus(Conf *c) : ConfObj(c) {}
|
||||
QString name() const { return "QtDBus >= 4.5"; }
|
||||
QString shortname() const { return "qt-dbus"; }
|
||||
QString checkString() const {
|
||||
if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
|
||||
return "";
|
||||
return ConfObj::checkString();
|
||||
}
|
||||
bool exec(){
|
||||
if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
|
||||
return false;
|
||||
QStringList incs;
|
||||
QString req_ver = "4.5.0";
|
||||
QString version, libs, other;
|
||||
VersionMode mode = VersionMin;
|
||||
if(conf->findPkgConfig("QtDBus", mode, req_ver, &version, &incs, &libs, &other)) {
|
||||
conf->addExtra("CONFIG += dbus");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
31
qcm/qt-svg.qcm
Normal file
31
qcm/qt-svg.qcm
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
-----BEGIN QCMOD-----
|
||||
name: qt-svg
|
||||
-----END QCMOD-----
|
||||
*/
|
||||
// see Conf::findPkgConfig
|
||||
class qc_qt_svg : public ConfObj
|
||||
{
|
||||
public:
|
||||
qc_qt_svg(Conf *c) : ConfObj(c) {}
|
||||
QString name() const { return "QtSvg >= 4.5"; }
|
||||
QString shortname() const { return "qt-svg"; }
|
||||
QString checkString() const {
|
||||
if(!conf->getenv("QC_DISABLE_qt_svg").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
|
||||
return "";
|
||||
return ConfObj::checkString();
|
||||
}
|
||||
bool exec(){
|
||||
if(!conf->getenv("QC_DISABLE_qt_svg").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
|
||||
return false;
|
||||
QStringList incs;
|
||||
QString req_ver = "4.5.0";
|
||||
QString version, libs, other;
|
||||
VersionMode mode = VersionMin;
|
||||
if(conf->findPkgConfig("QtSvg", mode, req_ver, &version, &incs, &libs, &other)) {
|
||||
conf->addExtra("CONFIG += svg");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
Binary file not shown.
Before Width: | Height: | Size: 722 B |
@@ -1,36 +1,39 @@
|
||||
[Desktop Entry]
|
||||
Categories=Qt;Network;P2P;
|
||||
Comment=V2.6.5
|
||||
Exec=qbittorrent %f
|
||||
GenericName=Bittorrent client
|
||||
GenericName[ar]=العميل Bittorrent
|
||||
Categories=Network;FileTransfer;P2P;Qt;
|
||||
Exec=qbittorrent %U
|
||||
GenericName=BitTorrent client
|
||||
GenericName[ar]=العميل BitTorrent
|
||||
GenericName[bg]=Торент клиент
|
||||
GenericName[cs]=Bittorrent klient
|
||||
GenericName[de]=Bittorren Client
|
||||
GenericName[el]=Bittorrent πελάτης
|
||||
GenericName[es]=Cliente Bittorrent
|
||||
GenericName[fi]=Bittorrent-ohjelma
|
||||
GenericName[fr]=Client Bittorrent
|
||||
GenericName[hr]=Bittorrent klijent
|
||||
GenericName[hu]=Bittorrent kliens
|
||||
GenericName[it]=Client Bittorrent
|
||||
GenericName[ja]=Bittorrent クライアント
|
||||
GenericName[cs]=BitTorrent klient
|
||||
GenericName[de]=BitTorren Client
|
||||
GenericName[el]=BitTorrent πελάτης
|
||||
GenericName[es]=Cliente BitTorrent
|
||||
GenericName[fi]=BitTorrent-ohjelma
|
||||
GenericName[fr]=Client BitTorrent
|
||||
GenericName[hr]=BitTorrent klijent
|
||||
GenericName[hu]=BitTorrent kliens
|
||||
GenericName[it]=Client BitTorrent
|
||||
GenericName[ja]=BitTorrent クライアント
|
||||
GenericName[ko]=비토렌트 클라이언트
|
||||
GenericName[nl]=Bittorrent-cliënt
|
||||
GenericName[pl]=Klient Bittorrent
|
||||
GenericName[pt]=Cliente Bittorrent
|
||||
GenericName[pt_BR]=Cliente Bittorrent
|
||||
GenericName[ro]=Client Bittorrent
|
||||
GenericName[ru]=клиент Bittorrent
|
||||
GenericName[sk]=Klient siete Bittorrent
|
||||
GenericName[sr]=Bittorrent-клијент
|
||||
GenericName[sv]=Bittorrent-klient
|
||||
GenericName[tr]=Bittorrent istemcisi
|
||||
GenericName[uk]=Bittorrent-клієнт
|
||||
GenericName[zh]=Bittorrent之用户
|
||||
GenericName[zh_TW]=Bittorrent客戶端
|
||||
GenericName[lt]=BitTorrent klientas
|
||||
GenericName[nl]=BitTorrent-cliënt
|
||||
GenericName[pl]=Klient BitTorrent
|
||||
GenericName[pt]=Cliente BitTorrent
|
||||
GenericName[pt_BR]=Cliente BitTorrent
|
||||
GenericName[ro]=Client BitTorrent
|
||||
GenericName[ru]=клиент BitTorrent
|
||||
GenericName[sk]=Klient siete BitTorrent
|
||||
GenericName[sr]=BitTorrent-клијент
|
||||
GenericName[sv]=BitTorrent-klient
|
||||
GenericName[tr]=BitTorrent istemcisi
|
||||
GenericName[uk]=BitTorrent-клієнт
|
||||
GenericName[zh]=BitTorrent之用户
|
||||
GenericName[zh_TW]=BitTorrent客戶端
|
||||
Comment=Download and share files over BitTorrent
|
||||
Comment[fr]=Télécharger et partager des fichiers avec BitTorrent
|
||||
Comment[pl]=Dzielenie się plikami przez BitTorrent
|
||||
Icon=qbittorrent
|
||||
MimeType=application/x-bittorrent;
|
||||
MimeType=application/x-bittorrent;x-scheme-handler/magnet;
|
||||
Name=qBittorrent
|
||||
Name[ko]=큐비토런트
|
||||
Terminal=false
|
||||
|
83
src/Icons/skin/qbittorrent_mono.svg
Normal file
83
src/Icons/skin/qbittorrent_mono.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 4.8 KiB |
BIN
src/Icons/skin/qbittorrent_mono_dark.png
Normal file
BIN
src/Icons/skin/qbittorrent_mono_dark.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
BIN
src/Icons/skin/ratio.png
Normal file
BIN
src/Icons/skin/ratio.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 483 B |
Binary file not shown.
Before Width: | Height: | Size: 787 B |
@@ -47,7 +47,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>2.6.5</string>
|
||||
<string>2.7.1</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
|
@@ -78,6 +78,7 @@ class about : public QDialog, private Ui::AboutDlg{
|
||||
<li><u>Italian:</u> Matteo Sechi (bu17714@gmail.com)</li>\
|
||||
<li><u>Japanese:</u> Nardog (alphisation@gmail.com)</li>\
|
||||
<li><u>Korean:</u> Jin Woo Sin (jin828sin@users.sourceforge.net)</li>\
|
||||
<li><u>Lithuanian:</u> Naglis Jonaitis (njonaitis@gmail.com)</li>\
|
||||
<li><u>Norwegian:</u> Tomaso</li>\
|
||||
<li><u>Polish:</u> Mariusz Fik (fisiu@opensuse.org)</li>\
|
||||
<li><u>Portuguese:</u> Nick Marinho (nickmarinho@gmail.com)</li>\
|
||||
|
@@ -44,14 +44,14 @@
|
||||
|
||||
/** Download Thread **/
|
||||
|
||||
downloadThread::downloadThread(QObject* parent) : QObject(parent) {
|
||||
DownloadThread::DownloadThread(QObject* parent) : QObject(parent) {
|
||||
connect(&m_networkManager, SIGNAL(finished (QNetworkReply*)), this, SLOT(processDlFinished(QNetworkReply*)));
|
||||
#ifndef QT_NO_OPENSSL
|
||||
connect(&m_networkManager, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), this, SLOT(ignoreSslErrors(QNetworkReply*,QList<QSslError>)));
|
||||
#endif
|
||||
}
|
||||
|
||||
void downloadThread::processDlFinished(QNetworkReply* reply) {
|
||||
void DownloadThread::processDlFinished(QNetworkReply* reply) {
|
||||
QString url = reply->url().toString();
|
||||
qDebug("Download finished: %s", qPrintable(url));
|
||||
// Check if the request was successful
|
||||
@@ -77,22 +77,28 @@ void downloadThread::processDlFinished(QNetworkReply* reply) {
|
||||
url = m_redirectMapping.take(url);
|
||||
}
|
||||
// Success
|
||||
QTemporaryFile tmpfile;
|
||||
tmpfile.setAutoRemove(false);
|
||||
if (tmpfile.open()) {
|
||||
QString filePath = tmpfile.fileName();
|
||||
QTemporaryFile *tmpfile = new QTemporaryFile;
|
||||
tmpfile->setAutoRemove(false);
|
||||
if (tmpfile->open()) {
|
||||
QString filePath = tmpfile->fileName();
|
||||
qDebug("Temporary filename is: %s", qPrintable(filePath));
|
||||
if(reply->isOpen() || reply->open(QIODevice::ReadOnly)) {
|
||||
// TODO: Support GZIP compression
|
||||
tmpfile.write(reply->readAll());
|
||||
tmpfile.close();
|
||||
tmpfile->write(reply->readAll());
|
||||
tmpfile->close();
|
||||
// XXX: For some reason, tmpfile has to be destroyed before
|
||||
// the signal is sent or the file stays locked on Windows
|
||||
// for some reason.
|
||||
delete tmpfile;
|
||||
// Send finished signal
|
||||
emit downloadFinished(url, filePath);
|
||||
} else {
|
||||
delete tmpfile;
|
||||
// Error when reading the request
|
||||
emit downloadFailure(url, tr("I/O Error"));
|
||||
}
|
||||
} else {
|
||||
delete tmpfile;
|
||||
emit downloadFailure(url, tr("I/O Error"));
|
||||
}
|
||||
// Clean up
|
||||
@@ -100,7 +106,7 @@ void downloadThread::processDlFinished(QNetworkReply* reply) {
|
||||
}
|
||||
|
||||
#ifndef DISABLE_GUI
|
||||
void downloadThread::loadCookies(const QString &host_name, QString url) {
|
||||
void DownloadThread::loadCookies(const QString &host_name, QString url) {
|
||||
const QList<QByteArray> raw_cookies = RssSettings().getHostNameCookies(host_name);
|
||||
QNetworkCookieJar *cookie_jar = m_networkManager.cookieJar();
|
||||
QList<QNetworkCookie> cookies;
|
||||
@@ -117,13 +123,13 @@ void downloadThread::loadCookies(const QString &host_name, QString url) {
|
||||
}
|
||||
#endif
|
||||
|
||||
void downloadThread::downloadTorrentUrl(const QString &url) {
|
||||
void DownloadThread::downloadTorrentUrl(const QString &url) {
|
||||
// Process request
|
||||
QNetworkReply *reply = downloadUrl(url);
|
||||
connect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(checkDownloadSize(qint64,qint64)));
|
||||
}
|
||||
|
||||
QNetworkReply* downloadThread::downloadUrl(const QString &url){
|
||||
QNetworkReply* DownloadThread::downloadUrl(const QString &url){
|
||||
// Update proxy settings
|
||||
applyProxySettings();
|
||||
#ifndef DISABLE_GUI
|
||||
@@ -134,7 +140,7 @@ QNetworkReply* downloadThread::downloadUrl(const QString &url){
|
||||
#endif
|
||||
// Process download request
|
||||
qDebug("url is %s", qPrintable(url));
|
||||
const QUrl qurl = QUrl::fromEncoded(url.toLocal8Bit());
|
||||
const QUrl qurl = QUrl::fromEncoded(url.toUtf8());
|
||||
QNetworkRequest request(qurl);
|
||||
// Spoof Firefox 3.5 user agent to avoid
|
||||
// Web server banning
|
||||
@@ -148,7 +154,7 @@ QNetworkReply* downloadThread::downloadUrl(const QString &url){
|
||||
return m_networkManager.get(request);
|
||||
}
|
||||
|
||||
void downloadThread::checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal) {
|
||||
void DownloadThread::checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal) {
|
||||
QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
|
||||
if(!reply) return;
|
||||
if(bytesTotal > 0) {
|
||||
@@ -169,7 +175,7 @@ void downloadThread::checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal)
|
||||
}
|
||||
}
|
||||
|
||||
void downloadThread::applyProxySettings() {
|
||||
void DownloadThread::applyProxySettings() {
|
||||
QNetworkProxy proxy;
|
||||
const Preferences pref;
|
||||
if(pref.isProxyEnabled()) {
|
||||
@@ -197,7 +203,7 @@ void downloadThread::applyProxySettings() {
|
||||
m_networkManager.setProxy(proxy);
|
||||
}
|
||||
|
||||
QString downloadThread::errorCodeToString(QNetworkReply::NetworkError status) {
|
||||
QString DownloadThread::errorCodeToString(QNetworkReply::NetworkError status) {
|
||||
switch(status){
|
||||
case QNetworkReply::HostNotFoundError:
|
||||
return tr("The remote host name was not found (invalid hostname)");
|
||||
@@ -247,7 +253,7 @@ QString downloadThread::errorCodeToString(QNetworkReply::NetworkError status) {
|
||||
}
|
||||
|
||||
#ifndef QT_NO_OPENSSL
|
||||
void downloadThread::ignoreSslErrors(QNetworkReply* reply, const QList<QSslError> &errors) {
|
||||
void DownloadThread::ignoreSslErrors(QNetworkReply* reply, const QList<QSslError> &errors) {
|
||||
Q_UNUSED(errors)
|
||||
// Ignore all SSL errors
|
||||
reply->ignoreSslErrors();
|
||||
|
@@ -36,13 +36,15 @@
|
||||
#include <QHash>
|
||||
#include <QSslError>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QNetworkAccessManager;
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class downloadThread : public QObject {
|
||||
class DownloadThread : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
downloadThread(QObject* parent = 0);
|
||||
DownloadThread(QObject* parent = 0);
|
||||
QNetworkReply* downloadUrl(const QString &url);
|
||||
void downloadTorrentUrl(const QString &url);
|
||||
//void setProxy(QString IP, int port, QString username, QString password);
|
||||
|
@@ -3,9 +3,11 @@
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui {
|
||||
class ExecutionLog;
|
||||
}
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class ExecutionLog : public QWidget
|
||||
{
|
||||
|
@@ -73,6 +73,10 @@ void IconProvider::useSystemIconTheme(bool enable)
|
||||
m_useSystemTheme = enable;
|
||||
}
|
||||
|
||||
// Makes sure the icon is at least available in 16px and 24px size
|
||||
// It scales the icon from the theme if necessary
|
||||
// Otherwise, the UI looks broken if the icon is not available
|
||||
// in the correct size.
|
||||
QIcon IconProvider::generateDifferentSizes(const QIcon &icon)
|
||||
{
|
||||
QIcon new_icon;
|
||||
|
@@ -3,9 +3,7 @@
|
||||
<file>Icons/url.png</file>
|
||||
<file>Icons/loading.png</file>
|
||||
<file>Icons/3-state-checkbox.gif</file>
|
||||
<file>Icons/uparrow.png</file>
|
||||
<file>Icons/sphere.png</file>
|
||||
<file>Icons/downarrow.png</file>
|
||||
<file>Icons/slow_off.png</file>
|
||||
<file>Icons/sphere2.png</file>
|
||||
<file>Icons/magnet.png</file>
|
||||
@@ -23,6 +21,7 @@
|
||||
<file>Icons/skin/slider-area.gif</file>
|
||||
<file>Icons/skin/stalledDL.png</file>
|
||||
<file>Icons/skin/error.png</file>
|
||||
<file>Icons/skin/qbittorrent_mono_dark.png</file>
|
||||
<file>Icons/skin/handle-icon-horizontal.gif</file>
|
||||
<file>Icons/skin/qbittorrent32.png</file>
|
||||
<file>Icons/skin/knob.gif</file>
|
||||
@@ -40,6 +39,7 @@
|
||||
<file>Icons/skin/filteractive.png</file>
|
||||
<file>Icons/skin/bg-handle-horizontal.gif</file>
|
||||
<file>Icons/skin/download.png</file>
|
||||
<file>Icons/skin/ratio.png</file>
|
||||
<file>Icons/flags/sm.png</file>
|
||||
<file>Icons/flags/lt.png</file>
|
||||
<file>Icons/flags/th.png</file>
|
||||
|
@@ -15,6 +15,7 @@
|
||||
<file>lang/qbittorrent_fr.qm</file>
|
||||
<file>lang/qbittorrent_uk.qm</file>
|
||||
<file>lang/qbittorrent_zh.qm</file>
|
||||
<file>lang/qbittorrent_lt.qm</file>
|
||||
<file>lang/qbittorrent_ko.qm</file>
|
||||
<file>lang/qbittorrent_nb.qm</file>
|
||||
<file>lang/qbittorrent_sv.qm</file>
|
||||
@@ -24,6 +25,7 @@
|
||||
<file>lang/qbittorrent_pt_BR.qm</file>
|
||||
<file>lang/qbittorrent_da.qm</file>
|
||||
<file>lang/qbittorrent_cs.qm</file>
|
||||
<file>lang/qbittorrent_hy.qm</file>
|
||||
<file>lang/qbittorrent_pl.qm</file>
|
||||
<file>lang/qbittorrent_bg.qm</file>
|
||||
<file>lang/qbittorrent_ar.qm</file>
|
||||
@@ -31,6 +33,5 @@
|
||||
<file>lang/qbittorrent_en.qm</file>
|
||||
<file>lang/qbittorrent_hr.qm</file>
|
||||
<file>lang/qbittorrent_ro.qm</file>
|
||||
<file>lang/qbittorrent_hy.qm</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
</RCC>
|
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
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user