1
mirror of https://github.com/qbittorrent/qBittorrent synced 2025-10-07 09:52:18 +02:00

Compare commits

...

127 Commits

Author SHA1 Message Date
Christophe Dumez
cfcc29e25a Tagged v2.6.9 release 2011-03-13 17:58:15 +00:00
Christophe Dumez
09e2dd15e2 Bump to v2.6.9 2011-03-13 17:55:23 +00:00
Christophe Dumez
49fd36aa2c BUGFIX: Fix column hiding/showing in transfer list 2011-03-13 17:53:51 +00:00
Christophe Dumez
f9064d8b00 Improve lists columns state saving 2011-03-13 10:12:55 +00:00
Christophe Dumez
01df76915c Do not report torrent being checked as queued 2011-03-13 09:42:52 +00:00
Christophe Dumez
52f6b008f4 Bump to v2.6.8 2011-03-13 09:32:15 +00:00
Christophe Dumez
abeed2c6f0 Make sure the .unwanted folder is removed on torrent soft deletion 2011-03-13 09:30:35 +00:00
Christophe Dumez
01fcf82b0c BUGFIX: Improve folder removal behavior 2011-03-10 19:08:33 +00:00
Christophe Dumez
92c70bc878 Fix root folder being cut off if the torrent comes from a scanned folder (Christian Kandeler) 2011-03-10 17:49:12 +00:00
Christophe Dumez
1c313c7c06 Fix magnet link association (Fisiu) 2011-03-09 20:13:01 +00:00
Christophe Dumez
ed4ca7b769 Slight window position fix 2011-03-07 17:45:58 +00:00
Christophe Dumez
795a3a01c2 Should fix writing on NTFS when using Linux 2011-03-03 19:11:35 +00:00
Christophe Dumez
f31f067bbf Update changelog 2011-03-03 18:21:28 +00:00
Christophe Dumez
10905eb04b Fix compilation with libtorrent v0.14 2011-03-03 18:21:00 +00:00
Christophe Dumez
8637996a99 Added Magnet mime type to desktop file 2011-02-27 17:49:45 +00:00
Christophe Dumez
39867f4681 Bump to v2.6.7 2011-02-26 15:21:22 +00:00
Christophe Dumez
30659a353d Share ratio can now go over 100 2011-02-24 17:37:55 +00:00
Christophe Dumez
d4b5f68295 Fix crash when adding an ampty tracker URL 2011-02-24 17:29:47 +00:00
Christophe Dumez
01725b1b55 Fix cursor problem in torrent addition dialog 2011-02-24 17:17:30 +00:00
Christophe Dumez
64654705ca BUGFIX: Fix torrent upload from Web UI (Windows) 2011-02-22 18:37:25 +00:00
Christophe Dumez
049b08999a Disable OS disk cache for aligned files to reduce memory consumption 2011-02-22 18:04:24 +00:00
Christophe Dumez
0150a05c68 Updated Norwegian translation 2011-02-13 08:34:15 +00:00
Christophe Dumez
8df71e6c44 Fix append label to save path on Windows 2011-02-12 09:52:43 +00:00
Christophe Dumez
cc53b5bb15 Another encoding fix 2011-02-10 19:01:06 +00:00
Christophe Dumez
e66a956596 Revert wrong encoding changes 2011-02-10 18:51:34 +00:00
Christophe Dumez
799a6f0d85 Bump to v2.6.6 2011-02-08 18:03:37 +00:00
Christophe Dumez
5d4a660631 Fix downloads from URLs on Windows
Fix possible path encoding problems on Windows
2011-02-07 20:21:52 +00:00
Christophe Dumez
a721fd389b Completed Lithuanian integration 2011-02-07 18:58:38 +00:00
Christophe Dumez
5923be57b4 Fix typo in language file 2011-02-07 17:51:22 +00:00
Christophe Dumez
1a9bd1b171 Added Lithuanian translation 2011-02-07 17:34:35 +00:00
Christophe Dumez
4322d38b87 BUGFIX: Fix articles read state reset problem in RSS 2011-02-07 17:19:16 +00:00
Christophe Dumez
f16a7e0088 BUGFIX: Use slashes instead of antislashes in URLs (Windows) 2011-02-07 17:11:38 +00:00
Christophe Dumez
9a24243359 Updated French translation 2011-02-06 08:46:26 +00:00
Christophe Dumez
b5e2058b44 Updated language files 2011-02-06 08:44:39 +00:00
Christophe Dumez
ddc803a250 FEATURE: IP address reported to trackers is now customizable 2011-02-06 08:42:50 +00:00
Christophe Dumez
1fd63f0665 Fix properties buttons text color 2011-02-05 21:51:37 +00:00
Christophe Dumez
2b1399303e Fix layout problems 2011-02-05 21:28:47 +00:00
Christophe Dumez
82e7a2d724 COSMETIC: Display pieces being downloaded in green instead of yellow
COSMETIC: Improve piece availability bar appearance
2011-02-05 19:19:21 +00:00
Christophe Dumez
0dc8773595 Main window cosmetic changes 2011-02-05 19:07:54 +00:00
Christophe Dumez
1d358dc9a7 Fix wrong reference use 2011-02-05 15:14:39 +00:00
Christophe Dumez
1fc0310803 Bump to v2.6.5 2011-02-03 16:49:08 +00:00
Christophe Dumez
3b35050736 Fixes to Norwegian translation 2011-02-03 15:57:03 +00:00
Christophe Dumez
adfdb78821 Updated AUTHOR file 2011-01-29 15:08:15 +00:00
Christophe Dumez
c3e79b843b Fix typo in Norwegian translation 2011-01-29 14:48:50 +00:00
Christophe Dumez
ee83c5490e RSS code clean up 2011-01-29 14:19:51 +00:00
Christophe Dumez
9ccf603c0b RSS code clean up 2011-01-29 14:11:35 +00:00
Christophe Dumez
ae8d92f7d0 RSS code clean up 2011-01-29 13:46:48 +00:00
Christophe Dumez
095c8654e8 RSS code clean up 2011-01-29 13:04:33 +00:00
Christophe Dumez
fae47c8494 Fix compilation error in release mode 2011-01-29 11:57:29 +00:00
Christophe Dumez
65efd657a0 Updated Changelog 2011-01-28 19:10:58 +00:00
Christophe Dumez
552bc3c689 Revert class renaming to avoid breaking translations 2011-01-28 19:00:42 +00:00
Christophe Dumez
8d563f9eb6 Updated Norwegian translation 2011-01-28 18:14:58 +00:00
Christophe Dumez
54cd79201f Fix encoding problem in torrent moving code 2011-01-28 17:08:56 +00:00
Christophe Dumez
9c633b0975 More RSS code clean up 2011-01-27 19:29:10 +00:00
Christophe Dumez
67db694494 More RSS code clean up 2011-01-27 18:05:05 +00:00
Christophe Dumez
a42d4afeb7 Use native file dialogs 2011-01-27 17:33:19 +00:00
Christophe Dumez
a8a42fb8f3 Further RSS code rewrite 2011-01-27 17:31:55 +00:00
Christophe Dumez
2b9692ddde Fix compilation on Windows 2011-01-26 07:39:30 +00:00
Christophe Dumez
4b3c04439e Rss code optimization 2011-01-25 18:54:27 +00:00
Christophe Dumez
f0a2efd481 Code clean up 2011-01-25 17:27:54 +00:00
Christophe Dumez
2a44ec9b91 Performance improvement on ARM 2011-01-25 17:07:15 +00:00
Christophe Dumez
895d5151e1 Do not display 100% unless the torrent is complete 2011-01-25 16:56:57 +00:00
Christophe Dumez
233d6bbb8d Code clean up 2011-01-24 19:07:58 +00:00
Christophe Dumez
66ee39df9a Code clean up 2011-01-24 18:11:25 +00:00
Christophe Dumez
35e36036be Fix memory leak in HTTP torrent downloader
Code clean up
2011-01-24 17:29:09 +00:00
Christophe Dumez
1b0de21b52 Make sure the progress is not 100% unless the file is complete 2011-01-24 16:50:23 +00:00
Christophe Dumez
536f275ca3 Stop using load_file from libtorrent 2011-01-23 19:34:28 +00:00
Christophe Dumez
3238336e6e Updated Changelog 2011-01-23 08:50:09 +00:00
Christophe Dumez
bd8c03ecd8 BUGFIX: Fix renaming of single-file torrents (by Vladimir Golovnev) 2011-01-23 08:34:54 +00:00
Christophe Dumez
32ed944ac8 Make sure the main window is initially centered 2011-01-22 19:53:02 +00:00
Christophe Dumez
72fbf11f70 Make sure the properties panel is initially hidden 2011-01-22 19:41:39 +00:00
Christophe Dumez
0dc4b27cb6 Display legal notice on screen center 2011-01-22 19:32:44 +00:00
Christophe Dumez
a5aa1a5cab Code clean up 2011-01-22 19:20:22 +00:00
Christophe Dumez
2dbf418f5a Updated release date 2011-01-22 19:10:14 +00:00
Christophe Dumez
04f6d96575 Bump to v2.6.4 2011-01-22 19:04:32 +00:00
Christophe Dumez
25eb43d3bb Dropped dependency on libboost-thread 2011-01-22 19:03:23 +00:00
Christophe Dumez
cc785c4eea Improved host resolution code 2011-01-22 19:00:53 +00:00
Christophe Dumez
a589cb7fdc Fix possible status list height problem 2011-01-21 20:17:30 +00:00
Christophe Dumez
4704b50379 fix compilation with Qt < 4.7 2011-01-20 21:00:26 +00:00
Christophe Dumez
f43de35c33 Updated Changelog 2011-01-20 17:15:09 +00:00
Christophe Dumez
ec61870c9e I18N: Fix translation of size units (by Владимир Головнёв) 2011-01-20 17:12:07 +00:00
Christophe Dumez
746ffaf420 More UI buttons are now translated 2011-01-20 16:17:41 +00:00
Christophe Dumez
c60545977c Fix compilation on OS/2 2011-01-18 16:56:56 +00:00
Christophe Dumez
10020ed520 BUGFIX: Avoid main window flashing on startup (closes #703984) 2011-01-17 17:31:59 +00:00
Christophe Dumez
0aae5f947d Fixes to Polish translation 2011-01-16 09:53:36 +00:00
Christophe Dumez
11b5965b31 Fix RSS labeling 2011-01-15 18:27:32 +00:00
Christophe Dumez
35b2377e68 - BUGFIX: Added unicode support to email notification
- BUGFIX: Improved compatibility with various SMTP servers
2011-01-15 16:55:31 +00:00
Christophe Dumez
b0ab072aba Fix to Russian translation 2011-01-15 14:19:31 +00:00
Christophe Dumez
4552df5ec2 Bump to v2.6.3 2011-01-15 10:36:31 +00:00
Christophe Dumez
c19db4fa04 Fix FreeBSD compilation 2011-01-15 09:33:37 +00:00
Christophe Dumez
74e2339bc8 Get rid of DBus dependency in nox mode 2011-01-15 08:51:30 +00:00
Christophe Dumez
991c308423 Fix file priority context menu 2011-01-14 21:20:16 +00:00
Christophe Dumez
1867643288 Fixed Web UI translation 2011-01-14 19:14:02 +00:00
Christophe Dumez
50023bd968 Fixed icon size issues 2011-01-14 17:31:38 +00:00
Christophe Dumez
30c5bf3fd6 Updated Polish translation 2011-01-14 16:51:36 +00:00
Christophe Dumez
4e2d9564d1 Updated Armenian translation 2011-01-14 16:49:01 +00:00
Christophe Dumez
600186a6e9 Updated Armenian translation 2011-01-14 15:14:38 +00:00
Christophe Dumez
ca0e605276 Code clean up 2011-01-13 20:59:14 +00:00
Christophe Dumez
201aaae897 Fix possible crashes in full allocation mode 2011-01-13 20:44:42 +00:00
Christophe Dumez
629dc15bef Remove obsolete translatable strings 2011-01-12 17:51:50 +00:00
Christophe Dumez
35541e14aa Bump to v2.6.2 2011-01-12 17:48:35 +00:00
Christophe Dumez
cdede2d3db Translate locale names 2011-01-12 17:45:24 +00:00
Christophe Dumez
1f2e34b828 Fix torrent import 2011-01-12 17:13:44 +00:00
Christophe Dumez
d5aaf975dd Fix possible crash on adding a magnet link 2011-01-12 16:55:10 +00:00
Christophe Dumez
4ac59dbaba Updated Russian translation 2011-01-12 16:47:06 +00:00
Christophe Dumez
67802b16ab Updated Croatian translation 2011-01-12 15:50:35 +00:00
Christophe Dumez
41883c99c5 Updated Armenian settings 2011-01-12 15:46:33 +00:00
Christophe Dumez
d663c7bd3a Remove country flags from program preferences 2011-01-11 21:12:18 +00:00
Christophe Dumez
a6d1090515 Updated Ukrainian translation 2011-01-11 21:07:36 +00:00
Christophe Dumez
7844ce287d Fix typo 2011-01-11 21:01:39 +00:00
Christophe Dumez
c6ce0d35b2 Code clea nup 2011-01-11 19:42:54 +00:00
Christophe Dumez
eec56074fc Code clean up 2011-01-11 19:07:13 +00:00
Christophe Dumez
7c180dc57a Code clean up 2011-01-11 18:54:46 +00:00
Christophe Dumez
043b9f2981 Added Python 2.7 support (Windows) 2011-01-11 17:34:35 +00:00
Christophe Dumez
229559ef67 Added Armenian translation 2011-01-11 17:15:32 +00:00
Christophe Dumez
5e4b815d0f Updated Greek and Bulgarian translations 2011-01-11 17:05:48 +00:00
Christophe Dumez
c98ab55e11 BUGFIX: Do not report PeX as being disabled when DHT is 2011-01-10 21:13:40 +00:00
Christophe Dumez
632c2c5e4a Fix typo 2011-01-10 21:01:16 +00:00
Christophe Dumez
bbd9764f9c Reduced top toolbar spacing 2011-01-10 17:55:27 +00:00
Christophe Dumez
7437bd4265 Bump to v2.6.1 2011-01-10 17:39:47 +00:00
Christophe Dumez
1299e75934 BUGFIX: Fix magnet torrent name update problem 2011-01-10 17:36:17 +00:00
Christophe Dumez
514f82a3c9 Move transfer list filter on the right side of the toolbar 2011-01-10 17:12:55 +00:00
Christophe Dumez
51a69dc36a Also fix toolbar icon size in Web UI 2011-01-10 16:57:57 +00:00
Christophe Dumez
737fee79ed COSMETIC: Use 24px size for toolbar icons 2011-01-10 15:54:20 +00:00
Christophe Dumez
e5e4bb1111 BUGFIX: Fix some missing icons in the Web UI 2011-01-09 19:41:11 +00:00
Christophe Dumez
75111cdd8a BUGFIX: Really disable torrent addition dialog by default 2011-01-09 14:02:28 +00:00
Christophe Dumez
f5f915eb5d Branched v2.6.x series 2011-01-09 11:08:51 +00:00
168 changed files with 24518 additions and 40242 deletions

View File

@@ -2,6 +2,7 @@ Author:
* Christophe Dumez <chris@qbittorrent.org>
Contributors:
* Vladimir Golovnev <glassez@yandex.ru>
* Stefanos Antaris <santaris@csd.auth.gr>
* Mohammad Dib <mdib@qbittorrent.org>
* Mirco Chinelli <infinity89@fastwebmail.it>
@@ -68,6 +69,7 @@ Translations authors:
* files: src/lang/*.ts
copyright:
- Arabic: SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com)
- Armenian: Hrant Ohanyan (hrantohanyan@mail.am)
- Brazilian: Nick Marinho (nickmarinho@gmail.com)
- Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)
- Catalan: Francisco Luque Contreras (frannoe@ya.com)
@@ -87,7 +89,8 @@ Translations authors:
- Italian: Matteo Sechi (bu17714@gmail.com)
- Japanese: Nardog (alphisation@gmail.com)
- Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
- Norwegian: Lars-Erik Labori (hamil@users.sourceforge.net)
- Lithuanian: Naglis Jonaitis (njonaitis@gmail.com)
- Norwegian: Tomaso
- Polish: Mariusz Fik (fisiu@opensuse.org)
- Portuguese: Nick Marinho (nickmarinho@gmail.com)
- Romanian: Obada Denis (obadadenis@users.sourceforge.net)

View File

@@ -1,3 +1,84 @@
* Sun Mar 13 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.9
- BUGFIX: Fix column hiding/showing in transfer list
* Sun Mar 13 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.8
- BUGFIX: Fix compilation with libtorrent v0.14.x
- BUGFIX: Fix issues when writing on NTFS (Linux, Mac)
- BUGFIX: Fix root folder being cut off if the torrent comes from a scanned folder (Christian Kandeler)
- BUGFIX: Improve folder removal behavior
- BUGFIX: Make sure the .unwanted folder is deleted on soft torrent removal
- BUGFIX: Indicate support for Magnet links in desktop file (Fisiu)
- BUGFIX: Do not report torrent being checked as queued
- BUGFIX: Improve lists columns state saving
* Sat Feb 26 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.7
- BUGFIX: Encoding fixes (Windows)
- BUGFIX: Fix "append label to save path" (Windows)
- BUGFIX: Disable OS cache for aligned files to reduce memory consumption
- BUGFIX: Fix torrent upload from Web UI (Windows)
- BUGFIX: Fix cursor problem in torrent addition dialog
- BUGFIX: Fix crash when additing an empty tracker URL
- BUGFIX: Share ratio can now go over 100
- BUGFIX: Fix compilation with boost >= v1.46
* Tue Feb 8 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.6
- FEATURE: IP address reported to trackers is now customizable
- BUGFIX: Use slashes instead of antislashes in URLs (Windows)
- BUGFIX: Fix articles read state reset problem in RSS
- BUGFIX: Fix possible path encoding issues on Windows
- BUGFIX: Fix downloads from URLs on Windows
- I18N: Added Lithuanian translation
- COSMETIC: Improve main window layout
- COSMETIC: Improve properties buttons style
- COSMETIC: Display pieces being downloaded in green instead of yellow
- COSMETIC: Improve piece availability bar appearance
* 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)
* 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 Jan 9 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.0
- FEATURE: Use system icons (Linux, Qt >= 4.6)
- FEATURE: Improved ETA calculation

View File

@@ -18,9 +18,9 @@ qBittorrent - A BitTorrent client in C++ / Qt4
-> http://www.libtorrent.net
Be careful: another library (the one used by rTorrent) uses a similar name.
- libboost 1.34.x (libboost-filesystem, libboost-thread, libboost-date-time) + libasio
- libboost 1.34.x (libboost-filesystem, libboost-date-time) + libasio
or
- libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-thread, libboost-date-time)
- libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-date-time)
- python >= 2.3 (needed by search engine)
* Run time only dependency

14
configure vendored
View File

@@ -346,6 +346,12 @@ public:
if(!conf->getenv("QC_ENABLE_DEBUG").isEmpty()) {
conf->addExtra("CONFIG += debug");
}
#ifdef Q_OS_FREEBSD
conf->addLib("-lexecinfo");
conf->addExtra("MANPREFIX = \$\$PREFIX");
#else
conf->addExtra("MANPREFIX = \$\$PREFIX/share");
#endif
return(QT_VERSION >= 0x040500);
}
};
@@ -445,9 +451,6 @@ public:
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
return false;
}
if(!conf->checkHeader(s, "boost/thread.hpp")) {
return false;
}
}else{
QStringList sl;
sl << "/usr/include";
@@ -468,9 +471,6 @@ public:
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
return false;
}
if(!conf->checkHeader(s, "boost/thread.hpp")) {
return false;
}
}
conf->addIncludePath(s);
// Find library
@@ -481,7 +481,7 @@ public:
#endif
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
// Not required by nox
required_libs << "filesystem" << "thread";
required_libs << "filesystem" ;
}
QStringList libDirs;
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";

View File

@@ -1,5 +1,3 @@
INCLUDEPATH += $$PWD
exists(conf.pri) {
# to the conf.pri goes all system dependent stuff
include(conf.pri)

View File

@@ -48,9 +48,6 @@ public:
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
return false;
}
if(!conf->checkHeader(s, "boost/thread.hpp")) {
return false;
}
}else{
QStringList sl;
sl << "/usr/include";
@@ -71,9 +68,6 @@ public:
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
return false;
}
if(!conf->checkHeader(s, "boost/thread.hpp")) {
return false;
}
}
conf->addIncludePath(s);
// Find library
@@ -84,7 +78,7 @@ public:
#endif
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
// Not required by nox
required_libs << "filesystem" << "thread";
required_libs << "filesystem" ;
}
QStringList libDirs;
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";

View File

@@ -21,6 +21,12 @@ public:
if(!conf->getenv("QC_ENABLE_DEBUG").isEmpty()) {
conf->addExtra("CONFIG += debug");
}
#ifdef Q_OS_FREEBSD
conf->addLib("-lexecinfo");
conf->addExtra("MANPREFIX = $$PREFIX");
#else
conf->addExtra("MANPREFIX = $$PREFIX/share");
#endif
return(QT_VERSION >= 0x040500);
}
};

View File

@@ -1,36 +1,37 @@
[Desktop Entry]
Categories=Qt;Network;P2P;
Comment=V2.6.0
Exec=qbittorrent %f
GenericName=Bittorrent client
GenericName[ar]=العميل Bittorrent
Comment=V2.6.9
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客戶端
Icon=qbittorrent
MimeType=application/x-bittorrent;
MimeType=application/x-bittorrent;x-scheme-handler/magnet;
Name=qBittorrent
Name[ko]=큐비토런트
Terminal=false

View File

@@ -47,7 +47,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleGetInfoString</key>
<string>2.6.0</string>
<string>2.6.9</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleExecutable</key>

View File

@@ -60,6 +60,7 @@ class about : public QDialog, private Ui::AboutDlg{
// Translation
QString trans_txt = "<p>"+tr("I would like to thank the following people who volunteered to translate qBittorrent:")+"</p>";
trans_txt += QString::fromUtf8("<ul><li><u>Arabic:</u> SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com)</li>\
<li><u>Armenian:</u> Hrant Ohanyan (hrantohanyan@mail.am)</li>\
<li><u>Brazilian:</u> Nick Marinho (nickmarinho@gmail.com)</li>\
<li><u>Bulgarian:</u> Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)</li>\
<li><u>Catalan:</u> Francisco Luque Contreras (frannoe@ya.com)</li>\
@@ -77,7 +78,8 @@ 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>Norwegian:</u> Lars-Erik Labori (hamil@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>\
<li><u>Romanian:</u> Obada Denis (obadadenis@users.sourceforge.net)</li>\

View File

@@ -38,7 +38,7 @@
#include "downloadthread.h"
#include "preferences.h"
#ifndef DISABLE_GUI
#include "rsssettings.h"
#include "rsssettings.h"
#endif
#include "qinisettings.h"
@@ -54,48 +54,52 @@ downloadThread::downloadThread(QObject* parent) : QObject(parent) {
void downloadThread::processDlFinished(QNetworkReply* reply) {
QString url = reply->url().toString();
qDebug("Download finished: %s", qPrintable(url));
// Check if the request was successful
if(reply->error() != QNetworkReply::NoError) {
// Failure
qDebug("Download failure (%s), reason: %s", qPrintable(url), qPrintable(errorCodeToString(reply->error())));
emit downloadFailure(url, errorCodeToString(reply->error()));
} else {
QVariant redirection = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
if(redirection.isValid()) {
// We should redirect
qDebug("Redirecting from %s to %s", qPrintable(url), qPrintable(redirection.toUrl().toString()));
m_redirectMapping.insert(redirection.toUrl().toString(), url);
downloadUrl(redirection.toUrl().toString());
return;
}
// Checking if it was redirecting, restoring initial URL
if(m_redirectMapping.contains(url)) {
url = m_redirectMapping.take(url);
}
// Success
QString filePath;
QTemporaryFile *tmpfile = new QTemporaryFile;
tmpfile->setAutoRemove(false);
if (tmpfile->open()) {
filePath = tmpfile->fileName();
qDebug("Temporary filename is: %s", qPrintable(filePath));
if(reply->open(QIODevice::ReadOnly)) {
// TODO: Support GZIP compression
tmpfile->write(reply->readAll());
reply->close();
tmpfile->close();
delete tmpfile;
// Send finished signal
emit downloadFinished(url, filePath);
} else {
// Error when reading the request
tmpfile->close();
delete tmpfile;
emit downloadFailure(url, tr("I/O Error"));
}
reply->deleteLater();
return;
}
// Check if the server ask us to redirect somewhere lese
const QVariant redirection = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
if(redirection.isValid()) {
// We should redirect
qDebug("Redirecting from %s to %s", qPrintable(url), qPrintable(redirection.toUrl().toString()));
m_redirectMapping.insert(redirection.toUrl().toString(), url);
downloadUrl(redirection.toUrl().toString());
reply->deleteLater();
return;
}
// Checking if it was redirected, restoring initial URL
if(m_redirectMapping.contains(url)) {
url = m_redirectMapping.take(url);
}
// Success
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();
// 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
reply->deleteLater();
@@ -119,30 +123,24 @@ void downloadThread::loadCookies(const QString &host_name, QString url) {
}
#endif
void downloadThread::downloadTorrentUrl(QString url) {
#ifndef DISABLE_GUI
// Load cookies
QString host_name = QUrl::fromEncoded(url.toLocal8Bit()).host();
if(!host_name.isEmpty())
loadCookies(host_name, url);
#endif
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(QString url){
QNetworkReply* downloadThread::downloadUrl(const QString &url){
// Update proxy settings
applyProxySettings();
#ifndef DISABLE_GUI
// Load cookies
QString host_name = QUrl::fromEncoded(url.toLocal8Bit()).host();
QString host_name = QUrl::fromEncoded(url.toUtf8()).host();
if(!host_name.isEmpty())
loadCookies(host_name, 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
@@ -157,20 +155,22 @@ QNetworkReply* downloadThread::downloadUrl(QString url){
}
void downloadThread::checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal) {
QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
if(!reply) return;
if(bytesTotal > 0) {
QNetworkReply *reply = static_cast<QNetworkReply*>(sender());
// Total number of bytes is available
if(bytesTotal > 1048576) {
// More than 1MB, this is probably not a torrent file, aborting...
reply->abort();
reply->deleteLater();
} else {
disconnect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(checkDownloadSize(qint64,qint64)));
}
} else {
if(bytesReceived > 1048576) {
// More than 1MB, this is probably not a torrent file, aborting...
QNetworkReply *reply = static_cast<QNetworkReply*>(sender());
reply->abort();
reply->deleteLater();
}
}
}
@@ -253,7 +253,7 @@ QString downloadThread::errorCodeToString(QNetworkReply::NetworkError status) {
}
#ifndef QT_NO_OPENSSL
void downloadThread::ignoreSslErrors(QNetworkReply* reply,QList<QSslError> errors) {
void downloadThread::ignoreSslErrors(QNetworkReply* reply, const QList<QSslError> &errors) {
Q_UNUSED(errors)
// Ignore all SSL errors
reply->ignoreSslErrors();

View File

@@ -43,19 +43,19 @@ class downloadThread : public QObject {
public:
downloadThread(QObject* parent = 0);
QNetworkReply* downloadUrl(QString url);
void downloadTorrentUrl(QString url);
QNetworkReply* downloadUrl(const QString &url);
void downloadTorrentUrl(const QString &url);
//void setProxy(QString IP, int port, QString username, QString password);
signals:
void downloadFinished(QString url, QString file_path);
void downloadFailure(QString url, QString reason);
void downloadFinished(const QString &url, const QString &file_path);
void downloadFailure(const QString &url, const QString &reason);
private slots:
void processDlFinished(QNetworkReply* reply);
void checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal);
#ifndef QT_NO_OPENSSL
void ignoreSslErrors(QNetworkReply*,QList<QSslError>);
void ignoreSslErrors(QNetworkReply*,const QList<QSslError>&);
#endif
private:

View File

@@ -12,7 +12,7 @@
#include <QSet>
#include <iostream>
#include <errno.h>
#ifdef Q_WS_MAC
#if defined(Q_WS_MAC) || defined(Q_OS_FREEBSD)
#include <sys/param.h>
#include <sys/mount.h>
#include <string.h>

View File

@@ -58,8 +58,11 @@ void IconProvider::drop()
QIcon IconProvider::getIcon(const QString &iconId)
{
#if defined(Q_WS_X11) && (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
if(m_useSystemTheme)
return QIcon::fromTheme(iconId, QIcon(":/Icons/oxygen/"+iconId+".png"));
if(m_useSystemTheme) {
QIcon icon = QIcon::fromTheme(iconId, QIcon(":/Icons/oxygen/"+iconId+".png"));
icon = generateDifferentSizes(icon);
return icon;
}
#endif
return QIcon(":/Icons/oxygen/"+iconId+".png");
}
@@ -69,6 +72,28 @@ void IconProvider::useSystemIconTheme(bool enable)
{
m_useSystemTheme = enable;
}
QIcon IconProvider::generateDifferentSizes(const QIcon &icon)
{
QIcon new_icon;
QList<QSize> required_sizes;
required_sizes << QSize(16, 16) << QSize(24, 24);
QList<QIcon::Mode> modes;
modes << QIcon::Normal << QIcon::Active << QIcon::Selected << QIcon::Disabled;
foreach(const QSize& size, required_sizes) {
foreach(QIcon::Mode mode, modes) {
QPixmap pixoff = icon.pixmap(size, mode, QIcon::Off);
if(pixoff.height() > size.height())
pixoff = pixoff.scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
new_icon.addPixmap(pixoff, mode, QIcon::Off);
QPixmap pixon = icon.pixmap(size, mode, QIcon::On);
if(pixon.height() > size.height())
pixon = pixoff.scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
new_icon.addPixmap(pixon, mode, QIcon::On);
}
}
return new_icon;
}
#endif
QString IconProvider::getIconPath(const QString &iconId)

View File

@@ -52,6 +52,9 @@ public:
public:
void useSystemIconTheme(bool enable);
private:
QIcon generateDifferentSizes(const QIcon& icon);
private:
bool m_useSystemTheme;
#endif

View 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>

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

File diff suppressed because it is too large Load Diff

Binary file not shown.

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