1
mirror of https://github.com/qbittorrent/qBittorrent synced 2025-10-23 22:32:16 +02:00

Compare commits

..

239 Commits

Author SHA1 Message Date
Christophe Dumez
b4cc61af5a Tag today's releases 2010-07-21 11:18:35 +00:00
Christophe Dumez
4a9d015df7 Fix possible crash on exit 2010-07-21 10:53:50 +00:00
Christophe Dumez
95b1fa9f1e BUGFIX: Added configure flag to avoid using the shipped qtsingleapplication 2010-07-20 21:17:44 +00:00
Christophe Dumez
0959826f14 Updated Changelog 2010-07-20 17:12:30 +00:00
Christophe Dumez
4c86b80b11 Fix possible crash on exit with Qt 4.6 2010-07-20 17:08:42 +00:00
Christophe Dumez
e5844b9e19 Did not mean to commit this 2010-07-20 16:53:22 +00:00
Christophe Dumez
e6a264c19c Now includes the gtk headers for libnotify 2010-07-20 16:52:29 +00:00
Christophe Dumez
8a5ac126db Forgot to remove outdated code 2010-07-20 15:57:06 +00:00
Christophe Dumez
85a37ed372 Safer registry usage on Win32 2010-07-16 14:08:39 +00:00
Christophe Dumez
ec694c7806 Fix torrent association detection on Win32 2010-07-15 13:31:30 +00:00
Christophe Dumez
eba3176ffe Fix font size in program options (closes #595953) 2010-06-27 16:40:35 +00:00
Christophe Dumez
02d672540e Fix possible crash when using alternative speed limits 2010-06-24 21:36:05 +00:00
Christophe Dumez
dd14f5ab39 Safer variable check 2010-06-24 19:30:56 +00:00
Christophe Dumez
a48b3aee3e Updated Changelog 2010-06-23 19:11:01 +00:00
Christophe Dumez
1f19c72344 Fix parsing of arguments including spaces 2010-06-23 19:09:45 +00:00
Christophe Dumez
8887fdedf8 Fix error in last commit 2010-06-23 12:48:29 +00:00
Christophe Dumez
6826392014 Use putenv on Windows too 2010-06-23 12:46:15 +00:00
Christophe Dumez
9a40d7037d Set release date 2010-06-23 07:56:51 +00:00
Christophe Dumez
db29364346 Remove old code 2010-06-22 21:32:26 +00:00
Christophe Dumez
57d5a739ed Bump to v2.2.10 2010-06-22 19:26:54 +00:00
Christophe Dumez
c66df12f8c Several OS/2 fixes by Silvan Scherrer 2010-06-22 19:23:28 +00:00
Christophe Dumez
6a8f568d74 Fix "add extension to incomplete files" feature 2010-06-22 18:42:37 +00:00
Christophe Dumez
56c20b1cc4 Fix tab icon in log viewer 2010-06-22 18:16:29 +00:00
Christophe Dumez
0de843911d Improved "delete torrents once they reach a given ratio"
Fix button order in exit confirmation dialog
2010-06-22 17:50:36 +00:00
Christophe Dumez
5a58ace305 Set "Add" button as default in torrent addition dialog 2010-06-22 12:00:18 +00:00
Christophe Dumez
b8f30381c9 BUGFIX: Free disk space calculation now works if destination folder does n
ot exist
2010-06-22 11:55:18 +00:00
Christophe Dumez
1197c544aa BUGFIX: Use busy cursor for search plugin updates 2010-06-22 09:59:11 +00:00
Christophe Dumez
4faaf2b642 COSMETIC: Display "Alternative speed limits" button as pressed when enabled 2010-06-21 22:41:38 +00:00
Christophe Dumez
b9f22ef490 Updated Changelog 2010-06-21 22:10:33 +00:00
Christophe Dumez
c3e9e85d21 Use checkable actions instead of check/uncheck icons to avoid issues on systems
disabling menu icons (e.g. Recent Gnome)
2010-06-21 22:09:41 +00:00
Christophe Dumez
1f99a3817f Update language files 2010-06-21 14:22:24 +00:00
Christophe Dumez
0daa61be6c Updated Changelog 2010-06-21 14:13:31 +00:00
Christophe Dumez
9216bb850a Improved ETA display (more user friendly) 2010-06-21 14:11:47 +00:00
Christophe Dumez
2706efdb3c Another moc bug workaround 2010-06-20 17:37:00 +00:00
Christophe Dumez
7a8089fa82 Improved torrent creator tool behavior during creation process 2010-06-17 17:53:55 +00:00
Christophe Dumez
8415449ecd Updated Changelog 2010-06-17 11:52:59 +00:00
Christophe Dumez
1603faf873 Fix web UI in qBittorrent nox 2010-06-17 11:49:13 +00:00
Christophe Dumez
54f1294ef5 Fix possible compilation issue with Qt 4.7git 2010-06-17 11:08:44 +00:00
Christophe Dumez
91068ac17b Fix another unicode issue in torrent creator 2010-06-17 08:51:18 +00:00
Christophe Dumez
4169ae176f Fix font issue in search engine (closes #594200) 2010-06-14 15:44:05 +00:00
Christophe Dumez
b2beabd8df Fix registry access on 64bits windows 2010-06-14 12:52:50 +00:00
Christophe Dumez
8ec109e079 Fix crash with empty state file 2010-06-14 09:14:20 +00:00
Christophe Dumez
0c8464e0c8 Fix crash on Startup with libtorrent v0.15 2010-06-14 08:53:38 +00:00
Christophe Dumez
042cbc73ec 2010-06-14 08:15:36 +00:00
Christophe Dumez
609eb5f518 Another compilation fix on Mac 2010-06-13 16:32:34 +00:00
Christophe Dumez
3500553b15 Fix compilation on Mac 2010-06-13 16:28:36 +00:00
Christophe Dumez
ca06f9be5c Updated czech translation 2010-06-13 11:43:53 +00:00
Christophe Dumez
287ecf165b Updated Changelog 2010-06-13 11:42:08 +00:00
Christophe Dumez
fdf71c3006 Updated German translation 2010-06-13 11:40:17 +00:00
Christophe Dumez
cc6179b26f Updated Changelog 2010-06-13 09:45:34 +00:00
Christophe Dumez
7765b763f0 Fix bundle identifier 2010-06-13 09:41:14 +00:00
Christophe Dumez
84abef1184 Bump to v2.2.9 2010-06-13 09:29:54 +00:00
Christophe Dumez
0755eccf4f Fix Info.plist file 2010-06-13 09:26:30 +00:00
Christophe Dumez
425150cd01 Fix mime type 2010-06-13 09:15:08 +00:00
Christophe Dumez
55d1076573 Several language files updates 2010-06-13 08:40:26 +00:00
Christophe Dumez
6e74eb45b2 Update Serbian and Croatian translations 2010-06-12 08:21:43 +00:00
Christophe Dumez
e258a1a2d2 Updated Changelog 2010-06-10 19:57:13 +00:00
Christophe Dumez
6070fac3f5 Fix window hiding issue (closes #589070) 2010-06-10 19:42:54 +00:00
Christophe Dumez
ac3a88d3e3 Added debug output 2010-06-10 12:52:41 +00:00
Christophe Dumez
e3360713de Fix typo 2010-06-10 09:04:52 +00:00
Christophe Dumez
6cb6d2724b Mac fixes 2010-06-09 22:19:19 +00:00
Christophe Dumez
ff8354b1f6 Fix typo in plist file 2010-06-09 15:52:56 +00:00
Christophe Dumez
1a2cb6aee7 Disable systray icon on Mac 2010-06-09 15:48:20 +00:00
Christophe Dumez
25998d69a7 Fix typo 2010-06-09 15:20:14 +00:00
Christophe Dumez
3e55e8dc6e Vavious Mac related changes by Mirco Chinelli 2010-06-09 15:18:52 +00:00
Christophe Dumez
b8b2f96d76 Comment useless pri import 2010-06-09 14:47:26 +00:00
Christophe Dumez
cc609badec Fix compilation on Windows 2010-06-09 14:40:42 +00:00
Christophe Dumez
a1aa507bdb Fix race condition allowing to run multiple instances at the same time (closes #286968) 2010-06-09 10:12:15 +00:00
Christophe Dumez
779b2baa74 Fix error in project file 2010-06-09 08:52:56 +00:00
Christophe Dumez
58e0d6b11e Updated changelog 2010-06-09 07:39:38 +00:00
Christophe Dumez
1827337f90 Unified toolbar and title on Mac 2010-06-09 07:38:25 +00:00
Christophe Dumez
08044bc47d Updated spanish and catalan translations 2010-06-09 07:31:37 +00:00
Christophe Dumez
272852f25b Delete qApp on exit on Win32 2010-06-09 06:43:17 +00:00
Christophe Dumez
6575866907 Forgot to commit those files 2010-06-08 22:33:53 +00:00
Christophe Dumez
816b61da76 Updated Arabic translation 2010-06-08 20:24:45 +00:00
Christophe Dumez
d0a6366b35 Updated Hungarian and Finnish translations 2010-06-08 18:29:37 +00:00
Christophe Dumez
d4753b2624 Fix encoding in peer list 2010-06-08 17:30:15 +00:00
Christophe Dumez
323fd791c5 Better Mac integration 2010-06-08 15:23:11 +00:00
Christophe Dumez
56e45a11a8 Updated swedish translation 2010-06-08 15:05:28 +00:00
Christophe Dumez
f04d912fb6 Updated Ukrainian translation 2010-06-08 14:47:57 +00:00
Christophe Dumez
2985f85f82 Updated Slovak translation 2010-06-08 11:40:52 +00:00
Christophe Dumez
49c0e9423e Updated language files 2010-06-08 10:05:32 +00:00
Christophe Dumez
15a4abff5b Update to Mootools v1.2.4 (Web UI)
Fix Web UI javascript error in Internet Explorer
Fix another encoding problem in Web UI
2010-06-07 13:34:12 +00:00
Christophe Dumez
bd51ffd7ca Fix msvc compilation warnings 2010-06-07 09:50:14 +00:00
Christophe Dumez
1288c7092b Use libtorrent version.hpp instead of our own DEFINE 2010-06-07 08:47:56 +00:00
Christophe Dumez
9650b268b2 BUGFIX: Fix Web UI authentication with Opera Browser 2010-06-06 20:51:43 +00:00
Christophe Dumez
30c4c62d2e Fix encoding problem in search engine 2010-06-06 15:39:58 +00:00
Christophe Dumez
8b6a5d985f Updated language files 2010-06-06 15:36:14 +00:00
Christophe Dumez
0bd1410b95 Fix file encoding problem 2010-06-06 15:33:23 +00:00
Christophe Dumez
f1451dafee Fix another unicode problem 2010-06-06 13:55:47 +00:00
Christophe Dumez
74f16c8e76 Fix several remaining unicode issues 2010-06-06 13:23:39 +00:00
Christophe Dumez
1b954f157f Fix variable name conflict 2010-06-06 10:10:14 +00:00
Christophe Dumez
e8931c5747 Fix compilation and execution with msvc 2010-06-06 09:55:02 +00:00
Christophe Dumez
31165675b8 Fixes to last commit 2010-06-05 19:17:49 +00:00
Christophe Dumez
4001ed304e Several msvc 9.0 related fixes 2010-06-05 13:33:25 +00:00
Christophe Dumez
e8b3016771 Fix some other unicode issues 2010-06-04 16:41:47 +00:00
Christophe Dumez
e3e9461901 Display paths with '\' separator on Win32 2010-06-03 20:56:54 +00:00
Christophe Dumez
45c068f0f7 Updated Changelog 2010-06-03 19:47:34 +00:00
Christophe Dumez
4b2d09a07b Fix a lot of String encoding issues on non-unicode systems
Renaming a folder causes the old folder to be removed
Fix some path separator issues on Win32
Fix file/folder opening in file browser on Win32
2010-06-03 19:41:32 +00:00
Christophe Dumez
2d57d9d32c Fix default save path on Windows 2010-06-02 22:33:20 +00:00
Christophe Dumez
4a01d01cba Fix issue with torrentdownloads.net Website 2010-06-02 22:31:44 +00:00
Christophe Dumez
98cc53e287 Improved column visibility patch 2010-06-02 13:52:03 +00:00
Christophe Dumez
5ad0bf1d34 Search requests can now be cancelled on Win32 2010-06-02 13:38:09 +00:00
Christophe Dumez
35a9d30143 Fix minimize to tray feature on Win32 2010-06-02 09:16:31 +00:00
Christophe Dumez
6bc0aebe0d Remember if the window was maximized on exit 2010-06-02 08:28:33 +00:00
Christophe Dumez
c099af380a Fix column null width when toggling column visibility (Win32) 2010-06-02 08:13:33 +00:00
Christophe Dumez
59651545ae Better Python detection using windows registry (Win32)
Propose to install python if missing (Win32)
2010-06-01 22:36:34 +00:00
Christophe Dumez
8469570f80 BUGFIX: Disable torrent addition dialog as a default 2010-06-01 16:32:50 +00:00
Christophe Dumez
d513b7d0d8 Changed Window title on Mac and Windows 2010-06-01 16:13:51 +00:00
Christophe Dumez
13e06b3444 Fix encoding in Web UI on non-unicode systems 2010-06-01 14:31:28 +00:00
Christophe Dumez
d6206d91eb Link dynamically against OpenSSL 2010-06-01 13:53:06 +00:00
Christophe Dumez
cae8a3173d Fix torrent availability computation (closes #587337) 2010-05-31 14:26:56 +00:00
Christophe Dumez
48e6b46967 Only check for file association once (Win32)
Magnet link association (Win32)
2010-05-31 12:25:58 +00:00
Christophe Dumez
9c1bc13d6f Updated language files 2010-05-30 21:50:59 +00:00
Christophe Dumez
c15a890952 Check for file association on startup and ask the user if he wants to (Win32 only)
Added an executable icon on Win32
2010-05-30 21:34:15 +00:00
Christophe Dumez
12b4ee72fa Updated language files 2010-05-30 18:36:11 +00:00
Christophe Dumez
e5290e61ca Updated Changelog 2010-05-30 17:54:04 +00:00
Christophe Dumez
08cbe38f96 Updated AUTHORS 2010-05-30 17:50:55 +00:00
Christophe Dumez
47e337dc5d Fix torrent download on win32 (all seems functional now). 2010-05-30 17:23:41 +00:00
Christophe Dumez
cfc4e7c8f6 Fix Geoip database embedding
Fix Geoip path issue on Win32
2010-05-30 15:19:40 +00:00
Christophe Dumez
4eb8be372e Detect Python interpreter on Windows (the search engine is now working!) 2010-05-30 14:46:47 +00:00
Christophe Dumez
11f79432b5 Windows execution fixes (it runs now!) 2010-05-30 11:36:56 +00:00
Christophe Dumez
ec15e8247d Windows compilation Fix 2010-05-28 20:39:41 +00:00
Christophe Dumez
6b4588ef6d Mac compilation Fix 2010-05-25 18:20:53 +00:00
Christophe Dumez
ef0a826180 Bump to v2.2.8 2010-05-24 19:40:22 +00:00
Christophe Dumez
d79f779c0a BUGFIX: Fix possible checkbox update in Web UI 2010-05-24 18:52:12 +00:00
Christophe Dumez
1dadc08625 BUGFIX: Fix torrent error state clearance on resuming 2010-05-24 14:09:15 +00:00
Christophe Dumez
5f49af5ade Torrent queue position now starts at 1 (closes #581130) 2010-05-21 12:02:22 +00:00
Christophe Dumez
1e67f0afa4 Fix sorting of ETA column when having infinite values (closes #583347) 2010-05-21 11:47:55 +00:00
Christophe Dumez
dd9cf6c3ab Make sure seeding torrents ETA stays 0 under all circumstances 2010-05-21 11:36:21 +00:00
Christophe Dumez
36483d795e ETA for finished torrent is now 0 instead of Infinite (closes #583704)
Fix unicode issue in start seeding after torrent creation code
2010-05-21 11:28:36 +00:00
Christophe Dumez
303c209839 Fix torrent properties layout 2010-05-18 07:24:49 +00:00
Christophe Dumez
6790889cc3 Fixed Croatian translator name 2010-05-17 21:48:12 +00:00
Christophe Dumez
3a24b66adc Updated changelog date 2010-05-12 19:50:53 +00:00
Christophe Dumez
1a3f5e81e3 BUGFIX: Added support for url encoded ampersands in RSS 2010-05-12 19:42:32 +00:00
Christophe Dumez
818a79c9db COSMETIC: Sort torrent labels in popup menu 2010-05-12 19:05:50 +00:00
Christophe Dumez
93f635f9f4 Updated Croatian string 2010-05-05 21:01:50 +00:00
Christophe Dumez
73ec018732 Fix possible crash in RSS selection code 2010-05-05 14:32:22 +00:00
Christophe Dumez
68832df0c4 Even safer dateTime parsing 2010-05-01 18:09:42 +00:00
Christophe Dumez
ce817836c0 Made Datetime parsing more reliable 2010-05-01 17:40:14 +00:00
Christophe Dumez
89fbfdbd1b BUGFIX: Use guid or news url as RSS items identifier (instead of title) 2010-05-01 09:44:09 +00:00
Christophe Dumez
797d89fc3c Update resource file 2010-05-01 08:50:35 +00:00
Christophe Dumez
abc6e1c719 Added Croatian binary file 2010-05-01 08:49:05 +00:00
Christophe Dumez
31558aea8d Added Croatian translation 2010-05-01 08:47:37 +00:00
Christophe Dumez
be711920fd Commit croatian translation 2010-05-01 08:41:22 +00:00
Christophe Dumez
5d899bbe7c Bump to v2.2.7 2010-05-01 08:37:16 +00:00
Christophe Dumez
9c63e418cf Improved empty folder removing code 2010-05-01 08:31:28 +00:00
Christophe Dumez
984e7c7c7b BUGFIX: Fix torrent moving after completion feature 2010-05-01 08:14:30 +00:00
Christophe Dumez
1ae460bc67 Windows compilation fixes (Thanks LiHuiShuo 2010-04-28 11:47:11 +00:00
Christophe Dumez
c7ffa9096c Fix in last commit 2010-04-23 16:47:43 +00:00
Christophe Dumez
01448f4c14 Another initialization fix for Web UI 2010-04-23 08:11:38 +00:00
Christophe Dumez
7e8754baf3 Updated Changelog
Added some debug information
2010-04-23 08:07:25 +00:00
Christophe Dumez
8206ec9012 Fix possible initialization problem in Web UI 2010-04-23 08:03:31 +00:00
Christophe Dumez
a611361823 Translated menu entry into Arabic 2010-04-19 12:55:23 +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
Christophe Dumez
c5d92f3d69 FEATURE: DHT port can be set from Web UI 2010-03-22 20:41:36 +00:00
Christophe Dumez
54487c8247 Improvement to last commit 2010-03-22 19:42:47 +00:00
Christophe Dumez
be64008870 Bump to v2.2.2 2010-03-22 19:12:34 +00:00
Christophe Dumez
8113b150dd Updated french translation 2010-03-22 19:07:36 +00:00
Christophe Dumez
4a33367cb0 Fix to last commit 2010-03-22 19:04:48 +00:00
Christophe Dumez
0af5d82114 BUGFIX: Fix possible crash with folder scanning 2010-03-22 18:57:32 +00:00
Christophe Dumez
10c4fd330a I18N: Updated Polish translation (thanks Szymon Świerkosz) 2010-03-22 18:24:32 +00:00
Christophe Dumez
9a30d5a295 Properly raise SIGSEGV/SIGABRT after catching it 2010-03-20 21:44:11 +00:00
Christophe Dumez
724b47d999 Save fast resume data every 3 minutes 2010-03-20 21:25:31 +00:00
Christophe Dumez
2c0f7c33a2 Made M3U files previewable 2010-03-20 19:38:21 +00:00
Christophe Dumez
ce33e266fe Attempt to fix mac compilation 2010-03-20 19:14:17 +00:00
Christophe Dumez
2f291daefa Fix Ctrl+A in Web UI 2010-03-20 15:48:48 +00:00
Christophe Dumez
722f2aeb5d BUGFIX: Ask for user confirmation for recursive torrent download
BUGFIX: Fix "add file" dialog in torrent creation tool
2010-03-20 11:33:09 +00:00
Christophe Dumez
d5b9598b5b BUGFIX: Fix file filtering in complex torrents 2010-03-19 11:14:35 +00:00
Christophe Dumez
cc7d74b67c BUGFIX: Fix progress display with cleanlook style 2010-03-19 08:06:56 +00:00
Christophe Dumez
e853b0b736 Code optimization 2010-03-18 23:25:17 +00:00
Christophe Dumez
5e395b24a9 Code optimization 2010-03-18 23:13:41 +00:00
Christophe Dumez
9c3789f83f FEATURE: Display pieces that are being downloaded 2010-03-18 23:03:56 +00:00
Christophe Dumez
758595dc8c BUGFIX: Added back file prioritizing in Web UI 2010-03-18 20:07:10 +00:00
Christophe Dumez
01f9e989ef Bump to v2.2.1 2010-03-18 19:32:43 +00:00
Christophe Dumez
eb9f0cb559 Added back folder watching to Web UI 2010-03-18 19:27:23 +00:00
Christophe Dumez
2592948182 Fix Web UI compatiblity with Safari 2010-03-16 00:24:39 +00:00
Christophe Dumez
6f6ab1c439 Qt 4.4 compilation fix 2010-03-15 18:12:55 +00:00
Christophe Dumez
b10e606dda Branched v2.2.x 2010-03-14 20:44:17 +00:00
159 changed files with 20453 additions and 43956 deletions

134
Changelog
View File

@@ -1,30 +1,110 @@
* Tue Jul 27 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.3.0
- FEATURE: Simplified torrent root folder renaming/truncating (< v2.3.0 is no longer forward compatible)
- FEATURE: Remember previous save paths in torrent addition dialog
- FEATURE: Max number of half-open connections can now be edited
- FEATURE: Added support for strict super seeding
- FEATURE: The user can force listening on a particular network interface
- FEATURE: Added cookie support for RSS feeds
- FEATURE: User can force tracker reannounce
- FEATURE: Added "No action" setting for double-click action
- FEATURE: Several torrents can be moved at once
- FEATURE: Added error state for torrents (error is displayed in a tooltip)
- FEATURE: Added filter for paused/error torrents
- FEATURE: Add Check/Uncheck all feature in Web UI
- FEATURE: Search engine can now be disabled
- FEATURE: Torrents can be automatically paused once they reach a given ratio
- FEATURE: Several files can now be disabled at once
- FEATURE: Added "Select All/None" buttons to files list
- FEATURE: Added support for BitComet links (bc://bt/...)
- BUGFIX: Hide seeding torrents files priorities in Web UI
- BUGFIX: The user can disable permanently recursive torrent download
- BUGFIX: Peer Exchange status is now correctly reported
- BUGFIX: Use an INI file instead of the registry on Windows (More reliable)
- BUGFIX: Removed client spoofing feature to avoid tracker blacklisting
- COSMETIC: Display peers country name in tooltip
- COSMETIC: Display number of torrents in transfers tab label
- COSMETIC: Simplified program preferences
- COSMETIC: Fix naming of actions opening new dialogs (use Name...)
* Wed Jul 21 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.11
- BUGFIX: Fix parsing of program arguments with spaces
- BUGFIX: Fix possible crash when using alternative speed limits (#598272)
- BUGFIX: Fix possible crash on exit when using
- BUGFIX: Require GTK+ headers on compilation when libnotify is used
- BUGFIX: Added configure flag to avoid using the shipped qtsingleapplication
* Wed Jun 23 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.10
- BUGFIX: Fix Web UI in qBittorrent nox version
- BUGFIX: Improved ETA display (more user friendly)
- BUGFIX: Fix possible compilation errors with libtorrent v0.15
- BUGFIX: Fix minor issues in torrent creation tool
- BUGFIX: Use checkable actions to avoid issues on systems hiding menu icons (e.g. recent Gnome)
- BUGFIX: Use busy cursor for search plugin updates
- BUGFIX: Free disk space calculation now works if destination folder does not exist
- BUGFIX: Fix "append .!qB extension to incomplete files" feature
- BUGFIX: Several OS/2 fixes by Silvan Scherrer
- COSMETIC: Display "Alternative speed limits" button as pressed when enabled
* Sun Jun 13 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.9
- FEATURE: Official support for Win32 platform
- FEATURE: Better integration with Mac OS
- BUGFIX: Fix torrent availability computation (closes #587337)
- BUGFIX: Disable torrent addition dialog as a default
- BUGFIX: Fix Web UI authentication with Opera Browser
- BUGFIX: Fix Javascript error in Web UI when using IE
- BUGFIX: Fix a lot of encoding problems on non UTF-8 systems
- BUGFIX: Fix race condition allowing to run multiple instances (closes #286968)
- BUGFIX: Fix window hiding problem when having a modal window (closes #589070)
* Mon May 24 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.8
- BUGFIX: ETA for finished torrent is now 0 instead of Infinite (closes #583704)
- BUGFIX: Fix sorting of ETA column when having infinite values (closes #583347)
- BUGFIX: Torrent queue position now starts at 1 (closes #581130)
- BUGFIX: Fix unicode issue in start seeding after torrent creation code
- BUGFIX: Fix torrent error state clearance on resuming
- BUGFIX: Fix possible checkbox update in Web UI
- COSMETIC: Fix torrent properties layout
* Wed May 12 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.7
- BUGFIX: Fix unicode problem in torrent moving code
- BUGFIX: Fix possible initialization problem in Web UI
- BUGFIX: Fix torrent moving after completion feature
- BUGFIX: Improved empty folder removing code
- BUGFIX: Use guid or news url as RSS items identifier (instead of title)
- BUGFIX: Fix possible crash in RSS item selection code
- BUGFIX: Added support for url encoded ampersands in RSS
- COSMETIC: Sort torrent labels in popup menu
- I18N: Added Croatian translation
* 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
- BUGFIX: Fix Mac compilation
- BUGFIX: Save fast resume data every 3 minutes (for robustness)
- I18N: Updated Polish translation (thanks Szymon Świerkosz)
* Sat Mar 20 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.1
- FEATURE: Display pieces that are being downloaded
- FEATURE: Added back folder watching in Web UI
- FEATURE: Added back file prioritizing in Web UI
- BUGFIX: Fix compilation with Qt 4.4
- BUGFIX: Fix Web UI compatibility with Safari
- BUGFIX: Fix progress display with cleanlook style
- BUGFIX: Fix file filtering in complex torrents
- BUGFIX: Ask for user confirmation for recursive torrent download
- BUGFIX: Fix "add file" dialog in torrent creation tool
- BUGFIX: Fix "Ctrl+A" in Web UI
* Sun Mar 14 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.0
- FEATURE: User can set alternative speed limits for fast toggling

File diff suppressed because it is too large Load Diff

View File

@@ -37,6 +37,8 @@
#include "ui_mainwindow.h"
#include "qtorrenthandle.h"
enum TabIndex{TAB_TRANSFER, TAB_SEARCH, TAB_RSS};
class Bittorrent;
class QTimer;
class downloadFromURL;
@@ -56,7 +58,6 @@ class consoleDlg;
class about;
class createtorrent;
class downloadFromURL;
class HidableTabWidget;
class GUI : public QMainWindow, private Ui::MainWindow{
Q_OBJECT
@@ -66,7 +67,7 @@ public:
GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList());
~GUI();
// Methods
QWidget* getCurrentTabWidget() const;
int getCurrentTabIndex() const;
TransferListWidget* getTransferList() const { return transferList; }
QMenu* getTrayIconMenu();
@@ -76,7 +77,6 @@ public slots:
void showNotificationBaloon(QString title, QString msg) const;
void downloadFromURLList(const QStringList& urls);
void updateAltSpeedsBtn(bool alternative);
void updateNbTorrents(unsigned int nb_downloading, unsigned int nb_seeding, unsigned int nb_active, unsigned int nb_inactive, unsigned int nb_paused);
protected slots:
// GUI related slots
@@ -127,7 +127,6 @@ protected:
void showEvent(QShowEvent *);
bool event(QEvent * event);
void displayRSSTab(bool enable);
void displaySearchTab(bool enable);
private:
// Bittorrent
@@ -135,7 +134,7 @@ private:
QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed?
// GUI related
QTimer *guiUpdater;
HidableTabWidget *tabs;
QTabWidget *tabs;
StatusBar *status_bar;
QPointer<options_imp> options;
QPointer<consoleDlg> console;
@@ -161,15 +160,9 @@ private:
QSplitter *hSplitter;
QSplitter *vSplitter;
// Search
QPointer<SearchEngine> searchEngine;
SearchEngine *searchEngine;
// RSS
QPointer<RSSImp> rssWidget;
private slots:
void on_actionSearch_engine_triggered();
void on_actionRSS_Reader_triggered();
void on_actionSpeed_in_title_bar_triggered();
void on_actionTop_tool_bar_triggered();
};
#endif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 B

BIN
src/Icons/locale.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B

BIN
src/Icons/oxygen/wallet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

View File

@@ -1,6 +1,6 @@
[Desktop Entry]
Categories=Qt;Network;P2P;
Comment=V2.3.0
Comment=V2.2.11
Exec=qbittorrent %f
GenericName=Bittorrent client
GenericName[ar]=العميل Bittorrent

View File

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
src/Icons/skin/pausedUP.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
src/Icons/skin/queuedUP.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

BIN
src/Icons/skin/stalled.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

View File

@@ -10,13 +10,13 @@
<string>torrent</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>qBitTorrentDocument</string>
<string>qbittorrentDocument</string>
<key>CFBundleTypeName</key>
<string>BitTorrent Document</string>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/x-bittorrent</string>
</array>
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/x-bittorrent</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
@@ -47,7 +47,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleGetInfoString</key>
<string>2.3.0</string>
<string>2.2.11</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleExecutable</key>

View File

@@ -5,22 +5,19 @@
#include <QHeaderView>
#include <QSpinBox>
#include <QCheckBox>
#include <QComboBox>
#include <QNetworkInterface>
#include <libtorrent/version.hpp>
#include "preferences.h"
enum AdvSettingsCols {PROPERTY, VALUE};
enum AdvSettingsRows {DISK_CACHE, OUTGOING_PORT_MIN, OUTGOING_PORT_MAX, IGNORE_LIMIT_LAN, COUNT_OVERHEAD, RECHECK_COMPLETED, LIST_REFRESH, RESOLVE_COUNTRIES, RESOLVE_HOSTS, MAX_HALF_OPEN, SUPER_SEEDING, NETWORK_IFACE, PROGRAM_NOTIFICATIONS };
#define ROW_COUNT 13
enum AdvSettingsRows {DISK_CACHE, OUTGOING_PORT_MIN, OUTGOING_PORT_MAX, IGNORE_LIMIT_LAN, COUNT_OVERHEAD, RECHECK_COMPLETED, LIST_REFRESH, RESOLVE_COUNTRIES, RESOLVE_HOSTS };
#define ROW_COUNT 9
class AdvancedSettings: public QTableWidget {
Q_OBJECT
private:
QSpinBox *spin_cache, *outgoing_ports_min, *outgoing_ports_max, *spin_list_refresh, *spin_maxhalfopen;
QCheckBox *cb_ignore_limits_lan, *cb_count_overhead, *cb_recheck_completed, *cb_resolve_countries, *cb_resolve_hosts, *cb_super_seeding, *cb_program_notifications;
QComboBox *combo_iface;
QSpinBox *spin_cache, *outgoing_ports_min, *outgoing_ports_max, *spin_list_refresh;
QCheckBox *cb_ignore_limits_lan, *cb_count_overhead, *cb_recheck_completed, *cb_resolve_countries, *cb_resolve_hosts;
public:
AdvancedSettings(QWidget *parent=0): QTableWidget(parent) {
@@ -49,10 +46,6 @@ public:
delete spin_list_refresh;
delete cb_resolve_countries;
delete cb_resolve_hosts;
delete spin_maxhalfopen;
delete cb_super_seeding;
delete combo_iface;
delete cb_program_notifications;
}
public slots:
@@ -73,21 +66,6 @@ public slots:
// Peer resolution
Preferences::resolvePeerCountries(cb_resolve_countries->isChecked());
Preferences::resolvePeerHostNames(cb_resolve_hosts->isChecked());
// Max Half-Open connections
Preferences::setMaxHalfOpenConnections(spin_maxhalfopen->value());
#if LIBTORRENT_VERSION_MINOR > 14
// Super seeding
Preferences::enableSuperSeeding(cb_super_seeding->isChecked());
#endif
// Network interface
if(combo_iface->currentIndex() == 0) {
// All interfaces (default)
Preferences::setNetworkInterface(QString::null);
} else {
Preferences::setNetworkInterface(combo_iface->currentText());
}
// Program notification
Preferences::useProgramNotification(cb_program_notifications->isChecked());
}
protected slots:
@@ -156,45 +134,6 @@ protected slots:
connect(cb_resolve_hosts, SIGNAL(toggled(bool)), this, SLOT(emitSettingsChanged()));
cb_resolve_hosts->setChecked(Preferences::resolvePeerHostNames());
setCellWidget(RESOLVE_HOSTS, VALUE, cb_resolve_hosts);
// Max Half Open connections
setItem(MAX_HALF_OPEN, PROPERTY, new QTableWidgetItem(tr("Maximum number of half-open connections [0: Disabled]")));
spin_maxhalfopen = new QSpinBox();
connect(spin_maxhalfopen, SIGNAL(valueChanged(int)), this, SLOT(emitSettingsChanged()));
spin_maxhalfopen->setMinimum(0);
spin_maxhalfopen->setMaximum(99999);
spin_maxhalfopen->setValue(Preferences::getMaxHalfOpenConnections());
setCellWidget(MAX_HALF_OPEN, VALUE, spin_maxhalfopen);
// Super seeding
setItem(SUPER_SEEDING, PROPERTY, new QTableWidgetItem(tr("Strict super seeding")));
cb_super_seeding = new QCheckBox();
connect(cb_super_seeding, SIGNAL(toggled(bool)), this, SLOT(emitSettingsChanged()));
#if LIBTORRENT_VERSION_MINOR > 14
cb_super_seeding->setChecked(Preferences::isSuperSeedingEnabled());
#else
cb_super_seeding->setEnabled(false);
#endif
setCellWidget(SUPER_SEEDING, VALUE, cb_super_seeding);
// Network interface
setItem(NETWORK_IFACE, PROPERTY, new QTableWidgetItem(tr("Network Interface (requires restart)")));
combo_iface = new QComboBox;
combo_iface->addItem(tr("Any interface", "i.e. Any network interface"));
const QString current_iface = Preferences::getNetworkInterface();
int i = 1;
foreach(const QNetworkInterface& iface, QNetworkInterface::allInterfaces()) {
if(iface.name() == "lo") continue;
combo_iface->addItem(iface.name());
if(!current_iface.isEmpty() && iface.name() == current_iface)
combo_iface->setCurrentIndex(i);
++i;
}
connect(combo_iface, SIGNAL(currentIndexChanged(int)), this, SLOT(emitSettingsChanged()));
setCellWidget(NETWORK_IFACE, VALUE, combo_iface);
// Program notifications
setItem(PROGRAM_NOTIFICATIONS, PROPERTY, new QTableWidgetItem(tr("Display program notification baloons")));
cb_program_notifications = new QCheckBox();
connect(cb_program_notifications, SIGNAL(toggled(bool)), this, SLOT(emitSettingsChanged()));
cb_program_notifications->setChecked(Preferences::useProgramNotification());
setCellWidget(PROGRAM_NOTIFICATIONS, VALUE, cb_program_notifications);
}
void emitSettingsChanged() {

File diff suppressed because it is too large Load Diff

View File

@@ -118,7 +118,6 @@ public:
bool useTemporaryFolder() const;
QString getDefaultSavePath() const;
ScanFoldersModel* getScanFoldersModel() const;
bool isPexEnabled() const;
#if LIBTORRENT_VERSION_MINOR < 15
void saveDHTEntry();
#endif
@@ -154,7 +153,8 @@ public slots:
void setMaxUploadsPerTorrent(int max);
void setDownloadRateLimit(long rate);
void setUploadRateLimit(long rate);
void setMaxRatio(float ratio);
void setGlobalRatio(float ratio);
void setDeleteRatio(float ratio);
void setDHTPort(int dht_port);
void setPeerProxySettings(const proxy_settings &proxySettings);
void setHTTPProxySettings(const proxy_settings &proxySettings);
@@ -162,10 +162,10 @@ public slots:
void startTorrentsInPause(bool b);
void setDefaultTempPath(QString temppath);
void setAppendLabelToSavePath(bool append);
void appendLabelToTorrentSavePath(QTorrentHandle &h);
void changeLabelInTorrentSavePath(QTorrentHandle &h, QString old_label, QString new_label);
void appendLabelToTorrentSavePath(QTorrentHandle h);
void changeLabelInTorrentSavePath(QTorrentHandle h, QString old_label, QString new_label);
#if LIBTORRENT_VERSION_MINOR > 14
void appendqBextensionToTorrent(QTorrentHandle &h, bool append);
void appendqBextensionToTorrent(QTorrentHandle h, bool append);
void setAppendqBExtension(bool append);
#endif
void applyEncryptionSettings(pe_settings se);
@@ -189,13 +189,13 @@ public slots:
void recursiveTorrentDownload(const QTorrentHandle &h);
protected:
QString getSavePath(QString hash, bool fromScanDir = false, QString filePath = QString::null, QString root_folder=QString::null);
QString getSavePath(QString hash, bool fromScanDir = false, QString filePath = QString());
bool initWebUi(QString username, QString password, int port);
protected slots:
void addTorrentsFromScanFolder(QStringList&);
void readAlerts();
void processBigRatios();
void deleteBigRatios();
void takeETASamples();
void exportTorrentFiles(QString path);
void saveTempFastResumeData();
@@ -226,7 +226,6 @@ private:
QPointer<BandwidthScheduler> bd_scheduler;
QMap<QUrl, QString> savepath_fromurl;
QHash<QString, QHash<QString, TrackerInfos> > trackersInfos;
QHash<QString, QString> savePathsToRemove;
QStringList torrentsToPausedAfterChecking;
QTimer resumeDataTimer;
// Ratio
@@ -242,7 +241,6 @@ private:
bool preAllocateAll;
bool addInPause;
float ratio_limit;
int high_ratio_action;
bool UPnPEnabled;
bool NATPMPEnabled;
bool LSDEnabled;

View File

@@ -1,95 +0,0 @@
/*
* Bittorrent Client using Qt4 and libtorrent.
* Copyright (C) 2010 Christophe Dumez
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* In addition, as a special exception, the copyright holders give permission to
* link this program with the OpenSSL project's "OpenSSL" library (or with
* modified versions of it that use the same license as the "OpenSSL" library),
* and distribute the linked executables. You must obey the GNU General Public
* License in all respects for all of the code used other than "OpenSSL". If you
* modify file(s), you may extend this exception to your version of the file(s),
* but you are not obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*
* Contact : chris@qbittorrent.org arnaud@qbittorrent.org
*/
#include "cookiesdlg.h"
#include "ui_cookiesdlg.h"
#include <QNetworkCookie>
enum CookiesCols { COOKIE_KEY, COOKIE_VALUE};
CookiesDlg::CookiesDlg(QWidget *parent, const QList<QByteArray> &raw_cookies) :
QDialog(parent),
ui(new Ui::CookiesDlg)
{
ui->setupUi(this);
ui->infos_lbl->setText(tr("Common keys for cookies are : '%1', '%2'.\nYou should get this information from your Web browser preferences.").arg("uid").arg("pass"));
foreach(const QByteArray &raw_cookie, raw_cookies) {
QList<QByteArray> cookie_parts = raw_cookie.split('=');
if(cookie_parts.size() != 2) continue;
const int i = ui->cookiesTable->rowCount();
ui->cookiesTable->setRowCount(i+1);
ui->cookiesTable->setItem(i, COOKIE_KEY, new QTableWidgetItem(cookie_parts.first().data()));
ui->cookiesTable->setItem(i, COOKIE_VALUE, new QTableWidgetItem(cookie_parts.last().data()));
}
}
CookiesDlg::~CookiesDlg()
{
delete ui;
}
void CookiesDlg::on_add_btn_clicked() {
ui->cookiesTable->setRowCount(ui->cookiesTable->rowCount()+1);
// Edit first column
ui->cookiesTable->editItem(ui->cookiesTable->item(ui->cookiesTable->rowCount()-1, COOKIE_KEY));
}
void CookiesDlg::on_del_btn_clicked() {
// Get selected cookie
QList<QTableWidgetItem*> selection = ui->cookiesTable->selectedItems();
if(!selection.isEmpty()) {
ui->cookiesTable->removeRow(selection.first()->row());
}
}
QList<QByteArray> CookiesDlg::getCookies() const {
QList<QByteArray> ret;
for(int i=0; i<ui->cookiesTable->rowCount(); ++i) {
QString key = ui->cookiesTable->item(i, COOKIE_KEY)->text().trimmed();
QString value = ui->cookiesTable->item(i, COOKIE_VALUE)->text().trimmed();
if(!key.isEmpty() && !value.isEmpty()) {
const QString raw_cookie = key+"="+value;
qDebug("Cookie: %s", qPrintable(raw_cookie));
ret << raw_cookie.toLocal8Bit();
}
}
return ret;
}
QList<QByteArray> CookiesDlg::askForCookies(QWidget *parent, const QList<QByteArray> &raw_cookies, bool *ok) {
CookiesDlg dlg(parent, raw_cookies);
if(dlg.exec()) {
*ok = true;
return dlg.getCookies();
}
*ok = false;
return QList<QByteArray>();
}

View File

@@ -1,58 +0,0 @@
/*
* Bittorrent Client using Qt4 and libtorrent.
* Copyright (C) 2010 Christophe Dumez
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* In addition, as a special exception, the copyright holders give permission to
* link this program with the OpenSSL project's "OpenSSL" library (or with
* modified versions of it that use the same license as the "OpenSSL" library),
* and distribute the linked executables. You must obey the GNU General Public
* License in all respects for all of the code used other than "OpenSSL". If you
* modify file(s), you may extend this exception to your version of the file(s),
* but you are not obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*
* Contact : chris@qbittorrent.org arnaud@qbittorrent.org
*/
#ifndef COOKIESDLG_H
#define COOKIESDLG_H
#include <QDialog>
namespace Ui {
class CookiesDlg;
}
class CookiesDlg : public QDialog
{
Q_OBJECT
public:
explicit CookiesDlg(QWidget *parent = 0, const QList<QByteArray> &raw_cookies = QList<QByteArray>());
~CookiesDlg();
QList<QByteArray> getCookies() const;
static QList<QByteArray> askForCookies(QWidget *parent, const QList<QByteArray> &raw_cookies, bool *ok);
protected slots:
void on_add_btn_clicked();
void on_del_btn_clicked();
private:
Ui::CookiesDlg *ui;
};
#endif // COOKIESDLG_H

View File

@@ -33,7 +33,6 @@
#include <QDialog>
#include "ui_confirmdeletiondlg.h"
#include "preferences.h"
#include "misc.h"
class DeletionConfirmationDlg : public QDialog, private Ui::confirmDeletionDlg {
@@ -43,9 +42,6 @@ class DeletionConfirmationDlg : public QDialog, private Ui::confirmDeletionDlg {
DeletionConfirmationDlg(QWidget *parent=0): QDialog(parent) {
setupUi(this);
move(misc::screenCenter(this));
checkPermDelete->setChecked(Preferences::deleteTorrentFilesAsDefault());
connect(checkPermDelete, SIGNAL(clicked()), this, SLOT(updateRememberButtonState()));
buttonBox->setFocus();
}
bool shouldDeleteLocalFiles() const {
@@ -61,15 +57,6 @@ class DeletionConfirmationDlg : public QDialog, private Ui::confirmDeletionDlg {
return false;
}
private slots:
void updateRememberButtonState() {
rememberBtn->setEnabled(checkPermDelete->isChecked() != Preferences::deleteTorrentFilesAsDefault());
}
void on_rememberBtn_clicked() {
Preferences::setDeleteTorrentFilesAsDefault(checkPermDelete->isChecked());
rememberBtn->setEnabled(false);
}
};
#endif // DELETIONCONFIRMATIONDLG_H

View File

@@ -51,7 +51,7 @@ class downloadFromURL : public QDialog, private Ui::downloadFromURL{
show();
// Paste clipboard if there is an URL in it
QString clip_txt = qApp->clipboard()->text();
if(clip_txt.startsWith("http://", Qt::CaseInsensitive) || clip_txt.startsWith("https://", Qt::CaseInsensitive) || clip_txt.startsWith("ftp://", Qt::CaseInsensitive) || clip_txt.startsWith("magnet:", Qt::CaseInsensitive) || clip_txt.startsWith("bc://bt/", Qt::CaseInsensitive)) {
if(clip_txt.startsWith("http://", Qt::CaseInsensitive) || clip_txt.startsWith("https://", Qt::CaseInsensitive) || clip_txt.startsWith("ftp://", Qt::CaseInsensitive) || clip_txt.startsWith("magnet:", Qt::CaseInsensitive)) {
textUrls->setText(clip_txt);
}
}

View File

@@ -28,34 +28,35 @@
* Contact : chris@qbittorrent.org
*/
#include "downloadthread.h"
#include <QTemporaryFile>
#include <QSettings>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkProxy>
#include <QNetworkCookie>
#include <QNetworkCookieJar>
#include "downloadthread.h"
#include "preferences.h"
#include "qinisettings.h"
enum ProxyType {HTTP=1, SOCKS5=2, HTTP_PW=3, SOCKS5_PW=4, SOCKS4=5};
/** Download Thread **/
downloadThread::downloadThread(QObject* parent) : QObject(parent) {
connect(&networkManager, SIGNAL(finished (QNetworkReply*)), this, SLOT(processDlFinished(QNetworkReply*)));
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>)));
connect(networkManager, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), this, SLOT(ignoreSslErrors(QNetworkReply*,QList<QSslError>)));
#endif
}
downloadThread::~downloadThread(){
qDebug("Deleting network manager");
delete networkManager;
qDebug("Deleted network manager");
}
void downloadThread::processDlFinished(QNetworkReply* reply) {
QString url = reply->url().toEncoded().data();
qDebug("Download finished: %s", qPrintable(url));
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);
@@ -100,28 +101,7 @@ void downloadThread::processDlFinished(QNetworkReply* reply) {
reply->deleteLater();
}
void downloadThread::loadCookies(const QString &host_name, QString url) {
const QList<QByteArray> raw_cookies = Preferences::getHostNameCookies(host_name);
QNetworkCookieJar *cookie_jar = networkManager.cookieJar();
QList<QNetworkCookie> cookies;
qDebug("Loading cookies for host name: %s", qPrintable(host_name));
foreach(const QByteArray& raw_cookie, raw_cookies) {
QList<QByteArray> cookie_parts = raw_cookie.split('=');
if(cookie_parts.size() == 2) {
qDebug("Loading cookie: %s", raw_cookie.constData());
cookies << QNetworkCookie(cookie_parts.first(), cookie_parts.last());
}
}
cookie_jar->setCookiesFromUrl(cookies, url);
networkManager.setCookieJar(cookie_jar);
}
void downloadThread::downloadTorrentUrl(QString url){
// Load cookies
QString host_name = QUrl::fromEncoded(url.toLocal8Bit()).host();
if(!host_name.isEmpty())
loadCookies(host_name, url);
// Process request
QNetworkReply *reply = downloadUrl(url);
connect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(checkDownloadSize(qint64,qint64)));
}
@@ -129,24 +109,14 @@ void downloadThread::downloadTorrentUrl(QString url){
QNetworkReply* downloadThread::downloadUrl(QString url){
// Update proxy settings
applyProxySettings();
// Load cookies
QString host_name = QUrl::fromEncoded(url.toLocal8Bit()).host();
if(!host_name.isEmpty())
loadCookies(host_name, url);
// Process download request
qDebug("url is %s", qPrintable(url));
const QUrl qurl = QUrl::fromEncoded(url.toLocal8Bit());
QNetworkRequest request(qurl);
QNetworkRequest request;
request.setUrl(QUrl::fromEncoded(url.toLocal8Bit()));
// Spoof Firefox 3.5 user agent to avoid
// Web server banning
request.setRawHeader("User-Agent", "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5");
qDebug("Downloading %s...", request.url().toEncoded().data());
qDebug("%d cookies for this URL", networkManager.cookieJar()->cookiesForUrl(url).size());
for(int i=0; i<networkManager.cookieJar()->cookiesForUrl(url).size(); ++i) {
qDebug("%s=%s", networkManager.cookieJar()->cookiesForUrl(url).at(i).name().data(), networkManager.cookieJar()->cookiesForUrl(url).at(i).value().data());
qDebug("Domain: %s, Path: %s", qPrintable(networkManager.cookieJar()->cookiesForUrl(url).at(i).domain()), qPrintable(networkManager.cookieJar()->cookiesForUrl(url).at(i).path()));
}
return networkManager.get(request);
qDebug("Downloading %s...", qPrintable(request.url().toString()));
return networkManager->get(request);
}
void downloadThread::checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal) {
@@ -170,7 +140,7 @@ void downloadThread::checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal)
void downloadThread::applyProxySettings() {
QNetworkProxy proxy;
QIniSettings settings("qBittorrent", "qBittorrent");
QSettings settings("qBittorrent", "qBittorrent");
int intValue = settings.value(QString::fromUtf8("Preferences/Connection/HTTPProxyType"), 0).toInt();
if(intValue > 0) {
// Proxy enabled
@@ -198,7 +168,7 @@ void downloadThread::applyProxySettings() {
} else {
proxy.setType(QNetworkProxy::NoProxy);
}
networkManager.setProxy(proxy);
networkManager->setProxy(proxy);
}
QString downloadThread::errorCodeToString(QNetworkReply::NetworkError status) {

View File

@@ -42,7 +42,7 @@ class downloadThread : public QObject {
Q_OBJECT
private:
QNetworkAccessManager networkManager;
QNetworkAccessManager *networkManager;
QHash<QString, QString> redirect_mapping;
signals:
@@ -51,6 +51,7 @@ signals:
public:
downloadThread(QObject* parent);
~downloadThread();
QNetworkReply* downloadUrl(QString url);
void downloadTorrentUrl(QString url);
//void setProxy(QString IP, int port, QString username, QString password);
@@ -58,7 +59,6 @@ public:
protected:
QString errorCodeToString(QNetworkReply::NetworkError status);
void applyProxySettings();
void loadCookies(const QString &host_name, QString url);
protected slots:
void processDlFinished(QNetworkReply* reply);

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