1
mirror of https://github.com/qbittorrent/qBittorrent synced 2025-11-09 10:02:39 +01:00

Compare commits

..

325 Commits

Author SHA1 Message Date
Christophe Dumez
0b0d473a53 tagged v1.3.0 release 2009-01-14 12:37:31 +00:00
Christophe Dumez
f9f912906e - Fix version in qBittorrent.desktop 2009-01-11 10:19:02 +00:00
Christophe Dumez
7b4eee7a7d - Updated Changelog 2009-01-09 18:18:57 +00:00
Christophe Dumez
e799ac57ed - Updated TODO 2009-01-09 18:11:40 +00:00
Christophe Dumez
30c93b9a4a - v1.3.0final 2009-01-09 18:09:41 +00:00
Christophe Dumez
03dc617874 - Updated some translations 2009-01-06 20:38:52 +00:00
Christophe Dumez
bc29577a7b - Added some debug for proxy settings 2009-01-05 23:16:34 +00:00
Christophe Dumez
5509e94778 - Fixed pausing of queued torrents 2009-01-05 22:16:08 +00:00
Christophe Dumez
89330e11de - Priorities are now remembered across restart (bugfix) 2009-01-05 21:19:55 +00:00
Christophe Dumez
c016c4bf66 - Improved DHT code
- Remove outdated comment
2009-01-05 20:41:35 +00:00
Christophe Dumez
3f1081b621 BUGFIX: Proxy settings are now saved even if disabled 2009-01-05 11:42:37 +00:00
Christophe Dumez
e3ae03c8a8 - Ok, HTTP proxy code is working now 2009-01-05 11:20:32 +00:00
Christophe Dumez
fbe292d06e - Fixed another error in HTTP proxy code 2009-01-05 11:13:05 +00:00
Christophe Dumez
1d294e43f1 - Improve src/src.pro for windows 2009-01-04 19:48:16 +00:00
Christophe Dumez
d883ef27be - Use rootDir as default dir on Windows instead of homeDir 2009-01-04 19:37:55 +00:00
Christophe Dumez
be934837e5 - Fixed possible issue in tracker addition 2009-01-04 17:13:47 +00:00
Christophe Dumez
956f97f6d6 - Fixed systray icon tooltip on Windows 2009-01-04 17:08:52 +00:00
Christophe Dumez
de38ca3e23 - Updated Changelog 2009-01-04 15:45:44 +00:00
Christophe Dumez
1efaea46e3 - Made sure that old fastresume is overwritten when saving new one 2009-01-04 15:37:13 +00:00
Christophe Dumez
2694a0947f - Fixed possible crash when pausing a torrent 2009-01-04 12:44:55 +00:00
Christophe Dumez
f61d9d23f5 - Again 2009-01-04 11:33:18 +00:00
Christophe Dumez
60dda258b3 - typo in src.pro 2009-01-04 11:32:31 +00:00
Christophe Dumez
c79a4a746f - Attempt to fix linking on windows 2009-01-04 09:19:20 +00:00
Christophe Dumez
942b579d8e - Removed dependency on qdbus since we are not using it any longer 2009-01-04 00:05:08 +00:00
Christophe Dumez
93bc6dca95 - A lot of improvement in proxy code 2009-01-03 22:49:21 +00:00
Christophe Dumez
f36052351c - Added debug for proxy code 2009-01-03 22:33:05 +00:00
Christophe Dumez
d40c646561 - Removed useless check in proxy code 2009-01-03 22:26:45 +00:00
Christophe Dumez
9412ced722 - Important HTTP proxy fix 2009-01-03 22:24:56 +00:00
Christophe Dumez
7037b53ff8 - Another HTTP proxy fix 2009-01-03 22:20:57 +00:00
Christophe Dumez
adc72fb9a6 - Bump to rc6 2009-01-03 20:50:48 +00:00
Christophe Dumez
f0ca99ed6c - Fixed default state for UPnP/nat-pmp/lsd (DHT was fixed in previous commit already) 2009-01-03 20:45:07 +00:00
Christophe Dumez
e443aa75b7 - Quick fix for #313549 2009-01-03 20:33:38 +00:00
Christophe Dumez
282d0a4af6 - Save fastresume fata when pausing torrents to speed up qBittorrent shutdown 2009-01-03 20:06:46 +00:00
Christophe Dumez
25adf6b061 - Added a workaround fix for a bug in libtorrent regarding set_priority_up() function 2009-01-03 19:47:03 +00:00
Christophe Dumez
88f0ffe86d - Fixed column sorting restoring on startup 2009-01-03 19:34:09 +00:00
Christophe Dumez
c786c42bb1 - Fix for HTTP Proxy settings 2009-01-03 19:23:33 +00:00
Christophe Dumez
36bc2e96ba - Bump to rc5 2008-12-30 11:52:46 +00:00
Christophe Dumez
f9bf485ed7 - Forgot to consider allocating state in WebUI 2008-12-30 11:52:22 +00:00
Christophe Dumez
c18103539c - Display progress using progress bars in Web UI 2008-12-30 11:23:18 +00:00
Christophe Dumez
727f59f73f - Fix compilation warning 2008-12-30 09:02:06 +00:00
Christophe Dumez
5d2d1dfa94 - Compilation fix for MinGW 2008-12-30 08:57:23 +00:00
Christophe Dumez
cf694d14f3 - Updated Korean translation 2008-12-30 08:48:29 +00:00
Christophe Dumez
ec24fe2f49 - No longer force plastiqueStyle as a default (closes #312333) 2008-12-30 02:17:46 +00:00
Christophe Dumez
a0b4e54410 - Got rid of .paused files, useless with new libtorrent 2008-12-30 00:34:41 +00:00
Christophe Dumez
c97bce4d61 - Removed workaround for getting progress of paused torrents, apparently it works 2008-12-30 00:11:20 +00:00
Christophe Dumez
afbfe1a96d - Hide priority column in Web UI when queueing is disabled 2008-12-29 23:04:45 +00:00
Christophe Dumez
2651ec5f0b - Forgot to hide decrease Priority button when disabling queueing 2008-12-29 23:00:13 +00:00
Christophe Dumez
330905da5e - Added priority actions in Web UI 2008-12-29 22:46:18 +00:00
Christophe Dumez
4c6359276c - Fixed progress display of uncheck torrents 2008-12-29 22:09:39 +00:00
Christophe Dumez
ff1fc527e0 - Made some text bigger in options 2008-12-29 21:47:22 +00:00
Christophe Dumez
d79cb6b66e - French translation fix 2008-12-29 21:46:29 +00:00
Christophe Dumez
0ac2554060 - qBittorrent shutdown is now way faster 2008-12-29 21:22:26 +00:00
Christophe Dumez
1d31e049a4 - Fixed possible deadlock when saving fastresume data 2008-12-29 21:10:31 +00:00
Christophe Dumez
d5a4794610 - Fixed priority display for paused torrents 2008-12-29 20:06:08 +00:00
Christophe Dumez
29886acc01 - Putting back priority buttons in toolBar 2008-12-29 20:01:03 +00:00
Christophe Dumez
f1ed7f06b9 - Removed a function that is no longer used 2008-12-29 18:40:10 +00:00
Christophe Dumez
a848538d66 - Pause / resume in Web UI now updates the GUI
- Code cleanup
2008-12-29 18:36:54 +00:00
Christophe Dumez
b58046b1fc - Use QPlastiqueStyle as a default 2008-12-29 11:31:57 +00:00
Christophe Dumez
fe95e90e05 - Updated Changelog 2008-12-28 21:16:17 +00:00
Christophe Dumez
1544300616 - Allow to delete permanently from WebUI 2008-12-28 21:12:49 +00:00
Christophe Dumez
028041f874 - Updated Czech translation 2008-12-28 09:58:15 +00:00
Christophe Dumez
81f2d7ee4a - Cleaned up src.pro
- Removed some debug
2008-12-28 01:17:57 +00:00
Christophe Dumez
66874fbd2f - This is not needed because a showEvent is raised anyway 2008-12-27 22:40:23 +00:00
Christophe Dumez
f47b3be0be - Removed -O0 compil flag 2008-12-27 22:35:45 +00:00
Christophe Dumez
87eee7029d - Force lists refresh before initially displaying the window to avoid lag
- Removed session tweaking on exit since it does not have any effect
2008-12-27 22:29:37 +00:00
Christophe Dumez
713c80451e - Bump to rc3 2008-12-27 21:34:28 +00:00
Christophe Dumez
60889cac79 - Catch exceptions on torrent aditions to avoid crashing because of a bad torrent (that is correctly loaded by torrent_info for some reason) 2008-12-27 21:25:58 +00:00
Christophe Dumez
d398679c7e - Forgot to add this line back 2008-12-27 20:58:30 +00:00
Christophe Dumez
2e5330e54b - Removed code that is no longer needed 2008-12-27 20:35:25 +00:00
Christophe Dumez
1499138b9b - Fix to avoid crash when loading a path that does not exist 2008-12-27 20:30:19 +00:00
Christophe Dumez
2433a87445 - Bump to rc2 2008-12-27 17:55:46 +00:00
Christophe Dumez
d0de11909f - Translations fix due to latest change 2008-12-27 17:55:07 +00:00
Christophe Dumez
3f5340523f - Fix for queueing system 2008-12-27 17:44:33 +00:00
Christophe Dumez
cc5015773b - Should fix queueing system 2008-12-27 17:23:49 +00:00
Christophe Dumez
cd260198f9 - Fixed remembering of paused torrents cleanly 2008-12-27 17:05:26 +00:00
Christophe Dumez
71e3061c18 - Remember paused torrents on startup 2008-12-27 13:04:06 +00:00
Christophe Dumez
6369401150 - Fixed assert hit in new FSWatcher code 2008-12-27 12:12:13 +00:00
Christophe Dumez
fa05441e74 - A little list refresh optimizing 2008-12-27 10:29:44 +00:00
Christophe Dumez
81aac9ebcc - Fixed pause/resume actions in Web UI 2008-12-27 10:14:16 +00:00
Christophe Dumez
7a1af536b6 - Fixed start action 2008-12-27 10:07:03 +00:00
Christophe Dumez
45efcfce13 - Save session data and fast resume data sooner on exit (in case) 2008-12-27 10:02:42 +00:00
Christophe Dumez
cddc3a0a43 - Remove useless signals 2008-12-27 09:47:31 +00:00
Christophe Dumez
c38a8a2bec - Removed code that is no longer needed 2008-12-27 09:40:21 +00:00
Christophe Dumez
1225d16413 - Removed code that is no longer needed 2008-12-27 09:21:09 +00:00
Christophe Dumez
384f3b23ee - Made seed detection a bit safer (do not use progress) 2008-12-27 09:10:07 +00:00
Christophe Dumez
a3cfa6bba1 - Fixed torrents moving back from finished list to download list (without recheck) 2008-12-26 22:30:23 +00:00
Christophe Dumez
51638eddcc - Some more signal/slot fixing 2008-12-26 22:17:02 +00:00
Christophe Dumez
41c6a847b9 - some more signal / slot fixing 2008-12-26 22:11:40 +00:00
Christophe Dumez
d57062a45a - Fixed broken action "start All / Pause all" due to latest code changes 2008-12-26 22:02:01 +00:00
Christophe Dumez
32f478a8c2 - Removed some useless code due to latest changes 2008-12-26 21:59:54 +00:00
Christophe Dumez
61dae1444b - Code optimization for torrent moving back to download list detection 2008-12-26 21:49:13 +00:00
Christophe Dumez
8ed40cc856 - Do not refresh lists when window is not visible (save cpu)
- Force list refresh on show Event to avoid lag before next UpdateList() timer call
2008-12-26 21:41:09 +00:00
Christophe Dumez
941b8c8d2a - Fixed torrent completed message (was not displayed due to last commit) 2008-12-26 21:26:06 +00:00
Christophe Dumez
4f2a2dfab9 - Huge code refactoring (qBittorrent no longer store torrents and access them using libtorrent API) 2008-12-26 21:18:33 +00:00
Christophe Dumez
4a6ab376af - Workaround for is_seed bug: http://code.rasterbar.com/libtorrent/ticket/402 2008-12-26 19:14:19 +00:00
Christophe Dumez
1e37858cc4 - Reset torrent display once it is queued 2008-12-26 18:57:16 +00:00
Christophe Dumez
668268b6b5 - A little downloadThread aborting improvement 2008-12-26 16:43:55 +00:00
Christophe Dumez
cfcd9b7eaf - Fixed memory leak introduced in last commit 2008-12-26 16:27:52 +00:00
Christophe Dumez
6a3dddd0cc Catch SIGTERM to exit cleanly (e.g. computer shutdown) 2008-12-26 16:23:53 +00:00
Christophe Dumez
dfb2046f82 - Fixed icon for seeding torrents (paused or queued) in Web UI 2008-12-26 15:48:07 +00:00
Christophe Dumez
3ae55b6a6f - Fixed typo 2008-12-26 13:49:45 +00:00
Christophe Dumez
7e53d23e33 - Added some debug output on exit 2008-12-26 13:44:39 +00:00
Christophe Dumez
ce2294ee96 - Made session deletion a bit faster
- Fixed possible memory leak when folder scanning is enabled
2008-12-26 13:39:11 +00:00
Christophe Dumez
14646d0f9e Rewrote folder scanning code (Now uses a filesystem watcher) 2008-12-26 13:17:08 +00:00
Christophe Dumez
717a4b00e1 - Fixed piratebay plugin 2008-12-25 19:12:36 +00:00
Christophe Dumez
fca3b66a25 - Rewrote isohunt plugin which was broken 2008-12-25 18:56:04 +00:00
Christophe Dumez
1a861ef240 - Fixed BTJunkie plugin 2008-12-25 17:40:37 +00:00
Christophe Dumez
1590d9a98f - Updated Changelog 2008-12-25 16:22:46 +00:00
Christophe Dumez
112bcd7255 - Add notification in WebUI when qBittorrent is unreachable 2008-12-25 16:20:30 +00:00
Christophe Dumez
af29228cc9 - Updated Chinese (simplified) translation 2008-12-25 16:06:34 +00:00
Christophe Dumez
b8c79e0b5f - Simplified and optimized json code 2008-12-25 14:33:37 +00:00
Christophe Dumez
0d078f660a - fixed seed detection in eventmanager + code is simpler 2008-12-25 13:48:23 +00:00
Christophe Dumez
e7f89f256a - Updated slovak translation 2008-12-24 16:26:45 +00:00
Christophe Dumez
cb693a0795 - Removed outdated comment 2008-12-24 15:06:58 +00:00
Christophe Dumez
7b57345c4f - Fixed stylesheet warning in console on startup 2008-12-24 15:05:45 +00:00
Christophe Dumez
90879386d5 - Fixed Qt4 warning when deleting options 2008-12-24 14:53:40 +00:00
Christophe Dumez
3678aa4d23 - bump to rc1
- Updated TODO
- Fix for toolBar spacing
- A little code cleanup
2008-12-24 14:41:16 +00:00
Christophe Dumez
e497789ec7 - WebUI is now working for IE7 2008-12-24 11:28:02 +00:00
Christophe Dumez
2134d404a5 - Updated version to v1.3 (WebUI) 2008-12-24 10:05:09 +00:00
Christophe Dumez
e0707f6907 - Simplified page structure 2008-12-24 09:59:06 +00:00
Christophe Dumez
816f35cbab - Ported WebUI to MochaUI 0.9.5 2008-12-23 23:47:30 +00:00
Christophe Dumez
a73d3132df - Removed some useless debug
- Increased httpserver update interval
2008-12-23 16:50:46 +00:00
Christophe Dumez
368c122dce - Queueing system fix 2008-12-23 16:27:47 +00:00
Christophe Dumez
c41d17043c - Fixed another memory leak in torrent addition dialog 2008-12-23 15:51:32 +00:00
Christophe Dumez
3c17a1410b - Fixed memory leak in torrent addition dialog 2008-12-23 15:07:29 +00:00
Christophe Dumez
078110851d - Oops typo 2008-12-23 14:58:38 +00:00
Christophe Dumez
70725bdfe2 - Fixed memory leak in RSS parser 2008-12-23 14:56:17 +00:00
Christophe Dumez
3c0a610a34 - Fixed includes 2008-12-23 14:41:14 +00:00
Christophe Dumez
d5b74eecd0 - Updated french translation 2008-12-23 13:51:08 +00:00
Christophe Dumez
1faf183c73 - Updated some translations 2008-12-23 12:59:47 +00:00
Christophe Dumez
a1773a7cfd - Updated language files 2008-12-20 19:41:08 +00:00
Christophe Dumez
1af3515b00 - Updated splashscreen
- bump to beta
2008-12-15 19:28:09 +00:00
Christophe Dumez
70e2a5d3b3 - Fixed compilation warning in main.cpp
- Removed use of Qt3 backport headers in ico.cpp
2008-12-15 19:24:10 +00:00
Christophe Dumez
78409570a9 - Fixed crash when dht_state is missing 2008-12-15 17:28:05 +00:00
Christophe Dumez
5133931302 - Another patch by Attila to fix mingw32 compilation 2008-12-12 09:20:47 +00:00
Christophe Dumez
8326cebf5c - Fix for compiling with mingw32 (By Attila Olah) 2008-12-11 20:49:21 +00:00
Christophe Dumez
ab46f11af2 - Added name name of new turkish translator to about dialog 2008-11-28 14:30:07 +00:00
Christophe Dumez
91acb1a6ec Updated turkish translation 2008-11-28 14:27:56 +00:00
Christophe Dumez
c721fad54b - Fixed ratio column sorting 2008-11-22 14:05:22 +00:00
Christophe Dumez
2aea2a0032 - got rid of libMagick++ dependency 2008-11-04 22:39:43 +00:00
Christophe Dumez
3164337c3c - Some more cleanup 2008-11-04 19:14:51 +00:00
Christophe Dumez
b984c309ff - removed no longer needed pointer
- made use of QPointer instead of c++ pointer
2008-11-04 19:01:51 +00:00
Christophe Dumez
cfbd06225b - Removed priority buttons from toolBar since it only affects download list now 2008-11-02 20:42:02 +00:00
Christophe Dumez
b0a0abd764 Allow to change the save path of torrents after addition 2008-11-02 19:55:55 +00:00
Christophe Dumez
9618056b4e - Added support for 2 new extensions (uTorrent metadata and smart ban plugin)
- Removed option to disable uTorrent Peer eXchange (PeX) -> always ON
2008-11-02 19:22:10 +00:00
Christophe Dumez
8b40e43432 should speed up startup 2008-11-02 18:19:14 +00:00
Christophe Dumez
01bc15d3f4 - Allow to force rechecking torrents 2008-11-02 13:53:45 +00:00
Christophe Dumez
3282e1bcc9 - Save and load session state to remember it over different sessions 2008-11-02 13:19:27 +00:00
Christophe Dumez
e5b6a5605a - ETA calculation now relies on average speed over all sessions
- New ETA calculation system saves memory
- Updated Changelog
2008-11-02 13:07:38 +00:00
Christophe Dumez
9b67807926 - Queueing system should work fine now (port is complete, needs testing) 2008-11-02 11:43:20 +00:00
Christophe Dumez
f3729fbae6 - Use libtorrent queueing system (probably buggy and queueing currently does not work for seeds) 2008-11-02 10:47:59 +00:00
Christophe Dumez
0538c9c3e8 - Removed some debug 2008-11-02 09:30:35 +00:00
Christophe Dumez
53a0e85b8d - Do not save fastresume data for checking torrents 2008-11-02 00:04:38 +00:00
Christophe Dumez
453dd93abf - Should fix fastresume data code 2008-11-01 23:58:53 +00:00
Christophe Dumez
669cc2395a - Updated changelog 2008-11-01 22:09:09 +00:00
Christophe Dumez
82706141cf Ratio calculation improvement: make usage of new all_time_upload and all_time_download variables in torrent_status. 2008-11-01 22:07:14 +00:00
Christophe Dumez
c536f24d55 - Changed default icon from connecting to stalled since connecting state no longer exists 2008-11-01 21:45:30 +00:00
Christophe Dumez
764b4e72ca - rough port to libtorrent v0.14.0. This is probably buggy but it compiles without warnings 2008-11-01 21:42:56 +00:00
Christophe Dumez
19dd21062b - trunk will now be of v1.3.0 2008-11-01 12:50:07 +00:00
Christophe Dumez
2d24b468b6 Fixed possible crash when deleting a torrent permanently 2008-11-01 12:33:52 +00:00
Christophe Dumez
2dc75cb98d - Updated release date 2008-10-29 20:02:02 +00:00
Christophe Dumez
5e3be25916 - Single instance code is now more reliable on Qt >= 4.4 (closes #286968) 2008-10-29 19:58:44 +00:00
Christophe Dumez
49e8bad7cc - Removed rc from version 2008-10-28 21:39:12 +00:00
Christophe Dumez
796aea19e6 - Webui: refresh download list every 2 seconds to save cpu 2008-10-28 21:37:19 +00:00
Christophe Dumez
dd35f1723b - Updated mootools to v1.2.1 2008-10-28 21:20:08 +00:00
Christophe Dumez
0177e1fee4 - Attempt to fix icon flickering in webui 2008-10-28 21:17:17 +00:00
Christophe Dumez
949eb2b5f5 - WebUI: Uploads should always use seeding icon (not connecting for example) 2008-10-27 20:15:17 +00:00
Christophe Dumez
2d59fe37bf fixed translations 2008-10-17 05:57:03 +00:00
Christophe Dumez
b6f81c199e - fixed italian translation 2008-10-17 05:48:18 +00:00
Christophe Dumez
c2964dc340 - Updated AUTHORS file (from Cristian Greco@Debian) 2008-10-13 07:04:20 +00:00
Christophe Dumez
8aebb93424 - Updated bulgarian and greek translations 2008-10-07 18:32:27 +00:00
Christophe Dumez
96c38f7be4 - Updated Russian translation
- Progress column is now correctly sorted on startup (closes #133925 again)
2008-10-06 18:34:47 +00:00
Christophe Dumez
cf2abe45de - AddinPause feature no longer applies to resumed torrents on startup
(closes #278827)
2008-10-06 12:21:34 +00:00
Christophe Dumez
88ac8adb30 - Bump to rc4
- Disabled debug output
- Updated Chinese traditional translation
2008-10-05 11:34:52 +00:00
Christophe Dumez
b331478179 - Fix "go back to download list dialog" when seeding torrent has filtered files (closes #278508) 2008-10-05 11:10:57 +00:00
Christophe Dumez
bfaa82ccba - Not deleting files on hard drive when user is answering no the the 'move to download list' dialog 2008-10-05 11:05:27 +00:00
Christophe Dumez
77f407724d - German was not updated yet 2008-10-05 09:29:27 +00:00
Christophe Dumez
2f5c2e6404 - Updated Korean, Swedish, Romanian 2008-10-05 09:28:43 +00:00
Christophe Dumez
fbb2cdd1a9 - Updated dutch translation 2008-10-04 21:16:34 +00:00
Christophe Dumez
63a4e06556 - Attempt to fix single instance code on Qt 4.4 2008-10-04 19:36:27 +00:00
Christophe Dumez
3d934b4a9c - bump to rc3 2008-10-04 15:23:31 +00:00
Christophe Dumez
697c275d83 - Fixed torrent queueing system (finally) 2008-10-04 15:21:52 +00:00
Christophe Dumez
25b9601613 - Should fix save path problems 2008-10-04 14:14:07 +00:00
Christophe Dumez
276dfd9df6 BUGFIX: Torrents are no longer starting from scratch when changing default save path (when torrent addition dialog is disabled) 2008-10-04 14:01:55 +00:00
Christophe Dumez
19f05f0a97 - Updated italian translation 2008-10-03 18:37:11 +00:00
Christophe Dumez
293aaefefe - updated hungarian translation 2008-10-02 14:15:40 +00:00
Christophe Dumez
57cdf4ebd1 - Updated german translation 2008-10-01 20:32:04 +00:00
Christophe Dumez
c4a0c8f100 - Should fix bug #276196 2008-10-01 19:17:07 +00:00
Christophe Dumez
306991e776 - More debug 2008-10-01 19:05:17 +00:00
Christophe Dumez
de2384e4a7 - Added some debug 2008-10-01 19:00:59 +00:00
Christophe Dumez
236dbcfb4a - attempt to fix #276196 2008-10-01 07:02:49 +00:00
Christophe Dumez
a1b133d883 - Fixed progress for unchecked paused torrents 2008-09-30 18:37:05 +00:00
Christophe Dumez
4f8825e371 - Fixed priority column sorting (closes #276190) 2008-09-30 06:14:37 +00:00
Christophe Dumez
1aa0936c91 - Updated slovak translation
- french translation fix
2008-09-30 06:09:50 +00:00
Christophe Dumez
d5e22c523e - Fixed typographic error 2008-09-29 20:28:55 +00:00
Christophe Dumez
6618e61a42 - Added Expand/Collapse all buttons to properties dialog 2008-09-29 18:42:45 +00:00
Christophe Dumez
26283ec228 - Updated swedish translation 2008-09-28 18:53:33 +00:00
Christophe Dumez
ed12f5c77e - bump to rc2 2008-09-28 18:02:31 +00:00
Christophe Dumez
8e074a571a - Fixed queueing priorities loading on startup 2008-09-28 17:58:12 +00:00
Christophe Dumez
e2c7c973fd - Improved multiple selection style by blocking browser event 2008-09-28 16:39:39 +00:00
Christophe Dumez
eec04761ef - Block browser event for CTRL+A so that it does not select text (unwanted) : Web Ui 2008-09-28 16:25:51 +00:00
Christophe Dumez
f73256e0ea - Fixed shift selection from bottom to top (Web UI)
- Fixed bug where current selection was not cleared correctly (Web Ui)
- Allow to select all torrents using CRTL+A (Web Ui)
2008-09-28 16:23:08 +00:00
Christophe Dumez
fec1de6383 - Updated finish translation 2008-09-28 16:00:51 +00:00
Christophe Dumez
db35a7efb8 - Updated chinese translations 2008-09-28 15:43:14 +00:00
Christophe Dumez
36eae88a5a - bump to rc1 2008-09-28 11:58:09 +00:00
Christophe Dumez
c01fd75c92 - Updated french translation
- Updated copyright
2008-09-28 11:57:09 +00:00
Christophe Dumez
103f2d0720 - Updated translation files 2008-09-28 11:42:32 +00:00
Christophe Dumez
037c46b587 - bump to beta8 2008-09-28 11:33:21 +00:00
Christophe Dumez
0879f2c0ca - Totally rewritten Web UI list refresh system (fixed memory leak) 2008-09-28 11:30:24 +00:00
Christophe Dumez
a65cd5c39c - some more Web Ui fixes 2008-09-28 10:07:00 +00:00
Christophe Dumez
d219e7afeb - Added some licensing 2008-09-27 21:01:24 +00:00
Christophe Dumez
892bb4c432 - Improved tab look 2008-09-27 20:56:41 +00:00
Christophe Dumez
45b9c6335c - removed useless debug 2008-09-27 20:32:59 +00:00
Christophe Dumez
78e643039c - Fixed torrent exchange from one list to another in Web Ui 2008-09-27 20:31:50 +00:00
Christophe Dumez
04e993c674 - Fixed pause/resume/delete actions on seeding list (Web UI) 2008-09-27 20:10:10 +00:00
Christophe Dumez
c3132fc1b0 - Updated changelog 2008-09-27 19:56:57 +00:00
Christophe Dumez
b1c73cb401 - Split download and upload lists in Web UI 2008-09-27 19:55:56 +00:00
Christophe Dumez
ac6eb8c6bc - fixed pause/resume (broken by multiple selection commit) 2008-09-27 19:28:09 +00:00
Christophe Dumez
8a64412cb5 - Allow the user to use SHIFT key to extend selection in Web UI transfer list 2008-09-27 10:18:27 +00:00
Christophe Dumez
56885cc914 - Allow the user to use CTRL key to select multiple item in Web UI transfer list 2008-09-27 10:08:07 +00:00
Christophe Dumez
cdd1f9b86c - Fixed assert HIT in eventmanager due to queueing system 2008-09-27 09:58:28 +00:00
Christophe Dumez
139360cf76 - Can have different proxy settings for bittorrent and search engine (closes #274791) 2008-09-27 09:12:41 +00:00
Christophe Dumez
2931d51add - Fixed RSS list saving (closes #272651) 2008-09-21 08:35:38 +00:00
Christophe Dumez
aa0bec41b4 - bug fix for preferences saving (introduced recently) 2008-09-21 08:17:29 +00:00
Christophe Dumez
b32b42b53e - Added Collapse/Expand all buttons to torrent addition dialog (closes #272654) 2008-09-21 08:13:23 +00:00
Christophe Dumez
06c4c717bd - bump to beta7 2008-09-17 19:17:55 +00:00
Christophe Dumez
a3ed44baec - Fixed bad check for finished torrents (introduced in beta6) 2008-09-17 19:15:21 +00:00
Christophe Dumez
0cbb4a7074 - Updated polish translation 2008-09-15 17:53:17 +00:00
Ishan Arora
af2e487ef5 Added few debug statements to EventManager timer loop 2008-09-15 05:27:56 +00:00
Christophe Dumez
28fdfdfef1 - bump to beta6 2008-09-14 10:24:52 +00:00
Christophe Dumez
c95cca6436 - Updated changelogs 2008-09-14 10:23:59 +00:00
Christophe Dumez
86024c6c74 - merge from stable branches (WebUI fixes) 2008-09-14 10:14:54 +00:00
Christophe Dumez
75290cf715 - Cleaning memory for Web UI to avoid problems when running for a long time 2008-09-13 20:33:07 +00:00
Christophe Dumez
321b76a72a - fixed sorting in finished list 2008-09-13 19:57:54 +00:00
Christophe Dumez
95ecaec11e - Sync with stable branch (lot of bug fixing) 2008-09-13 18:53:58 +00:00
Christophe Dumez
0e7c16901c fixed a bug in last commit 2008-09-13 13:41:11 +00:00
Christophe Dumez
43dcbf776b Use QPointer when interesting 2008-09-13 07:33:41 +00:00
Christophe Dumez
e21c28e9d2 Fixed memory leak in HTTP server 2008-09-12 19:58:57 +00:00
Christophe Dumez
918c1507d3 - Web UI optimization 2008-09-12 19:56:32 +00:00
Christophe Dumez
a189e4403d - Fixed a string 2008-09-07 12:18:52 +00:00
Christophe Dumez
563291a2e8 - Updated language files 2008-09-07 12:12:16 +00:00
Christophe Dumez
9156c9ac8f - Logs are now in a separate dialog 2008-09-07 12:09:41 +00:00
Christophe Dumez
f0049f1dae - Removed logging panel for now. It will be replaced by a seperate dialog in order to simplify the default UI. 2008-09-07 11:31:29 +00:00
Christophe Dumez
a622152747 - Make use of h.is_seed() instead of h.progress() == 1. 2008-09-03 18:19:17 +00:00
Christophe Dumez
8440e9982f - Display top toolBar as a default 2008-09-03 17:52:40 +00:00
Christophe Dumez
602d73fa82 fix typo in german translation 2008-09-02 19:03:31 +00:00
Christophe Dumez
c32ebb8d9f - Another fix for boost v1.36 2008-08-31 12:35:25 +00:00
Christophe Dumez
deeead4008 - Compilation fix for boost v1.36
- Fixed 'start seeding after torrent creation' feature
2008-08-31 12:21:41 +00:00
Christophe Dumez
937a491409 Updated copyright info 2008-08-27 00:59:58 +00:00
Christophe Dumez
79d5ae18a6 - beta5 release 2008-08-26 07:22:03 +00:00
Christophe Dumez
5cce0c53bf - Fixed a comment
- Added chinese traditional translation to stable branch
- bump to v1.1.3 in stable branch (updated splash screen)
- Updated changelogs
2008-08-26 07:14:38 +00:00
Christophe Dumez
681b8c14ad - Fixed ratio saving for seeding torrents 2008-08-26 06:39:57 +00:00
Christophe Dumez
443567486e - Updated traditional chinese translator's mail 2008-08-25 11:24:02 +00:00
Christophe Dumez
c10ebc3086 - Added traditional Chinese locale 2008-08-25 10:54:14 +00:00
Christophe Dumez
42a2acefd3 - Fixed possible multiple rss tabs bug 2008-08-20 12:15:50 +00:00
Christophe Dumez
c781545609 - max compilation fix 2008-08-19 13:46:13 +00:00
Christophe Dumez
ba06affec7 - Fixed priority column sorting 2008-08-19 12:17:05 +00:00
Christophe Dumez
6140d69fcb - bump to beta4 2008-08-19 00:29:30 +00:00
Christophe Dumez
71a81fd1b7 - Queueing system fixes 2008-08-19 00:28:44 +00:00
Christophe Dumez
4e05b62bbe - Priority column fixes 2008-08-19 00:10:56 +00:00
Christophe Dumez
9d366c8c7d - Updated czech translation 2008-08-18 23:46:50 +00:00
Christophe Dumez
940744b0bf - Added czech flag 2008-08-18 10:52:51 +00:00
Christophe Dumez
6c2518a704 - forgot to commit those files 2008-08-18 10:47:43 +00:00
Christophe Dumez
ef51fabf63 - Added czech translation 2008-08-18 10:38:40 +00:00
Christophe Dumez
1aedd97d4d - Progress calculation patch 2008-08-17 03:47:52 +00:00
Christophe Dumez
ff26ea94f5 - Queued torrents are now identified in Web UI
- Improved transfer list update for queued torrents
- Allow to show/hide top toolbar
- top toolbar is now hidden as a default
- Connection status is now displayed in status bar (bottom)
- Removed "Disconnected" connection status (bad detection)
- Added increase/decrease priority actions to Edit menu
- Added keyboard shortcuts for increase/decrease priority actions
2008-08-08 13:17:26 +00:00
Christophe Dumez
c7a289d183 - Updated french translation 2008-08-02 19:58:19 +00:00
Christophe Dumez
2a70c8f4d8 - Bump to beta2 2008-08-02 19:51:24 +00:00
Christophe Dumez
e27b08d970 - Update queue when pausing a torrent 2008-08-02 19:49:37 +00:00
Christophe Dumez
48ec57604f - A queueing system ASSERT hit fix 2008-08-02 19:46:02 +00:00
Christophe Dumez
db1bbea26a - Updated Russian translation 2008-08-02 18:20:14 +00:00
Christophe Dumez
7bbb2f542b - Slightly improved minimize to systray code (but still experiencing the virtual desktop switching bug) 2008-08-01 20:03:16 +00:00
Christophe Dumez
5563e24781 - Updated resource files 2008-08-01 17:15:03 +00:00
Christophe Dumez
f131f6210f - Updated Changelog 2008-08-01 15:17:22 +00:00
Christophe Dumez
0356fa4538 - Updated bulgarian and greek translations 2008-07-31 12:45:35 +00:00
Christophe Dumez
b9c4a434c9 - Allow to download torrents from a local file (Web UI) 2008-07-31 12:03:28 +00:00
Christophe Dumez
a4318cc060 - Added peerkoel to Dutch translators 2008-07-29 09:57:07 +00:00
Christophe Dumez
d6e7161eff - Updated dutch translation 2008-07-29 09:56:32 +00:00
Christophe Dumez
e428489ebc - Added new Russian translator's name 2008-07-29 07:47:23 +00:00
Christophe Dumez
fa4cffe3d4 - Patch from Alexey Morsov for desktop file to satisfy freedesktop
standard
2008-07-29 07:42:45 +00:00
Christophe Dumez
a355a87ec5 - Updated russian translation 2008-07-29 07:39:53 +00:00
Christophe Dumez
39749620a4 - Added new spanish translator's name 2008-07-28 13:22:34 +00:00
Christophe Dumez
e7674bfaf8 - Updated spanish translation 2008-07-28 13:17:55 +00:00
Christophe Dumez
3e8ad9eb83 - fixed column resizing in torrent addition dialog 2008-07-27 18:07:35 +00:00
Christophe Dumez
6a95f9170c - Optimized downloadThread mmemory usage 2008-07-27 16:23:00 +00:00
Christophe Dumez
cc4a542e9d BUGFIX: Limit the number of concurrent download threads to save memory 2008-07-27 16:13:57 +00:00
Christophe Dumez
fed63b0b85 - Updated version in splash screen 2008-07-27 16:02:27 +00:00
Christophe Dumez
bf7b11d87d - Fixed menus vertical alignement 2008-07-27 15:51:14 +00:00
Christophe Dumez
bb959ba465 BUGFIX: Disable ETA calculation when ETA column is hidden 2008-07-27 15:41:46 +00:00
Christophe Dumez
b77e28fb12 - Updated German translation 2008-07-23 07:02:28 +00:00
Christophe Dumez
261f981a9a - Added new priority icons from Mateusz Tobola 2008-07-22 15:09:52 +00:00
Christophe Dumez
93ad7e889e - Commented ASSERT due to a little string encoding bug in libtorrent 2008-07-22 14:40:01 +00:00
Christophe Dumez
b79e2906e8 - Fixed building on ARM (patch from Cristian Greco 2008-07-22 05:51:46 +00:00
Christophe Dumez
99e8ac3d36 - Moved priority buttons 2008-07-19 20:52:49 +00:00
Christophe Dumez
badd36e81e - Hide priority buttons if queueing system is disabled 2008-07-19 20:39:34 +00:00
Christophe Dumez
c835502692 - Fixed extended selection in search results 2008-07-19 19:21:20 +00:00
Christophe Dumez
4fe7fd537d - a lot of fixes concerning the new queueing system 2008-07-17 21:12:10 +00:00
Christophe Dumez
88ea548eaf - Fix crash when pausing a torrent if queueing system is disabled 2008-07-16 22:09:01 +00:00
Christophe Dumez
360c8500bb - Unqueue torrents before disabling queueing system 2008-07-16 22:06:37 +00:00
Christophe Dumez
7a925f15ba - Fixed a bug in torrent progress calculation (regression) 2008-07-16 21:54:01 +00:00
Christophe Dumez
15ce9a7369 - Queueing systems now updates the number of active torrents in tab titles 2008-07-15 20:19:41 +00:00
Christophe Dumez
4b8532ea2d - Bug fix in session configuring (queueing) 2008-07-15 18:34:28 +00:00
Christophe Dumez
8e7d0f4dc1 - Oops, one } should not be there 2008-07-15 18:24:46 +00:00
Christophe Dumez
de0ac5cda4 - Bump to beta1 2008-07-15 18:22:50 +00:00
Christophe Dumez
9a9fd4e2d1 - Updated Changelog 2008-07-15 18:19:45 +00:00
Christophe Dumez
4be0cbd2e4 - Removed some debug
- Bug fix when applying preferences (queueing)
2008-07-15 18:18:59 +00:00
Christophe Dumez
5fef86ec18 - Upload queueing should now work a lot better :) 2008-07-15 18:11:27 +00:00
Christophe Dumez
1acd05794a - Another bug fix for upload queueing 2008-07-15 18:10:10 +00:00
Christophe Dumez
5a61b7543b - Updated language files 2008-07-14 22:16:26 +00:00
Christophe Dumez
b6b74752a5 - Queueing bug fix 2008-07-14 22:15:25 +00:00
Christophe Dumez
27a71ba123 - Increase/decrease priority buttons should now work for finishedTab too 2008-07-14 22:05:13 +00:00
Christophe Dumez
20ae3d997c - extending Queueing system to seeding list (unfinished) 2008-07-14 22:01:05 +00:00
Christophe Dumez
b73d0548c8 - Download queueing fix 2008-07-14 20:08:24 +00:00
Christophe Dumez
ca118697e9 - Added priority buttons 2008-07-14 20:01:21 +00:00
Christophe Dumez
600308aaa1 - Updated queued icon 2008-07-14 19:33:10 +00:00
Christophe Dumez
9b1ea66659 - Updated some translations 2008-07-14 19:21:37 +00:00
Christophe Dumez
d29cc3325b - Started to work on queueuing 2008-07-14 19:20:18 +00:00
Christophe Dumez
9f6e28b741 - Use infinity symbol for ETA when time is infinite 2008-07-11 18:19:34 +00:00
Christophe Dumez
4c5f349f49 - FEATURE: RSS can now be disabled from program preferences
- COSMETIC: RSS Tab is now hidden as a default
2008-07-11 17:43:57 +00:00
Christophe Dumez
9a321adfb1 - Updated Italian translation 2008-07-11 16:30:52 +00:00
Christophe Dumez
e233f27d1c - Fixed bug in UP/DL speeds updates 2008-07-10 20:23:17 +00:00
Christophe Dumez
1cadf73a40 - Updated translation files 2008-07-10 20:21:07 +00:00
Christophe Dumez
77c97b5b43 - FEATURE: DHT is always ON (no longer used as fallback)
- FEATURE: The number of DHT nodes is displayed
    - COSMETIC: Transfer speed, ratio and DHT nodes are displayed in status bar
2008-07-10 20:19:28 +00:00
Christophe Dumez
0054a330fb - Updated Finnish translation 2008-07-10 18:50:34 +00:00
Christophe Dumez
8ba05c57b0 - Updated romanian translation 2008-07-10 16:54:15 +00:00
145 changed files with 32577 additions and 19730 deletions

16
AUTHORS
View File

@@ -6,6 +6,11 @@ Contributors:
* Ishan Arora <ishan@qbittorrent.org>
* Grigis Gaëtan <cipher16@gmail.com>
Code from other projects:
* files src/ico.cpp src/ico.h
copyright: Malte Starostik <malte@kde.org>
license: LGPL
Images Authors:
* files: src/Icons/*.png
copyright: Gnome Icon Theme
@@ -17,13 +22,14 @@ Images Authors:
license: Creative Commons Public Domain Dedication
url: http://www.openclipart.org
* files: src/Icons/skins/*.png
* files: src/Icons/skin/*.png
files: src/menuicons/YYxYY/*.png
copyright: Mateusz Tobola <tobejodok@qbittorrent.org>
license: GPLv2
* files: src/menuicons/YYxYY/*.png
copyright: Mateusz Tobola <tobejodok@qbittorrent.org>
license: GPLv2
* file: src/Icons/skin/tabs.gif
copyright: Greg Houston <gregory.houston@gmail.com>
license: MIT
* file: src/search_engine/engines/btjunkie.png
copyright: Downloaded from btjunkie.org
@@ -46,7 +52,7 @@ Translations authors:
- Brazilian: Nick Marinho (nickmarinho@gmail.com)
- Bulgarian: Tsvetan & Boiko Bankov (emerge_life@users.sourceforge.net)
- Catalan: Gekko Dam Beer (gekko04@users.sourceforge.net)
- Chinese (Simplified): Guo Yue (guoyue0418@hotmail.com)
- Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com)
- Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com)
- Czech: Jirka Vilim (web@tets.cz)
- Danish: Mathias Nielsen (comoneo@gmail.com)

View File

@@ -1,3 +1,56 @@
* Fri Jan 9 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.3.0
- FEATURE: Based on libtorrent-rasterbar v0.14.2
- FEATURE: Improved ratio calculation system
- FEATURE: Torrent creation code cleanup
- FEATURE: Allow to set maximum number of active seeds (queueing)
- FEATURE: Now seeds priorities are handled automatically by libtorrent-rasterbar (queueing)
- FEATURE: Code cleanup and optimization (save memory and cpu)
- FEATURE: ETA calculation now relies on average speed over all sessions
- FEATURE: Allow to force rechecking torrents
- FEATURE: Added support for 2 new extensions (uTorrent metadata and smart ban plugin)
- FEATURE: Allow to change the save path of torrents after addition
- FEATURE: Got rid of libmagick++ dependency
- FEATURE: Updated Web interface to MochaUI v0.9.5
- FEATURE: Added notification in WebUI when qBittorrent is not reachable
- FEATURE: Rewrote folder scanning code (Now uses a filesystem watcher)
- FEATURE: Added torrent deletion from hard drive function in Web UI
- FEATURE: Added queueing priority actions in Web UI
- FEATURE: Display progress using progress bars in Web UI
- BUGFIX: Made usage of fastresume data more reliable
- BUGFIX: qBittorrent shutdown is now faster
- BUGFIX: Fixed several memory leaks
- BUGFIX: WebUI is now working with IE7
- BUGFIX: Fixed spacing problem in toolbar when toggling its visibility
- BUGFIX: Fixed some compilation and Qt4 warnings
- BUGFIX: Do not use an addition dialog for torrents from folder scanning
- BUGFIX: Catch SIGTERM to exit cleanly (e.g. computer shutdown)
- BUGFIX: Improved proxy support code
- BUGFIX: Fixed systray icon tooltip on Windows
- BUGFIX: Proxy settings are now saved even if disabled
* Sun Nov 9 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.2.1
- BUGFIX: Fixed possible crash when deleting a torrent permanently
- BUGFIX: Queued_for_checking torrents were not displayed as checking in seeding list
- BUGFIX: Speed up startup time when having a lot of torrents
* Wed Oct 29th 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.2.0
- FEATURE: Torrent queueing system (with priorities)
- FEATURE: The number of DHT nodes is displayed
- FEATURE: RSS can now be disabled from program preferences
- FEATURE: Added collapse/expand all buttons in addition and properties dialogs
- FEATURE: Can have different proxies for Bittorrent and search engine
- FEATURE: Allow multiple item selection in Web UI transfer list
- FEATURE: Moved uploads to a separate list in Web UI
- BUGFIX: Totally rewritten Web UI list refresh system (fixed memory leak)
- BUGFIX: Disable ETA calculation when ETA column is hidden
- BUGFIX: Removed "disconnected" connection state, detection was far from perfect
- BUGFIX: Torrents are no longer starting from scratch when changing default save path (when torrent addition dialog is disabled)
- BUGFIX: Single instance code is now more reliable on Qt >= 4.4
- COSMETIC: Transfer speed, ratio, connection status and DHT nodes are displayed in status bar
- COSMETIC: RSS Tab is now hidden as a default
- COSMETIC: Allow to hide or display top toolbar
- COSMETIC: Log is now in a separate dialog
* Sun Sept 14 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.1.4
- FEATURE: DHT is no longer used as fallback only
- FEATURE: Ported WebUI to Mootools v1.2

View File

@@ -17,7 +17,8 @@ Dependencies:
- Qt >= 4.3.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml)
Qt >= 4.4.0 is advised
- libtorrent-rasterbar by Arvid Norberg (>= v0.13.1 REQUIRED)
- libtorrent-rasterbar by Arvid Norberg (>= v0.14.0 REQUIRED)
-> http://www.qbittorrent.org/download.php (advised)
-> http://www.libtorrent.net
Be careful: another library (the one used by rTorrent) uses a similar name.

30
TODO
View File

@@ -1,22 +1,18 @@
See https://blueprints.launchpad.net/qbittorrent/
Translations updated in v1.1.0:
- French
- Chinese
- Polish
- Portuguese
- Brazilian
- Slovak
- Swedish
// translations done in v1.3.0
- Romanian
- Finnish
- Italian
- Turkish
- Korean
- Russian
- Hungarian
- German
- Spanish
- Russian
- Dutch
- Bulgarian
- Greek
- Chinese (traditional)
- Chinese (simplified)
- Italian
- Swedish
- Turkish
- French
- Slovak
- Czech
- Korean
- Portuguese
- Brazilian

113
configure vendored
View File

@@ -26,9 +26,6 @@ Dependency options:
--with-libboost-inc=[path] Path to libboost include files
--with-libcurl-inc=[path] Path to libcurl include files
--with-libcurl-lib=[path] Path to libcurl library files
--disable-libmagick Disable use of libmagick
--with-libmagick-inc=[path] Path to libmagick++ include files
--with-libmagick-lib=[path] Path to libmagick++ library files
--disable-libzzip Disable use of libzzip
--with-libzzip-inc=[path] Path to libzzip++ include files
--with-libzzip-lib=[path] Path to libzzip++ library files
@@ -178,21 +175,6 @@ while [ $# -gt 0 ]; do
shift
;;
--disable-libmagick)
QC_DISABLE_libmagick="Y"
shift
;;
--with-libmagick-inc=*)
QC_WITH_LIBMAGICK_INC=$optarg
shift
;;
--with-libmagick-lib=*)
QC_WITH_LIBMAGICK_LIB=$optarg
shift
;;
--disable-libzzip)
QC_DISABLE_libzzip="Y"
shift
@@ -235,9 +217,6 @@ echo QC_WITH_LIBTORRENT_STATIC_LIB=$QC_WITH_LIBTORRENT_STATIC_LIB
echo QC_WITH_LIBBOOST_INC=$QC_WITH_LIBBOOST_INC
echo QC_WITH_LIBCURL_INC=$QC_WITH_LIBCURL_INC
echo QC_WITH_LIBCURL_LIB=$QC_WITH_LIBCURL_LIB
echo QC_DISABLE_libmagick=$QC_DISABLE_libmagick
echo QC_WITH_LIBMAGICK_INC=$QC_WITH_LIBMAGICK_INC
echo QC_WITH_LIBMAGICK_LIB=$QC_WITH_LIBMAGICK_LIB
echo QC_DISABLE_libzzip=$QC_DISABLE_libzzip
echo QC_WITH_LIBZZIP_INC=$QC_WITH_LIBZZIP_INC
echo QC_WITH_LIBZZIP_LIB=$QC_WITH_LIBZZIP_LIB
@@ -376,13 +355,13 @@ class qc_libtorrent_rasterbar : public ConfObj
{
public:
qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {}
QString name() const { return "libtorrent-rasterbar >= 0.13"; }
QString name() const { return "libtorrent-rasterbar >= 0.14"; }
QString shortname() const { return "libtorrent-rasterbar"; }
bool exec(){
QString s;
s = conf->getenv("QC_WITH_LIBTORRENT_INC");
if(!s.isEmpty()) {
if(!conf->checkHeader(s, "libtorrent/lsd.hpp")) {
if(!conf->checkHeader(s, "libtorrent/magnet_uri.hpp")) {
return false;
}
}else{
@@ -391,7 +370,7 @@ public:
sl << "/usr/local/include";
bool found = false;
foreach(s, sl){
if(conf->checkHeader(s, "libtorrent/lsd.hpp")){
if(conf->checkHeader(s, "libtorrent/magnet_uri.hpp")){
found = true;
break;
}
@@ -553,86 +532,6 @@ public:
return true;
}
};
#line 1 "libmagick.qcm"
/*
-----BEGIN QCMOD-----
name: libmagick
arg: with-libmagick-inc=[path], Path to libmagick++ include files
arg: with-libmagick-lib=[path], Path to libmagick++ library files
-----END QCMOD-----
*/
#include <QProcess>
class qc_libmagick : public ConfObj
{
public:
qc_libmagick(Conf *c) : ConfObj(c) {}
QString name() const { return "ImageMagick library (libmagick++)"; }
QString shortname() const { return "libmagick++"; }
QString checkString() const {
if(!conf->getenv("QC_DISABLE_libmagick").isEmpty())
return "";
return ConfObj::checkString();
}
bool exec(){
if(!conf->getenv("QC_DISABLE_libmagick").isEmpty())
return false;
QString s;
s = conf->getenv("QC_WITH_LIBMAGICK_INC");
if(!s.isEmpty()) {
if(!conf->checkHeader(s, "Magick++.h")) {
return false;
}
}else{
QStringList sl;
sl << "/usr/include";
sl << "/usr/local/include";
bool found = false;
foreach(s, sl){
if(conf->checkHeader(s, "Magick++.h")){
found = true;
break;
}
}
if(!found)
return false;
}
conf->addIncludePath(s);
s = conf->getenv("QC_WITH_LIBMAGICK_LIB");
if(!s.isEmpty()) {
if(!conf->checkLibrary(s, "Magick++")) {
return false;
}
}else{
QStringList sl;
sl << "/usr/lib/";
sl << "/usr/lib64/";
sl << "/usr/local/lib/";
sl << "/usr/local/lib64/";
bool found = false;
foreach(s, sl){
if(conf->checkLibrary(s, "Magick++")) {
found = true;
break;
}
}
if(!found)
return false;
}
conf->addLib(QString("-L") + s);
QProcess magickConfig;
QStringList params;
params << "--libs";
magickConfig.start("Magick++-config", params, QIODevice::ReadOnly);
magickConfig.waitForStarted();
magickConfig.waitForFinished();
QByteArray result = magickConfig.readAll();
result = result.replace("\n", "");
conf->addLib(result.data());
conf->addDefine("HAVE_MAGICK");
return true;
}
};
#line 1 "libzzip.qcm"
/*
-----BEGIN QCMOD-----
@@ -720,9 +619,6 @@ cat >$1/modules_new.cpp <<EOT
o = new qc_libcurl(conf);
o->required = true;
o->disabled = false;
o = new qc_libmagick(conf);
o->required = false;
o->disabled = false;
o = new qc_libzzip(conf);
o->required = false;
o->disabled = false;
@@ -1677,9 +1573,6 @@ export QC_WITH_LIBTORRENT_STATIC_LIB
export QC_WITH_LIBBOOST_INC
export QC_WITH_LIBCURL_INC
export QC_WITH_LIBCURL_LIB
export QC_DISABLE_libmagick
export QC_WITH_LIBMAGICK_INC
export QC_WITH_LIBMAGICK_LIB
export QC_DISABLE_libzzip
export QC_WITH_LIBZZIP_INC
export QC_WITH_LIBZZIP_LIB

View File

@@ -15,6 +15,5 @@
<dep type='libcurl'>
<required/>
</dep>
<dep type='libmagick'/>
<dep type='libzzip'/>
</qconf>

View File

@@ -10,13 +10,13 @@ class qc_libtorrent_rasterbar : public ConfObj
{
public:
qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {}
QString name() const { return "libtorrent-rasterbar >= 0.13"; }
QString name() const { return "libtorrent-rasterbar >= 0.14"; }
QString shortname() const { return "libtorrent-rasterbar"; }
bool exec(){
QString s;
s = conf->getenv("QC_WITH_LIBTORRENT_INC");
if(!s.isEmpty()) {
if(!conf->checkHeader(s, "libtorrent/lsd.hpp")) {
if(!conf->checkHeader(s, "libtorrent/magnet_uri.hpp")) {
return false;
}
}else{
@@ -25,7 +25,7 @@ public:
sl << "/usr/local/include";
bool found = false;
foreach(s, sl){
if(conf->checkHeader(s, "libtorrent/lsd.hpp")){
if(conf->checkHeader(s, "libtorrent/magnet_uri.hpp")){
found = true;
break;
}

View File

@@ -40,7 +40,8 @@
#define SEEDSLEECH 5
#define RATIO 6
#define ETA 7
#define HASH 8
#define PRIORITY 8
#define HASH 9
class DLListDelegate: public QItemDelegate {
Q_OBJECT

View File

@@ -37,7 +37,6 @@ FinishedTorrents::FinishedTorrents(QObject *parent, bittorrent *BTSession) : par
setupUi(this);
actionStart->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/play.png")));
actionPause->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/pause.png")));
connect(BTSession, SIGNAL(addedTorrent(QString, QTorrentHandle&, bool)), this, SLOT(torrentAdded(QString, QTorrentHandle&, bool)));
finishedListModel = new QStandardItemModel(0,6);
finishedListModel->setHeaderData(F_NAME, Qt::Horizontal, tr("Name", "i.e: file name"));
finishedListModel->setHeaderData(F_SIZE, Qt::Horizontal, tr("Size", "i.e: file size"));
@@ -61,7 +60,6 @@ FinishedTorrents::FinishedTorrents(QObject *parent, bittorrent *BTSession) : par
connect(finishedList, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(displayFinishedListMenu(const QPoint&)));
finishedList->header()->setContextMenuPolicy(Qt::CustomContextMenu);
connect(finishedList->header(), SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(displayFinishedHoSMenu(const QPoint&)));
connect(finishedList, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(notifyTorrentDoubleClicked(const QModelIndex&)));
actionDelete->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/delete.png")));
actionPreview_file->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/preview.png")));
@@ -76,6 +74,7 @@ FinishedTorrents::FinishedTorrents(QObject *parent, bittorrent *BTSession) : par
connect(actionOpen_destination_folder, SIGNAL(triggered()), (GUI*)parent, SLOT(openDestinationFolder()));
connect(actionBuy_it, SIGNAL(triggered()), (GUI*)parent, SLOT(goBuyPage()));
connect(actionTorrent_Properties, SIGNAL(triggered()), this, SLOT(propertiesSelection()));
connect(actionForce_recheck, SIGNAL(triggered()), this, SLOT(forceRecheck()));
connect(actionHOSColName, SIGNAL(triggered()), this, SLOT(hideOrShowColumnName()));
connect(actionHOSColSize, SIGNAL(triggered()), this, SLOT(hideOrShowColumnSize()));
@@ -98,9 +97,6 @@ void FinishedTorrents::notifyTorrentDoubleClicked(const QModelIndex& index) {
}
void FinishedTorrents::addTorrent(QString hash){
if(!BTSession->isFinished(hash)){
BTSession->setFinishedTorrent(hash);
}
int row = getRowFromHash(hash);
if(row != -1) return;
row = finishedListModel->rowCount();
@@ -123,16 +119,10 @@ void FinishedTorrents::addTorrent(QString hash){
// Update the number of finished torrents
++nbFinished;
emit finishedTorrentsNumberChanged(nbFinished);
// Sort List
sortFinishedList();
}
void FinishedTorrents::torrentAdded(QString, QTorrentHandle& h, bool) {
QString hash = h.hash();
if(BTSession->isFinished(hash)) {
addTorrent(hash);
}
}
// Set the color of a row in data model
void FinishedTorrents::setRowColor(int row, QString color){
unsigned int nbColumns = finishedListModel->columnCount()-1;
@@ -239,15 +229,8 @@ void FinishedTorrents::on_actionSet_upload_limit_triggered(){
new BandwidthAllocationDialog(this, true, BTSession, hashes);
}
void FinishedTorrents::updateFinishedList(){
QString hash;
QStringList finishedSHAs = BTSession->getFinishedTorrents();
foreach(hash, finishedSHAs){
QTorrentHandle h = BTSession->getTorrentHandle(hash);
if(!h.is_valid()){
qDebug("Problem: This torrent is not valid in finished list");
continue;
}
void FinishedTorrents::updateTorrent(QTorrentHandle h) {
QString hash = h.hash();
int row = getRowFromHash(hash);
if(row == -1){
qDebug("Cannot find torrent in finished list, adding it");
@@ -255,26 +238,24 @@ void FinishedTorrents::updateFinishedList(){
row = getRowFromHash(hash);
}
Q_ASSERT(row != -1);
if(h.is_paused()) continue;
if(h.state() == torrent_status::downloading || (h.state() != torrent_status::checking_files && h.state() != torrent_status::queued_for_checking && h.progress() < 1.)) {
// What are you doing here? go back to download tab!
int reponse = QMessageBox::question(this, tr("Incomplete torrent in seeding list"), tr("It appears that the state of '%1' torrent changed from 'seeding' to 'downloading'. Would you like to move it back to download list? (otherwise the torrent will simply be deleted)").arg(h.name()), QMessageBox::Yes | QMessageBox::No);
if (reponse == QMessageBox::Yes) {
qDebug("Info: a torrent was moved from finished to download tab");
deleteTorrent(hash);
BTSession->setUnfinishedTorrent(hash);
emit torrentMovedFromFinishedList(hash);
}
else if (reponse == QMessageBox::No) {
qDebug("Deleted from the finished");
BTSession->deleteTorrent(hash, true);
}
continue;
if(h.is_paused()) return;
// Update queued torrent
if(BTSession->isQueueingEnabled() && h.is_queued()) {
if(h.state() == torrent_status::checking_files || h.state() == torrent_status::queued_for_checking){
finishedListModel->setData(finishedListModel->index(row, F_NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/time.png"))), Qt::DecorationRole);
} else {
finishedListModel->setData(finishedListModel->index(row, F_NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/skin/queued.png"))), Qt::DecorationRole);
}
// Reset upload speed and seeds/leech
finishedListModel->setData(finishedListModel->index(row, F_UPSPEED), 0.);
finishedListModel->setData(finishedListModel->index(row, F_LEECH), "0");
setRowColor(row, QString::fromUtf8("grey"));
return;
}
if(h.state() == torrent_status::checking_files){
if(h.state() == torrent_status::checking_files || h.state() == torrent_status::queued_for_checking){
finishedListModel->setData(finishedListModel->index(row, F_NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/time.png"))), Qt::DecorationRole);
setRowColor(row, QString::fromUtf8("grey"));
continue;
return;
}
setRowColor(row, QString::fromUtf8("orange"));
finishedListModel->setData(finishedListModel->index(row, F_NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/skin/seeding.png"))), Qt::DecorationRole);
@@ -287,7 +268,6 @@ void FinishedTorrents::updateFinishedList(){
if(!finishedList->isColumnHidden(F_RATIO)) {
finishedListModel->setData(finishedListModel->index(row, F_RATIO), QVariant(misc::toQString(BTSession->getRealRatio(hash))));
}
}
}
int FinishedTorrents::getRowFromHash(QString hash) const{
@@ -311,13 +291,6 @@ void FinishedTorrents::pauseTorrent(QString hash) {
setRowColor(row, QString::fromUtf8("red"));
}
void FinishedTorrents::resumeTorrent(QString hash) {
int row = getRowFromHash(hash);
Q_ASSERT(row != -1);
finishedListModel->setData(finishedListModel->index(row, F_NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/skin/seeding.png"))), Qt::DecorationRole);
setRowColor(row, QString::fromUtf8("orange"));
}
QString FinishedTorrents::getHashFromRow(unsigned int row) const {
Q_ASSERT(row < (unsigned int)finishedListModel->rowCount());
return finishedListModel->data(finishedListModel->index(row, F_HASH)).toString();
@@ -365,6 +338,18 @@ void FinishedTorrents::propertiesSelection(){
}
}
void FinishedTorrents::forceRecheck(){
QModelIndexList selectedIndexes = finishedList->selectionModel()->selectedIndexes();
QModelIndex index;
foreach(index, selectedIndexes){
if(index.column() == F_NAME){
QString hash = finishedListModel->data(finishedListModel->index(index.row(), F_HASH)).toString();
QTorrentHandle h = BTSession->getTorrentHandle(hash);
h.force_recheck();
}
}
}
void FinishedTorrents::displayFinishedListMenu(const QPoint& pos){
QMenu myFinishedListMenu(this);
QModelIndex index;
@@ -402,6 +387,8 @@ void FinishedTorrents::displayFinishedListMenu(const QPoint& pos){
myFinishedListMenu.addSeparator();
myFinishedListMenu.addAction(actionSet_upload_limit);
myFinishedListMenu.addSeparator();
myFinishedListMenu.addAction(actionForce_recheck);
myFinishedListMenu.addSeparator();
myFinishedListMenu.addAction(actionOpen_destination_folder);
myFinishedListMenu.addAction(actionTorrent_Properties);
myFinishedListMenu.addSeparator();
@@ -409,7 +396,7 @@ void FinishedTorrents::displayFinishedListMenu(const QPoint& pos){
// Call menu
// XXX: why mapToGlobal() is not enough?
myFinishedListMenu.exec(mapToGlobal(pos)+QPoint(10,59));
myFinishedListMenu.exec(mapToGlobal(pos)+QPoint(10,58));
}
@@ -421,11 +408,12 @@ void FinishedTorrents::displayFinishedListMenu(const QPoint& pos){
void FinishedTorrents::displayFinishedHoSMenu(const QPoint& pos){
QMenu hideshowColumn(this);
hideshowColumn.setTitle(tr("Hide or Show Column"));
for(int i=0; i<=F_RATIO; i++) {
int lastCol = F_RATIO;
for(int i=0; i<=lastCol; i++) {
hideshowColumn.addAction(getActionHoSCol(i));
}
// Call menu
hideshowColumn.exec(mapToGlobal(pos)+QPoint(10,32));
hideshowColumn.exec(mapToGlobal(pos)+QPoint(10,34));
}
// toggle hide/show a column
@@ -558,6 +546,7 @@ void FinishedTorrents::toggleFinishedListSortOrder(int index) {
switch(index) {
case F_SIZE:
case F_UPSPEED:
case F_RATIO:
sortFinishedListFloat(index, sortOrder);
break;
default:

View File

@@ -60,13 +60,11 @@ class FinishedTorrents : public QWidget, public Ui::seeding {
void displayFinishedHoSMenu(const QPoint&);
void setRowColor(int row, QString color);
void saveColWidthFinishedList() const;
void loadLastSortedColumn();
void toggleFinishedListSortOrder(int index);
void sortFinishedList(int index=-1, Qt::SortOrder sortOrder=Qt::AscendingOrder);
void sortFinishedListFloat(int index, Qt::SortOrder sortOrder);
void sortFinishedListString(int index, Qt::SortOrder sortOrder);
void updateFileSize(QString hash);
void torrentAdded(QString path, QTorrentHandle& h, bool fastResume);
void on_actionSet_upload_limit_triggered();
void notifyTorrentDoubleClicked(const QModelIndex& index);
void hideOrShowColumnName();
@@ -74,15 +72,16 @@ class FinishedTorrents : public QWidget, public Ui::seeding {
void hideOrShowColumnUpSpeed();
void hideOrShowColumnLeechers();
void hideOrShowColumnRatio();
void forceRecheck();
public slots:
void addTorrent(QString hash);
void updateFinishedList();
void updateTorrent(QTorrentHandle h);
void pauseTorrent(QString hash);
void resumeTorrent(QString hash);
void propertiesSelection();
void deleteTorrent(QString hash);
void showPropertiesFromHash(QString hash);
void loadLastSortedColumn();
signals:
void torrentMovedFromFinishedList(QString);

File diff suppressed because it is too large Load Diff

View File

@@ -52,6 +52,7 @@ class QTabWidget;
class QLabel;
class QModelIndex;
class HttpServer;
class QFrame;
class GUI : public QMainWindow, private Ui::MainWindow{
Q_OBJECT
@@ -63,7 +64,7 @@ class GUI : public QMainWindow, private Ui::MainWindow{
QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers;
// GUI related
QTabWidget *tabs;
options_imp *options;
QPointer<options_imp> options;
QSystemTrayIcon *myTrayIcon;
QPointer<QTimer> systrayCreator;
QMenu *myTrayIconMenu;
@@ -75,12 +76,22 @@ class GUI : public QMainWindow, private Ui::MainWindow{
bool force_exit;
unsigned int refreshInterval;
QTimer *refresher;
QLabel *dlSpeedLbl;
QLabel *upSpeedLbl;
QLabel *ratioLbl;
QLabel *DHTLbl;
QFrame *statusSep1;
QFrame *statusSep2;
QFrame *statusSep3;
QFrame *statusSep4;
// Keyboard shortcuts
QShortcut *switchSearchShortcut;
QShortcut *switchSearchShortcut2;
QShortcut *switchDownShortcut;
QShortcut *switchUpShortcut;
QShortcut *switchRSSShortcut;
QAction *prioSeparator;
QAction *prioSeparator2;
// Search
SearchEngine *searchEngine;
// RSS
@@ -105,6 +116,7 @@ class GUI : public QMainWindow, private Ui::MainWindow{
void on_actionCreate_torrent_triggered();
void on_actionWebsite_triggered() const;
void on_actionBugReport_triggered() const;
void on_actionShow_console_triggered();
void readParamsOnSocket();
void acceptConnection();
void togglePausedState(QString hash);
@@ -144,18 +156,21 @@ class GUI : public QMainWindow, private Ui::MainWindow{
void processParams(const QStringList& params);
void addTorrent(QString path);
void addUnauthenticatedTracker(QPair<QTorrentHandle,QString> tracker);
void processScannedFiles(const QStringList& params);
void processDownloadedFiles(QString path, QString url);
void downloadFromURLList(const QStringList& urls);
void deleteTorrent(QString hash);
void deleteRatioTorrent(QString fileName);
void finishedTorrent(QTorrentHandle& h) const;
void updateLists();
void addedTorrent(QTorrentHandle& h) const;
void checkedTorrent(QTorrentHandle& h) const;
void pausedTorrent(QTorrentHandle& h) const;
void resumedTorrent(QTorrentHandle& h) const;
void updateLists(bool force=false);
bool initWebUi(QString username, QString password, int port);
void pauseTorrent(QString hash);
void on_actionIncreasePriority_triggered();
void on_actionDecreasePriority_triggered();
// Options slots
void on_actionOptions_triggered();
void OptionsSaved(QString info, bool deleteOptions);
void OptionsSaved(bool deleteOptions);
// HTTP slots
void on_actionDownload_from_URL_triggered();
@@ -169,7 +184,9 @@ class GUI : public QMainWindow, private Ui::MainWindow{
protected:
void closeEvent(QCloseEvent *);
void hideEvent(QHideEvent *);
void showEvent(QShowEvent *);
bool event(QEvent * event);
void displayRSSTab(bool enable);
public:
// Construct / Destruct

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 576 B

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 B

BIN
src/Icons/skin/tabs.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -187,4 +187,3 @@ bool SearchTab::loadColWidthSearchList(){
qDebug("Search list columns width loaded");
return true;
}

View File

@@ -56,7 +56,7 @@ class about : public QDialog, private Ui::AboutDlg{
"<i>- <u>Brazilian:</u> Nick Marinho (nickmarinho@gmail.com)<br>\
- <u>Bulgarian:</u> Tsvetan & Boiko Bankov (emerge_life@users.sourceforge.net)<br>\
- <u>Catalan:</u> Gekko Dam Beer (gekko04@users.sourceforge.net)<br>\
- <u>Chinese (Simplified):</u> Guo Yue (guoyue0418@hotmail.com)<br>\
- <u>Chinese (Simplified):</u> Guo Yue (yue.guo0418@gmail.com)<br>\
- <u>Chinese (Traditional):</u> Yi-Shun Wang (dnextstep@gmail.com)<br>\
- <u>Czech:</u> Jirka Vilim (web@tets.cz)<br>\
- <u>Danish:</u> Mathias Nielsen (comoneo@gmail.com)<br>\
@@ -76,7 +76,7 @@ class about : public QDialog, private Ui::AboutDlg{
- <u>Slovak:</u> helix84<br>\
- <u>Spanish:</u> Vicente Raul Plata Fonseca (silverxnt@users.sourceforge.net) and Gabriel de Oliveira (deadloop@hotmail.com)<br>\
- <u>Swedish:</u> Daniel Nylander (po@danielnylander.se)<br>\
- <u>Turkish:</u> Erdem Bingöl (erdem84@gmail.com)<br>\
- <u>Turkish:</u> Hasan YILMAZ (iletisim@hedefturkce.com) and Erdem Bingöl (erdem84@gmail.com)<br>\
- <u>Ukrainian:</u> Andrey Shpachenko (masterfix@users.sourceforge.net)<br><br>"));
te_translation->append(tr("Please contact me if you would like to translate qBittorrent into your own language."));
te_translation->scrollToAnchor(QString::fromUtf8("top"));

View File

@@ -13,21 +13,6 @@
<string>Torrent addition dialog</string>
</property>
<layout class="QVBoxLayout" >
<property name="spacing" >
<number>6</number>
</property>
<property name="leftMargin" >
<number>9</number>
</property>
<property name="topMargin" >
<number>9</number>
</property>
<property name="rightMargin" >
<number>9</number>
</property>
<property name="bottomMargin" >
<number>9</number>
</property>
<item>
<widget class="QLabel" name="fileNameLbl" >
<property name="text" >
@@ -110,6 +95,50 @@
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" >
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="collapseAllButton" >
<property name="text" >
<string>Collapse all</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="expandAllButton" >
<property name="text" >
<string>Expand all</string>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="checkIncrementalDL" >
<property name="text" >

View File

@@ -172,27 +172,27 @@ class arborescence {
torrent_file *root;
public:
arborescence(torrent_info t) {
torrent_info::file_iterator fi = t.begin_files();
if(t.num_files() > 1) {
root = new torrent_file(0, misc::toQString(t.name()), true);
arborescence(boost::intrusive_ptr<torrent_info> t) {
torrent_info::file_iterator fi = t->begin_files();
if(t->num_files() > 1) {
root = new torrent_file(0, misc::toQString(t->name()), true);
} else {
// XXX: Will crash if there is no file in torrent
root = new torrent_file(0, misc::toQString(t.name()), false, fi->size, 0);
root = new torrent_file(0, misc::toQString(t->name()), false, fi->size, 0);
return;
}
int i = 0;
while(fi != t.end_files()) {
while(fi != t->end_files()) {
QString path = QDir::cleanPath(misc::toQString(fi->path.string()));
addFile(path, fi->size, i);
fi++;
++i;
}
qDebug("real size: %ld, tree size: %ld", (long)t.total_size(), (long)root->getSize());
Q_ASSERT(root->getSize() == t.total_size());
qDebug("real size: %ld, tree size: %ld", (long)t->total_size(), (long)root->getSize());
Q_ASSERT(root->getSize() == t->total_size());
}
arborescence(torrent_info t, std::vector<float> fp, int *prioritiesTab) {
arborescence(torrent_info const& t, std::vector<size_type> fp, int *prioritiesTab) {
torrent_info::file_iterator fi = t.begin_files();
if(t.num_files() > 1) {
qDebug("More than one file in the torrent, setting a folder as root");
@@ -200,13 +200,13 @@ class arborescence {
} else {
// XXX: Will crash if there is no file in torrent
qDebug("one file in the torrent, setting it as root with index 0");
root = new torrent_file(0, misc::toQString(t.name()), false, fi->size, 0, fp[0], prioritiesTab[0]);
root = new torrent_file(0, misc::toQString(t.name()), false, fi->size, 0, fp[0]/t.file_at(0).size, prioritiesTab[0]);
return;
}
int i = 0;
while(fi != t.end_files()) {
QString path = QDir::cleanPath(misc::toQString(fi->path.string()));
addFile(path, fi->size, i, fp[i], prioritiesTab[i]);
addFile(path, fi->size, i, fp[i]/t.file_at(i).size, prioritiesTab[i]);
fi++;
++i;
}

File diff suppressed because it is too large Load Diff

View File

@@ -22,10 +22,9 @@
#define __BITTORRENT_H__
#include <QHash>
#include <QList>
#include <QPair>
#include <QStringList>
#include <QDateTime>
#include <QApplication>
#include <QPalette>
#include <QPointer>
#include <libtorrent/session.hpp>
@@ -35,30 +34,26 @@
using namespace libtorrent;
class downloadThread;
class deleteThread;
class QTimer;
class QFileSystemWatcher;
class QMutex;
class FilterParserThread;
class bittorrent : public QObject{
class bittorrent : public QObject {
Q_OBJECT
private:
session *s;
QString scan_dir;
QPointer<QTimer> timerScan;
QTimer *timerAlerts;
QTimer *fastResumeSaver;
QPointer<QFileSystemWatcher> FSWatcher;
QMutex* FSMutex;
QPointer<QTimer> timerAlerts;
QPointer<QTimer> BigRatioTimer;
bool DHTEnabled;
downloadThread *downloader;
QPointer<downloadThread> downloader;
QString defaultSavePath;
QHash<QString, QDateTime> TorrentsStartTime;
QHash<QString, size_type> TorrentsStartData;
QHash<QString, QPair<size_type,size_type> > ratioData;
QHash<QString, QHash<QString, QString> > trackersErrors;
deleteThread *deleter;
QStringList finishedTorrents;
QStringList unfinishedTorrents;
QStringList consoleMessages;
QStringList peerBanMessages;
bool preAllocateAll;
bool addInPause;
int maxConnecsPerTorrent;
@@ -69,7 +64,7 @@ class bittorrent : public QObject{
bool LSDEnabled;
QPointer<FilterParserThread> filterParser;
QString filterPath;
int folderScanInterval; // in seconds
bool queueingEnabled;
QStringList url_skippingDlg;
protected:
@@ -80,50 +75,58 @@ class bittorrent : public QObject{
bittorrent();
~bittorrent();
QTorrentHandle getTorrentHandle(QString hash) const;
bool isPaused(QString hash) const;
std::vector<torrent_handle> getTorrents() const;
bool isFilePreviewPossible(QString fileHash) const;
bool isDHTEnabled() const;
float getPayloadDownloadRate() const;
float getPayloadUploadRate() const;
session_status getSessionStatus() const;
int getListenPort() const;
qlonglong getETA(QString hash) const;
float getRealRatio(QString hash) const;
session* getSession() const;
QHash<QString, QString> getTrackersErrors(QString hash) const;
QStringList getFinishedTorrents() const;
QStringList getUnfinishedTorrents() const;
bool isFinished(QString hash) const;
bool has_filtered_files(QString hash) const;
unsigned int getFinishedPausedTorrentsNb() const;
unsigned int getUnfinishedPausedTorrentsNb() const;
float getUncheckedTorrentProgress(QString hash) const;
bool isQueueingEnabled() const;
int getDlTorrentPriority(QString hash) const;
int getUpTorrentPriority(QString hash) const;
int getMaximumActiveDownloads() const;
int getMaximumActiveTorrents() const;
int loadTorrentPriority(QString hash);
QStringList getConsoleMessages() const;
QStringList getPeerBanMessages() const;
qlonglong getETA(QString hash) const;
public slots:
void addTorrent(QString path, bool fromScanDir = false, QString from_url = QString(), bool resumed = false);
QTorrentHandle addTorrent(QString path, bool fromScanDir = false, QString from_url = QString(), bool resumed = false);
void loadSessionState();
void saveSessionState();
void downloadFromUrl(QString url);
void downloadFromURLList(const QStringList& url_list);
void deleteTorrent(QString hash, bool permanent = false);
bool pauseTorrent(QString hash);
bool resumeTorrent(QString hash);
/* Needed by Web UI */
void pauseAllTorrents();
void resumeAllTorrents();
void pauseTorrent(QString hash);
void resumeTorrent(QString hash);
/* End Web UI */
void saveDHTEntry();
void preAllocateAllFiles(bool b);
void saveFastResumeAndRatioData();
void saveFastResumeAndRatioData(QString hash);
void saveFastResumeData();
void enableDirectoryScanning(QString scan_dir);
void disableDirectoryScanning();
void enablePeerExchange();
void enableIPFilter(QString filter);
void disableIPFilter();
void setQueueingEnabled(bool enable);
void resumeUnfinishedTorrents();
void saveTorrentPriority(QString hash, int prio);
void saveTorrentSpeedLimits(QString hash);
void loadTorrentSpeedLimits(QString hash);
void saveDownloadUploadForTorrent(QString hash);
void loadDownloadUploadForTorrent(QString hash);
void handleDownloadFailure(QString url, QString reason);
void loadWebSeeds(QString fileHash);
void increaseDlTorrentPriority(QString hash);
void decreaseDlTorrentPriority(QString hash);
void downloadUrlAndSkipDialog(QString);
// Session configuration - Setters
void setListeningPortsRange(std::pair<unsigned short, unsigned short> ports);
@@ -143,17 +146,15 @@ class bittorrent : public QObject{
void loadFilesPriorities(QTorrentHandle& h);
void setDownloadLimit(QString hash, long val);
void setUploadLimit(QString hash, long val);
void setUnfinishedTorrent(QString hash);
void setFinishedTorrent(QString hash);
void enableUPnP(bool b);
void enableNATPMP(bool b);
void enableLSD(bool b);
bool enableDHT(bool b);
void reloadTorrent(const QTorrentHandle &h, bool full_alloc);
void setTimerScanInterval(int secs);
void addConsoleMessage(QString msg, QColor color=QApplication::palette().color(QPalette::WindowText));
void addPeerBanMessage(QString msg, bool from_ipfilter);
protected slots:
void scanDirectory();
void scanDirectory(QString);
void readAlerts();
void processDownloadedFile(QString, QString);
bool loadTrackerFile(QString hash);
@@ -161,29 +162,18 @@ class bittorrent : public QObject{
void deleteBigRatios();
signals:
void invalidTorrent(QString path);
void duplicateTorrent(QString path);
void addedTorrent(QString path, QTorrentHandle& h, bool fastResume);
void addedTorrent(QTorrentHandle& h);
void deletedTorrent(QString hash);
void pausedTorrent(QString hash);
void resumedTorrent(QString hash);
void pausedTorrent(QTorrentHandle& h);
void resumedTorrent(QTorrentHandle& h);
void finishedTorrent(QTorrentHandle& h);
void fullDiskError(QTorrentHandle& h);
void trackerError(QString hash, QString time, QString msg);
void portListeningFailure();
void trackerAuthenticationRequired(QTorrentHandle& h);
void scanDirFoundTorrents(const QStringList& pathList);
void newDownloadedTorrent(QString path, QString url);
void aboutToDownloadFromUrl(QString url);
void updateFileSize(QString hash);
void peerBlocked(QString);
void downloadFromUrlFailure(QString url, QString reason);
void fastResumeDataRejected(QString name);
void urlSeedProblem(QString url, QString msg);
//void torrentFinishedChecking(QString hash);
void torrent_ratio_deleted(QString fileName);
void UPnPError(QString msg);
void UPnPSuccess(QString msg);
void torrentFinishedChecking(QTorrentHandle& h);
};
#endif

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