Compare commits
136 Commits
release-2.
...
release-2.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7c79537176 | ||
![]() |
2b45e1baa3 | ||
![]() |
476b395166 | ||
![]() |
7157996dc2 | ||
![]() |
218f386502 | ||
![]() |
b492051d32 | ||
![]() |
39c7d884c9 | ||
![]() |
4d2d0bf08d | ||
![]() |
34c1fd759b | ||
![]() |
922aebec9a | ||
![]() |
4d39b3accd | ||
![]() |
c713bd56e0 | ||
![]() |
efcd652e3d | ||
![]() |
8d6df1f15f | ||
![]() |
ca835a105b | ||
![]() |
2de1a7cc30 | ||
![]() |
3de83319a8 | ||
![]() |
cfc75905a2 | ||
![]() |
2c30d5a1ca | ||
![]() |
d162d0c3c6 | ||
![]() |
509eb9bcf0 | ||
![]() |
1766877605 | ||
![]() |
fa78fba559 | ||
![]() |
44ff7161aa | ||
![]() |
96837a3658 | ||
![]() |
e4d93a96e7 | ||
![]() |
ccb2ed9a69 | ||
![]() |
ae5693544d | ||
![]() |
3a72c11e39 | ||
![]() |
4176abd18a | ||
![]() |
cba36fcb14 | ||
![]() |
9f33656e61 | ||
![]() |
a4123a6462 | ||
![]() |
313b2630bd | ||
![]() |
87b0ae9a79 | ||
![]() |
81778a0090 | ||
![]() |
5d0d63d89a | ||
![]() |
764e8a365b | ||
![]() |
e302042520 | ||
![]() |
e453eb9a91 | ||
![]() |
98fcb91dae | ||
![]() |
c8a1f625f0 | ||
![]() |
b70cf7c049 | ||
![]() |
ecdfe63d00 | ||
![]() |
7635fe51f7 | ||
![]() |
8cba38ac62 | ||
![]() |
fab63e6ffc | ||
![]() |
27f257ba03 | ||
![]() |
a2aa462030 | ||
![]() |
0f44804225 | ||
![]() |
de78fc495b | ||
![]() |
93731f1b3f | ||
![]() |
2e9e10299c | ||
![]() |
9f627b5ec9 | ||
![]() |
ad252f432a | ||
![]() |
eb1feddea6 | ||
![]() |
1634014dde | ||
![]() |
e863772159 | ||
![]() |
7c34f4e93c | ||
![]() |
91032056e1 | ||
![]() |
f427d267b6 | ||
![]() |
a7a8265053 | ||
![]() |
827fceca83 | ||
![]() |
7aaa3e8f51 | ||
![]() |
1fe49198d1 | ||
![]() |
c582aff563 | ||
![]() |
5272f1cba3 | ||
![]() |
b72d356083 | ||
![]() |
fbd6533eee | ||
![]() |
2998dbd0a1 | ||
![]() |
cb8da634f4 | ||
![]() |
e8f229816e | ||
![]() |
fe0fc952e8 | ||
![]() |
29a76ae600 | ||
![]() |
5471600dfb | ||
![]() |
df42c4d59f | ||
![]() |
8047495b2e | ||
![]() |
de04b47c29 | ||
![]() |
b709bec24d | ||
![]() |
35f93e8e16 | ||
![]() |
554a84f8b0 | ||
![]() |
f26fcabde1 | ||
![]() |
75b91c204d | ||
![]() |
0837c25602 | ||
![]() |
34f8937b8d | ||
![]() |
4a7f3ee415 | ||
![]() |
b218531ff7 | ||
![]() |
e96dee2038 | ||
![]() |
080105c088 | ||
![]() |
5d2535c1c1 | ||
![]() |
49b21059fa | ||
![]() |
c1af948649 | ||
![]() |
36ad3df9e7 | ||
![]() |
e607d721a2 | ||
![]() |
5bfbfeb665 | ||
![]() |
1f1eabb1e9 | ||
![]() |
762050f8fc | ||
![]() |
e3c1270205 | ||
![]() |
414685910b | ||
![]() |
d61b9c5d4d | ||
![]() |
cf86a1cecd | ||
![]() |
a3f3287e24 | ||
![]() |
6e18d780ba | ||
![]() |
7dde763fc6 | ||
![]() |
8c85ffca5f | ||
![]() |
321e568d86 | ||
![]() |
e0649a7e78 | ||
![]() |
4cd3233cd0 | ||
![]() |
c554528afe | ||
![]() |
7ab7f4b0fc | ||
![]() |
58c0ac7638 | ||
![]() |
2514224a3a | ||
![]() |
247f6b4a8e | ||
![]() |
3d89864b75 | ||
![]() |
7ac75ad772 | ||
![]() |
caa628371f | ||
![]() |
fd31f632d9 | ||
![]() |
a25b6e087b | ||
![]() |
1626d938d1 | ||
![]() |
a4c7640499 | ||
![]() |
2c1b93a12b | ||
![]() |
8f19025c2a | ||
![]() |
20d41bcff2 | ||
![]() |
1ad77e00ff | ||
![]() |
0b65c02666 | ||
![]() |
294095367a | ||
![]() |
05a6ffd554 | ||
![]() |
e0a30dc40c | ||
![]() |
1940bc4e73 | ||
![]() |
a7e4e0273a | ||
![]() |
29a9d57cdc | ||
![]() |
9c7a4e4983 | ||
![]() |
35ead5bcf2 | ||
![]() |
645bd58d79 | ||
![]() |
6c47a552ab | ||
![]() |
f54bc8bea4 |
14
.gitignore
vendored
@@ -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
|
|
20
AUTHORS
@@ -2,7 +2,6 @@ Author:
|
|||||||
* Christophe Dumez <chris@qbittorrent.org>
|
* Christophe Dumez <chris@qbittorrent.org>
|
||||||
|
|
||||||
Contributors:
|
Contributors:
|
||||||
* Vladimir Golovnev <glassez@yandex.ru>
|
|
||||||
* Stefanos Antaris <santaris@csd.auth.gr>
|
* Stefanos Antaris <santaris@csd.auth.gr>
|
||||||
* Mohammad Dib <mdib@qbittorrent.org>
|
* Mohammad Dib <mdib@qbittorrent.org>
|
||||||
* Mirco Chinelli <infinity89@fastwebmail.it>
|
* Mirco Chinelli <infinity89@fastwebmail.it>
|
||||||
@@ -37,9 +36,9 @@ Images Authors:
|
|||||||
url: http://www.oxygen-icons.org
|
url: http://www.oxygen-icons.org
|
||||||
|
|
||||||
* files: src/Icons/flags/*.png
|
* files: src/Icons/flags/*.png
|
||||||
copyright: Mark James <mjames@gmail.com>
|
copyright: Open Clip Art Library
|
||||||
license: Public Domain
|
license: Creative Commons Public Domain Dedication
|
||||||
url: http://www.famfamfam.com
|
url: http://www.openclipart.org
|
||||||
|
|
||||||
* files: src/Icons/skin/*.png
|
* files: src/Icons/skin/*.png
|
||||||
files: src/menuicons/YYxYY/*.png
|
files: src/menuicons/YYxYY/*.png
|
||||||
@@ -50,10 +49,6 @@ Images Authors:
|
|||||||
copyright: Greg Houston <gregory.houston@gmail.com>
|
copyright: Greg Houston <gregory.houston@gmail.com>
|
||||||
license: MIT
|
license: MIT
|
||||||
|
|
||||||
* file: src/Icons/skin/qbittorrent_mono*
|
|
||||||
copyright: Daniel Eguren <deguren@gmail.com>
|
|
||||||
license: LGPL
|
|
||||||
|
|
||||||
* file: src/search_engine/engines/btjunkie.png
|
* file: src/search_engine/engines/btjunkie.png
|
||||||
copyright: Downloaded from btjunkie.org
|
copyright: Downloaded from btjunkie.org
|
||||||
|
|
||||||
@@ -73,7 +68,6 @@ Translations authors:
|
|||||||
* files: src/lang/*.ts
|
* files: src/lang/*.ts
|
||||||
copyright:
|
copyright:
|
||||||
- Arabic: SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com)
|
- Arabic: SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com)
|
||||||
- Armenian: Hrant Ohanyan (hrantohanyan@mail.am)
|
|
||||||
- Brazilian: Nick Marinho (nickmarinho@gmail.com)
|
- Brazilian: Nick Marinho (nickmarinho@gmail.com)
|
||||||
- Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)
|
- Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)
|
||||||
- Catalan: Francisco Luque Contreras (frannoe@ya.com)
|
- Catalan: Francisco Luque Contreras (frannoe@ya.com)
|
||||||
@@ -82,19 +76,17 @@ Translations authors:
|
|||||||
- Croatian: Oliver Mucafir (oliver.untwist@gmail.com)
|
- Croatian: Oliver Mucafir (oliver.untwist@gmail.com)
|
||||||
- Czech: Jirka Vilim (web@tets.cz)
|
- Czech: Jirka Vilim (web@tets.cz)
|
||||||
- Danish: Mathias Nielsen (comoneo@gmail.com)
|
- Danish: Mathias Nielsen (comoneo@gmail.com)
|
||||||
- Dutch: Pieter Heyvaert (pieter_heyvaert@hotmail.com)
|
- Dutch: Joost Schipper (heavyjoost@users.sourceforge.net)
|
||||||
- English: Christophe Dumez (chris@qbittorrent.org)
|
- English: Christophe Dumez (chris@qbittorrent.org)
|
||||||
- Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net)
|
- Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net)
|
||||||
- French: Christophe Dumez (chris@qbittorrent.org)
|
- French: Christophe Dumez (chris@qbittorrent.org)
|
||||||
- Galician: Marcos Lans (marcoslansgarza@gmail.com)
|
|
||||||
- German: Niels Hoffmann (zentralmaschine@users.sourceforge.net)
|
- German: Niels Hoffmann (zentralmaschine@users.sourceforge.net)
|
||||||
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net) and Stephanos Antaris (santaris@csd.auth.gr)
|
- 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)
|
- Hungarian: Majoros Péter (majoros.j.p@t-online.hu)
|
||||||
- Italian: Matteo Sechi (bu17714@gmail.com)
|
- 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)
|
- Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
|
||||||
- Lithuanian: Naglis Jonaitis (njonaitis@gmail.com)
|
- Norwegian: Lars-Erik Labori (hamil@users.sourceforge.net)
|
||||||
- Norwegian: Tomaso
|
|
||||||
- Polish: Mariusz Fik (fisiu@opensuse.org)
|
- Polish: Mariusz Fik (fisiu@opensuse.org)
|
||||||
- Portuguese: Nick Marinho (nickmarinho@gmail.com)
|
- Portuguese: Nick Marinho (nickmarinho@gmail.com)
|
||||||
- Romanian: Obada Denis (obadadenis@users.sourceforge.net)
|
- Romanian: Obada Denis (obadadenis@users.sourceforge.net)
|
||||||
|
193
Changelog
@@ -1,108 +1,99 @@
|
|||||||
* Sat Oct 08 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.9.0
|
* Unreleased - Christophe Dumez <chris@qbittorrent.org> - v2.4.11
|
||||||
- FEATURE: Add file association settings to program preferences (Windows)
|
- BUGFIX: Do not report a progress of 100% in the Web UI unless the
|
||||||
- FEATURE: Add setting to ignore slow torrents in queueing system
|
torrent is really complete (closes #674349)
|
||||||
- FEATURE: Add advanced setting to announce to all trackers
|
- BUGFIX: Fix possible incorrect behavior with queueing
|
||||||
- FEATURE: Add support for anonymous mode (libtorrent >= v0.16)
|
- BUGFIX: Fix RSS refresh interval saving
|
||||||
- FEATURE: Add quick "set as default save path" checkbox to torrent addition dialog (sledgehammer999)
|
- BUGFIX: Fix possible crash when setting RSS proxy (closes #676288)
|
||||||
- BUGFIX: Add tray menu entry for toggling window visibility
|
- BUGFIX: Fix HTTP redirect issue that would cause the torrent addition to
|
||||||
- BUGFIX: Fix execution log lines selection and copying
|
show up for automated RSS downloads (Closes #677565)
|
||||||
- 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
|
|
||||||
|
|
||||||
* Thu Jun 02 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.8.0
|
* Wed Nov 10 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.10
|
||||||
- FEATURE: Added full libtorrent v0.16 support (uTP, ...)
|
- BUGFIX: Fix possible crash when selecting a RSS item (really closes #575624)
|
||||||
- FEATURE: Proxy can be disabled for peer connections
|
- BUGFIX: Improved IPv6 support (IP filter and Peer list)
|
||||||
- FEATURE: Added support for secure SMTP connection (SSL)
|
- BUGFIX: Make IP filter more tolerant towards strangely formatted IPs
|
||||||
- FEATURE: Added support for SMTP authentication
|
- BUGFIX: More reliable folder scanning
|
||||||
- FEATURE: Added UPnP/NAT-PMP port forward for the Web UI port
|
- BUGFIX: Do not create the torrent root folder at final destination if
|
||||||
- FEATURE: qBittorrent can update dynamic DNS services (DynDNS, no-ip)
|
torrent is in the temp dir (closes #673271)
|
||||||
- FEATURE: Display peer connection type in peer list (BT, uTP, Web)
|
- BUGFIX: Fix compilation with libnotify v0.7.0 (closes #671769)
|
||||||
- FEATURE: Added full regex support to RSS downloader
|
- BUGFIX: Use a pointing cursor over status bar buttons
|
||||||
- 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
|
|
||||||
|
|
||||||
* Sun Mar 20 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.7.0
|
* Sun Oct 31 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.9
|
||||||
- FEATURE: Added search field for torrent content
|
- BUGFIX: Fix crash when pressing enter in save path field in torrent addition dialog
|
||||||
- FEATURE: Added auto-shutdown confirmation dialog
|
- BUGFIX: Fix crash when deleting a torrent with no metadata (closes #667528)
|
||||||
- FEATURE: Added option to skip torrent deletion confirmation (Ville Kiiskinen)
|
- BUGFIX: Fix possible crash on clicking a RSS article (closes #575624)
|
||||||
- FEATURE: IP address reported to trackers is now customizable
|
- BUGFIX: Correctly update total number of torrents when a torrent is automatically removed (closes #668726)
|
||||||
- FEATURE: Inhibit system sleep when torrents are active (Vladimir Golovnev)
|
- BUGFIX: Correctly display the hash of torrents with no metadata
|
||||||
- FEATURE: Added option to bypass Web UI authentication for localhost
|
- BUGFIX: Elide status bar text if it is too wide
|
||||||
- FEATURE: Added option to disable program exit confirmation
|
- BUGFIX: Make sure the splash screen is displayed for 2 seconds
|
||||||
- FEATURE: Added per-torrent ratio limiting (Christian Kandeler)
|
- BUGFIX: Make listening on a particular interface more reliable
|
||||||
- FEATURE: Torrent content list is now sortable
|
- BUGFIX: Fix torrent size update in torrent addition dialog
|
||||||
- BUGFIX: Fix compilation with namespaced Qt (Christian Kandeler)
|
- BUGFIX: Fix possible crash on qBittorrent shutdown
|
||||||
- BUGFIX: Added length restriction on UI lock password
|
- BUGFIX: Fix and improve file priorities editing (closes #669084)
|
||||||
- COSMETIC: Added monochrome tray icon
|
- I18N: Updated Arabic, Italian and Croatian translations
|
||||||
- COSMETIC: Improved status bar's style
|
|
||||||
- OTHER: Make QtDBus dependency optional (X11)
|
|
||||||
|
|
||||||
* Sun Jan 9 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.0
|
* Sun Oct 24 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.8
|
||||||
- FEATURE: Use system icons (Linux, Qt >= 4.6)
|
- BUGFIX: Fix possible crash on manual peer ban
|
||||||
- FEATURE: Improved ETA calculation
|
- BUGFIX: Improved hostname resolution code
|
||||||
- FEATURE: Simplify program preferences
|
- BUGFIX: Several search plugins fixed
|
||||||
- FEATURE: Software update check can now be disabled (Mac OS X / Windows)
|
- BUGFIX: Auto-disable the shutdown feature
|
||||||
- FEATURE: Display pieces size in torrent properties
|
- BUGFIX: Remember the current property tab on startup
|
||||||
- FEATURE: Added "Time Active/Seeded" column to transfer list
|
- BUGFIX: Fix status list widget height issue on style change
|
||||||
- FEATURE: Give feedback regarding the IP filter parsing
|
- BUGFIX: Fix rounding issue in torrent progress display
|
||||||
- FEATURE: Added a button to reload the IP filter
|
- BUGFIX: Fix issue when altering files priorities of a seeding torrent
|
||||||
- FEATURE: Search engine results can now be opened in a Web browser
|
- BUGFIX: Better fix for save path editing issues in torrent addition dialog
|
||||||
- FEATURE: Added a search engine plugin to extratorrent.com
|
- BUGFIX: Peers can now be sorted by country
|
||||||
- FEATURE: Added a search engine plugin for kickasstorrents.com
|
|
||||||
- FEATURE: Added auto-suspend upon downloads completion feature
|
|
||||||
- BUGFIX: Hide unwanted files that have to be partly downloaded
|
|
||||||
- BUGFIX: Do not allocate space for unwanted files (preallocation mode)
|
|
||||||
- I18N: Added Galician translation
|
|
||||||
- COSMETIC: Same deletion confirmation dialog in the GUI and Web UI
|
|
||||||
- COSMETIC: Simplified the top toolbar
|
|
||||||
- COSMETIC: Display execution log as a tab instead of a modal window
|
|
||||||
|
|
||||||
* Sun Dec 5 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.5.0
|
* Tue Oct 19 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.7
|
||||||
- FEATURE: qBittorrent can now act as a tracker
|
- BUGFIX: Display the priority column when the queueing system gets enabled
|
||||||
- FEATURE: New and improved RSS feed automated downloader
|
- BUGFIX: Fix encoding problem in file renaming
|
||||||
- FEATURE: Added feature to shutdown qbittorrent on torrents completion
|
- BUGFIX: Delete uneeded files on torrent "soft" deletion
|
||||||
- FEATURE: Added a torrent import assistant to seed or keep downloading outside torrents
|
- BUGFIX: Fix issues when marking a file as 'not downloaded' causes the torrent to complete
|
||||||
- FEATURE: qBittorrent can update itself from Sourceforge (Windows/Mac OS X only)
|
- BUGFIX: Improved "Set Location" and "Change save path" dialogs
|
||||||
- FEATURE: Added a transfer list column to display the current tracker
|
- BUGFIX: Fix display of queued seeding torrents
|
||||||
- FEATURE: Remember the last trackers used in the torrent creation tool
|
|
||||||
- FEATURE: The optimal piece size is now automatically computed in the torrent creation tool
|
* Sun Oct 17 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.6
|
||||||
- FEATURE: Bring up the connection settings when clicking on the connection status icon
|
- BUGFIX: Fix "torrent seeding after creation" feature
|
||||||
- FEATURE: Major code refactoring and optimization
|
- BUGFIX: The properties panel data would sometimes not match the selected torrent
|
||||||
- FEATURE: Added "Amount downloaded/left" columns to transfer list
|
- BUGFIX: Fix detection of files at final destination when temp dir is used
|
||||||
- FEATURE: Simplified proxy settings
|
- BUGFIX: Fix moving of a torrent to an unexisting directory
|
||||||
- FEATURE: Optimized and improved the peer country resolution code
|
|
||||||
- FEATURE: Download first/last pieces first when sequential download is
|
* Tue Oct 12 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.5
|
||||||
enabled (Thanks Ahmad)
|
- BUGFIX: Remember torrent completion date correctly
|
||||||
- FEATURE: Download first/last pieces first now applies to all media files
|
- BUGFIX: Fix feature to keep incomplete torrents in a separate folder
|
||||||
in the torrent (Thanks Ahmad)
|
- BUGFIX: Fix display of URL seeds in the UI
|
||||||
- BUGFIX: Fix SOCKS5 proxy authentication in search engine(closes #680072)
|
- BUGFIX: Improved peer hostname resolution with caching
|
||||||
- BUGFIX: Fix two advanced settings (ignore limits on LAN and protocol
|
- BUGFIX: Piece availability/downloaded widgets performance improvement
|
||||||
overhead inclusion in rate limiter)
|
|
||||||
- BUGFIX: Fix strict super seeding (was not working)
|
* Fri Oct 1 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.4
|
||||||
- BUGFIX: Improve magnet save path handling (closes #683395)
|
- BUGFIX: Clean program exit on system shutdown/logout
|
||||||
- BUGFIX: Disable overwrite confirmation in torrent addition dialog (closes # 685269)
|
- BUGFIX: Fix possible search engine plugin update
|
||||||
- COSMETIC: Replaced message box by on-screen notification for download errors
|
|
||||||
- COSMETIC: Improved the torrent creation tool appearance
|
* Tue Sep 28 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.3
|
||||||
- COSMETIC: Use country flags by Mark James (Thanks to Dmytro Pukha)
|
- BUGFIX: Fix encoding issue in command line parameters processing
|
||||||
- COSMETIC: Use bigger alternative speed icon
|
- BUGFIX: Fix possible crash when changing the save path in addition dialog
|
||||||
- OTHERS: Dropped support for Qt <= 4.4
|
- BUGFIX: Fix wrong mapping to source model
|
||||||
|
|
||||||
|
* Sun Sep 26 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.2
|
||||||
|
- BUGFIX: Fix display of torrent content in addition dialog
|
||||||
|
- BUGFIX: Really fix manual editing of save path in torrent addition dialog
|
||||||
|
|
||||||
|
* Sun Sep 26 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.1
|
||||||
|
- I18N: Updated Arabic translation
|
||||||
|
- I18N: Fixes to German translation
|
||||||
|
- BUGFIX: Save path can now be edited in torrent addition dialog
|
||||||
|
- BUGFIX: Fix save path encoding on non-utf8 systems
|
||||||
|
- BUGFIX: Fix saving to drive root on Windows
|
||||||
|
- BUGFIX: OGV can now be previewed
|
||||||
|
- BUGFIX: Maximum download limit is now 10MB/s
|
||||||
|
- BUGFIX: Fix 'download in scan dir' persistence
|
||||||
|
- BUGFIX: Add .torrent extension only when missing (torrent creator)
|
||||||
|
- BUGFIX: Fix possible issue with temporary download path persistence
|
||||||
|
- BUGFIX: Added support for | (OR) operator in RSS feed downloader
|
||||||
|
- BUGFIX: Fix Web UI for spanish users
|
||||||
|
- BUGFIX: Fix locale switching from Web UI
|
||||||
|
- BUGFIX: Use AND operator for torrentdownloads.net searches
|
||||||
|
- BUGFIX: Limit torrent addition dialog width to fit the screen
|
||||||
|
- COSMETIC: Fix progress bars style on Windows
|
||||||
|
|
||||||
* Tue Aug 24 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.0
|
* Tue Aug 24 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.0
|
||||||
- FEATURE: Added actions to "Move to top/bottom" of priority queue
|
- FEATURE: Added actions to "Move to top/bottom" of priority queue
|
||||||
|
12
INSTALL
@@ -10,7 +10,7 @@ qBittorrent - A BitTorrent client in C++ / Qt4
|
|||||||
will install and execute qBittorrent hopefully without any problems.
|
will install and execute qBittorrent hopefully without any problems.
|
||||||
|
|
||||||
Dependencies:
|
Dependencies:
|
||||||
- Qt >= 4.5.0 (libqtgui, libqtcore, libqtnetwork, libqtxml, libqtdbus/optional)
|
- Qt >= 4.4.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml)
|
||||||
|
|
||||||
- pkg-config executable
|
- pkg-config executable
|
||||||
|
|
||||||
@@ -18,13 +18,17 @@ qBittorrent - A BitTorrent client in C++ / Qt4
|
|||||||
-> http://www.libtorrent.net
|
-> http://www.libtorrent.net
|
||||||
Be careful: another library (the one used by rTorrent) uses a similar name.
|
Be careful: another library (the one used by rTorrent) uses a similar name.
|
||||||
|
|
||||||
- libboost 1.34.x (libboost-filesystem, libboost-date-time) + libasio
|
- libboost 1.34.x (libboost-filesystem, libboost-thread, libboost-date-time) + libasio
|
||||||
or
|
or
|
||||||
- libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-date-time)
|
- libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-thread, libboost-date-time)
|
||||||
|
|
||||||
- python >= 2.3 && < 3.0 (needed by search engine)
|
- python >= 2.3 (needed by search engine)
|
||||||
* Run time only dependency
|
* 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)
|
- 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.
|
* 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
|
* Run time only dependency
|
||||||
|
136
install.os2
@@ -1,136 +0,0 @@
|
|||||||
QBittorrent installation
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
0. CONTENTS OF THIS FILE
|
|
||||||
========================
|
|
||||||
|
|
||||||
1. INTRODUCTION
|
|
||||||
|
|
||||||
2. REQUIREMENTS
|
|
||||||
|
|
||||||
3. INSTALLATION
|
|
||||||
|
|
||||||
4. CONTACT
|
|
||||||
|
|
||||||
5. CREDITS
|
|
||||||
|
|
||||||
6. SUPPORT AND DONATIONS
|
|
||||||
|
|
||||||
7. HISTORY
|
|
||||||
|
|
||||||
|
|
||||||
1. INTRODUCTION
|
|
||||||
===============
|
|
||||||
|
|
||||||
Welcome to QBittorrent port for OS/2 and eComStation.
|
|
||||||
|
|
||||||
|
|
||||||
2. REQUIREMENTS
|
|
||||||
===============
|
|
||||||
|
|
||||||
* klibc 0.6.3 or later
|
|
||||||
|
|
||||||
ftp://ftp.netlabs.org/pub/gcc/libc-0_6_3-csd3.wpi
|
|
||||||
|
|
||||||
* openssl 1.0
|
|
||||||
|
|
||||||
ftp://ftp.netlabs.org/pub/unixos2/ssl10.zip
|
|
||||||
|
|
||||||
* Qt4 dll
|
|
||||||
|
|
||||||
see http://svn.netlabs.org/qt4 for more information whats needed and where to get the latest
|
|
||||||
|
|
||||||
|
|
||||||
3. INSTALLATION
|
|
||||||
===============
|
|
||||||
|
|
||||||
To install QBittorrent, do the following:
|
|
||||||
|
|
||||||
klibc
|
|
||||||
-----
|
|
||||||
|
|
||||||
1. Download klibc 0.6.3 csd3 or later.
|
|
||||||
2. Install the package by double-clicking on the WPI file.
|
|
||||||
|
|
||||||
|
|
||||||
openssl 1.0
|
|
||||||
-----------
|
|
||||||
|
|
||||||
1. Download the zip file
|
|
||||||
2. Install the files to your libpath eg. x:\ecs\dll
|
|
||||||
|
|
||||||
Qt4 dll
|
|
||||||
-------
|
|
||||||
|
|
||||||
1. Download the package
|
|
||||||
2. Install the package by double-clicking on the wpi file.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QBittorrent
|
|
||||||
-----------
|
|
||||||
|
|
||||||
1. Create a directory for QBittorrent.
|
|
||||||
2. Extract the QBittorrent package to the new directory.
|
|
||||||
3. Create a WPS object for QBittorrent.exe.
|
|
||||||
4. Start QBittorrent
|
|
||||||
5. Happy torrenting
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
4. CONTACT
|
|
||||||
==========
|
|
||||||
|
|
||||||
Please send bugreports to:
|
|
||||||
|
|
||||||
ecs@aroa.ch
|
|
||||||
|
|
||||||
Only bug reports with a reproducable bug are accepted. :-)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
5. CREDITS
|
|
||||||
==========
|
|
||||||
|
|
||||||
The port was done by:
|
|
||||||
|
|
||||||
Silvan Scherrer aka _diver
|
|
||||||
|
|
||||||
Thanks go to:
|
|
||||||
|
|
||||||
* Dmitry A. Kuminov
|
|
||||||
|
|
||||||
They either helped me when I had some nasty questions or did some testing for
|
|
||||||
me.
|
|
||||||
|
|
||||||
|
|
||||||
6. SUPPORT AND DONATIONS
|
|
||||||
========================
|
|
||||||
|
|
||||||
QBittorrent port is based on volunteer work. If you would like to support further
|
|
||||||
development, you can do so in one of the following ways:
|
|
||||||
|
|
||||||
|
|
||||||
* Donate to the Qt4 project: see qt.netlabs.org for more information
|
|
||||||
|
|
||||||
* Contribute to the project: Besides actual development, this also includes
|
|
||||||
maintaining the documentation and the project web site as well as help
|
|
||||||
for users.
|
|
||||||
|
|
||||||
|
|
||||||
7. HISTORY
|
|
||||||
==========
|
|
||||||
|
|
||||||
2010-12-23
|
|
||||||
|
|
||||||
* updated to 2.5.2 code level of QBittorrent
|
|
||||||
|
|
||||||
2010-11-22
|
|
||||||
|
|
||||||
* updated to 2.4.11 code level of QBittorrent
|
|
||||||
|
|
||||||
2010-xx-xx
|
|
||||||
|
|
||||||
* initial port
|
|
||||||
|
|
16
macxconf.pri
@@ -1,16 +0,0 @@
|
|||||||
PREFIX = /usr/local
|
|
||||||
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
|
|
||||||
|
|
||||||
document_icon.path = Contents/Resources
|
|
||||||
document_icon.files = Icons/qBitTorrentDocument.icns
|
|
||||||
|
|
||||||
QMAKE_BUNDLE_DATA += document_icon
|
|
||||||
ICON = Icons/qbittorrent_mac.icns
|
|
||||||
QMAKE_INFO_PLIST = Info.plist
|
|
||||||
|
|
||||||
DEFINES += WITH_GEOIP_EMBEDDED
|
|
||||||
message("On Mac OS X, GeoIP database must be embedded.")
|
|
18
os2conf.pri
@@ -1,18 +0,0 @@
|
|||||||
exists(conf.pri) {
|
|
||||||
# to the conf.pri goes all system dependent stuff
|
|
||||||
include(conf.pri)
|
|
||||||
}
|
|
||||||
|
|
||||||
LIBS += -ltorrent-rasterbar \
|
|
||||||
-lboost_thread \
|
|
||||||
-lboost_system \
|
|
||||||
-lboost_filesystem \
|
|
||||||
-lssl -lcrypto -lidn -lpthread
|
|
||||||
|
|
||||||
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.")
|
|
199
qBittorrent.kdevelop
Normal file
@@ -0,0 +1,199 @@
|
|||||||
|
<?xml version = '1.0'?>
|
||||||
|
<kdevelop>
|
||||||
|
<general>
|
||||||
|
<author>Christophe Dumez</author>
|
||||||
|
<email>chris@qbittorrent.org</email>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<projectmanagement>KDevTrollProject</projectmanagement>
|
||||||
|
<primarylanguage>C++</primarylanguage>
|
||||||
|
<keywords>
|
||||||
|
<keyword>Qt</keyword>
|
||||||
|
</keywords>
|
||||||
|
<projectname>qBittorrent</projectname>
|
||||||
|
<ignoreparts/>
|
||||||
|
<projectdirectory>.</projectdirectory>
|
||||||
|
<absoluteprojectpath>false</absoluteprojectpath>
|
||||||
|
<description/>
|
||||||
|
<defaultencoding/>
|
||||||
|
<versioncontrol>kdevsubversion</versioncontrol>
|
||||||
|
</general>
|
||||||
|
<kdevfileview>
|
||||||
|
<groups>
|
||||||
|
<group pattern="*.cpp;*.cxx;*.h" name="Sources" />
|
||||||
|
<group pattern="*.ui" name="User Interface" />
|
||||||
|
<group pattern="*.png" name="Icons" />
|
||||||
|
<group pattern="*" name="Others" />
|
||||||
|
<hidenonprojectfiles>false</hidenonprojectfiles>
|
||||||
|
<hidenonlocation>false</hidenonlocation>
|
||||||
|
</groups>
|
||||||
|
<tree>
|
||||||
|
<hidepatterns>*.o,*.lo,CVS</hidepatterns>
|
||||||
|
<hidenonprojectfiles>false</hidenonprojectfiles>
|
||||||
|
<showvcsfields>false</showvcsfields>
|
||||||
|
</tree>
|
||||||
|
</kdevfileview>
|
||||||
|
<kdevdoctreeview>
|
||||||
|
<ignoretocs>
|
||||||
|
<toc>bash</toc>
|
||||||
|
<toc>bash_bugs</toc>
|
||||||
|
<toc>clanlib</toc>
|
||||||
|
<toc>w3c-dom-level2-html</toc>
|
||||||
|
<toc>fortran_bugs_gcc</toc>
|
||||||
|
<toc>gnome1</toc>
|
||||||
|
<toc>gnustep</toc>
|
||||||
|
<toc>gtk</toc>
|
||||||
|
<toc>gtk_bugs</toc>
|
||||||
|
<toc>haskell</toc>
|
||||||
|
<toc>haskell_bugs_ghc</toc>
|
||||||
|
<toc>java_bugs_gcc</toc>
|
||||||
|
<toc>java_bugs_sun</toc>
|
||||||
|
<toc>kde2book</toc>
|
||||||
|
<toc>opengl</toc>
|
||||||
|
<toc>pascal_bugs_fp</toc>
|
||||||
|
<toc>php</toc>
|
||||||
|
<toc>php_bugs</toc>
|
||||||
|
<toc>perl</toc>
|
||||||
|
<toc>perl_bugs</toc>
|
||||||
|
<toc>python</toc>
|
||||||
|
<toc>python_bugs</toc>
|
||||||
|
<toc>qt-kdev3</toc>
|
||||||
|
<toc>ruby</toc>
|
||||||
|
<toc>ruby_bugs</toc>
|
||||||
|
<toc>sdl</toc>
|
||||||
|
<toc>stl</toc>
|
||||||
|
<toc>w3c-svg</toc>
|
||||||
|
<toc>sw</toc>
|
||||||
|
<toc>w3c-uaag10</toc>
|
||||||
|
<toc>wxwidgets_bugs</toc>
|
||||||
|
</ignoretocs>
|
||||||
|
<ignoredoxygen>
|
||||||
|
<toc>KDE Libraries (Doxygen)</toc>
|
||||||
|
</ignoredoxygen>
|
||||||
|
</kdevdoctreeview>
|
||||||
|
<kdevdebugger>
|
||||||
|
<general>
|
||||||
|
<dbgshell/>
|
||||||
|
<gdbpath/>
|
||||||
|
<configGdbScript/>
|
||||||
|
<runShellScript/>
|
||||||
|
<runGdbScript/>
|
||||||
|
<breakonloadinglibs>true</breakonloadinglibs>
|
||||||
|
<separatetty>false</separatetty>
|
||||||
|
<floatingtoolbar>false</floatingtoolbar>
|
||||||
|
</general>
|
||||||
|
<display>
|
||||||
|
<staticmembers>false</staticmembers>
|
||||||
|
<demanglenames>true</demanglenames>
|
||||||
|
<outputradix>10</outputradix>
|
||||||
|
</display>
|
||||||
|
</kdevdebugger>
|
||||||
|
<kdevcppsupport>
|
||||||
|
<qt>
|
||||||
|
<version>4</version>
|
||||||
|
<used>true</used>
|
||||||
|
<includestyle>4</includestyle>
|
||||||
|
<designerintegration>ExternalDesigner</designerintegration>
|
||||||
|
<root>/usr/lib/qt4</root>
|
||||||
|
<qmake>/usr/bin/qmake</qmake>
|
||||||
|
<designer>/usr/bin/designer</designer>
|
||||||
|
<designerpluginpaths/>
|
||||||
|
</qt>
|
||||||
|
<references>
|
||||||
|
<pcs>automatic_%2Fhome%2Fishanarora%2Fprojects%2Fqbittorrent</pcs>
|
||||||
|
</references>
|
||||||
|
<codecompletion>
|
||||||
|
<automaticCodeCompletion>true</automaticCodeCompletion>
|
||||||
|
<automaticArgumentsHint>true</automaticArgumentsHint>
|
||||||
|
<automaticHeaderCompletion>true</automaticHeaderCompletion>
|
||||||
|
<codeCompletionDelay>250</codeCompletionDelay>
|
||||||
|
<argumentsHintDelay>400</argumentsHintDelay>
|
||||||
|
<headerCompletionDelay>250</headerCompletionDelay>
|
||||||
|
<showOnlyAccessibleItems>false</showOnlyAccessibleItems>
|
||||||
|
<completionBoxItemOrder>0</completionBoxItemOrder>
|
||||||
|
<howEvaluationContextMenu>true</howEvaluationContextMenu>
|
||||||
|
<showCommentWithArgumentHint>true</showCommentWithArgumentHint>
|
||||||
|
<statusBarTypeEvaluation>false</statusBarTypeEvaluation>
|
||||||
|
<namespaceAliases>std=_GLIBCXX_STD;__gnu_cxx=std</namespaceAliases>
|
||||||
|
<processPrimaryTypes>true</processPrimaryTypes>
|
||||||
|
<processFunctionArguments>true</processFunctionArguments>
|
||||||
|
<preProcessAllHeaders>true</preProcessAllHeaders>
|
||||||
|
<parseMissingHeadersExperimental>true</parseMissingHeadersExperimental>
|
||||||
|
<resolveIncludePathsUsingMakeExperimental>true</resolveIncludePathsUsingMakeExperimental>
|
||||||
|
<alwaysParseInBackground>true</alwaysParseInBackground>
|
||||||
|
<usePermanentCaching>true</usePermanentCaching>
|
||||||
|
<alwaysIncludeNamespaces>false</alwaysIncludeNamespaces>
|
||||||
|
<includePaths>.;</includePaths>
|
||||||
|
</codecompletion>
|
||||||
|
<creategettersetter>
|
||||||
|
<prefixGet>get</prefixGet>
|
||||||
|
<prefixSet>set</prefixSet>
|
||||||
|
<prefixVariable>m_,_</prefixVariable>
|
||||||
|
<parameterName>theValue</parameterName>
|
||||||
|
<inlineGet>true</inlineGet>
|
||||||
|
<inlineSet>true</inlineSet>
|
||||||
|
</creategettersetter>
|
||||||
|
<splitheadersource>
|
||||||
|
<enabled>false</enabled>
|
||||||
|
<synchronize>true</synchronize>
|
||||||
|
<orientation>Vertical</orientation>
|
||||||
|
</splitheadersource>
|
||||||
|
</kdevcppsupport>
|
||||||
|
<kdevfilecreate>
|
||||||
|
<filetypes/>
|
||||||
|
<useglobaltypes>
|
||||||
|
<type ext="ui" />
|
||||||
|
<type ext="cpp" />
|
||||||
|
<type ext="h" />
|
||||||
|
</useglobaltypes>
|
||||||
|
</kdevfilecreate>
|
||||||
|
<kdevtrollproject>
|
||||||
|
<general>
|
||||||
|
<activedir>src</activedir>
|
||||||
|
</general>
|
||||||
|
<run>
|
||||||
|
<directoryradio>executable</directoryradio>
|
||||||
|
<mainprogram>/home/ishanarora/projects/qbittorrent/src/qbittorrent</mainprogram>
|
||||||
|
<programargs/>
|
||||||
|
<globaldebugarguments/>
|
||||||
|
<globalcwd>/home/ishanarora/projects/qbittorrent</globalcwd>
|
||||||
|
<useglobalprogram>true</useglobalprogram>
|
||||||
|
<terminal>false</terminal>
|
||||||
|
<autocompile>true</autocompile>
|
||||||
|
<autoinstall>false</autoinstall>
|
||||||
|
<autokdesu>false</autokdesu>
|
||||||
|
<envvars/>
|
||||||
|
</run>
|
||||||
|
<make>
|
||||||
|
<abortonerror>true</abortonerror>
|
||||||
|
<runmultiplejobs>false</runmultiplejobs>
|
||||||
|
<numberofjobs>1</numberofjobs>
|
||||||
|
<dontact>false</dontact>
|
||||||
|
<makebin/>
|
||||||
|
<prio>0</prio>
|
||||||
|
<envvars/>
|
||||||
|
</make>
|
||||||
|
<qmake>
|
||||||
|
<savebehaviour>2</savebehaviour>
|
||||||
|
<replacePaths>false</replacePaths>
|
||||||
|
<disableDefaultOpts>true</disableDefaultOpts>
|
||||||
|
</qmake>
|
||||||
|
</kdevtrollproject>
|
||||||
|
<cppsupportpart>
|
||||||
|
<filetemplates>
|
||||||
|
<interfacesuffix>.h</interfacesuffix>
|
||||||
|
<implementationsuffix>.cpp</implementationsuffix>
|
||||||
|
</filetemplates>
|
||||||
|
</cppsupportpart>
|
||||||
|
<ctagspart>
|
||||||
|
<customArguments/>
|
||||||
|
<customTagfilePath>/home/ishanarora/projects/qbittorrent/tags</customTagfilePath>
|
||||||
|
<activeTagsFiles/>
|
||||||
|
</ctagspart>
|
||||||
|
<kdevdocumentation>
|
||||||
|
<projectdoc>
|
||||||
|
<docsystem/>
|
||||||
|
<docurl/>
|
||||||
|
<usermanualurl/>
|
||||||
|
</projectdoc>
|
||||||
|
</kdevdocumentation>
|
||||||
|
</kdevelop>
|
@@ -2,14 +2,3 @@ TEMPLATE = subdirs
|
|||||||
|
|
||||||
SUBDIRS += src
|
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
|
|
||||||
|
@@ -6,8 +6,6 @@
|
|||||||
<dep type='qt4'>
|
<dep type='qt4'>
|
||||||
<required/>
|
<required/>
|
||||||
</dep>
|
</dep>
|
||||||
<dep type='qt-dbus'>
|
|
||||||
</dep>
|
|
||||||
<dep type='pkg-config'>
|
<dep type='pkg-config'>
|
||||||
<required/>
|
<required/>
|
||||||
</dep>
|
</dep>
|
||||||
@@ -17,9 +15,10 @@
|
|||||||
<dep type='libboost'>
|
<dep type='libboost'>
|
||||||
<required/>
|
<required/>
|
||||||
</dep>
|
</dep>
|
||||||
|
<dep type='libnotify'>
|
||||||
|
</dep>
|
||||||
<dep type='geoip-database'>
|
<dep type='geoip-database'>
|
||||||
</dep>
|
</dep>
|
||||||
<dep type='qtsingleapplication'>
|
<dep type='qtsingleapplication'>
|
||||||
<required/>
|
|
||||||
</dep>
|
</dep>
|
||||||
</qconf>
|
</qconf>
|
||||||
|
@@ -48,6 +48,9 @@ public:
|
|||||||
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
|
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if(!conf->checkHeader(s, "boost/thread.hpp")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
QStringList sl;
|
QStringList sl;
|
||||||
sl << "/usr/include";
|
sl << "/usr/include";
|
||||||
@@ -68,6 +71,9 @@ public:
|
|||||||
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
|
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if(!conf->checkHeader(s, "boost/thread.hpp")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
conf->addIncludePath(s);
|
conf->addIncludePath(s);
|
||||||
// Find library
|
// Find library
|
||||||
@@ -76,7 +82,10 @@ public:
|
|||||||
#if BOOST_VERSION >= 103500
|
#if BOOST_VERSION >= 103500
|
||||||
required_libs << "system";
|
required_libs << "system";
|
||||||
#endif
|
#endif
|
||||||
required_libs << "filesystem" ;
|
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
||||||
|
// Not required by nox
|
||||||
|
required_libs << "filesystem" << "thread";
|
||||||
|
}
|
||||||
QStringList libDirs;
|
QStringList libDirs;
|
||||||
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";
|
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";
|
||||||
foreach(const QString& lib, required_libs) {
|
foreach(const QString& lib, required_libs) {
|
||||||
|
@@ -24,7 +24,7 @@ public:
|
|||||||
QString version, libs, other;
|
QString version, libs, other;
|
||||||
VersionMode mode = VersionMin;
|
VersionMode mode = VersionMin;
|
||||||
if(conf->findPkgConfig("libnotify", mode, req_ver, &version, &incs, &libs, &other)) {
|
if(conf->findPkgConfig("libnotify", mode, req_ver, &version, &incs, &libs, &other)) {
|
||||||
conf->addExtra("CONFIG += libnotify");
|
conf->addDefine("WITH_LIBNOTIFY");
|
||||||
for(int n = 0; n < incs.count(); ++n)
|
for(int n = 0; n < incs.count(); ++n)
|
||||||
conf->addIncludePath(incs[n]);
|
conf->addIncludePath(incs[n]);
|
||||||
if(!libs.isEmpty())
|
if(!libs.isEmpty())
|
||||||
|
@@ -19,6 +19,9 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
for(int n = 0; n < incs.count(); ++n)
|
for(int n = 0; n < incs.count(); ++n)
|
||||||
conf->addIncludePath(incs[n]);
|
conf->addIncludePath(incs[n]);
|
||||||
|
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
||||||
|
conf->addLib("-lcrypto");
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -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;
|
|
||||||
}
|
|
||||||
};
|
|
@@ -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;
|
|
||||||
}
|
|
||||||
};
|
|
28
qcm/qt4.qcm
@@ -1,7 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
-----BEGIN QCMOD-----
|
-----BEGIN QCMOD-----
|
||||||
name: Qt >= 4.5
|
name: Qt >= 4.4
|
||||||
arg: enable-debug, Enable debug mode
|
|
||||||
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
|
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
|
||||||
-----END QCMOD-----
|
-----END QCMOD-----
|
||||||
*/
|
*/
|
||||||
@@ -9,28 +8,13 @@ class qc_qt4 : public ConfObj
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
qc_qt4(Conf *c) : ConfObj(c) {}
|
qc_qt4(Conf *c) : ConfObj(c) {}
|
||||||
QString name() const { return "Qt >= 4.5"; }
|
QString name() const { return "Qt >= 4.4"; }
|
||||||
QString shortname() const { return "Qt 4.5"; }
|
QString shortname() const { return "Qt 4.4"; }
|
||||||
bool exec()
|
bool exec()
|
||||||
{
|
{
|
||||||
// NOX mode
|
|
||||||
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
||||||
conf->addExtra("CONFIG += nox");
|
conf->addDefine("DISABLE_GUI");
|
||||||
}
|
}
|
||||||
// Debug mode
|
return(QT_VERSION >= 0x040400);
|
||||||
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");
|
|
||||||
conf->addExtra("MANPREFIX = $$PREFIX");
|
|
||||||
#else
|
|
||||||
conf->addExtra("MANPREFIX = $$PREFIX/share");
|
|
||||||
#endif
|
|
||||||
return(QT_VERSION >= 0x040500);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
-----BEGIN QCMOD-----
|
-----BEGIN QCMOD-----
|
||||||
name: qtsingleapplication
|
name: libboost
|
||||||
arg: with-qtsingleapplication=[system|shipped], Use the shipped qtsingleapplication library or the system one
|
arg: with-qtsingleapplication=[system|shipped], Use the shipped qtsingleapplication library or the system one
|
||||||
-----END QCMOD-----
|
-----END QCMOD-----
|
||||||
*/
|
*/
|
||||||
@@ -16,7 +16,7 @@ public:
|
|||||||
s = conf->getenv("QC_WITH_QTSINGLEAPPLICATION");
|
s = conf->getenv("QC_WITH_QTSINGLEAPPLICATION");
|
||||||
if(s.compare("system", Qt::CaseInsensitive) == 0) {
|
if(s.compare("system", Qt::CaseInsensitive) == 0) {
|
||||||
// System
|
// System
|
||||||
conf->addExtra("CONFIG += usesystemqtsingleapplication");
|
conf->addDefine("USE_SYSTEM_QTSINGLEAPPLICATION");
|
||||||
printf(" [system] ");
|
printf(" [system] ");
|
||||||
} else {
|
} else {
|
||||||
printf(" [shipped] ");
|
printf(" [shipped] ");
|
||||||
|
@@ -37,41 +37,36 @@
|
|||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
#include "qtorrenthandle.h"
|
#include "qtorrenthandle.h"
|
||||||
|
|
||||||
class QBtSession;
|
class Bittorrent;
|
||||||
|
class QTimer;
|
||||||
class downloadFromURL;
|
class downloadFromURL;
|
||||||
class SearchEngine;
|
class SearchEngine;
|
||||||
|
class QCloseEvent;
|
||||||
class RSSImp;
|
class RSSImp;
|
||||||
|
class QShortcut;
|
||||||
class about;
|
class about;
|
||||||
class options_imp;
|
class options_imp;
|
||||||
|
class QTabWidget;
|
||||||
class TransferListWidget;
|
class TransferListWidget;
|
||||||
class TransferListFiltersWidget;
|
class TransferListFiltersWidget;
|
||||||
|
class QSplitter;
|
||||||
class PropertiesWidget;
|
class PropertiesWidget;
|
||||||
class StatusBar;
|
class StatusBar;
|
||||||
class consoleDlg;
|
class consoleDlg;
|
||||||
class about;
|
class about;
|
||||||
class TorrentCreatorDlg;
|
class createtorrent;
|
||||||
class downloadFromURL;
|
class downloadFromURL;
|
||||||
class HidableTabWidget;
|
class HidableTabWidget;
|
||||||
class LineEdit;
|
class LineEdit;
|
||||||
class ExecutionLog;
|
|
||||||
class PowerManagement;
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
class QCloseEvent;
|
|
||||||
class QFileSystemWatcher;
|
class QFileSystemWatcher;
|
||||||
class QShortcut;
|
|
||||||
class QSplitter;
|
|
||||||
class QTabWidget;
|
|
||||||
class QTimer;
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
class MainWindow : public QMainWindow, private Ui::MainWindow{
|
class GUI : public QMainWindow, private Ui::MainWindow{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Construct / Destruct
|
// Construct / Destruct
|
||||||
MainWindow(QWidget *parent=0, QStringList torrentCmdLine=QStringList());
|
GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList());
|
||||||
~MainWindow();
|
~GUI();
|
||||||
// Methods
|
// Methods
|
||||||
QWidget* getCurrentTabWidget() const;
|
QWidget* getCurrentTabWidget() const;
|
||||||
TransferListWidget* getTransferList() const { return transferList; }
|
TransferListWidget* getTransferList() const { return transferList; }
|
||||||
@@ -79,29 +74,30 @@ public:
|
|||||||
PropertiesWidget *getProperties() const { return properties; }
|
PropertiesWidget *getProperties() const { return properties; }
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void trackerAuthenticationRequired(const QTorrentHandle& h);
|
void trackerAuthenticationRequired(QTorrentHandle& h);
|
||||||
void setTabText(int index, QString text) const;
|
void setTabText(int index, QString text) const;
|
||||||
void showNotificationBaloon(QString title, QString msg) const;
|
void showNotificationBaloon(QString title, QString msg) const;
|
||||||
void downloadFromURLList(const QStringList& urls);
|
void downloadFromURLList(const QStringList& urls);
|
||||||
void updateAltSpeedsBtn(bool alternative);
|
void updateAltSpeedsBtn(bool alternative);
|
||||||
void updateNbTorrents();
|
void updateNbTorrents(unsigned int nb_downloading, unsigned int nb_seeding, unsigned int nb_active, unsigned int nb_inactive, unsigned int nb_paused);
|
||||||
void deleteBTSession();
|
void deleteBTSession();
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
// GUI related slots
|
// GUI related slots
|
||||||
void dropEvent(QDropEvent *event);
|
void dropEvent(QDropEvent *event);
|
||||||
void dragEnterEvent(QDragEnterEvent *event);
|
void dragEnterEvent(QDragEnterEvent *event);
|
||||||
void toggleVisibility(QSystemTrayIcon::ActivationReason e = QSystemTrayIcon::Trigger);
|
void toggleVisibility(QSystemTrayIcon::ActivationReason e);
|
||||||
void on_actionAbout_triggered();
|
void on_actionAbout_triggered();
|
||||||
void on_actionCreate_torrent_triggered();
|
void on_actionCreate_torrent_triggered();
|
||||||
void on_actionWebsite_triggered() const;
|
void on_actionWebsite_triggered() const;
|
||||||
void on_actionBugReport_triggered() const;
|
void on_actionBugReport_triggered() const;
|
||||||
|
void on_actionShow_console_triggered();
|
||||||
void balloonClicked();
|
void balloonClicked();
|
||||||
void writeSettings();
|
void writeSettings();
|
||||||
void readSettings();
|
void readSettings();
|
||||||
void on_actionExit_triggered();
|
void on_actionExit_triggered();
|
||||||
void createTrayIcon();
|
void createTrayIcon();
|
||||||
void fullDiskError(const QTorrentHandle& h, QString msg) const;
|
void fullDiskError(QTorrentHandle& h, QString msg) const;
|
||||||
void handleDownloadFromUrlFailure(QString, QString) const;
|
void handleDownloadFromUrlFailure(QString, QString) const;
|
||||||
void createSystrayDelayed();
|
void createSystrayDelayed();
|
||||||
void tab_changed(int);
|
void tab_changed(int);
|
||||||
@@ -109,7 +105,6 @@ protected slots:
|
|||||||
void defineUILockPassword();
|
void defineUILockPassword();
|
||||||
bool unlockUI();
|
bool unlockUI();
|
||||||
void notifyOfUpdate(QString);
|
void notifyOfUpdate(QString);
|
||||||
void showConnectionSettings();
|
|
||||||
// Keyboard shortcuts
|
// Keyboard shortcuts
|
||||||
void createKeyboardShortcuts();
|
void createKeyboardShortcuts();
|
||||||
void displayTransferTab() const;
|
void displayTransferTab() const;
|
||||||
@@ -127,17 +122,13 @@ protected slots:
|
|||||||
void addTorrent(QString path);
|
void addTorrent(QString path);
|
||||||
void addUnauthenticatedTracker(const QPair<QTorrentHandle,QString> &tracker);
|
void addUnauthenticatedTracker(const QPair<QTorrentHandle,QString> &tracker);
|
||||||
void processDownloadedFiles(QString path, QString url);
|
void processDownloadedFiles(QString path, QString url);
|
||||||
void finishedTorrent(const QTorrentHandle& h) const;
|
void finishedTorrent(QTorrentHandle& h) const;
|
||||||
void askRecursiveTorrentDownloadConfirmation(const QTorrentHandle &h);
|
void askRecursiveTorrentDownloadConfirmation(QTorrentHandle &h);
|
||||||
// Options slots
|
// Options slots
|
||||||
void on_actionOptions_triggered();
|
void on_actionOptions_triggered();
|
||||||
void optionsSaved();
|
void optionsSaved();
|
||||||
// HTTP slots
|
// HTTP slots
|
||||||
void on_actionDownload_from_URL_triggered();
|
void on_actionDownload_from_URL_triggered();
|
||||||
#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
|
|
||||||
void handleUpdateCheckFinished(bool update_available, QString new_version);
|
|
||||||
void handleUpdateInstalled(QString error_msg);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void closeEvent(QCloseEvent *);
|
void closeEvent(QCloseEvent *);
|
||||||
@@ -146,22 +137,19 @@ protected:
|
|||||||
void displayRSSTab(bool enable);
|
void displayRSSTab(bool enable);
|
||||||
void displaySearchTab(bool enable);
|
void displaySearchTab(bool enable);
|
||||||
|
|
||||||
private:
|
|
||||||
QIcon getSystrayIcon() const;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QFileSystemWatcher *executable_watcher;
|
QFileSystemWatcher *executable_watcher;
|
||||||
// Bittorrent
|
// Bittorrent
|
||||||
|
Bittorrent *BTSession;
|
||||||
QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed?
|
QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed?
|
||||||
// GUI related
|
// GUI related
|
||||||
bool m_posInitialized;
|
|
||||||
QTimer *guiUpdater;
|
QTimer *guiUpdater;
|
||||||
HidableTabWidget *tabs;
|
HidableTabWidget *tabs;
|
||||||
StatusBar *status_bar;
|
StatusBar *status_bar;
|
||||||
QPointer<options_imp> options;
|
QPointer<options_imp> options;
|
||||||
QPointer<consoleDlg> console;
|
QPointer<consoleDlg> console;
|
||||||
QPointer<about> aboutDlg;
|
QPointer<about> aboutDlg;
|
||||||
QPointer<TorrentCreatorDlg> createTorrentDlg;
|
QPointer<createtorrent> createTorrentDlg;
|
||||||
QPointer<downloadFromURL> downloadFromURLDialog;
|
QPointer<downloadFromURL> downloadFromURLDialog;
|
||||||
QPointer<QSystemTrayIcon> systrayIcon;
|
QPointer<QSystemTrayIcon> systrayIcon;
|
||||||
QPointer<QTimer> systrayCreator;
|
QPointer<QTimer> systrayCreator;
|
||||||
@@ -180,32 +168,22 @@ private:
|
|||||||
QShortcut *switchRSSShortcut;
|
QShortcut *switchRSSShortcut;
|
||||||
// Widgets
|
// Widgets
|
||||||
QAction *prioSeparator;
|
QAction *prioSeparator;
|
||||||
QAction *prioSeparatorMenu;
|
QAction *prioSeparator2;
|
||||||
QSplitter *hSplitter;
|
QSplitter *hSplitter;
|
||||||
QSplitter *vSplitter;
|
QSplitter *vSplitter;
|
||||||
|
QMenu *lockMenu;
|
||||||
// Search
|
// Search
|
||||||
QPointer<SearchEngine> searchEngine;
|
QPointer<SearchEngine> searchEngine;
|
||||||
// RSS
|
// RSS
|
||||||
QPointer<RSSImp> rssWidget;
|
QPointer<RSSImp> rssWidget;
|
||||||
// Execution Log
|
|
||||||
QPointer<ExecutionLog> m_executionLog;
|
|
||||||
// Power Management
|
|
||||||
PowerManagement *m_pwr;
|
|
||||||
QTimer *preventTimer;
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_actionSearch_engine_triggered();
|
void on_actionSearch_engine_triggered();
|
||||||
void on_actionRSS_Reader_triggered();
|
void on_actionRSS_Reader_triggered();
|
||||||
void on_actionSpeed_in_title_bar_triggered();
|
void on_actionSpeed_in_title_bar_triggered();
|
||||||
void on_actionTop_tool_bar_triggered();
|
void on_actionTop_tool_bar_triggered();
|
||||||
void on_action_Import_Torrent_triggered();
|
void on_actionShutdown_when_downloads_complete_triggered();
|
||||||
void on_actionDonate_money_triggered();
|
void on_actionDonate_money_triggered();
|
||||||
void on_actionExecution_Logs_triggered(bool checked);
|
|
||||||
void on_actionAutoExit_qBittorrent_toggled(bool );
|
|
||||||
void on_actionAutoSuspend_system_toggled(bool );
|
|
||||||
void on_actionAutoShutdown_system_toggled(bool );
|
|
||||||
// Check for active torrents and set preventing from suspend state
|
|
||||||
void checkForActiveTorrents();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
BIN
src/Icons/downarrow.png
Normal file
After Width: | Height: | Size: 722 B |
Before Width: | Height: | Size: 643 B |
Before Width: | Height: | Size: 408 B |
Before Width: | Height: | Size: 604 B |
Before Width: | Height: | Size: 591 B |
Before Width: | Height: | Size: 643 B |
Before Width: | Height: | Size: 600 B |
BIN
src/Icons/flags/algeria.png
Normal file
After Width: | Height: | Size: 473 B |
Before Width: | Height: | Size: 497 B |
Before Width: | Height: | Size: 488 B |
Before Width: | Height: | Size: 428 B |
Before Width: | Height: | Size: 506 B |