1
mirror of https://github.com/qbittorrent/qBittorrent synced 2025-10-14 11:52:15 +02:00

Compare commits

..

125 Commits

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

14
.gitignore vendored
View File

@@ -1,14 +0,0 @@
src/geoip/GeoIP.dat
src/qbittorrent
qbittorrent.pro.user
conf.pri
Makefile
*.pyc
*.log
# Compiled object files
*.o
# Generated MOC, resource and UI files
moc_*.cpp
qrc_*.cpp
ui_*.h
*.moc

View File

@@ -50,10 +50,6 @@ Images Authors:
copyright: Greg Houston <gregory.houston@gmail.com>
license: MIT
* file: src/Icons/skin/qbittorrent_mono*
copyright: Daniel Eguren <deguren@gmail.com>
license: LGPL
* file: src/search_engine/engines/btjunkie.png
copyright: Downloaded from btjunkie.org
@@ -91,7 +87,7 @@ Translations authors:
- 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: Matteo Sechi (bu17714@gmail.com)
- Japanese: Masato Hashimoto (cabezon.hashimoto@gmail.com)
- Japanese: Nardog (alphisation@gmail.com)
- Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
- Lithuanian: Naglis Jonaitis (njonaitis@gmail.com)
- Norwegian: Tomaso

128
Changelog
View File

@@ -1,58 +1,80 @@
* Sat Oct 08 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.9.0
- FEATURE: Add file association settings to program preferences (Windows)
- FEATURE: Add setting to ignore slow torrents in queueing system
- FEATURE: Add advanced setting to announce to all trackers
- FEATURE: Add support for anonymous mode (libtorrent >= v0.16)
- FEATURE: Add quick "set as default save path" checkbox to torrent addition dialog (sledgehammer999)
- BUGFIX: Add tray menu entry for toggling window visibility
- BUGFIX: Fix execution log lines selection and copying
- BUGFIX: Reduce CPU usage when running Web UI
- BUGFIX: Save RSS items to disk regularly for safety
- BUGFIX: Fix ratio calculation (use all_time_download)
- BUGFIX: Fix torrent upload issues (Web UI)
- BUGFIX: Fix some IE incompatibilities (Web UI)
- COSMETIC: Display speed at the beginning of the Window title
- COSMETIC: Several cosmetic fixes to the Web UI
- COSMETIC: Make top toolbar follow system style
- OTHER: Display libraries versions in about dialog (sledgehammer999)
- OTHER: Display qBittorrent version in Web UI about dialog
* Sn Mar 13 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.8
- BUFIX: Fix compilation with libtorrent v0.14.x
- BUGFIX: Fix issues when writing on NTFS (Linux, Mac)
- BUGFIX: Fix root folder being cut off if the torrent comes from a scanned folder (Christian Kandeler)
- BUGFIX: Improve folder removal behavior
- BUGFIX: Make sure the .unwanted folder is deleted on soft torrent removal
- BUGFIX: Indicate support for Magnet links in desktop file (Fisiu)
- BUGFIX: Do not report torrent being checked as queued
- BUGFIX: Improve lists columns state saving
* Thu Jun 02 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.8.0
- FEATURE: Added full libtorrent v0.16 support (uTP, ...)
- FEATURE: Proxy can be disabled for peer connections
- FEATURE: Added support for secure SMTP connection (SSL)
- FEATURE: Added support for SMTP authentication
- FEATURE: Added UPnP/NAT-PMP port forward for the Web UI port
- FEATURE: qBittorrent can update dynamic DNS services (DynDNS, no-ip)
- FEATURE: Display peer connection type in peer list (BT, uTP, Web)
- FEATURE: Added full regex support to RSS downloader
- FEATURE: Added regex help and validation in RSS downloader
- FEATURE: Added HTTPS support to Web UI (Ishan Arora)
- BUGFIX: Change systray icon on the fly (no restart needed)
- BUGFIX: Remember peer-level rate limits (requires libtorrent v0.16)
- BUGFIX: Stop annoncing to trackers an all tiers (more respectful)
- BUGFIX: Stop sharing private trackers with other peers
- BUGFIX: Tracker exchange extension can be disabled
- BUGFIX: Cleaner program exit on system log out
- BUGFIX: Fix possible magnet link parsing problems
- BUGFIX: Fix possible RSS URL parsing problems
- COSMETIC: Added monochrome icon for light themes
* Sat Feb 26 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.7
- BUGFIX: Encoding fixes (Windows)
- BUGFIX: Fix "append label to save path" (Windows)
- BUGFIX: Disable OS cache for aligned files to reduce memory consumption
- BUGFIX: Fix torrent upload from Web UI (Windows)
- BUGFIX: Fix cursor problem in torrent addition dialog
- BUGFIX: Fix crash when additing an empty tracker URL
- BUGFIX: Share ratio can now go over 100
- BUGFIX: Fix compilation with boost >= v1.46
* Sun Mar 20 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.7.0
- FEATURE: Added search field for torrent content
- FEATURE: Added auto-shutdown confirmation dialog
- FEATURE: Added option to skip torrent deletion confirmation (Ville Kiiskinen)
- FEATURE: IP address reported to trackers is now customizable
- FEATURE: Inhibit system sleep when torrents are active (Vladimir Golovnev)
- FEATURE: Added option to bypass Web UI authentication for localhost
- FEATURE: Added option to disable program exit confirmation
- FEATURE: Added per-torrent ratio limiting (Christian Kandeler)
- FEATURE: Torrent content list is now sortable
- BUGFIX: Fix compilation with namespaced Qt (Christian Kandeler)
- BUGFIX: Added length restriction on UI lock password
- COSMETIC: Added monochrome tray icon
- COSMETIC: Improved status bar's style
- OTHER: Make QtDBus dependency optional (X11)
* Tue Feb 8 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.6
- FEATURE: IP address reported to trackers is now customizable
- BUGFIX: Use slashes instead of antislashes in URLs (Windows)
- BUGFIX: Fix articles read state reset problem in RSS
- BUGFIX: Fix possible path encoding issues on Windows
- BUGFIX: Fix downloads from URLs on Windows
- I18N: Added Lithuanian translation
- COSMETIC: Improve main window layout
- COSMETIC: Improve properties buttons style
- COSMETIC: Display pieces being downloaded in green instead of yellow
- COSMETIC: Improve piece availability bar appearance
* Thu Feb 3 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.5
- BUGFIX: Make sure the progress is not 100% unless the file is complete
- BUGFIX: Fix memory leak in HTTP torrent downloader
- BUGFIX: Use native file dialogs (by Vladimir Golovnev)
- BUGFIX: Fix encoding problem in torrent moving code (by Vladimir Golovnev)
- BUGFIX: Performance improvement on ARM
- BUGFIX: RSS code rewrite (more cpu/memory efficient)
- I18N: Updated Norwegian translation (Tomaso)
* Sun Jan 23 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.4
- BUGFIX: Added unicode support to email notification
- BUGFIX: Improved compatibility with various SMTP servers
- BUGFIX: Fix Labeling in RSS downloader
- BUGFIX: Avoid main window flashing on startup (closes #703984)
- BUGFIX: Improved hostname resolution code
- BUGFIX: Dropped dependency on libboost-thread
- BUGFIX: Display legal notice on screen center
- BUGFIX: Fix renaming of single-file torrents (by Vladimir Golovnev)
- I18N: More dialog buttons are now translated (by Vladimir Golovnev)
- I18N: Fix translation of size units (by Vladimir Golovnev)
* Sat Jan 15 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.3
- BUGFIX: Fix possible crashes in full allocation mode
- BUGFIX: Fix icon size issues (Linux, icon theme)
- BUGFIX: Fixed file priority context menu
- BUGFIX: Remove dbus dependency in nox mode
- BUGFIX: Fix compilation on FreeBSD
- I18N: Improve Web UI translation
- I18N: Updated Polish translation
* Wed Jan 12 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.2
- BUGFIX: Do not report PeX as being disabled when DHT is
- BUGFIX: Fix possible crash on adding magnet links
- BUGFIX: Fix torrent import (was not working)
- I18N: Updated Greek, Croatian, Russian, Unkrainian and Bulgarian translations
- I18N: Added Armenian translation (New)
- I18N: Remove country flags from program preferences (language selection)
- I18N: Translate locale names (language selection)
* Mon Jan 10 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.1
- BUGFIX: Really disable torrent addition dialog by default
- BUGFIX: Fix some missing icons in the Web UI
- BUGFIX: Fix magnet torrent name update problem
- COSMETIC: Use 24px size for toolbar icons and reduce spacing
- COSMETIC: Move transfer list filter on the right side of the toolbar
* Sun Jan 9 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.0
- FEATURE: Use system icons (Linux, Qt >= 4.6)

View File

@@ -10,7 +10,7 @@ qBittorrent - A BitTorrent client in C++ / Qt4
will install and execute qBittorrent hopefully without any problems.
Dependencies:
- Qt >= 4.5.0 (libqtgui, libqtcore, libqtnetwork, libqtxml, libqtdbus/optional)
- Qt >= 4.5.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml)
- pkg-config executable
@@ -22,9 +22,13 @@ qBittorrent - A BitTorrent client in C++ / Qt4
or
- libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-date-time)
- python >= 2.3 && < 3.0 (needed by search engine)
- 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

127
configure vendored
View File

@@ -22,11 +22,11 @@ Dependency options:
--disable-gui Disable qBittorrent
Graphical user interface for
headless running
--disable-qt-dbus Disable use of qt-dbus
--with-libboost-inc=[path] Path to libboost include
files
--with-libboost-lib=[path] Path to libboost library
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
@@ -162,11 +162,6 @@ while [ $# -gt 0 ]; do
shift
;;
--disable-qt-dbus)
QC_DISABLE_qt_dbus="Y"
shift
;;
--with-libboost-inc=*)
QC_WITH_LIBBOOST_INC=$optarg
shift
@@ -177,6 +172,11 @@ while [ $# -gt 0 ]; do
shift
;;
--disable-libnotify)
QC_DISABLE_libnotify="Y"
shift
;;
--disable-geoip-database)
QC_DISABLE_geoip_database="Y"
shift
@@ -215,9 +215,9 @@ echo DATADIR=$DATADIR
echo EX_QTDIR=$EX_QTDIR
echo QC_ENABLE_DEBUG=$QC_ENABLE_DEBUG
echo QC_DISABLE_GUI=$QC_DISABLE_GUI
echo QC_DISABLE_qt_dbus=$QC_DISABLE_qt_dbus
echo QC_WITH_LIBBOOST_INC=$QC_WITH_LIBBOOST_INC
echo QC_WITH_LIBBOOST_LIB=$QC_WITH_LIBBOOST_LIB
echo QC_DISABLE_libnotify=$QC_DISABLE_libnotify
echo QC_DISABLE_geoip_database=$QC_DISABLE_geoip_database
echo QC_WITH_GEOIP_DATABASE_EMBEDDED=$QC_WITH_GEOIP_DATABASE_EMBEDDED
echo QC_WITH_QTSINGLEAPPLICATION=$QC_WITH_QTSINGLEAPPLICATION
@@ -344,11 +344,7 @@ public:
}
// Debug mode
if(!conf->getenv("QC_ENABLE_DEBUG").isEmpty()) {
conf->addExtra("CONFIG -= release");
conf->addExtra("CONFIG += debug");
} else {
conf->addExtra("CONFIG -= debug");
conf->addExtra("CONFIG += release");
}
#ifdef Q_OS_FREEBSD
conf->addLib("-lexecinfo");
@@ -359,38 +355,6 @@ public:
return(QT_VERSION >= 0x040500);
}
};
#line 1 "qt-dbus.qcm"
/*
-----BEGIN QCMOD-----
name: qt-dbus
-----END QCMOD-----
*/
// see Conf::findPkgConfig
class qc_qt_dbus : public ConfObj
{
public:
qc_qt_dbus(Conf *c) : ConfObj(c) {}
QString name() const { return "QtDBus >= 4.5"; }
QString shortname() const { return "qt-dbus"; }
QString checkString() const {
if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
return "";
return ConfObj::checkString();
}
bool exec(){
if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
return false;
QStringList incs;
QString req_ver = "4.5.0";
QString version, libs, other;
VersionMode mode = VersionMin;
if(conf->findPkgConfig("QtDBus", mode, req_ver, &version, &incs, &libs, &other)) {
conf->addExtra("CONFIG += dbus");
return true;
}
return false;
}
};
#line 1 "pkg-config.qcm"
/*
-----BEGIN QCMOD-----
@@ -430,6 +394,9 @@ public:
return false;
for(int n = 0; n < incs.count(); ++n)
conf->addIncludePath(incs[n]);
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
conf->addLib("-lcrypto");
}
return true;
}
};
@@ -512,7 +479,10 @@ public:
#if BOOST_VERSION >= 103500
required_libs << "system";
#endif
required_libs << "filesystem" ;
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
// Not required by nox
required_libs << "filesystem" ;
}
QStringList libDirs;
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";
foreach(const QString& lib, required_libs) {
@@ -543,6 +513,67 @@ public:
return true;
}
};
#line 1 "libnotify.qcm"
/*
-----BEGIN QCMOD-----
name: libnotify
-----END QCMOD-----
*/
// see Conf::findPkgConfig
class qc_libnotify : public ConfObj
{
public:
qc_libnotify(Conf *c) : ConfObj(c) {}
QString name() const { return "libnotify >= 0.4.2 (optional)"; }
QString shortname() const { return "libnotify"; }
QString checkString() const {
if(!conf->getenv("QC_DISABLE_libnotify").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
return "";
return ConfObj::checkString();
}
bool exec(){
if(!conf->getenv("QC_DISABLE_libnotify").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) {
return false;
}
QStringList incs;
QString req_ver = "0.4.2";
QString version, libs, other;
VersionMode mode = VersionMin;
if(conf->findPkgConfig("libnotify", mode, req_ver, &version, &incs, &libs, &other)) {
conf->addExtra("CONFIG += libnotify");
for(int n = 0; n < incs.count(); ++n)
conf->addIncludePath(incs[n]);
if(!libs.isEmpty())
conf->addLib(libs);
QStringList incs2;
QString req_ver2 = "2.0";
QString version2, libs2, other2;
if(conf->findPkgConfig("glib-2.0", mode, req_ver2, &version2, &incs2, &libs2, &other2)) {
for(int n = 0; n < incs2.count(); ++n)
conf->addIncludePath(incs2[n]);
if(!libs2.isEmpty())
conf->addLib(libs2);
} else {
return false;
}
QStringList incs3;
QString req_ver3 = "2.0";
QString version3, libs3, other3;
if(conf->findPkgConfig("gtk+-2.0", mode, req_ver3, &version3, &incs3, &libs3, &other3)) {
for(int n = 0; n < incs3.count(); ++n)
conf->addIncludePath(incs3[n]);
if(!libs3.isEmpty())
conf->addLib(libs3);
} else {
return false;
}
} else {
return false;
}
return true;
}
};
#line 1 "geoip-database.qcm"
/*
-----BEGIN QCMOD-----
@@ -614,9 +645,6 @@ cat >$1/modules_new.cpp <<EOT
o = new qc_qt4(conf);
o->required = true;
o->disabled = false;
o = new qc_qt_dbus(conf);
o->required = false;
o->disabled = false;
o = new qc_pkg_config(conf);
o->required = true;
o->disabled = false;
@@ -626,6 +654,9 @@ cat >$1/modules_new.cpp <<EOT
o = new qc_libboost(conf);
o->required = true;
o->disabled = false;
o = new qc_libnotify(conf);
o->required = false;
o->disabled = false;
o = new qc_geoip_database(conf);
o->required = false;
o->disabled = false;
@@ -1579,9 +1610,9 @@ export DATADIR
export EX_QTDIR
export QC_ENABLE_DEBUG
export QC_DISABLE_GUI
export QC_DISABLE_qt_dbus
export QC_WITH_LIBBOOST_INC
export QC_WITH_LIBBOOST_LIB
export QC_DISABLE_libnotify
export QC_DISABLE_geoip_database
export QC_WITH_GEOIP_DATABASE_EMBEDDED
export QC_WITH_QTSINGLEAPPLICATION

View File

@@ -3,7 +3,7 @@ BINDIR = /usr/local/bin
DATADIR = /usr/local/share
INCLUDEPATH += /usr/local/include/libtorrent /usr/include/openssl /usr/include /opt/local/include/boost /opt/local/include
LIBS += -ltorrent-rasterbar -lcrypto -L/opt/local/lib -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -framework Cocoa -framework Carbon -framework IOKit
LIBS += -ltorrent-rasterbar -lcrypto -L/opt/local/lib -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -framework Cocoa -framework Carbon
document_icon.path = Contents/Resources
document_icon.files = Icons/qBitTorrentDocument.icns

View File

@@ -11,8 +11,5 @@ LIBS += -ltorrent-rasterbar \
RC_FILE = qbittorrent_os2.rc
# LIBTORRENT DEFINES
DEFINES += WITH_SHIPPED_GEOIP_H
DEFINES += WITH_GEOIP_EMBEDDED
message("On eCS(OS/2), GeoIP database must be embedded.")

View File

@@ -2,14 +2,3 @@ TEMPLATE = subdirs
SUBDIRS += src
include(version.pri)
# Dist
dist.commands += rm -fR ../$${PROJECT_NAME}-$${PROJECT_VERSION}/ &&
dist.commands += git clone . ../$${PROJECT_NAME}-$${PROJECT_VERSION} &&
dist.commands += rm -fR ../$${PROJECT_NAME}-$${PROJECT_VERSION}/.git &&
dist.commands += rm -f ../$${PROJECT_NAME}-$${PROJECT_VERSION}/.gitignore &&
dist.commands += tar zcpvf ../$${PROJECT_NAME}-$${PROJECT_VERSION}.tar.gz ../$${PROJECT_NAME}-$${PROJECT_VERSION} &&
dist.commands += rm -fR ../$${PROJECT_NAME}-$${PROJECT_VERSION}
QMAKE_EXTRA_TARGETS += dist

View File

@@ -6,8 +6,6 @@
<dep type='qt4'>
<required/>
</dep>
<dep type='qt-dbus'>
</dep>
<dep type='pkg-config'>
<required/>
</dep>
@@ -17,6 +15,8 @@
<dep type='libboost'>
<required/>
</dep>
<dep type='libnotify'>
</dep>
<dep type='geoip-database'>
</dep>
<dep type='qtsingleapplication'>

View File

@@ -76,7 +76,10 @@ public:
#if BOOST_VERSION >= 103500
required_libs << "system";
#endif
required_libs << "filesystem" ;
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
// Not required by nox
required_libs << "filesystem" ;
}
QStringList libDirs;
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";
foreach(const QString& lib, required_libs) {

View File

@@ -19,6 +19,9 @@ public:
return false;
for(int n = 0; n < incs.count(); ++n)
conf->addIncludePath(incs[n]);
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
conf->addLib("-lcrypto");
}
return true;
}
};

View File

@@ -1,31 +0,0 @@
/*
-----BEGIN QCMOD-----
name: qt-dbus
-----END QCMOD-----
*/
// see Conf::findPkgConfig
class qc_qt_dbus : public ConfObj
{
public:
qc_qt_dbus(Conf *c) : ConfObj(c) {}
QString name() const { return "QtDBus >= 4.5"; }
QString shortname() const { return "qt-dbus"; }
QString checkString() const {
if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
return "";
return ConfObj::checkString();
}
bool exec(){
if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
return false;
QStringList incs;
QString req_ver = "4.5.0";
QString version, libs, other;
VersionMode mode = VersionMin;
if(conf->findPkgConfig("QtDBus", mode, req_ver, &version, &incs, &libs, &other)) {
conf->addExtra("CONFIG += dbus");
return true;
}
return false;
}
};

View File

@@ -1,31 +0,0 @@
/*
-----BEGIN QCMOD-----
name: qt-svg
-----END QCMOD-----
*/
// see Conf::findPkgConfig
class qc_qt_svg : public ConfObj
{
public:
qc_qt_svg(Conf *c) : ConfObj(c) {}
QString name() const { return "QtSvg >= 4.5"; }
QString shortname() const { return "qt-svg"; }
QString checkString() const {
if(!conf->getenv("QC_DISABLE_qt_svg").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
return "";
return ConfObj::checkString();
}
bool exec(){
if(!conf->getenv("QC_DISABLE_qt_svg").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty())
return false;
QStringList incs;
QString req_ver = "4.5.0";
QString version, libs, other;
VersionMode mode = VersionMin;
if(conf->findPkgConfig("QtSvg", mode, req_ver, &version, &incs, &libs, &other)) {
conf->addExtra("CONFIG += svg");
return true;
}
return false;
}
};

View File

@@ -19,11 +19,7 @@ public:
}
// Debug mode
if(!conf->getenv("QC_ENABLE_DEBUG").isEmpty()) {
conf->addExtra("CONFIG -= release");
conf->addExtra("CONFIG += debug");
} else {
conf->addExtra("CONFIG -= debug");
conf->addExtra("CONFIG += release");
}
#ifdef Q_OS_FREEBSD
conf->addLib("-lexecinfo");

BIN
src/Icons/downarrow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 651 B

View File

@@ -1,5 +1,6 @@
[Desktop Entry]
Categories=Network;FileTransfer;P2P;Qt;
Categories=Qt;Network;P2P;
Comment=V2.6.8
Exec=qbittorrent %U
GenericName=BitTorrent client
GenericName[ar]=العميل BitTorrent
@@ -29,9 +30,6 @@ GenericName[tr]=BitTorrent istemcisi
GenericName[uk]=BitTorrent-клієнт
GenericName[zh]=BitTorrent之用户
GenericName[zh_TW]=BitTorrent客戶端
Comment=Download and share files over BitTorrent
Comment[fr]=Télécharger et partager des fichiers avec BitTorrent
Comment[pl]=Dzielenie się plikami przez BitTorrent
Icon=qbittorrent
MimeType=application/x-bittorrent;x-scheme-handler/magnet;
Name=qBittorrent

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 483 B

BIN
src/Icons/uparrow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 B

View File

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

File diff suppressed because one or more lines are too long

View File

@@ -33,9 +33,6 @@
#include "ui_about.h"
#include <QFile>
#include <QtGlobal>
#include <libtorrent/version.hpp>
#include <boost/version.hpp>
class about : public QDialog, private Ui::AboutDlg{
Q_OBJECT
@@ -79,7 +76,7 @@ class about : public QDialog, private Ui::AboutDlg{
<li><u>Greek:</u> Tsvetan Bankov (emerge_life@users.sourceforge.net)</li>\
<li><u>Hungarian:</u> Majoros Péter (majoros.peterj@gmail.com)</li>\
<li><u>Italian:</u> Matteo Sechi (bu17714@gmail.com)</li>\
<li><u>Japanese:</u> Masato Hashimoto (cabezon.hashimoto@gmail.com)</li>\
<li><u>Japanese:</u> Nardog (alphisation@gmail.com)</li>\
<li><u>Korean:</u> Jin Woo Sin (jin828sin@users.sourceforge.net)</li>\
<li><u>Lithuanian:</u> Naglis Jonaitis (njonaitis@gmail.com)</li>\
<li><u>Norwegian:</u> Tomaso</li>\
@@ -102,10 +99,6 @@ class about : public QDialog, private Ui::AboutDlg{
te_license->setHtml(licensefile.readAll());
licensefile.close();
}
// Libraries
label_11->setText(QT_VERSION_STR);
label_12->setText(LIBTORRENT_VERSION);
label_13->setText(QString::number(BOOST_VERSION / 100000) + "." + QString::number((BOOST_VERSION / 100) % 1000) + "." + QString::number(BOOST_VERSION % 100));
show();
}
};

File diff suppressed because it is too large Load Diff

View File

@@ -1,81 +0,0 @@
/*
* Bittorrent Client using Qt4 and libtorrent.
* Copyright (C) 2011 Christophe Dumez
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* In addition, as a special exception, the copyright holders give permission to
* link this program with the OpenSSL project's "OpenSSL" library (or with
* modified versions of it that use the same license as the "OpenSSL" library),
* and distribute the linked executables. You must obey the GNU General Public
* License in all respects for all of the code used other than "OpenSSL". If you
* modify file(s), you may extend this exception to your version of the file(s),
* but you are not obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*
* Contact : chris@qbittorrent.org
*/
#ifndef DNSUPDATER_H
#define DNSUPDATER_H
#include <QObject>
#include <QHostAddress>
#include <QNetworkReply>
#include <QDateTime>
#include <QTimer>
#include "preferences.h"
/*!
* Based on http://www.dyndns.com/developers/specs/
*/
class DNSUpdater : public QObject
{
Q_OBJECT
public:
explicit DNSUpdater(QObject *parent = 0);
~DNSUpdater();
static QUrl getRegistrationUrl(int service);
public slots:
void updateCredentials();
private slots:
void checkPublicIP();
void ipRequestFinished(QNetworkReply* reply);
void updateDNSService();
void ipUpdateFinished(QNetworkReply* reply);
private:
QUrl getUpdateUrl() const;
void processIPUpdateReply(const QString &reply);
private:
QHostAddress m_lastIP;
QDateTime m_lastIPCheckTime;
QTimer m_ipCheckTimer;
int m_state;
// Service creds
DNS::Service m_service;
QString m_domain;
QString m_username;
QString m_password;
private:
static const int IP_CHECK_INTERVAL_MS = 1800000; // 30 min
enum State { OK, INVALID_CREDS, FATAL };
};
#endif // DNSUPDATER_H

View File

@@ -44,14 +44,14 @@
/** Download Thread **/
DownloadThread::DownloadThread(QObject* parent) : QObject(parent) {
downloadThread::downloadThread(QObject* parent) : QObject(parent) {
connect(&m_networkManager, SIGNAL(finished (QNetworkReply*)), this, SLOT(processDlFinished(QNetworkReply*)));
#ifndef QT_NO_OPENSSL
connect(&m_networkManager, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), this, SLOT(ignoreSslErrors(QNetworkReply*,QList<QSslError>)));
#endif
}
void DownloadThread::processDlFinished(QNetworkReply* reply) {
void downloadThread::processDlFinished(QNetworkReply* reply) {
QString url = reply->url().toString();
qDebug("Download finished: %s", qPrintable(url));
// Check if the request was successful
@@ -86,8 +86,9 @@ void DownloadThread::processDlFinished(QNetworkReply* reply) {
// TODO: Support GZIP compression
tmpfile->write(reply->readAll());
tmpfile->close();
// XXX: tmpfile needs to be deleted on Windows before using the file
// or it will complain that the file is used by another process.
// XXX: For some reason, tmpfile has to be destroyed before
// the signal is sent or the file stays locked on Windows
// for some reason.
delete tmpfile;
// Send finished signal
emit downloadFinished(url, filePath);
@@ -105,7 +106,7 @@ void DownloadThread::processDlFinished(QNetworkReply* reply) {
}
#ifndef DISABLE_GUI
void DownloadThread::loadCookies(const QString &host_name, QString url) {
void downloadThread::loadCookies(const QString &host_name, QString url) {
const QList<QByteArray> raw_cookies = RssSettings().getHostNameCookies(host_name);
QNetworkCookieJar *cookie_jar = m_networkManager.cookieJar();
QList<QNetworkCookie> cookies;
@@ -122,13 +123,13 @@ void DownloadThread::loadCookies(const QString &host_name, QString url) {
}
#endif
void DownloadThread::downloadTorrentUrl(const QString &url) {
void downloadThread::downloadTorrentUrl(const QString &url) {
// Process request
QNetworkReply *reply = downloadUrl(url);
connect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(checkDownloadSize(qint64,qint64)));
}
QNetworkReply* DownloadThread::downloadUrl(const QString &url){
QNetworkReply* downloadThread::downloadUrl(const QString &url){
// Update proxy settings
applyProxySettings();
#ifndef DISABLE_GUI
@@ -153,7 +154,7 @@ QNetworkReply* DownloadThread::downloadUrl(const QString &url){
return m_networkManager.get(request);
}
void DownloadThread::checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal) {
void downloadThread::checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal) {
QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
if(!reply) return;
if(bytesTotal > 0) {
@@ -174,7 +175,7 @@ void DownloadThread::checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal)
}
}
void DownloadThread::applyProxySettings() {
void downloadThread::applyProxySettings() {
QNetworkProxy proxy;
const Preferences pref;
if(pref.isProxyEnabled()) {
@@ -202,7 +203,7 @@ void DownloadThread::applyProxySettings() {
m_networkManager.setProxy(proxy);
}
QString DownloadThread::errorCodeToString(QNetworkReply::NetworkError status) {
QString downloadThread::errorCodeToString(QNetworkReply::NetworkError status) {
switch(status){
case QNetworkReply::HostNotFoundError:
return tr("The remote host name was not found (invalid hostname)");
@@ -252,7 +253,7 @@ QString DownloadThread::errorCodeToString(QNetworkReply::NetworkError status) {
}
#ifndef QT_NO_OPENSSL
void DownloadThread::ignoreSslErrors(QNetworkReply* reply, const QList<QSslError> &errors) {
void downloadThread::ignoreSslErrors(QNetworkReply* reply, const QList<QSslError> &errors) {
Q_UNUSED(errors)
// Ignore all SSL errors
reply->ignoreSslErrors();

View File

@@ -36,15 +36,13 @@
#include <QHash>
#include <QSslError>
QT_BEGIN_NAMESPACE
class QNetworkAccessManager;
QT_END_NAMESPACE
class DownloadThread : public QObject {
class downloadThread : public QObject {
Q_OBJECT
public:
DownloadThread(QObject* parent = 0);
downloadThread(QObject* parent = 0);
QNetworkReply* downloadUrl(const QString &url);
void downloadTorrentUrl(const QString &url);
//void setProxy(QString IP, int port, QString username, QString password);

View File

@@ -1,77 +1,32 @@
/*
* Bittorrent Client using Qt4 and libtorrent.
* Copyright (C) 2011 Christophe Dumez
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* In addition, as a special exception, the copyright holders give permission to
* link this program with the OpenSSL project's "OpenSSL" library (or with
* modified versions of it that use the same license as the "OpenSSL" library),
* and distribute the linked executables. You must obey the GNU General Public
* License in all respects for all of the code used other than "OpenSSL". If you
* modify file(s), you may extend this exception to your version of the file(s),
* but you are not obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*
* Contact : chris@qbittorrent.org
*/
#include <QListWidgetItem>
#include <QLabel>
#include "executionlog.h"
#include "ui_executionlog.h"
#include "qbtsession.h"
#include "iconprovider.h"
#include "loglistwidget.h"
ExecutionLog::ExecutionLog(QWidget *parent) :
QWidget(parent),
ui(new Ui::ExecutionLog),
m_logList(new LogListWidget(MAX_LOG_MESSAGES)),
m_banList(new LogListWidget(MAX_LOG_MESSAGES))
QWidget(parent),
ui(new Ui::ExecutionLog)
{
ui->setupUi(this);
ui->tabConsole->setTabIcon(0, IconProvider::instance()->getIcon("view-calendar-journal"));
ui->tabConsole->setTabIcon(1, IconProvider::instance()->getIcon("view-filter"));
ui->tabGeneral->layout()->addWidget(m_logList);
ui->tabBan->layout()->addWidget(m_banList);
const QStringList log_msgs = QBtSession::instance()->getConsoleMessages();
foreach(const QString& msg, log_msgs)
addLogMessage(msg);
const QStringList ban_msgs = QBtSession::instance()->getPeerBanMessages();
foreach(const QString& msg, ban_msgs)
addBanMessage(msg);
ui->textConsole->setHtml(QBtSession::instance()->getConsoleMessages().join("<br>"));
connect(QBtSession::instance(), SIGNAL(newConsoleMessage(QString)), SLOT(addLogMessage(QString)));
ui->textBannedPeers->setHtml(QBtSession::instance()->getPeerBanMessages().join("<br>"));
connect(QBtSession::instance(), SIGNAL(newBanMessage(QString)), SLOT(addBanMessage(QString)));
}
ExecutionLog::~ExecutionLog()
{
delete m_logList;
delete m_banList;
delete ui;
}
void ExecutionLog::addLogMessage(const QString &msg)
{
m_logList->appendLine(msg);
ui->textConsole->setHtml(msg+ui->textConsole->toHtml());
}
void ExecutionLog::addBanMessage(const QString &msg)
{
m_banList->appendLine(msg);
ui->textBannedPeers->setHtml(msg+ui->textBannedPeers->toHtml());
}

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