1
mirror of https://github.com/qbittorrent/qBittorrent synced 2025-10-12 03:12:18 +02:00

Compare commits

...

323 Commits

Author SHA1 Message Date
Christophe Dumez
e46abe4294 Tagged v2.1.0 release 2010-01-18 19:02:07 +00:00
Christophe Dumez
aaeb6b90ed Updated Greek and Bulgarian translations 2010-01-18 18:33:54 +00:00
Christophe Dumez
d124ada755 - Make sure status bar is rendered properly when the font size is higher than default 2010-01-18 18:24:43 +00:00
Christophe Dumez
31105aefe4 - Updated configure file (libtorrent >= 0.14.4 is required) 2010-01-18 17:10:25 +00:00
Christophe Dumez
44c258796e - Bump to final, updated changelog (Release is nearing) 2010-01-18 17:06:42 +00:00
Christophe Dumez
26100120a9 Updated Portuguese and Brazilian translations 2010-01-17 23:18:41 +00:00
Christophe Dumez
0db8ce891b Updated czech translation 2010-01-17 23:09:44 +00:00
Christophe Dumez
979aba5685 Updated Serbian translation 2010-01-17 21:31:17 +00:00
Christophe Dumez
396da6bd94 - Fix to make sure that the filters list height is always sufficient to display all the filters (without the need for a scrollbar) 2010-01-17 21:27:08 +00:00
Christophe Dumez
1b0d86220f - Increased number of failed authentication attempts to 5 in Web UI 2010-01-17 09:09:57 +00:00
Christophe Dumez
957d2c0d1a Updated Korean translation 2010-01-17 02:15:17 +00:00
Christophe Dumez
455657912a Updated Simplified Chinese translation 2010-01-17 02:02:55 +00:00
Christophe Dumez
e3da1902df French translation fix 2010-01-17 01:27:20 +00:00
Christophe Dumez
d0f8e9208f - Fixed year in man pages 2010-01-16 16:34:37 +00:00
Christophe Dumez
de50346428 HTTP proxy support for peer communication 2010-01-15 16:41:39 +00:00
Christophe Dumez
c7ca51f950 Use HTTP digest mode for Web UI authentication (instead of Basic) 2010-01-15 14:20:20 +00:00
Christophe Dumez
4522174555 Updated spanish and catalan translations 2010-01-15 07:32:33 +00:00
Christophe Dumez
126230ad08 BUGFIX: Properly display torrents with one file in subfolder(s) 2010-01-14 22:53:59 +00:00
Christophe Dumez
6aa1f4156a - bump to rc7 2010-01-14 22:08:06 +00:00
Christophe Dumez
2726faa090 - Updated french translation 2010-01-14 20:49:01 +00:00
Christophe Dumez
230b84032d - Updated Changelog 2010-01-14 20:41:58 +00:00
Christophe Dumez
9c4c5e2d1a - Protect Web UI authentication against brute forcing (IP are banned after 3 failed attempts) 2010-01-14 20:40:06 +00:00
Christophe Dumez
2bf8e2d2d7 - file priority can be set for finished torrents that have filtered files 2010-01-14 20:01:30 +00:00
Christophe Dumez
9bb05c8dea - Patch by Mariusz Fik to fix font inconsistancy in program preferences 2010-01-14 15:38:07 +00:00
Christophe Dumez
2707aa2818 - Display favicon in Web UI 2010-01-14 12:37:19 +00:00
Christophe Dumez
93c644da88 - Make sure no scroll bar is displayed in filters list 2010-01-14 12:22:52 +00:00
Christophe Dumez
4a114c0fdc - Updated spanish and Catalan translations 2010-01-14 12:17:47 +00:00
Christophe Dumez
f95108155d - Maximum value for rate limiting in peer list is now taken from program preferences 2010-01-13 21:23:02 +00:00
Christophe Dumez
75f75854c2 - Use automatic width for context menu in Web UI 2010-01-13 19:28:38 +00:00
Christophe Dumez
e20c3cd0b6 Updated Polish translation 2010-01-13 18:58:59 +00:00
Christophe Dumez
2273ea4099 - Use Alternating row colors in {Peers, trackers, Files} lists too (if enabled) 2010-01-12 23:16:18 +00:00
Christophe Dumez
b115b0c6a3 Updated German translation 2010-01-12 21:16:00 +00:00
Christophe Dumez
9d79a51f18 - Fix compilation error with libtorrent v0.14.3 2010-01-12 08:23:18 +00:00
Christophe Dumez
db9005158e - Updated Korean translation 2010-01-12 08:22:12 +00:00
Christophe Dumez
4491999a8c - qBittorrent requires libtorrent-rasterbar >= 0.14.4 2010-01-11 22:09:56 +00:00
Christophe Dumez
113a502a7e - Bump to rc6 2010-01-11 20:23:28 +00:00
Christophe Dumez
7ad39003f4 - Fix error in torrent addition dialog when the label name is left empty 2010-01-11 20:09:32 +00:00
Christophe Dumez
4b43871708 - Bump to v2.1.0rc5
- Disabled debug mode
2010-01-11 14:53:56 +00:00
Christophe Dumez
aa8f7552a2 - RSS filters are now alphabetically sorted
- Fix crash when renaming currently displayed RSS filter
- Remove overwriting confirmation when exporting RSS filters since Qt takes care of it
2010-01-11 14:39:58 +00:00
Christophe Dumez
19d94b53d2 Updated Swedish translation 2010-01-11 07:59:56 +00:00
Christophe Dumez
ca98a261e6 Updated Serbian translation 2010-01-10 18:53:19 +00:00
Christophe Dumez
535ec2ced6 Updated Romania and traditiona chinese translations 2010-01-10 16:15:44 +00:00
Christophe Dumez
a300c236ba - Code cleanup 2010-01-09 23:33:45 +00:00
Christophe Dumez
b16c26b24c - Label list is now alphabetically sorted 2010-01-09 23:24:50 +00:00
Christophe Dumez
1b1dde3fc8 - Fix '!' support in label names 2010-01-09 22:09:20 +00:00
Christophe Dumez
bd5880843f - flush cache before file preview (libtorrent >= 0.15 only) 2010-01-09 21:39:17 +00:00
Christophe Dumez
abf35a31f3 Updated Finnish translation 2010-01-09 21:06:50 +00:00
Christophe Dumez
015638035a Updated Spanish and Catalan translation 2010-01-09 20:08:47 +00:00
Christophe Dumez
8e27fe83f1 Updated greek translation 2010-01-09 19:02:40 +00:00
Christophe Dumez
ce4b105065 Updated slovak translation 2010-01-09 17:53:54 +00:00
Christophe Dumez
37a7b79a6f - Translated legal notice into French 2010-01-09 15:32:58 +00:00
Christophe Dumez
ef19e8aeef - Added legal notice dialog on startup. The user must agree for the program to start. 2010-01-09 15:26:20 +00:00
Christophe Dumez
f6886b4749 - Compilation fix for Qt 4.4 2010-01-09 14:19:43 +00:00
Christophe Dumez
8306959cb4 - Make sure the application is not built against QtGui when the GUI is disabled 2010-01-09 13:55:24 +00:00
Christophe Dumez
d1918ee206 Updated Serbian translation 2010-01-09 09:33:01 +00:00
Christophe Dumez
b2b76f9e35 Updated Traditional Chinese translation 2010-01-09 08:53:59 +00:00
Christophe Dumez
a07fb264e8 Updated German translation 2010-01-08 22:51:14 +00:00
Christophe Dumez
881f2d04d2 - Updated french translation 2010-01-08 20:45:09 +00:00
Christophe Dumez
e1b629df88 - Bump to rc4
- Clean up project file
2010-01-08 20:33:54 +00:00
Christophe Dumez
eab6a194e1 - Updated AUTHORS file 2010-01-08 20:17:12 +00:00
Christophe Dumez
3733bc9148 FEATURE: Search engine can now use a SOCKS5 proxy
BUGFIX: Search engine loads new proxy settings without program restart
Fix a bug in HTTP communication proxy settings
2010-01-08 20:15:08 +00:00
Christophe Dumez
ae5746a636 - Updated Changelog 2010-01-07 21:12:11 +00:00
Christophe Dumez
cb509cebb3 - Updated search resource file 2010-01-07 21:11:07 +00:00
Christophe Dumez
511c4474c7 - Promoted torrentdownloads.net and vertor.com search plugins from unofficial plugins to official (in qBittorrent v2.1.0) 2010-01-07 21:08:58 +00:00
Christophe Dumez
d063aea977 - Double-clicking on folders in torrent content opens it in a file explorer 2010-01-07 20:48:52 +00:00
Christophe Dumez
447efc52d8 - Added SOCKS5 proxy for http connections to Web UI too 2010-01-07 20:40:39 +00:00
Christophe Dumez
296acf820c Fix to proxy settings
Added back SOCKS5 proxy support for HTTP communications
2010-01-07 20:35:12 +00:00
Christophe Dumez
6ae49acb69 - qbittorrent-nox no longer installs a desktop files, nor qbittorrent icons 2010-01-07 20:02:25 +00:00
Christophe Dumez
af1b06c5be - Fix several bugs in RSS plugin
* RSS downloader takes into consideration maximum number of articles per feed
  * Fix possible issue with RSS folder deletion
  * Clear persistant data whenever a RSS feed is deleted
2010-01-07 19:51:25 +00:00
Christophe Dumez
4732c8565d - Refresh RSS feed as soon as feed downloader is enabled 2010-01-07 18:42:47 +00:00
Christophe Dumez
52dd1476db - Fix addInPause setting in torrent addition dialog 2010-01-07 18:17:20 +00:00
Christophe Dumez
63170b9214 - Updated spanish and catalan translations 2010-01-07 07:37:51 +00:00
Christophe Dumez
2203b399df Updated Catalan and spanish translations 2010-01-07 07:34:41 +00:00
Christophe Dumez
d80f7a6ef3 - Updated Polish, Finnish, Catalan and spanish translations 2010-01-06 18:04:03 +00:00
Christophe Dumez
88c56d8250 - Added support for magnet links in search engine. Most search Web sites provides magnet links now and in the futures, they may provide only the magnet links. 2010-01-05 22:31:06 +00:00
Christophe Dumez
fca24a8f84 - Bump to rc3 2010-01-05 21:06:20 +00:00
Christophe Dumez
6d140a141a - Updated french translation 2010-01-05 21:05:37 +00:00
Christophe Dumez
a18e325c18 FEATURE: Files contained in a torrent are opened on double click (files panel) 2010-01-05 20:57:33 +00:00
Christophe Dumez
c4d9c51e49 - Never display a horizontal scrollbar in status filters list 2010-01-05 20:31:20 +00:00
Christophe Dumez
27e980de28 - Added buttons to change trackers priority (libtorrent v0.14 only) 2010-01-05 19:59:25 +00:00
Christophe Dumez
3c4906bb4d - Patch in last commit was wrong 2010-01-05 18:48:51 +00:00
Christophe Dumez
da796c80c3 - Forgot to move the torrent data when its label is deleted 2010-01-05 18:11:52 +00:00
Christophe Dumez
7a2af0f506 - Updated spanish and Catalan translation 2010-01-05 17:19:19 +00:00
Christophe Dumez
3e562e7450 - Updated French translation 2010-01-05 12:30:20 +00:00
Christophe Dumez
4fc777268b - Validate new file names to make sure they are allowed by the file system 2010-01-05 12:28:42 +00:00
Christophe Dumez
037e57b687 - Validate label names to make sure there is no character forbidden by the file system 2010-01-05 12:18:17 +00:00
Christophe Dumez
2b289655c1 - Fix torrent deletion confirmation dialog so that the text does not get cut on the right. (Fix by Elrond, Thanks!) 2010-01-04 22:40:20 +00:00
Christophe Dumez
118ea6093d - Rename GUI-less qBittorrent executable to "qbittorrent-nox", with its own man page 2010-01-04 22:29:48 +00:00
Christophe Dumez
cac6f7428c - When incomplete torrents are saved to a different path, check if content is already present at final location
- Automacillay force a data recheck every time a torrent is moved (because libtorrent does not take care of checking if the torrent data exists at the destination location)
2010-01-04 21:16:33 +00:00
Christophe Dumez
ae6acc4ca2 - Fix possible issue with label counts when deleting a torrent 2010-01-04 19:44:03 +00:00
Christophe Dumez
641c6f0132 - Updated slovak translation 2010-01-04 19:34:07 +00:00
Christophe Dumez
56dc8cad71 - Added ASSERT 2010-01-03 21:09:01 +00:00
Christophe Dumez
7cc07d842c - Put back the ASSERT (it should no longer be hit) 2010-01-03 19:03:05 +00:00
Christophe Dumez
baaadf07fa - Do not save currently selected label since we no longer restore it on startup 2010-01-03 18:52:43 +00:00
Christophe Dumez
719b32ba36 - Fix bugs with torrent labeling (Problems when adding a torrent when a filter was selected) 2010-01-03 18:51:24 +00:00
Christophe Dumez
af5c1096b5 - Fix crash on start introduced in last commit 2010-01-03 18:42:16 +00:00
Christophe Dumez
3008222b92 - Make sure QModelIndex is correct before using it 2010-01-03 18:34:37 +00:00
Christophe Dumez
5ef9faacd5 Updated french translation
Bump to rc2
2010-01-03 15:04:04 +00:00
Christophe Dumez
ff65b6ea2f - Adapt torrent addition dialog size when the torrent is a magnet link (since we don't display torrent content) 2010-01-03 14:59:14 +00:00
Christophe Dumez
4c8a087b81 - Fix signal bug introduced in last commit 2010-01-03 14:41:29 +00:00
Christophe Dumez
8f4bf93f02 - Fix defining a new label from torrent addition dialog
- Stop catching SIGABRT, SIGSEGV once one is received to avoid possible infinite loop
2010-01-03 14:38:59 +00:00
Christophe Dumez
824b2f6fff - Update changelog and language files 2010-01-03 14:24:05 +00:00
Christophe Dumez
ba0c7334b7 - Use torrent addition dialog for Magnet URIs too 2010-01-03 14:20:31 +00:00
Christophe Dumez
a1dd724220 - Fix issue with torrent label not being remembered on startup under certain circumstances 2010-01-03 13:15:26 +00:00
Christophe Dumez
a7820e5f08 - Make sure the torrent file is valid before loading it 2010-01-03 13:00:16 +00:00
Christophe Dumez
1a2eee8060 - Fix to spanish and Catalan translations 2010-01-03 12:47:40 +00:00
Christophe Dumez
4a2713a9f0 - Updated program usage translatable strings to make sure translators do not translate program parameters 2010-01-03 09:17:41 +00:00
Christophe Dumez
5ece0b4f70 - Spanish and Catalan translations are now complete 2010-01-03 09:08:07 +00:00
Christophe Dumez
44e8ec2b37 - Removed "Bullet" from translatable strings since it is not displayed 2010-01-03 01:19:37 +00:00
Christophe Dumez
d7e5f4b895 - Update Spanish and Catalan translations 2010-01-03 01:02:04 +00:00
Christophe Dumez
b0c7bdf82b - Made program usage message (help) translatable
- Bump to rc1
2010-01-02 23:40:57 +00:00
Christophe Dumez
a239ac1a52 - Removed debug 2010-01-02 23:12:40 +00:00
Christophe Dumez
99459dc55d - Fixing indentation
- Stop catching SIGINT and SIGTERM once the application has exiting
2010-01-02 23:03:46 +00:00
Christophe Dumez
78ba99778a - Fix crash when deleting a label 2010-01-02 22:53:27 +00:00
Christophe Dumez
96d3df3135 - Updated Changelog and INSTALL file 2010-01-02 22:29:36 +00:00
Christophe Dumez
cbe4bbac6a - Merged headless branch 2010-01-02 22:20:37 +00:00
Christophe Dumez
f502e82ec4 - Fix to Catalan translation 2010-01-02 15:09:35 +00:00
Christophe Dumez
a5d8766a9e Use XDG folders (.cache, .local) instead of .qbittorrent
old .qbittorrent is imported and moved to XDG folder by qBittorrent so that the user does not loose anything
2010-01-02 11:22:44 +00:00
Christophe Dumez
55d8e3d76b Updated Catalan translation 2010-01-02 09:10:51 +00:00
Christophe Dumez
7b7fb4d278 - Updated Spanish and Catalan translations 2010-01-01 20:34:32 +00:00
Christophe Dumez
09c7c50ad3 - qBittorrent can now identify itself as KTorrent too 2010-01-01 20:29:03 +00:00
Christophe Dumez
131250dc03 - Bump to beta4 2010-01-01 13:38:55 +00:00
Christophe Dumez
130187723c - Updated language files and french translation 2010-01-01 13:38:23 +00:00
Christophe Dumez
7bac95c9ad - Torrents can be renamed in transfer list 2010-01-01 13:25:59 +00:00
Christophe Dumez
add2475700 - Files / Folders can also be renamed directly from torrent addition dialog 2010-01-01 10:55:13 +00:00
Christophe Dumez
533e402bca - Updated Spanish translation 2009-12-31 18:23:06 +00:00
Christophe Dumez
b87a23037e - Fix crash in pieces downloaded/availability bars when the torrent has too many pieces 2009-12-31 16:34:56 +00:00
Christophe Dumez
6d88bb5b83 - Made sure the pixmap cannot be drawn with uninitialized data 2009-12-31 15:10:30 +00:00
Christophe Dumez
435801c893 - Added Peer id spoofing settings to Web UI 2009-12-30 17:47:10 +00:00
Christophe Dumez
9d0577fa5c - Display the correct DHT port in the console 2009-12-30 16:47:03 +00:00
Christophe Dumez
f2891dae74 - Another fix for global download rate limiting in Web UI 2009-12-30 16:40:52 +00:00
Christophe Dumez
a43a1f5b67 - Fix global download rate limiting (Web UI) 2009-12-30 16:37:34 +00:00
Christophe Dumez
ee9ca1ece7 - Use global maximum transfer rates as maximum values in per-torrent speed limiting dialogs (Web UI) 2009-12-30 16:32:19 +00:00
Christophe Dumez
8271e20fac - Started work on adding Peer ID spoofing settings for Web UI (incomplete) 2009-12-30 16:21:05 +00:00
Christophe Dumez
132b1f7ffe - Use global maximum transfer rates as maximum values in per-torrent speed limiting dialogs 2009-12-30 16:18:50 +00:00
Christophe Dumez
77b4d97069 - Display current version in fields when the combobox value is changed (Peer ID spoofing) 2009-12-30 15:55:21 +00:00
Christophe Dumez
2168d5a30e - qBittorrent no longer listens on a random port whenever it receives a listen_failed_alert (because it may correspond to another network interface)
- Display a "disconnected" icon in status bar whenever qBittorrent fails to listen on the selected port
2009-12-30 15:52:20 +00:00
Christophe Dumez
7ad90b1b80 - Fix Proxy type rank in enum (to be consistent with older qBittorrent versions)
- Added Proxy settings to Web UI
- Fix tiny bugs in proxy settings
2009-12-30 15:07:51 +00:00
Christophe Dumez
f60ef5dbd5 - Added a button to reset spoofed client version/build to latest
- Fix little bug when loading saved version/build for spoofed client
2009-12-30 13:26:35 +00:00
Christophe Dumez
4dc26d0a77 - FEATURE: qBittorrent can identify itself as uTorrent or Vuze (Any version) 2009-12-30 13:10:06 +00:00
Christophe Dumez
551273b831 - Updated language files 2009-12-30 10:56:08 +00:00
Christophe Dumez
d5a09674ae FEATURE: Better proxy support and preferences remodeling 2009-12-30 10:53:58 +00:00
Christophe Dumez
907e620e9e - Added console message for Web UI (with port)
- Updated language files
2009-12-30 09:49:56 +00:00
Christophe Dumez
f96ec75eec - Improve Web UI settings so that the HTTP server is reconstructed only when necessary 2009-12-30 09:46:06 +00:00
Christophe Dumez
4d00db2b42 - Encode correctly Float Type using QVariant/JSON (introduced in Qt 4.6) 2009-12-29 22:53:00 +00:00
Christophe Dumez
db564b4521 - wildcard matching for "do not match" tokens too 2009-12-29 21:42:31 +00:00
Christophe Dumez
3f2076d195 - Use Wildcard matching instead of full regex one (much simpler and seems to be what the user expects) in RSS feed downloader 2009-12-29 21:40:23 +00:00
Christophe Dumez
ed13c43e93 - Fix several issues with the files properties in Web UI (introduced recently) 2009-12-29 20:26:32 +00:00
Christophe Dumez
b5a9fe71e1 - Fix JSON communication between qBittorrent and Web UI 2009-12-29 20:09:46 +00:00
Christophe Dumez
d0037d90f4 FEATURE: uTorrent compatible tracker list support (use torrentz.com url as a default) 2009-12-29 16:36:36 +00:00
Christophe Dumez
e885ee0d35 - Fix some other DHT port issues 2009-12-29 10:04:41 +00:00
Christophe Dumez
ff5e5d1062 - Fix some other listen port issues 2009-12-29 09:59:32 +00:00
Christophe Dumez
1bfadf5219 - Little piece availability computation optimization 2009-12-28 21:45:34 +00:00
Christophe Dumez
4f9eca78d9 - Fix to port settings 2009-12-28 21:17:15 +00:00
Christophe Dumez
7aa2994078 - Fix possible crash when closing a search tab 2009-12-28 20:52:21 +00:00
Christophe Dumez
1128b3ea83 * Replace priority combo boxes by check boxes in Web UI as in Regular UI
* Prepare http server and preferences classes to add new settings to Web UI
  * Tabified Program preferences in Web UI since there will be a lot of settings soon
  * Started to add new settings to Web UI (PeX, LSD, Encryption, save path, temp path, scan dir, preallocateall, queueing, listen_port, upnp, nat-pmp, language, ip filter) -> Proxy is missing
  * Added a command line parameter to change the web ui port
  * Fix PeerGuardian .p2b binary filter support
2009-12-28 19:39:47 +00:00
Christophe Dumez
9d06947125 - Updated Catalan author name 2009-12-23 20:11:48 +00:00
Christophe Dumez
14cc600a8b - Updated Spanish and Catalan translations 2009-12-23 20:07:34 +00:00
Christophe Dumez
4f3fd86f91 - Bump to v2.1.0beta2 2009-12-23 09:01:06 +00:00
Christophe Dumez
e663717d64 - Update comment 2009-12-22 19:23:34 +00:00
Christophe Dumez
8b5d388e77 - Use the save path set in program preferences as a default in torrent addition dialog 2009-12-22 19:17:27 +00:00
Christophe Dumez
22d781edd5 - Updated Changelog 2009-12-22 17:41:12 +00:00
Christophe Dumez
4252832ba5 - Fix issue with speed limiting (Infinite value was not handled properly)
- Improved bandwith limiting dialog by adding a SpinBox so that the user can input the value manually
2009-12-22 17:39:12 +00:00
Christophe Dumez
fab58296af - Fix exception in tracker list when torrent has no metadata. The exeption was caught anyway but the trackers were not displayed 2009-12-22 15:37:48 +00:00
Christophe Dumez
e142877e10 - Fix little typo 2009-12-22 14:20:16 +00:00
Christophe Dumez
6f6e453ae4 - COSMETIC: Use alternating row colors in transfer list (set in program preferences) 2009-12-22 14:06:36 +00:00
Christophe Dumez
50e620daf2 - Handle paths with (~, ., ..) properly 2009-12-22 10:29:39 +00:00
Christophe Dumez
c334439df6 - Updated spanish translator name 2009-12-21 16:53:18 +00:00
Christophe Dumez
2d9b4f273e - Updated Spanish translation 2009-12-21 16:09:11 +00:00
Christophe Dumez
15c7099e85 - Fix "Browse" button in program preferences for "Temp path" 2009-12-19 20:39:38 +00:00
Christophe Dumez
d2b1f6176f - Fix to Serbian translation 2009-12-19 19:35:08 +00:00
Christophe Dumez
8306d7931b - Updated French translation 2009-12-19 19:14:39 +00:00
Christophe Dumez
b07fbb726e - Bump to beta1 2009-12-19 18:55:55 +00:00
Christophe Dumez
9586f0e61c - Use checkboxes for selective downloading instead of comboboxes 2009-12-19 18:55:04 +00:00
Christophe Dumez
7d66c07cef - Remove old folders after renaming 2009-12-19 16:53:27 +00:00
Christophe Dumez
28ecb2fe1d - Check if Folder name is already in use before renaming
- Made overwrite check case insensitive on Windows
2009-12-19 15:39:39 +00:00
Christophe Dumez
a9cafeaa76 - Torrent folders can also be renamed 2009-12-19 15:31:50 +00:00
Christophe Dumez
5fc69ccb73 - Torrent files can be renamed 2009-12-19 14:59:38 +00:00
Christophe Dumez
bc626e3512 - Updated Serbian translation 2009-12-19 07:48:08 +00:00
Christophe Dumez
98561f9db9 - Fix "Append .!qB extension" for torrents without metadata (Magnet Links) 2009-12-18 20:33:59 +00:00
Christophe Dumez
b56dee2a92 - Minor cosmetic changes to program preferences 2009-12-18 19:56:14 +00:00
Christophe Dumez
885a7f592e - Fix removal of !.qB extension when files get completed 2009-12-18 17:57:47 +00:00
Christophe Dumez
6965448a24 - Little cosmetic change in torrent addition dialog 2009-12-18 17:31:51 +00:00
Christophe Dumez
475d63dad8 - Fix "Append .!qB extension" feature. It appeared only for empty files (instead of incomplete ones) 2009-12-18 17:26:00 +00:00
Christophe Dumez
c87a0bde0b - Do not display .!qB incomplete files extension in files panel 2009-12-18 17:22:53 +00:00
Christophe Dumez
c1bc9886b7 - Fix "Append .!qB extension to incomplete files" feature 2009-12-18 17:18:43 +00:00
Christophe Dumez
88f8437c5a - Fix "Append .!qB extension to incomplete files" feature for torrents added from magnet links 2009-12-18 17:01:47 +00:00
Christophe Dumez
411a1c641d - Fix several bugs in new "Append label to save path" feature 2009-12-18 16:56:57 +00:00
Christophe Dumez
dc0ad73eca - Fix torrent Labeling from torrent addition dialog 2009-12-18 16:36:48 +00:00
Christophe Dumez
04e008afa0 - Fix new settings not being saved 2009-12-18 16:32:26 +00:00
Christophe Dumez
a6207f70d5 - Fix .qbittorrent folder not being created 2009-12-18 15:13:39 +00:00
Christophe Dumez
b8a30be7bc - Read RSS items are now remembered correctly on restart for feeds with no torrents attached 2009-12-18 14:45:07 +00:00
Christophe Dumez
67d60766c1 - Fix Mininova search engine plugin 2009-12-18 14:14:21 +00:00
Christophe Dumez
97c0b28a98 - Fix piratebay search plugin 2009-12-18 13:58:13 +00:00
Christophe Dumez
c61aded388 - Initial implementation of "Append .!qB extension to incomplete files" (untested)
- Update torrent save path when its label is changed and "Append label to save path" setting is set
2009-12-18 13:36:47 +00:00
Christophe Dumez
1fd57b5d63 - FEATURE: Labeled torrent can be downloaded corresponding subfolders 2009-12-17 20:28:30 +00:00
Christophe Dumez
755b8dec30 - Peer Exchange can be disabled from preferences 2009-12-17 18:00:21 +00:00
Christophe Dumez
ecd5c1fcc3 - Updated language files 2009-12-17 17:40:55 +00:00
Christophe Dumez
db5402385a FEATURE: Disk cache size can be set from preferences 2009-12-17 17:37:54 +00:00
Christophe Dumez
09ef3073a1 - Forgot to make "Label" string translatable 2009-12-17 10:01:01 +00:00
Christophe Dumez
6dd3833e0f - Added icons for label actions in context menu 2009-12-17 09:59:43 +00:00
Christophe Dumez
d4762a4d8d - Updated Changelog 2009-12-16 22:20:28 +00:00
Christophe Dumez
38cc55ea09 - Add hover effect of labels/categories to animate drag'n drop 2009-12-16 22:06:24 +00:00
Christophe Dumez
5d60295db3 - Drag'n drop to labels cleanup 2009-12-16 15:06:02 +00:00
Christophe Dumez
18bd3b855c - Added drag'n Drop from torrent list to labels (for torrent labeling)
- Fix label counters update in some cases
2009-12-16 14:55:07 +00:00
Christophe Dumez
868d423c82 - Use folder icon for labels 2009-12-16 13:20:38 +00:00
Christophe Dumez
edb6857de0 - Label counters are now properly updated (and labeling seems to work fine) 2009-12-16 13:09:30 +00:00
Christophe Dumez
ed803fb994 - Initiated work on torrent labeling/categorization (functional but not perfect yet 2009-12-15 19:52:43 +00:00
Christophe Dumez
83d83a364d - Added Frederic Lassabe to AUTHORS file 2009-12-15 13:08:34 +00:00
Christophe Dumez
690bb92154 - Catch CTRL+C and exit cleanly 2009-12-15 13:01:57 +00:00
Christophe Dumez
8e39eef7aa - Display console messages on Terminal
- Program seems to be working
2009-12-15 12:55:46 +00:00
Christophe Dumez
1923a51c59 - Prepare a little headlessloader class 2009-12-15 11:59:48 +00:00
Christophe Dumez
3dc1107b40 - Fix typo in src.pro that broke compilation with GUI enabled 2009-12-15 11:48:57 +00:00
Christophe Dumez
dd22e9009c - Added exit() function to headless loader class so that we have a way to return to prompt 2009-12-15 11:14:03 +00:00
Christophe Dumez
c7ccf39abf - Use QCoreApplication instead of QApplication when GUI is disabled 2009-12-15 11:10:47 +00:00
Christophe Dumez
af166f53d3 - Added headlessloader class to prepare Fred's work 2009-12-15 11:08:22 +00:00
Christophe Dumez
21eb26a374 - Commit changes to helpers.py (add referer to download_file() helper function) 2009-12-15 11:03:04 +00:00
Christophe Dumez
e2aaf5d1de - Edited project file in order not to compile UI classes when DISABLE_GUI is defined
- Added #ifndef directives to main.cpp in order to fix compilation when DISABLE_GUI is defined
2009-12-15 10:56:41 +00:00
Christophe Dumez
0b7ca15c4f - Added --disable-gui flag to configure file (adds DISABLE_GUI define) 2009-12-15 10:36:18 +00:00
Christophe Dumez
07ee2a4aff Branched for work on headless running 2009-12-15 10:23:41 +00:00
Christophe Dumez
141d3b6737 - Fix RSS Feed downloader for RSS with no torrent attachment (but articles link points to the torrent instead) 2009-12-14 18:42:21 +00:00
Christophe Dumez
e2c3e6dbaa - Better checking of based32 encoded Magnet Links to increase robustness 2009-12-13 10:13:41 +00:00
Christophe Dumez
b1126556c0 - Added Hex Magnet link support 2009-12-13 09:50:06 +00:00
Christophe Dumez
69cb8d1398 - Fix possible crash in torrent properties 2009-12-13 00:34:54 +00:00
Christophe Dumez
094d979ce6 - Fix "Object::connect: No such slot TransferListWidget::toggleSelectedTorrentsSuperSeeding()" warning when using libtorrent v0.14 2009-12-12 23:57:31 +00:00
Christophe Dumez
92dd669597 - Updated version number to v2.1.0alpha in trunk (new development focus) 2009-12-12 22:54:47 +00:00
Christophe Dumez
32a8dec0e7 - ~/qBT_dir is no longer created when it is not used 2009-12-12 22:34:16 +00:00
Christophe Dumez
2dd5bccd49 - BUGFIX: Fix link to plugins.qbittorrent.org in plugins dialog 2009-12-12 22:15:55 +00:00
Christophe Dumez
18d0283463 - Fix column hiding behavior when queueing system is disabled 2009-12-12 21:59:06 +00:00
Christophe Dumez
9fe807b6f1 - Removed useless debug 2009-12-11 12:23:53 +00:00
Christophe Dumez
84f00bf3f6 - uTorrent user agent is now spoofed correctly 2009-12-11 12:18:00 +00:00
Christophe Dumez
d3687fd863 - Store Web UI password as md5 2009-12-10 19:19:19 +00:00
Christophe Dumez
d1a549a6cc - Updated Korean translation
- Updated Changelog
2009-12-10 16:57:16 +00:00
Christophe Dumez
c1552ff254 - Updated Italian translation 2009-12-10 02:55:13 +00:00
Christophe Dumez
54a396bc6e - Updated Japanese translator's e-mail 2009-12-09 14:36:50 +00:00
Christophe Dumez
ed732bca63 - Updated Hungarian translation 2009-12-09 14:25:48 +00:00
Christophe Dumez
02a4464e8f - Updated Bulgarian translation 2009-12-09 13:43:17 +00:00
Christophe Dumez
7f97df4462 - Updated name of Turkish translation in AUTHORS file 2009-12-09 13:09:49 +00:00
Christophe Dumez
9d20af02a2 - Some fixes to Greek translation 2009-12-09 11:50:28 +00:00
Christophe Dumez
cbaef050f0 - Fixed Serbian language name in Serbian (Српски) 2009-12-08 22:01:26 +00:00
Christophe Dumez
148139c2c4 - Fixed serbian translation (forgot to embed it into qBittorrent executable) 2009-12-08 21:55:27 +00:00
Christophe Dumez
793f8a103d - Slovak and Serbian were inverted
- Updated Serbia flag (better resolution)
2009-12-08 21:48:14 +00:00
Christophe Dumez
ffa48b64ac - Updated language files 2009-12-08 21:44:34 +00:00
Christophe Dumez
59a8e651f9 - Updated Changelog
- Bump to rc7
2009-12-08 19:31:17 +00:00
Christophe Dumez
fb9f2a01b5 - Fix Paste action in search field 2009-12-08 19:24:14 +00:00
Christophe Dumez
944e25a5d8 - Remember torrent addition dialog size and position 2009-12-08 17:48:33 +00:00
Christophe Dumez
ad597c72d2 - Optimize torrent addition dialog vertical space usage 2009-12-08 17:26:43 +00:00
Christophe Dumez
abbbf1e562 - Torrent Addition Dialog: File priorities were not taken into consideration (Thanks Mariusz) 2009-12-08 17:20:28 +00:00
Christophe Dumez
d2dd29c35a - Suppress compilation warning when geoip is not embedded in qBittorrent executable 2009-12-08 17:16:29 +00:00
Christophe Dumez
906f2bab1e - Disable debug again 2009-12-08 16:43:48 +00:00
Christophe Dumez
bb6468005d - Fix torrent upload in Web UI (worked randomly) 2009-12-08 16:42:59 +00:00
Christophe Dumez
a2423e97eb - Fix download from MAGNET URI in regular UI 2009-12-08 08:06:42 +00:00
Christophe Dumez
ed1d75ecb1 - Also look in /var/lib/GeoIP/GeoIP.dat for GeoIP database (OpenSuse 11.2)
* Thanks to Mariusz Fik for his report and patch
2009-12-08 07:55:08 +00:00
Christophe Dumez
1e4200345a - Updated Serbian translation 2009-12-08 07:51:41 +00:00
Christophe Dumez
be11f4e039 - Clean up RSS preferences loading 2009-12-07 22:04:20 +00:00
Christophe Dumez
22ec528cdf - Fix regular refresh of RSS feeds 2009-12-07 21:58:26 +00:00
Christophe Dumez
ebf341a6de - Update INSTALL file to explain that geoip-database is a runtime-only dependency 2009-12-07 21:16:59 +00:00
Christophe Dumez
68ba6322e1 - Added geoip-database as an optional dependency in INSTALL file 2009-12-07 20:57:59 +00:00
Christophe Dumez
968a5f3017 - No longer ships GeoIP database since most distributions provide it in a separate package
- GeoIP database is no longer embedded in qBittorrent executable unless --with-geoip-database-embedded parameter is passed to configure (see src/geoip/REAME)
- Dropped "CONFIG += x11 network" in project file since it does not seem to be required
- Updated configure file to reflect Geoip changes
2009-12-07 20:54:47 +00:00
Christophe Dumez
8df1708491 - Updated Turkish translation 2009-12-07 07:43:17 +00:00
Christophe Dumez
da51ce1b71 - Updated Greek translation 2009-12-07 07:42:47 +00:00
Christophe Dumez
95a6de9b00 - Fix using SHIFT+Click for extended selection in Web UI transfer list
* Was broken in an early release candidate when column sorting was added
2009-12-06 15:29:37 +00:00
Christophe Dumez
269bbdf01d - Fix file prioritizing behavior. Priorities cannot be changed if the torrent has not metadata, is not valid or is a seed.
* Use the same behavior in Web UI and Regular UI
2009-12-06 15:03:49 +00:00
Christophe Dumez
df03b042d6 - Hide context menu when a torrent is clicked 2009-12-06 14:48:16 +00:00
Christophe Dumez
3ec118d59b - When downloading a torrent from its URL in Web UI, the torrent addition dialog was not skipped and displayed on server side.
* Regression introduced in a recent release candidate
2009-12-06 14:41:05 +00:00
Christophe Dumez
bce575ee68 - Fix priority column data being displayed when adding a new torrent and when priority column is hidden (queueing system disabled) is disabled (Web UI) 2009-12-06 14:26:50 +00:00
Christophe Dumez
83da56b0eb - Fix top menu in Web UI 2009-12-06 14:13:49 +00:00
Christophe Dumez
fa2891c225 - Fix compilation warning in release mode
- Fix vertical alignment in torrent properties panel
2009-12-06 13:31:30 +00:00
Christophe Dumez
c4bf42524c - Small update in French translation 2009-12-06 12:54:21 +00:00
Christophe Dumez
a096105f18 - Added Serbian translation (By Anaximandar Milet)
* Translation is not complete yet
2009-12-06 11:37:20 +00:00
Christophe Dumez
51f842aaef - Bump to rc5
- Disabled DEBUG output as a default now
2009-12-06 10:27:02 +00:00
Christophe Dumez
76c4466fb6 - In File tree (torrent content), set parent priority to NORMAL if its children have mixed priorities
* This also fixes the "you must select at least one file" warning when ignoring all files and then selecting only one
2009-12-06 10:19:29 +00:00
Christophe Dumez
facd02a7ec - Updated Portuguese and Brazilian translations (Thanks Nick!) 2009-12-06 09:35:58 +00:00
Christophe Dumez
ed8da2ef66 - Fix toolbar separators (Web UI) which was broken when updating to new MochaUI 2009-12-05 16:23:34 +00:00
Christophe Dumez
998352f9f1 - Improved Ajax tabs code (Web UI) 2009-12-05 16:09:18 +00:00
Christophe Dumez
8c1a135d16 - Fix crashes when handling torrents without metadata (magnet URIs) from Web UI 2009-12-05 14:24:45 +00:00
Christophe Dumez
b976d39207 - Update to MochaUI svn/trunk
* Fixes IE7/8 compatibility
- Use Yui compressor on mocha.js
2009-12-05 14:19:37 +00:00
Christophe Dumez
f0a18ec1f5 - Remember selected filter using a Cookie (Web UI) 2009-12-04 21:03:50 +00:00
Christophe Dumez
f9a5afe446 - Remove torrent from selection if it gets filtered and becomes hidden (Web UI) 2009-12-04 20:45:16 +00:00
Christophe Dumez
b13c7abca0 - Updated German translation 2009-12-04 17:08:29 +00:00
Christophe Dumez
1f104f62f5 Force libnotify GObject cleanup even when libnotify fails 2009-12-04 09:18:43 +00:00
Christophe Dumez
f8f7729e77 - Force libnotify GObject cleanup 2009-12-04 09:09:03 +00:00
Christophe Dumez
eca262f5f4 - Display piece_availability bar when we have something to display (torrent has metadata, torrent is not paused/queued/checking/seeding) 2009-12-02 20:41:59 +00:00
Christophe Dumez
df5f5a943b - Fix other possible crashes with MAGNET URIs
- Fix "download first last piece first" feature for torrents containing more than one file
2009-12-02 20:24:34 +00:00
Christophe Dumez
497cb07852 - Fix several possible crashes when using Magnet URI (because they don't have metadata in the beginning) 2009-12-02 20:13:10 +00:00
Christophe Dumez
10ab8f107c - Tracker scrape interval is now 20 min (15 minutes min). 2009-12-02 18:19:16 +00:00
Christophe Dumez
3a6ff19418 - Bump to rc4 2009-12-01 21:06:41 +00:00
Christophe Dumez
ab317a3a62 - Another update for Polish translation 2009-12-01 21:04:44 +00:00
Christophe Dumez
617724c2b1 - Fix 'Browse' [...] button is RSS Feed Downloader dialog (Thanks Mariusz) 2009-12-01 19:41:52 +00:00
Christophe Dumez
422c03b4ec - Fixed 'cancel' button in RSS feed renaming dialog (Thanks Mariusz) 2009-12-01 19:28:45 +00:00
Christophe Dumez
4af05dc63c - HTTP downloader now uses Firefox User Agent to make sure it is allowed
- HTTP downloader now supports already encoded URLs
2009-12-01 17:36:11 +00:00
Christophe Dumez
ac92287b43 - Updated Official Polish Author name in both AUTHORS file and about dialog. New translator is now Mariusz Fik (who is also our Open Suse package maintainer). Former translator was replaced because he was unreachable for a very long period. Thanks to Mariusz for taking over the polish translation. 2009-12-01 16:53:07 +00:00
Christophe Dumez
c7634b3828 - Another update for Polish translation 2009-12-01 16:49:49 +00:00
Christophe Dumez
5d1d26b285 - Fixed possible crash on exit introduced by previous commit (tweaks to speed up exit) 2009-12-01 11:56:51 +00:00
Christophe Dumez
644fea69a1 - Updated Polish and czech translations 2009-11-30 21:34:24 +00:00
Christophe Dumez
4dc8959f67 * More exit tweaking to make shutdown faster
* Fixed active upload icon in Web UI
* Fixed text alignment in Web UI preferences dialog
* Fixes to ratio display in Web UI transfer list and properties panel
* Edited Queued/Paused/Checking icons so that they are the same for complete/incomplete torrents (easier to understand)
* Color torrents in UI transfer list as in qBittorrent < 2.0 (more easily understandable)
* Progress and size are now updated when files are filtered in torrent properties
2009-11-30 21:30:14 +00:00
Christophe Dumez
63be5ffc74 - Updated Simplified Chinese translation 2009-11-29 20:31:56 +00:00
Christophe Dumez
c5a9e27cb3 - Try to make progress calculation more robust in torrent files model 2009-11-29 20:29:40 +00:00
Christophe Dumez
ecf48b3a7b - Fix torrent status icon vertical alignment in Web UI 2009-11-29 14:44:30 +00:00
Christophe Dumez
63e5339690 - Added ASSERT for make sure our progress values are always possible 2009-11-29 14:37:33 +00:00
Christophe Dumez
d8c27ac8c4 - Fix crash when a torrent contains empty files 2009-11-29 14:34:39 +00:00
Christophe Dumez
925597c43a - Hide piece availability and pieces downloaded bars when the shown torrent gets complete 2009-11-29 14:29:48 +00:00
Christophe Dumez
ba8fd62900 - Bump to rc3 2009-11-29 10:27:29 +00:00
Christophe Dumez
3f61e176f0 - Updated Romanian translation 2009-11-29 10:11:28 +00:00
Christophe Dumez
542338972a - Explicitely delete "unread" RSS item although Qt should be taking care of it 2009-11-29 09:17:55 +00:00
Christophe Dumez
fe91599eb4 - Skip file checking in "start seeding immediately after torrent creation" feature (libtorrent v0.15 only) 2009-11-29 09:11:39 +00:00
Christophe Dumez
d9817795ed - Fix "start seeding immediately after torrent creation" feature (save path was not set right) 2009-11-29 09:01:33 +00:00
Christophe Dumez
6ede368f63 - Fix right click menu in tracker list and in peer list (Thanks Heavyjoost) 2009-11-29 08:16:58 +00:00
Christophe Dumez
6885f46f4b - Restore compatiblity with recent libboost (broken by last commit) 2009-11-28 22:22:35 +00:00
Christophe Dumez
9323660c79 - Fix compilation with Qt 4.4
- Fix compilation with older boost libraries
2009-11-28 21:46:46 +00:00
Christophe Dumez
88b77a63ed - Qt 4.4 fix 2009-11-28 21:30:26 +00:00
Christophe Dumez
4d1ef40f6e - Qt 4.4 fix 2009-11-28 21:23:06 +00:00
Christophe Dumez
9a68e0cc25 - Fix compilation error on some systems 2009-11-28 20:23:17 +00:00
Christophe Dumez
396427e3b6 FEATURE: Fall back to a random port if qBittorrent could not listen on the chosen port 2009-11-28 18:23:17 +00:00
Christophe Dumez
e460f1c365 - Attempt to speed up exit 2009-11-28 15:03:27 +00:00
Christophe Dumez
b9531c8245 - Updated slovak translation 2009-11-28 13:54:14 +00:00
Christophe Dumez
27aff04f11 - Catch invalid_handle exception in savefastresume data 2009-11-28 13:50:16 +00:00
Christophe Dumez
08fe5814c5 - Switch download / uploads icons color to match colors in qBittorrent < 2.0 2009-11-28 12:26:05 +00:00
Christophe Dumez
5af8b7c0e2 FEATURE: Enabled lazy bitfield as a counter-measure for ISP speed throttling 2009-11-28 10:36:34 +00:00
Christophe Dumez
c1acbda38f - Updated traditional Chinese translation 2009-11-28 10:01:29 +00:00
Christophe Dumez
afa5213c94 - Improve sorting performance in Web UI
- Improve priority column sorting behavior when there are seeding torrents (they don't have a priority)
2009-11-28 08:48:35 +00:00
Christophe Dumez
17b8ba27b3 - FEATURE: Search engine plugins now handle HTTP protocol gzip compression 2009-11-27 23:46:40 +00:00
Christophe Dumez
3f9b74430a - Made PrettyPrinter function more robust (one can pass it sizes in bytes) 2009-11-27 23:01:16 +00:00
196 changed files with 64066 additions and 28933 deletions

20
AUTHORS
View File

@@ -12,10 +12,9 @@ Code from other projects:
copyright: Malte Starostik <malte@kde.org>
license: LGPL
GeoIP database author:
* files: src/geoip/GeoIP.dat
copyright: MaxMind, Inc (http://maxmind.com/)
license: Open Data License (see src/geoip/LICENSE.txt)
* files src/search_engine/socks.py
copyright: Dan Haim <negativeiq@users.sourceforge.net>
license: BSD
Images Authors:
* files: src/Icons/*.png
@@ -62,7 +61,7 @@ Translations authors:
copyright:
- Brazilian: Nick Marinho (nickmarinho@gmail.com)
- Bulgarian: Tsvetan & Boiko Bankov (emerge_life@users.sourceforge.net)
- Catalan: Gekko Dam Beer (gekko04@users.sourceforge.net)
- Catalan: Francisco Luque Contreras (frannoe@ya.com)
- Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com)
- Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com)
- Czech: Jirka Vilim (web@tets.cz)
@@ -72,19 +71,20 @@ Translations authors:
- Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net)
- French: Christophe Dumez (chris@qbittorrent.org)
- German: Niels Hoffmann (zentralmaschine@users.sourceforge.net)
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net)
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net) and Stephanos Antaris (santaris@csd.auth.gr)
- Hungarian: Majoros Péter (majoros.j.p@t-online.hu)
- Italian: Mirko Ferrari (mirkoferrari@gmail.com) and Ferraro Luciano (luciano.ferraro@gmail.com)
- Japanese: Nardog (nardog@e2umail.com)
- Japanese: Nardog (alphisation@gmail.com)
- Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
- Norwegian: Lars-Erik Labori (hamil@users.sourceforge.net)
- Polish: Jarek Smieja (ajep9691@wp.pl)
- Polish: Mariusz Fik (fisiu@opensuse.org)
- Portuguese: Nick Marinho (nickmarinho@gmail.com)
- Romanian: Obada Denis (obadadenis@users.sourceforge.net)
- Russian: Nick Khazov (m2k3d0n at users.sourceforge.net)
- Serbian: Anaximandar Milet (anaximandar at operamail.com)
- Slovak: helix84
- Spanish: Vicente Raul Plata Fonseca (silverxnt@users.sourceforge.net)
- Spanish: Francisco Luque Contreras (frannoe@ya.com)
- Swedish: Daniel Nylander (po@danielnylander.se)
- Turkish: Erdem Bingöl (erdem84@gmail.com)
- Turkish: Hasan Yilmaz (iletisim@hedefturkce.com)
- Ukrainian: Andrey Shpachenko (masterfix@users.sourceforge.net)
license: GPLv2

142
Changelog
View File

@@ -1,10 +1,96 @@
* Unknown - Christophe Dumez <chris@qbittorrent.org> - v2.0.0
* Mon Jan 18 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.1.0
- FEATURE: Graphical User Interface can be disabled at compilation time (headless running)
- FEATURE: Torrents can be labeled/categorized
- FEATURE: Labeled torrent can be downloaded corresponding subfolders
- FEATURE: Disk cache size can be set from preferences
- FEATURE: Peer Exchange (PeX) can be disabled from preferences
- FEATURE: Append !.qB extension to incomplete files option (libtorrent >= v0.15 only)
- FEATURE: Torrent files/folders can be renamed (torrent addition dialog or files properties)
- FEATURE: uTorrent compatible tracker list support (use torrentz.com url as a default)
- FEATURE: Better proxy support and preferences remodeling
- FEATURE: qBittorrent can identify itself as uTorrent, Vuze or KTorrent (Any stable version)
- FEATURE: Torrents can be renamed in transfer list
- FEATURE: Display torrent addition dialog for magnet links too
- FEATURE: Files contained in a torrent are opened on double click (files panel)
- FEATURE: Added support for magnet links in search engine
- FEATURE: Added vertor.com and torrentdownloads.net search plugins
- FEATURE: Search engine can now use a SOCKS5 proxy
- FEATURE: HTTP proxy support for peer communication
- BUGFIX: Search engine loads new proxy settings without program restart
- BUGFIX: Use XDG folders (.cache, .local) instead of .qbittorrent
- BUGFIX: Added legal notice on startup that the user must accept
- BUGFIX: Protect Web UI authentication against brute forcing
- BUGFIX: Use HTTP digest mode for Web UI authentication (instead of Basic)
- BUGFIX: Properly display torrents with one file in subfolder(s)
- BUGFIX: Display Web UI favicon
- BUGFIX: File priority can be set for finished torrents that have filtered files
- COSMETIC: Use checkboxes to filter torrent content instead of comboboxes
- COSMETIC: Use alternating row colors in transfer list (set in program preferences)
- COSMETIC: Added a spin box to speed limiting dialog for manual input
* Mon Jan 11 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.0.7
- BUGFIX: Fix 'Add in pause' setting in torrent addition dialog
- BUGFIX: Update RSS feed as soon as feed downloader is enabled
- BUGFIX: RSS Feed downloader ignores articles above maximum number of articles
- BUGFIX: Fix possible bug when deleting a RSS folder
- BUGFIX: Remove persistant data when a RSS feed is deleted
- BUGFIX: RSS filters are now alphabetically sorted
- BUGFIX: Fix crash when renaming currently displayed RSS filter
- BUGFIX: Remove overwriting confirmation when exporting RSS filters since Qt takes care of it
* Tue Jan 5 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.0.6
- BUGFIX: Fix detection of invalid torrent files
- BUGFIX: Stop catching signals once one has been caught to avoid possible infinite loop
- BUGFIX: Force data recheck whenever a torrent is moved
- BUGFIX: Detect existing torrent data even if incomplete torrents are saved to a different folder
- COSMETIC: Improve torrent deletion confirmation dialog so that the text that not get truncated
* Thu Dec 31 2009 - Christophe Dumez <chris@qbittorrent.org> - v2.0.5
- BUGFIX: Fix crash with downloaded/availability bars when the torrent has too many pieces
* Wed Dec 30 2009 - Christophe Dumez <chris@qbittorrent.org> - v2.0.4
- BUGFIX: Fix PeerGuardian .p2b binary filter support
- BUGFIX: Fix possible crash when closing a search engine tab
- BUGFIX: Make sure service port does not change
- BUGFIX: Fix possible DHT port saving issue
- BUGFIX: Fix communication between qBittorrent and Web UI (Qt 4.6)
- BUGFIX: Use Wildcard matching instead of full regex in RSS feed downloader
- BUGFIX: Fix code for listening on a random port whenever it failed to listen on the one defined
- BUGFIX: Use global maximum transfer rates as maximum values in per-torrent speed limiting dialogs
- BUGFIX: Fix global download rate limiting from Web UI
- COSMETIC: Display a disconnected icon in status bar whenever qBittorrent failed to listen on the port defined
* Wed Dec 23 2009 - Christophe Dumez <chris@qbittorrent.org> - v2.0.3
- BUGFIX: Minor cosmetic fix to program preferences
- BUGFIX: Fix "Temp path" button in program preferences
- BUGFIX: Handle paths with [~, ., ..] properly
- BUGFIX: Trackers are now displayed for torrents without metadata
- BUGFIX: Fix issue with speed limiting (unlimited was not handled properly)
- BUGFIX: Use the save path set in program preferences as a default in torrent addition dialog
* Fri Dec 18 2009 - Christophe Dumez <chris@qbittorrent.org> - v2.0.2
- BUGFIX: Fix .qbittorrent folder not being created (critical bug introduced in v2.0.1 that makes qBittorrent unusuable for new users)
- BUGFIX: Fix RSS Feed downloader for some feeds
- BUGFIX: Do not use home folder as a fallback when the save path is not accessible
- BUGFIX: Fix Mininova, ThePirateBay search engine plugins
- BUGFIX: Read RSS articles are remembered on restart for feeds with no torrents attached
* Sun Dec 13 2009 - Christophe Dumez <chris@qbittorrent.org> - v2.0.1
- BUGFIX: µTorrent user-agent is now spoofed correctly
- BUGFIX: Fix column hiding behavior when queueing system is disabled
- BUGFIX: Fix link to plugins.qbittorrent.org in plugins dialog
- BUGFIX: ~/qBT_dir is created only when it is actually used
- BUGFIX: Fix possible missing slot message (toggleSelectedTorrentsSuperSeeding)
- BUGFIX: Fix possible crash in torrent properties (files)
- BUGFIX: Added Hex Magnet Links support (Thanks Haypo)
* Thu Dec 10 2009 - Christophe Dumez <chris@qbittorrent.org> - v2.0.0
- FEATURE: Added program option to disable splash screen
- FEATURE: Dropped dependency on libcurl and libzzip
- FEATURE: Display more information regarding the torrent in its properties
- FEATURE: Various optimizations to save CPU and memory
- FEATURE: Folder scanning now works with CIFS and NFS mounted folders
- FEATURE: Speed up qBittorrent startup
- FEATURE: Speed up qBittorrent startup and shutdown
- FEATURE: Display per-torrent peer list
- FEATURE: Make sure torrent files are always sorted by name
- FEATURE: Seeds and Peers columns are now sortable
@@ -21,6 +107,9 @@
- FEATURE: Dropped Qt 4.3 support (Qt >= 4.4 is now required)
- FEATURE: Display close tab button into the tabs in search engine (Qt >= 4.5 only)
- FEATURE: Show official documentation when pressing F1 key
- FEATURE: Search engine plugins now handle HTTP protocol gzip compression
- FEATURE: Enabled lazy bitfield as a counter-measure for ISP speed throttling
- FEATURE: Fall back to a random port if qBittorrent could not listen on the chosen port
- FEATURE: Announce to all trackers specified for a torrent (µTorrent behavior) (libtorrent >= v0.15 only)
- FEATURE: Added per-torrent super seeding mode (libtorrent >= v0.15 only)
- FEATURE: Support for storing symbolic links in .torrent files (libtorrent >= v0.15 only)
@@ -34,10 +123,16 @@
- FEATURE: Include DHT traffic in the rate limiter (libtorrent >= v0.15 only)
- FEATURE: Support for bitcomet padding files (libtorrent >= v0.15 only)
- FEATURE: Option to skip file checking and start seeding immediately in torrent addition dialog (Stephanos Antaris) (libtorrent >= v0.15 only)
- BUGFIX: Made sure qBittorrent does not scrape the tracker too frequently (libtorrent >= 0.15 only)
- BUGFIX: Fix Paste action in search engine field
- BUGFIX: Fix possible double free in search engine destructor
- BUGFIX: Properly handle trackers error messages
- WEB UI: Remodeled Web UI to match new qBittorrent UI (Properties and preferences available)
- WEB UI: Added internationalization support
- WEB UI: Reduced computation in Javascript (do this one server side instead)
- WEB UI: Fixed Transfer list flickering
- WEB UI: Password is now stored as md5
- I18N: Added Serbian translation (By Anaximandar Milet)
- COSMETIC: Merged download / upload lists
- COSMETIC: Torrents can be filtered based on their status
- COSMETIC: Torrent properties are now displayed in main window
@@ -50,6 +145,49 @@
- COSMETIC: New torrent status icons by Mateusz Tolola
- COSMETIC: Make use of libnotify if available for system notifications (Ubuntu, ...)
* Tue Nov 17 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.5.6
- BUGFIX: RSS feed articles can now be displayed using keyboard arrows
- BUGFIX: RSS feed downloader can only process unread articles now
- BUGFIX: Fixed memory leak in RSS parser
- BUGFIX: Fixed possible crash in search autocompletion
- BUGFIX: Improved ETA calculation for big torrents
- BUGFIX: Fixed per-torrent speed limiting
* Wed Nov 4 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.5.5
- BUGFIX: Fixed man page
- BUGFIX: Fix crash on torrent addition (if libtorrent-rasterbar has debug enabled)
- BUGFIX: Fix trackers addition to torrents (bug introduced in v1.5.4)
- BUGFIX: Suppress compilation warning regarding sortNewsList() not being used
- BUGFIX: Make sure scan folder is different than qBittorrent backup directory to avoid torrents deletion
- BUGFIX: Added safety mecanism which adds the torrents back to the list in case qbittorrent-resume.conf gets deleted or corrupted.
* Sun Oct 25 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.5.4
- BUGFIX: Updated man page
- BUGFIX: Fixed possible crash with torrents containing unicode characters
- BUGFIX: Fixed problem when disabling systray integration and starting minimized
- BUGFIX: Fixed PirateBay search plugin
- BUGFIX: Using Download button in search results list now downloads the right torrents
- BUGFIX: The search results list is no longer sorted automatically when a row color is updated
* Wed Sep 30 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.5.3
- BUGFIX: Fix a possible crash when pausing then deleting a torrent quickly
- BUGFIX: Fix a race condition in folder scanning and torrent downloader
- BUGFIX: Hide download url column in search results
- BUGFIX: Fix a crash when scanned directory does not exist
- BUGFIX: Fix compilation on Mac OS
- BUGFIX: Added a command line parameter to disable splash screen
- BUGFIX: Ignore permanent deletion button when no torrent is selected
- BUGFIX: When a selected torrent is deleted, select next suitable torrent
* Sun Sep 20 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.5.2
- BUGFIX: Some torrents were pausing for no reason
- I18N: Updated Korean translation
* Thu Sep 7 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.5.1
- BUGFIX: Fix crash in torrent addition dialog when save path does not exist (closes #425227)
- BUGFIX: Fix downloading from URL (broken in v1.5.0)
- BUGFIX: Pause torrents in error state
* Thu Sep 3 2009 - Christophe Dumez <chris@qbittorrent.org> - v1.5.0
- FEATURE: Added Magnet URI support
- FEATURE: Search engine supports category-based requests

54
INSTALL
View File

@@ -1,27 +1,51 @@
qBittorrent - A BitTorrent client in C++ / Qt4
------------------------------------------
./configure
make && make install
qbittorrent
1) Compile and install qBittorrent with Qt4 Graphical Interface
will install and execute qBittorrent hopefully without any problems.
$ ./configure
$ make && make install
$ qbittorrent
Dependencies:
- Qt >= 4.4.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml)
will install and execute qBittorrent hopefully without any problems.
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.0 REQUIRED, >= v0.15.0 ADVISED)
-> http://www.qbittorrent.org/download.php (advised)
-> http://www.libtorrent.net
Be careful: another library (the one used by rTorrent) uses a similar name.
Dependencies:
- Qt >= 4.4.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml)
- libboost: libboost-filesystem, libboost-date-time, libboost-thread, libboost-serialization
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, >= v0.15.0 ADVISED)
-> http://www.libtorrent.net
Be careful: another library (the one used by rTorrent) uses a similar name.
- python >= 2.3 (needed by search engine)
- libboost: libboost-filesystem, libboost-date-time, libboost-thread, libboost-serialization
- python >= 2.3 (needed by search engine)
* Run time only dependency
- libnotify >= 0.4.2, glib-2.0 (optional)
* Can be used for system notifications to replace standard Qt notifications
so that it integrates better into the Desktop
- geoip-database (optional)
* If qBittorrent cannot find this database, it will try to resolve countries using the Internet but it will be a lot slower.
* Run time only dependency
2) Compile and install qBittorrent without Qt4 Graphical interface
$ ./configure --disable-gui
$ make && make install
$ qbittorrent
will install and execute qBittorrent hopefully without any problems.
Dependencies:
- Qt >= 4.4.0 (libqt-devel, libqtcore, libqtnetwork, libqtxml)
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.0 REQUIRED, >= v0.15.0 ADVISED)
-> http://www.libtorrent.net
Be careful: another library (the one used by rTorrent) uses a similar name.
- libboost: libboost-filesystem, libboost-date-time, libboost-thread, libboost-serialization
- libnotify >= 0.4.2, glib-2.0 (optional)
* Can be used for system notifications to replace standard Qt notifications
so that it integrates better into the Desktop
DOCUMENTATION:
Please note that there is a documentation with a "compiling howto" at http://wiki.qbittorrent.org.

82
configure vendored
View File

@@ -18,8 +18,14 @@ Main options:
--help This help text.
Dependency options:
--with-libboost-inc=[path] Path to libboost include files
--disable-libnotify Disable use of libnotify
--disable-gui Disable qBittorrent Graphical user
interface for headless running
--with-libboost-inc=[path] Path to libboost include files
--disable-libnotify Disable use of libnotify
--disable-geoip-database Disable use of geoip-database
--with-geoip-database-embedded Geoip Database will be embedded in
qBittorrent executable (please follow
instructions in src/geoip/README)
EOT
}
@@ -136,6 +142,11 @@ while [ $# -gt 0 ]; do
shift
;;
--disable-gui)
QC_DISABLE_GUI="Y"
shift
;;
--with-libboost-inc=*)
QC_WITH_LIBBOOST_INC=$optarg
shift
@@ -146,6 +157,16 @@ while [ $# -gt 0 ]; do
shift
;;
--disable-geoip-database)
QC_DISABLE_geoip_database="Y"
shift
;;
--with-geoip-database-embedded)
QC_WITH_GEOIP_DATABASE_EMBEDDED="Y"
shift
;;
--verbose)
QC_VERBOSE="Y"
shift
@@ -167,8 +188,11 @@ echo PREFIX=$PREFIX
echo BINDIR=$BINDIR
echo DATADIR=$DATADIR
echo EX_QTDIR=$EX_QTDIR
echo QC_DISABLE_GUI=$QC_DISABLE_GUI
echo QC_WITH_LIBBOOST_INC=$QC_WITH_LIBBOOST_INC
echo QC_DISABLE_libnotify=$QC_DISABLE_libnotify
echo QC_DISABLE_geoip_database=$QC_DISABLE_geoip_database
echo QC_WITH_GEOIP_DATABASE_EMBEDDED=$QC_WITH_GEOIP_DATABASE_EMBEDDED
echo
fi
@@ -274,6 +298,7 @@ cat >$1/modules.cpp <<EOT
/*
-----BEGIN QCMOD-----
name: Qt >= 4.4
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
-----END QCMOD-----
*/
class qc_qt4 : public ConfObj
@@ -284,6 +309,9 @@ public:
QString shortname() const { return "Qt 4.4"; }
bool exec()
{
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
conf->addDefine("DISABLE_GUI");
}
if(QT_VERSION >= 0x040500) {
conf->addDefine("QT_4_5");
}
@@ -302,11 +330,11 @@ class qc_libtorrent_rasterbar : public ConfObj
{
public:
qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {}
QString name() const { return "libtorrent-rasterbar >= 0.14.0 (>= 0.15.0 advised)"; }
QString name() const { return "libtorrent-rasterbar >= 0.14.4"; }
QString shortname() const { return "libtorrent-rasterbar"; }
bool exec(){
QStringList incs;
QString req_ver = "0.14.0";
QString req_ver = "0.14.4";
QString adv_ver = "0.15.0";
QString version, libs, other;
VersionMode mode = VersionMin;
@@ -317,7 +345,7 @@ public:
if(!libs.isEmpty())
conf->addLib(libs);
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, adv_ver, &version, &incs, &libs, &other))
printf("\nWarning: libtorrent-rasterbar v%s was detected.\nAlthough it will compile and run, you will be missing some features. Please consider updating to v%s.\n", version.toLocal8Bit().data(), adv_ver.toUtf8().data());
printf("\nWarning: libtorrent-rasterbar v%s was detected.\nSome feature will be disabled because they require v%s.\n", version.toLocal8Bit().data(), adv_ver.toUtf8().data());
else
conf->addDefine("LIBTORRENT_0_15");
return true;
@@ -394,6 +422,10 @@ public:
QString name() const { return "libnotify >= 0.4.2 (optional)"; }
QString shortname() const { return "libnotify"; }
bool exec(){
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
printf("\nNot Required");
return true;
}
QStringList incs;
QString req_ver = "0.4.2";
QString version, libs, other;
@@ -422,6 +454,40 @@ public:
return true;
}
};
#line 1 "geoip-database.qcm"
/*
-----BEGIN QCMOD-----
name: geoip-database
arg: with-geoip-database-embedded, Geoip Database will be embedded in qBittorrent executable (please follow instructions in src/geoip/README)
-----END QCMOD-----
*/
// see Conf::findPkgConfig
class qc_geoip_database : public ConfObj
{
public:
qc_geoip_database(Conf *c) : ConfObj(c) {}
QString name() const { return "GeoIP Database (optional)"; }
QString shortname() const { return "GeoIP Database"; }
bool exec() {
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
printf("\nNot Required");
return true;
}
#ifdef Q_WS_X11
if(!conf->getenv("QC_WITH_GEOIP_DATABASE_EMBEDDED").isEmpty()) {
#endif
conf->addDefine("WITH_GEOIP_EMBEDDED");
printf(" embedded and");
return true;
#ifdef Q_WS_X11
}
if(QFile::exists("/usr/share/GeoIP/GeoIP.dat") || QFile::exists("/usr/local/share/GeoIP/GeoIP.dat") || QFile::exists("/var/lib/GeoIP/GeoIP.dat"))
return true;
printf("\nWarning: GeoIP database was not found at /usr/share/GeoIP/GeoIP.dat or /var/lib/GeoIP/GeoIP.dat\nCountry resolution will be slow.");
return false;
#endif
}
};
EOT
cat >$1/modules_new.cpp <<EOT
@@ -437,6 +503,9 @@ cat >$1/modules_new.cpp <<EOT
o = new qc_libnotify(conf);
o->required = false;
o->disabled = false;
o = new qc_geoip_database(conf);
o->required = false;
o->disabled = false;
EOT
cat >$1/conf4.h <<EOT
@@ -1382,8 +1451,11 @@ export PREFIX
export BINDIR
export DATADIR
export EX_QTDIR
export QC_DISABLE_GUI
export QC_WITH_LIBBOOST_INC
export QC_DISABLE_libnotify
export QC_DISABLE_geoip_database
export QC_WITH_GEOIP_DATABASE_EMBEDDED
export QC_VERBOSE
rm -rf .qconftemp
(

44
doc/qbittorrent-nox.1 Normal file
View File

@@ -0,0 +1,44 @@
.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>.
.TH "QBITTORRENT\-NOX" "1" "January 16th 2010" "Command line Bittorrent client written in C++ / Qt4" ""
.SH "NAME"
qBittorrent\-nox \- a command line Bittorrent client written in C++ / Qt4
.SH "SYNOPSIS"
\fBqbittorrent\-nox\fR [\-\-webui-port=x] [TORRENT_FILE | URL]...
\fBqbittorrent\-nox\fR \-\-help
\fBqbittorrent\-nox\fR \-\-version
.PP
.SH "DESCRIPTION"
\fBqBittorrent-nox\fR is an advanced command-line Bittorrent client written in C++ / Qt4,
using the \fBlibtorrent-rasterbar\fR library by Arvid Norberg. qBittorrent\-nox aims
to be a good alternative to other command line bittorrent clients and provides features similar to popular graphical clients.
qBittorrent\-nox is fast, stable, light and it supports unicode.
It also comes with UPnP port forwarding / NAT-PMP, encryption (Vuze compatible),
FAST extension (mainline) and PeX support (utorrent compatible).
qBittorrent\-nox is meant to be controlled via its feature-rich Web UI which is accessible as a default on http://localhost:8080. The Web UI access is secured and the default account user name is "admin" with "adminadmin" as a password.
.SH "OPTIONS"
\fB--help\fR Prints the command line options.
\fB--version\fR Prints qbittorrent program version number.
\fB--webui-port=x\fR Changes Web UI port to x (default: 8080).
.SH "BUGS"
If you find a bug, please report it at http://bugs.qbittorrent.org
.SH "AUTHOR"
Christophe Dumez <chris@qbittorrent.org>

View File

@@ -1,14 +1,14 @@
.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>.
.TH "QBITTORRENT" "1" "September 30th 2009" "Bittorrent client written in C++ / Qt4" ""
.TH "QBITTORRENT" "1" "January 16th 2010" "Bittorrent client written in C++ / Qt4" ""
.SH "NAME"
qBittorrent \- a Bittorrent client written in C++ / Qt4
.SH "SYNOPSIS"
\fBqbittorrent\fR [\-\-no-splash] [TORRENT_FILE | URL]...
\fBqbittorrent\fR [\-\-no-splash] [\-\-webui-port=x] [TORRENT_FILE | URL]...
\fBqbittorrent\fR \-\-help
@@ -18,10 +18,9 @@ qBittorrent \- a Bittorrent client written in C++ / Qt4
.SH "DESCRIPTION"
\fBqBittorrent\fR is an advanced Bittorrent client written in C++ / Qt4,
using the \fBrblibtorrent\fR library by Arvid Norberg. qBittorrent aims
to be a good alternative to all other bittorrent clients out there. qBittorrent
using the \fBlibtorrent-rasterbar\fR library by Arvid Norberg. qBittorrent is similar to uTorrent. qBittorrent
is fast, stable, light, it supports unicode and it provides a good integrated search engine.
It also comes with UPnP port forwarding / NAT-PMP, encryption (Azureus compatible),
It also comes with UPnP port forwarding / NAT-PMP, encryption (Vuze compatible),
FAST extension (mainline) and PeX support (utorrent compatible).
.SH "OPTIONS"
@@ -32,6 +31,8 @@ FAST extension (mainline) and PeX support (utorrent compatible).
\fB--no-splash\fR Disables splash screen on startup.
\fB--webui-port=x\fR Changes Web UI port to x (default: 8080).
.SH "BUGS"
If you find a bug, please report it at http://bugs.qbittorrent.org

View File

@@ -14,4 +14,6 @@
</dep>
<dep type='libnotify'>
</dep>
<dep type='geoip-database'>
</dep>
</qconf>

33
qcm/geoip-database.qcm Normal file
View File

@@ -0,0 +1,33 @@
/*
-----BEGIN QCMOD-----
name: geoip-database
arg: with-geoip-database-embedded, Geoip Database will be embedded in qBittorrent executable (please follow instructions in src/geoip/README)
-----END QCMOD-----
*/
// see Conf::findPkgConfig
class qc_geoip_database : public ConfObj
{
public:
qc_geoip_database(Conf *c) : ConfObj(c) {}
QString name() const { return "GeoIP Database (optional)"; }
QString shortname() const { return "GeoIP Database"; }
bool exec() {
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
printf("\nNot Required");
return true;
}
#ifdef Q_WS_X11
if(!conf->getenv("QC_WITH_GEOIP_DATABASE_EMBEDDED").isEmpty()) {
#endif
conf->addDefine("WITH_GEOIP_EMBEDDED");
printf(" embedded and");
return true;
#ifdef Q_WS_X11
}
if(QFile::exists("/usr/share/GeoIP/GeoIP.dat") || QFile::exists("/usr/local/share/GeoIP/GeoIP.dat") || QFile::exists("/var/lib/GeoIP/GeoIP.dat"))
return true;
printf("\nWarning: GeoIP database was not found at /usr/share/GeoIP/GeoIP.dat or /var/lib/GeoIP/GeoIP.dat\nCountry resolution will be slow.");
return false;
#endif
}
};

View File

@@ -11,6 +11,10 @@ public:
QString name() const { return "libnotify >= 0.4.2 (optional)"; }
QString shortname() const { return "libnotify"; }
bool exec(){
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
printf("\nNot Required");
return true;
}
QStringList incs;
QString req_ver = "0.4.2";
QString version, libs, other;

View File

@@ -8,11 +8,11 @@ class qc_libtorrent_rasterbar : public ConfObj
{
public:
qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {}
QString name() const { return "libtorrent-rasterbar >= 0.14.0 (>= 0.15.0 advised)"; }
QString name() const { return "libtorrent-rasterbar >= 0.14.4"; }
QString shortname() const { return "libtorrent-rasterbar"; }
bool exec(){
QStringList incs;
QString req_ver = "0.14.0";
QString req_ver = "0.14.4";
QString adv_ver = "0.15.0";
QString version, libs, other;
VersionMode mode = VersionMin;
@@ -23,7 +23,7 @@ public:
if(!libs.isEmpty())
conf->addLib(libs);
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, adv_ver, &version, &incs, &libs, &other))
printf("\nWarning: libtorrent-rasterbar v%s was detected.\nAlthough it will compile and run, you will be missing some features. Please consider updating to v%s.\n", version.toLocal8Bit().data(), adv_ver.toUtf8().data());
printf("\nWarning: libtorrent-rasterbar v%s was detected.\nSome feature will be disabled because they require v%s.\n", version.toLocal8Bit().data(), adv_ver.toUtf8().data());
else
conf->addDefine("LIBTORRENT_0_15");
return true;

View File

@@ -1,6 +1,7 @@
/*
-----BEGIN QCMOD-----
name: Qt >= 4.4
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
-----END QCMOD-----
*/
class qc_qt4 : public ConfObj
@@ -11,6 +12,9 @@ public:
QString shortname() const { return "Qt 4.4"; }
bool exec()
{
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
conf->addDefine("DISABLE_GUI");
}
if(QT_VERSION >= 0x040500) {
conf->addDefine("QT_4_5");
}

View File

@@ -60,6 +60,8 @@
#include "speedlimitdlg.h"
#include "preferences.h"
#include "console_imp.h"
#include "trackerlist.h"
#include "peerlistwidget.h"
#include "torrentpersistentdata.h"
#include "transferlistfilterswidget.h"
#include "propertieswidget.h"
@@ -78,6 +80,7 @@ using namespace libtorrent;
// Constructor
GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), displaySpeedInTitle(false), force_exit(false) {
setupUi(this);
setWindowTitle(tr("qBittorrent %1", "e.g: qBittorrent v0.x").arg(QString::fromUtf8(VERSION)));
// Setting icons
this->setWindowIcon(QIcon(QString::fromUtf8(":/Icons/skin/qbittorrent32.png")));
@@ -185,6 +188,15 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
readSettings();
properties->readSettings();
// Limit status filters list height
int cur_height = 80;
do {
transferListFilters->getStatusFilters()->setFixedHeight(cur_height);
cur_height += 10;
transferListFilters->getStatusFilters()->scrollToBottom();
}while(transferListFilters->getStatusFilters()->verticalScrollBar()->sliderPosition() > 0);
transferListFilters->getStatusFilters()->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
if(Preferences::startMinimized()) {
setWindowState(Qt::WindowMinimized);
}
@@ -196,17 +208,24 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
GUI::~GUI() {
qDebug("GUI destruction");
hide();
// Async deletion of Bittorrent session as early as possible
// in order to speed up exit
session_proxy sp = BTSession->asyncDeletion();
// Some saving
properties->saveSettings();
disconnect(tabs, SIGNAL(currentChanged(int)), this, SLOT(tab_changed(int)));
// Delete other GUI objects
delete status_bar;
delete transferList;
delete guiUpdater;
if(rssWidget)
delete rssWidget;
delete searchEngine;
delete transferListFilters;
delete properties;
delete transferList;
delete hSplitter;
delete vSplitter;
delete guiUpdater;
qDebug("1");
if(systrayCreator) {
delete systrayCreator;
}
@@ -214,19 +233,21 @@ GUI::~GUI() {
delete systrayIcon;
delete myTrayIconMenu;
}
qDebug("2");
localServer->close();
delete localServer;
delete tabs;
qDebug("3");
// Keyboard shortcuts
delete switchSearchShortcut;
delete switchSearchShortcut2;
delete switchTransferShortcut;
delete switchRSSShortcut;
qDebug("4");
// Delete BTSession objects
delete BTSession;
qDebug("5");
// May freeze for a few seconds after the next line
// because the Bittorrent session proxy will
// actually be deleted now and destruction
// becomes synchronous
qDebug("Exiting GUI destructor...");
}
void GUI::displayRSSTab(bool enable) {
@@ -641,8 +662,12 @@ void GUI::processParams(const QStringList& params) {
BTSession->downloadFromUrl(param);
}else{
if(param.startsWith("magnet:", Qt::CaseInsensitive)) {
// FIXME: Possibily skipped torrent addition dialog
BTSession->addMagnetUri(param);
if(useTorrentAdditionDialog) {
torrentAdditionDialog *dialog = new torrentAdditionDialog(this, BTSession);
dialog->showLoadMagnetURI(param);
} else {
BTSession->addMagnetUri(param);
}
} else {
if(useTorrentAdditionDialog) {
torrentAdditionDialog *dialog = new torrentAdditionDialog(this, BTSession);
@@ -715,7 +740,10 @@ void GUI::loadPreferences(bool configure_session) {
}
unsigned int new_refreshInterval = Preferences::getRefreshInterval();
transferList->setRefreshInterval(new_refreshInterval);
transferList->setAlternatingRowColors(Preferences::useAlternatingRowColors());
properties->getFilesList()->setAlternatingRowColors(Preferences::useAlternatingRowColors());
properties->getTrackerList()->setAlternatingRowColors(Preferences::useAlternatingRowColors());
properties->getPeerList()->setAlternatingRowColors(Preferences::useAlternatingRowColors());
// Queueing System
if(Preferences::isQueueingSystemEnabled()) {
if(!configure_session || !BTSession->isQueueingEnabled()) {
@@ -740,7 +768,7 @@ void GUI::loadPreferences(bool configure_session) {
// RSS
if(Preferences::isRSSEnabled()) {
displayRSSTab(true);
rssWidget->updateRefreshInterval(Preferences::getRefreshInterval());
rssWidget->updateRefreshInterval(Preferences::getRSSRefreshInterval());
} else {
displayRSSTab(false);
}
@@ -803,11 +831,12 @@ void GUI::showNotificationBaloon(QString title, QString msg) const {
if (notify_init ("summary-body")) {
NotifyNotification* notification;
notification = notify_notification_new (title.toLocal8Bit().data(), msg.toLocal8Bit().data(), "qbittorrent", 0);
GError* error = 0;
gboolean success = notify_notification_show (notification, &error);
gboolean success = notify_notification_show (notification, NULL);
g_object_unref(G_OBJECT(notification));
notify_uninit ();
if(success)
if(success) {
return;
}
}
#endif
if(systrayIcon)
@@ -822,9 +851,16 @@ void GUI::showNotificationBaloon(QString title, QString msg) const {
*****************************************************/
void GUI::downloadFromURLList(const QStringList& url_list) {
QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
bool useTorrentAdditionDialog = settings.value(QString::fromUtf8("Preferences/Downloads/AdditionDialog"), true).toBool();
foreach(const QString url, url_list) {
if(url.startsWith("magnet:", Qt::CaseInsensitive)) {
BTSession->addMagnetUri(url);
if(useTorrentAdditionDialog) {
torrentAdditionDialog *dialog = new torrentAdditionDialog(this, BTSession);
dialog->showLoadMagnetURI(url);
} else {
BTSession->addMagnetUri(url);
}
} else {
BTSession->downloadFromUrl(url);
}
@@ -903,6 +939,6 @@ void GUI::on_actionOptions_triggered() {
// an url
void GUI::on_actionDownload_from_URL_triggered() {
downloadFromURL *downloadFromURLDialog = new downloadFromURL(this);
connect(downloadFromURLDialog, SIGNAL(urlsReadyToBeDownloaded(const QStringList&)), BTSession, SLOT(downloadFromURLList(const QStringList&)));
connect(downloadFromURLDialog, SIGNAL(urlsReadyToBeDownloaded(const QStringList&)), this, SLOT(downloadFromURLList(const QStringList&)));
}

187
src/GUI.h
View File

@@ -59,104 +59,105 @@ class StatusBar;
class GUI : public QMainWindow, private Ui::MainWindow{
Q_OBJECT
private:
// Bittorrent
Bittorrent *BTSession;
QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed?
// GUI related
QTimer *guiUpdater;
QTabWidget *tabs;
StatusBar *status_bar;
QPointer<options_imp> options;
QPointer<QSystemTrayIcon> systrayIcon;
QPointer<QTimer> systrayCreator;
QMenu *myTrayIconMenu;
TransferListWidget *transferList;
TransferListFiltersWidget *transferListFilters;
PropertiesWidget *properties;
bool displaySpeedInTitle;
bool force_exit;
// Keyboard shortcuts
QShortcut *switchSearchShortcut;
QShortcut *switchSearchShortcut2;
QShortcut *switchTransferShortcut;
QShortcut *switchRSSShortcut;
// Widgets
QAction *prioSeparator;
QAction *prioSeparator2;
QSplitter *hSplitter;
QSplitter *vSplitter;
// Search
SearchEngine *searchEngine;
// RSS
QPointer<RSSImp> rssWidget;
// Misc
QLocalServer *localServer;
private:
// Bittorrent
Bittorrent *BTSession;
QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed?
// GUI related
QTimer *guiUpdater;
QTabWidget *tabs;
StatusBar *status_bar;
QPointer<options_imp> options;
QPointer<QSystemTrayIcon> systrayIcon;
QPointer<QTimer> systrayCreator;
QMenu *myTrayIconMenu;
TransferListWidget *transferList;
TransferListFiltersWidget *transferListFilters;
PropertiesWidget *properties;
bool displaySpeedInTitle;
bool force_exit;
// Keyboard shortcuts
QShortcut *switchSearchShortcut;
QShortcut *switchSearchShortcut2;
QShortcut *switchTransferShortcut;
QShortcut *switchRSSShortcut;
// Widgets
QAction *prioSeparator;
QAction *prioSeparator2;
QSplitter *hSplitter;
QSplitter *vSplitter;
// Search
SearchEngine *searchEngine;
// RSS
QPointer<RSSImp> rssWidget;
// Misc
QLocalServer *localServer;
protected slots:
// GUI related slots
void dropEvent(QDropEvent *event);
void dragEnterEvent(QDragEnterEvent *event);
void toggleVisibility(QSystemTrayIcon::ActivationReason e);
void on_actionAbout_triggered();
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 balloonClicked();
void writeSettings();
void readSettings();
void on_actionExit_triggered();
void createTrayIcon();
void fullDiskError(QTorrentHandle& h, QString msg) const;
void handleDownloadFromUrlFailure(QString, QString) const;
void createSystrayDelayed();
void tab_changed(int);
// Keyboard shortcuts
void createKeyboardShortcuts();
void displayTransferTab() const;
void displaySearchTab() const;
void displayRSSTab() const;
// Torrent actions
void on_actionSet_global_upload_limit_triggered();
void on_actionSet_global_download_limit_triggered();
void on_actionDocumentation_triggered() const;
void on_actionOpen_triggered();
void updateGUI();
void loadPreferences(bool configure_session=true);
void processParams(const QStringList& params);
void addTorrent(QString path);
void addUnauthenticatedTracker(QPair<QTorrentHandle,QString> tracker);
void processDownloadedFiles(QString path, QString url);
void downloadFromURLList(const QStringList& urls);
void finishedTorrent(QTorrentHandle& h) const;
// Options slots
void on_actionOptions_triggered();
void optionsSaved();
// HTTP slots
void on_actionDownload_from_URL_triggered();
protected slots:
// GUI related slots
void dropEvent(QDropEvent *event);
void dragEnterEvent(QDragEnterEvent *event);
void toggleVisibility(QSystemTrayIcon::ActivationReason e);
void on_actionAbout_triggered();
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 balloonClicked();
void writeSettings();
void readSettings();
void on_actionExit_triggered();
void createTrayIcon();
void fullDiskError(QTorrentHandle& h, QString msg) const;
void handleDownloadFromUrlFailure(QString, QString) const;
void createSystrayDelayed();
void tab_changed(int);
// Keyboard shortcuts
void createKeyboardShortcuts();
void displayTransferTab() const;
void displaySearchTab() const;
void displayRSSTab() const;
// Torrent actions
void on_actionSet_global_upload_limit_triggered();
void on_actionSet_global_download_limit_triggered();
void on_actionDocumentation_triggered() const;
void on_actionOpen_triggered();
void updateGUI();
void loadPreferences(bool configure_session=true);
void processParams(const QStringList& params);
void addTorrent(QString path);
void addUnauthenticatedTracker(QPair<QTorrentHandle,QString> tracker);
void processDownloadedFiles(QString path, QString url);
void finishedTorrent(QTorrentHandle& h) const;
// Options slots
void on_actionOptions_triggered();
void optionsSaved();
// HTTP slots
void on_actionDownload_from_URL_triggered();
public slots:
void trackerAuthenticationRequired(QTorrentHandle& h);
void setTabText(int index, QString text) const;
void showNotificationBaloon(QString title, QString msg) const;
public slots:
void trackerAuthenticationRequired(QTorrentHandle& h);
void setTabText(int index, QString text) const;
void showNotificationBaloon(QString title, QString msg) const;
void downloadFromURLList(const QStringList& urls);
protected:
void closeEvent(QCloseEvent *);
void showEvent(QShowEvent *);
bool event(QEvent * event);
void displayRSSTab(bool enable);
protected:
void closeEvent(QCloseEvent *);
void showEvent(QShowEvent *);
bool event(QEvent * event);
void displayRSSTab(bool enable);
public:
// Construct / Destruct
GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList());
~GUI();
// Methods
int getCurrentTabIndex() const;
QPoint screenCenter() const;
public:
// Construct / Destruct
GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList());
~GUI();
// Methods
int getCurrentTabIndex() const;
QPoint screenCenter() const;
TransferListWidget* getTransferList() const { return transferList; }
};
#endif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 B

After

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 743 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 B

View File

@@ -1,6 +1,6 @@
[Desktop Entry]
Categories=Qt;Network;P2P;
Comment=V2.0.0
Comment=V2.1.0
Exec=qbittorrent %f
GenericName=Bittorrent client
GenericName[bg]=Торент клиент
@@ -21,6 +21,7 @@ GenericName[pt_BR]=Cliente Bittorrent
GenericName[ro]=Client Bittorrent
GenericName[ru]=клиент Bittorrent
GenericName[sk]=Klient siete Bittorrent
GenericName[sr]=Bittorrent-клијент
GenericName[sv]=Bittorrent-klient
GenericName[tr]=Bittorrent istemcisi
GenericName[uk]=Bittorrent-клієнт

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
src/Icons/skin/disconnected.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

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