@ -0,0 +1,172 @@ |
|||||||
|
* Unknown - Christophe Dumez <chris@qbittorrent.org> - v0.7.0 |
||||||
|
- FEATURE: Based on new libtorrent v0.11 (a lot of bugfixes, new features) |
||||||
|
- FEATURE: Added DHT (Trackerless) support |
||||||
|
- FEATURE: Added support for incremental download (slower but good for previewing) |
||||||
|
- FEATURE: Audio/Video File previewing while downloading |
||||||
|
- FEATURE: Tracker authentication support |
||||||
|
- FEATURE: Defined qBittorrent fingerprint so that it doesn't use libtorrent fingerprint anymore |
||||||
|
- FEATURE: Display an explicit error message when a download from url fails |
||||||
|
- FEATURE: Allow the download multiple torrents from their url at once |
||||||
|
- FEATURE: New context menu on main window (Add, Start all, Pause all, Exit...) |
||||||
|
- FEATURE: Now supports two new search engines (BtJunkie, MegaNova) |
||||||
|
- FEATURE: Rewritten search engine plugin (by fab31) |
||||||
|
- FEATURE: Rewritten parts of the download/search lists to improve performance |
||||||
|
- FEATURE: Individual share ratio is now displayed in each torrent properties. |
||||||
|
- BUGFIX: Fixed a memory leak when pressing OK in torrent properties |
||||||
|
- BUGFIX: Improved code so that GUI never freeze during downloading from an url |
||||||
|
- BUGFIX: Forgot to remove torrent file from scanned directory when "Clear Finished torrents" is enabled |
||||||
|
- BUGFIX: Fixed multiple selection in torrent content tab |
||||||
|
- BUGFIX: Improved configure file (detects libboost-thread) |
||||||
|
- BUGFIX: Fixed trayicon on some window managers (Gnome, XFCE) |
||||||
|
- BUGFIX: Always set maximum limit for connection depending on system |
||||||
|
- BUGFIX: Fixed Memory leaks in search engine |
||||||
|
- BUGFIX: Remove torrent file from scanned directory if it is already in download list |
||||||
|
- BUGFIX: Fixed possible segfault on loading due to columns size loading |
||||||
|
- COSMETIC: Redesigned download from url dialog |
||||||
|
- COSMETIC: Added a message to warn user that we started download from an url |
||||||
|
- COSMETIC: Renamed main tab from "Downloads" to "Transfers" |
||||||
|
- COSMETIC: Improved icons |
||||||
|
|
||||||
|
* Fri Aug 24 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.6.1 |
||||||
|
- BUGFIX: Fixed possible segfaults when using context menus |
||||||
|
- BUGFIX: Cleanup up context menus code |
||||||
|
- BUGFIX: Use best gzip compressing for man page |
||||||
|
|
||||||
|
* Wed Aug 22 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.6.0 |
||||||
|
- FEATURE: Rewritten the download list from scratch (more flexible) |
||||||
|
- FEATURE: Rewritten the search results list from scratch (more flexible) |
||||||
|
- FEATURE: Rewritten the torrent properties list from scratch (more flexible) |
||||||
|
- FEATURE: Improved and cleaned up search engine code |
||||||
|
- FEATURE: Search results are now displayed in real time (not sequentially) |
||||||
|
- FEATURE: Added two command lines parameters (--version, --help) |
||||||
|
- FEATURE: Added a popup menu for download list |
||||||
|
- FEATURE: Double-click on an item now toggles the paused state of a download |
||||||
|
- FEATURE: Improved code to be more portable (Windows & MacOS versions should arrive soon) |
||||||
|
- FEATURE: Allow to toggle selected state of a file within a torrent using double-click |
||||||
|
- FEATURE: Remember columns width in download and search results lists |
||||||
|
- BUGFIX: Don't use pkg-config for libcurl anymore (easier to compile) |
||||||
|
- BUGFIX: Fixed ETA calculation when downloading while connecting |
||||||
|
- BUGFIX: Download progress is now displayed correctly during first seconds of execution (was 0% before) |
||||||
|
- BUGFIX: Code cleanup & optimization |
||||||
|
- BUGFIX: Fixed sorting in download list |
||||||
|
- BUGFIX: Fixed sorting in search results list |
||||||
|
- BUGFIX: Fixed Parameters passing between instances |
||||||
|
- BUGFIX: Fixed missing icon for clear action in infoBar popup menu |
||||||
|
- BUGFIX: Fixed truncated lines in search results |
||||||
|
- BUGFIX: Don't refresh download list when user is in search tab (save CPU) |
||||||
|
- BUGFIX: Don't update Progress/DL Speed/ETA for finished downloads (save CPU) |
||||||
|
- BUGFIX: Save selected search engines only when they have changed (faster program exit) |
||||||
|
- COSMETIC: Increased icon size in toolbar from 24px to 32px |
||||||
|
- COSMETIC: Display a progress bar to visualize each download progress |
||||||
|
- COSMETIC: Size of each result in search are displayed in user friendly units |
||||||
|
- COSMETIC: Display a progress bar to visualize each file progress within a torrent |
||||||
|
- COSMETIC: Renamed 'ratio' to 'Session ratio' (makes more sense) |
||||||
|
- COSMETIC: Improved layout of torrent properties window when maximized |
||||||
|
- COSMETIC: Now number of search results is updated in real time |
||||||
|
- COSMETIC: Remember last window size |
||||||
|
- COSMETIC: Improved splash screen look |
||||||
|
- COSMETIC: Improved default width of columns in download and search results lists |
||||||
|
|
||||||
|
* Wed Aug 2 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.5.0 |
||||||
|
- FEATURE: Improved "Download from url" feature (now supports https, ftp & redirections) |
||||||
|
- FEATURE: Added a torrent creation tool |
||||||
|
- FEATURE: Display progress for each file within a torrent |
||||||
|
- FEATURE: Based on new libtorrent v0.10 (lot of improvements) |
||||||
|
- FEATURE: Now possible to clear log textbox (popup menu) |
||||||
|
- FEATURE: Added two search engines (isohunt, torrentreactor) |
||||||
|
- FEATURE: Now Display share ratio on main window |
||||||
|
- FEATURE: Use OSD (On Screen Display) when a download or a search is finished |
||||||
|
- FEATURE: Allow only one instance of qBittorrent (and add new parameters to download list) |
||||||
|
- FEATURE: Remember last selected search engines in search tab |
||||||
|
- FEATURE: Improved search engines status output (Aborted, timed out, finished, no results) |
||||||
|
- FEATURE: qBittorrent can now update search plugin from qbittorrent.org |
||||||
|
- I18N: Added Slovak, Italian, Portuguese, Romanian and Traditional Chinese languages |
||||||
|
- BUGFIX: Fixed ThePirateBay parser for search engine (website had changed) |
||||||
|
- BUGFIX: Fixed filenames for results from ThePirateBay search engine |
||||||
|
- BUGFIX: Fixed unicode support for ThePirateBay search engine |
||||||
|
- BUGFIX: Now search results are sorted by seeds |
||||||
|
- BUGFIX: Overwrite nova.py search plugin only if it is outdated |
||||||
|
- BUGFIX: Fixed possible division by 0 in ETA calculation |
||||||
|
- BUGFIX: Improved ETA calculation precision |
||||||
|
- BUGFIX: Fixed default tab in options |
||||||
|
- BUGFIX: When saving options, reconnect only when listening ports changed |
||||||
|
- COSMETIC: qBittorrent has now its own new logo |
||||||
|
- COSMETIC: Display status "downloading" if DL Speed > 0 (even when tracker is down) |
||||||
|
- COSMETIC: Added a splashscreen |
||||||
|
- COSMETIC: qBittorrent has new cute icons |
||||||
|
- COSMETIC: Display number of results in search tab |
||||||
|
- COSMETIC: Added icons for each item in download list according to its state |
||||||
|
- COSMETIC: Redesigned Locale settings |
||||||
|
- COSMETIC: Fixed search engines names width (were cut on the right) |
||||||
|
- COSMETIC: Moved search engines to the left of the window (better ui) |
||||||
|
|
||||||
|
* Fri Jun 23 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.4.1 |
||||||
|
- Not counting "protocol chatter" in UP/DL speed anymore |
||||||
|
- Download speed is now 0 when download is finished |
||||||
|
- Paused torrents remain paused when qbittorrent is re-started |
||||||
|
- Added option "go to systray when minimizing" |
||||||
|
- Added option "Clear finished downloads on exit" |
||||||
|
- Added option "Ask user for confirmation on exit" |
||||||
|
- Added "Stalled" status for downloads (colored in orange, paused are in red and finished in green) |
||||||
|
- Fixed Search window layout on maximizing |
||||||
|
- Fixed a bug that caused upload limit not to be always applied |
||||||
|
- Added Bulgarian translation |
||||||
|
- Updated Translations |
||||||
|
- Code optimization |
||||||
|
|
||||||
|
* Tue Jun 13 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.4.0 |
||||||
|
- Added a search engine (supports Mininova & thepiratebay websites) |
||||||
|
- Fixed critical bug: some options were not applied correctly to BT session |
||||||
|
- Possibility to download a torrent file from an URL |
||||||
|
- Added confirmation dialog on qbittorrent exit |
||||||
|
- Enabled sorting in Download list |
||||||
|
- Added Ukrainian translation |
||||||
|
- Support urls as program parameters |
||||||
|
- Added more actions to trayicon menu |
||||||
|
- Fixed exception catching when retrieving fastresume data |
||||||
|
- use Binary prefix standards from IEC 60027-2 for units (B, KiB, MiB, GiB, TiB) |
||||||
|
- Iconification to systray when minimizing |
||||||
|
- Code Cleanup & optimization |
||||||
|
|
||||||
|
* Tue Jun 06 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.3.1 |
||||||
|
- Fixed toolbar layout (spacing) |
||||||
|
- Added Russian translation |
||||||
|
- Resume also finished files on startup (for seeding) |
||||||
|
- Added colors corresponding to download state |
||||||
|
- Fixed a segfault when deleting a download (if no scan dir is set) |
||||||
|
|
||||||
|
* Mon Jun 05 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.3 |
||||||
|
- Fixed auto-resume (worked only once) |
||||||
|
- Fixed BT_Backup dir creation on first startup (thanks Peter) |
||||||
|
- Now min port and max port are inverted if (min port > max port) |
||||||
|
- Fixed memory leaks |
||||||
|
- Added qbittorrent man page |
||||||
|
- Allow to disable max connections limit (default is disabled) |
||||||
|
- Disable upload limit by default |
||||||
|
- Added Menu Entry with icon (thanks Peter) |
||||||
|
- Restructured directory, now Makefile is in main directory (not src/) |
||||||
|
- Updated README / INSTALL |
||||||
|
|
||||||
|
* Fri Jun 02 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.2.3 |
||||||
|
- Fixed ports checking function (user couldn't type the value he wanted) |
||||||
|
- qBittorrent does not remove .torrent file from scanned directory anymore |
||||||
|
- Check tracker errors list size and clear it if it becomes too big. |
||||||
|
- Small cosmetic change |
||||||
|
|
||||||
|
* Wed May 31 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.2.2 |
||||||
|
- Fixed missing icons |
||||||
|
|
||||||
|
* Thu May 25 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.2.1 |
||||||
|
- Fixed "make install" rule |
||||||
|
- Disabled debug mode |
||||||
|
|
||||||
|
* Thu May 25 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.2 |
||||||
|
- Fixed a compatibility problem with some versions of qmake |
||||||
|
- Added translations : Greek, Swedish |
||||||
|
- Fixed Polish translation selection |
||||||
|
- Fixed come warning because of two unexisting slots |
||||||
|
- Improved "Apply" button behaviour in options |
||||||
|
- Windows are now resizable |
||||||
|
|
||||||
|
* Tue May 16 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.1 |
||||||
|
- Initial release (lack features & still need a lot of improvements) |
@ -0,0 +1,33 @@ |
|||||||
|
qBittorrent - A BitTorrent client in C++ / Qt4.1 |
||||||
|
------------------------------------------ |
||||||
|
|
||||||
|
*** Necessary if qt3 is default on your system *** |
||||||
|
export QTDIR=/usr/include/qt4 |
||||||
|
export PATH=$QTDIR/bin:$PATH |
||||||
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib |
||||||
|
*** End *** |
||||||
|
|
||||||
|
./configure |
||||||
|
make && make install |
||||||
|
qbittorrent |
||||||
|
|
||||||
|
will install and execute qBittorrent hopefully without any problems. |
||||||
|
|
||||||
|
Dependencies: |
||||||
|
- Qt >= 4.1 (libqt-devel, libqtxml, libqtgui, libqtcore, libqtnetwork) |
||||||
|
|
||||||
|
- rb_libtorrent by Arvid Norberg (>= v0.10 REQUIRED) |
||||||
|
-> http://libtorrent.sf.net |
||||||
|
Be carefull: another library (the one used by rtorrent) use the same name. |
||||||
|
These are TWO different libraries and qBittorrent will only work with the one provided |
||||||
|
on sourceforge (created by Arvid Norberg). The two libraries conflicts with each other. |
||||||
|
|
||||||
|
- libboost: libboost-filesystem, libboost-date-time, libboost-thread, libboost-serialization |
||||||
|
|
||||||
|
- libcurl |
||||||
|
|
||||||
|
- python >= 2.3 (previous might work - not tested): needed by search engine. |
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------ |
||||||
|
Christophe Dumez <chris@qbittorrent.org> |
@ -0,0 +1,4 @@ |
|||||||
|
See Changelog |
||||||
|
|
||||||
|
******************************************* |
||||||
|
Christophe dumez - chris@qbittorrent.org |
@ -0,0 +1,34 @@ |
|||||||
|
qBittorrent - A BitTorrent client in Qt4.1 |
||||||
|
------------------------------------------ |
||||||
|
|
||||||
|
Description: |
||||||
|
******************************** |
||||||
|
qBittorrent is a bittorrent client programmed in C++ / Qt4.1 that use |
||||||
|
libtorrent (sometimes called rb_libtorrent) by Arvid Norberg. |
||||||
|
|
||||||
|
It aims to be a good alternative to all other bittorrent clients |
||||||
|
out there. qBittorrent is fast, stable and provides unicode |
||||||
|
support. |
||||||
|
|
||||||
|
Installation: |
||||||
|
******************************** |
||||||
|
For installation follow the instructions from INSTALL file, but simple |
||||||
|
|
||||||
|
./configure |
||||||
|
make && make install |
||||||
|
qbittorrent |
||||||
|
|
||||||
|
will install and execute qBittorrent hopefully without any problems. |
||||||
|
|
||||||
|
For more information please visit: |
||||||
|
http://www.qbittorrent.org |
||||||
|
|
||||||
|
Please report any bug (or feature requests) to: |
||||||
|
http://bugs.qbittorrent.org |
||||||
|
|
||||||
|
You can also meet me on IRC: |
||||||
|
#qbittorrent on irc.freenode.net |
||||||
|
|
||||||
|
------------------------------------------ |
||||||
|
Christophe Dumez <chris@qbittorrent.org> |
||||||
|
|
@ -0,0 +1,36 @@ |
|||||||
|
// Easy |
||||||
|
- Write documentation |
||||||
|
- Translations into as many languages as possible |
||||||
|
- Improve man page |
||||||
|
- Add more keyboard shortcuts |
||||||
|
- Improve torrent creation tool (look & features) |
||||||
|
|
||||||
|
// Intermediate |
||||||
|
- Move novaUpdater to a Thread (probably use downloadThread) to prevent GUI freezing |
||||||
|
- Port on MacOS, Windows (and create an installer for Windows) - Progressing |
||||||
|
- Allow to prioritize files within a torrent |
||||||
|
- Allow to prioritize torrents |
||||||
|
- Optimize code to use less memory/cpu |
||||||
|
- Add some transparency (menus, OSD) |
||||||
|
- Rewrite trayicon using QSystemTrayIcon class (waiting for Qt 4.2) |
||||||
|
- Popup when adding a torrent (Save path, select files in the torrent...) (v0.8.0?) |
||||||
|
|
||||||
|
// Harder |
||||||
|
- Allow user to organize the downloads into categories/folders |
||||||
|
- Display new searches in new tabs |
||||||
|
- Display a progress bar that really display the pieces we have (like in eMule) |
||||||
|
|
||||||
|
// Unsure |
||||||
|
- Move Speed/ratio to a status bar ? |
||||||
|
- Azureus spoofing to prevent ban from trackers? |
||||||
|
- Download from RSS? |
||||||
|
- Encryption support (waiting for libtorrent) |
||||||
|
- Split kernel from GUI? (would be a lot better but require some deep changes) |
||||||
|
- Web interface? |
||||||
|
|
||||||
|
// Before 0.7.0 |
||||||
|
- Test file previewing |
||||||
|
- Test tracker authentication |
||||||
|
- Wait for libtorrent v0.11 final release |
||||||
|
- Test DHT |
||||||
|
- Test incremental download |
@ -0,0 +1,134 @@ |
|||||||
|
qbittorrent (0.6.1-1) unstable; urgency=low |
||||||
|
|
||||||
|
* Disabled debug mode |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Mon, 28 Aug 2006 21:22:48 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.6.1-0) unstable; urgency=low |
||||||
|
* BUGFIX: Fixed possible segfaults when using context menus |
||||||
|
* BUGFIX: Cleanup up context menus code |
||||||
|
* BUGFIX: Used best gzip compressing for manpage |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Thu, 24 Aug 2006 19:53:32 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.6.0) unstable; urgency=low |
||||||
|
* FEATURE: Rewritten the download list from scratch (more flexible) |
||||||
|
* FEATURE: Rewritten the search results list from scratch (more flexible) |
||||||
|
* FEATURE: Rewritten the torrent properties list from scratch (more flexible) |
||||||
|
* FEATURE: Improved and cleaned up search engine code |
||||||
|
* FEATURE: Search results are now displayed in real time (not sequentially) |
||||||
|
* FEATURE: Added two command lines parameters (--version, --help) |
||||||
|
* FEATURE: Added a popup menu for download list |
||||||
|
* FEATURE: Double-click on an item now toggles the paused state of a download |
||||||
|
* FEATURE: Improved code to be more portable (Windows & MacOS versions should arrive soon) |
||||||
|
* FEATURE: Allow to toggle selected state of a file within a torrent using double-click |
||||||
|
* FEATURE: Remember columns width in download and search results lists |
||||||
|
* BUGFIX: Don't use pkg-config for libcurl anymore (easier to compile) |
||||||
|
* BUGFIX: Fixed ETA calculation when downloading while connecting |
||||||
|
* BUGFIX: Download progress is now displayed correctly during first seconds of execution (was 0% before) |
||||||
|
* BUGFIX: Code cleanup & optimization |
||||||
|
* BUGFIX: Fixed sorting in download list |
||||||
|
* BUGFIX: Fixed sorting in search results list |
||||||
|
* BUGFIX: Fixed Parameters passing between instances |
||||||
|
* BUGFIX: Fixed missing icon for clear action in infoBar popup menu |
||||||
|
* BUGFIX: Fixed truncated lines in search results |
||||||
|
* BUGFIX: Don't refresh download list when user is in search tab (save CPU) |
||||||
|
* BUGFIX: Don't update Progress/DL Speed/ETA for finished downloads (save CPU) |
||||||
|
* BUGFIX: Save selected search engines only when they have changed (faster program exit) |
||||||
|
* COSMETIC: Increased icon size in toolbar from 24px to 32px |
||||||
|
* COSMETIC: Display a progress bar to visualize each download progress |
||||||
|
* COSMETIC: Size of each result in search are displayed in user friendly units |
||||||
|
* COSMETIC: Display a progress bar to visualize each file progress within a torrent |
||||||
|
* COSMETIC: Renamed 'ratio' to 'Session ratio' (makes more sense) |
||||||
|
* COSMETIC: Improved layout of torrent properties window when maximized |
||||||
|
* COSMETIC: Now number of search results is updated in real time |
||||||
|
* COSMETIC: Remember last window size |
||||||
|
* COSMETIC: Improved splash screen look |
||||||
|
* COSMETIC: Improved default width of columns in download and search results lists |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 22 Aug 2006 10:42:37 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.5.0) unstable; urgency=low |
||||||
|
* Improved "Download from url" feature (now supports https, ftp & redirections) |
||||||
|
* Added a torrent creation tool |
||||||
|
* Display progress for each file within a torrent |
||||||
|
* Based on new libtorrent v0.10 (lot of improvements) |
||||||
|
* Now possible to clear log textbox (popup menu) |
||||||
|
* Added two search engines (isohunt, torrentreactor) |
||||||
|
* Now Display share ratio on main window |
||||||
|
* Use OSD (On Screen Display) when a download or a search is finished |
||||||
|
* Allow only one instance of qBittorrent (and add new parameters to download list) |
||||||
|
* Remember last selected search engines in search tab |
||||||
|
* Improved search engines status output (Aborted, timed out, finished, no results) |
||||||
|
* qBittorrent can now update search plugin from qbittorrent.org |
||||||
|
* Added Slovak, Italian, Portuguese, Romanian and Traditional Chinese languages |
||||||
|
* Fixed ThePirateBay parser for search engine (website had changed) |
||||||
|
* Fixed filenames for results from ThePirateBay search engine |
||||||
|
* Fixed unicode support for ThePirateBay search engine |
||||||
|
* Now search results are sorted by seeds |
||||||
|
* Overwrite nova.py search plugin only if it is outdated |
||||||
|
* Fixed possible division by 0 in ETA calculation |
||||||
|
* Improved ETA calculation precision |
||||||
|
* Fixed default tab in options |
||||||
|
* When saving options, reconnect only when listening ports changed |
||||||
|
* qBittorrent has now its own new logo |
||||||
|
* Display status "downloading" if DL Speed > 0 (even when tracker is down) |
||||||
|
* Added a splashscreen |
||||||
|
* qBittorrent has new cute icons |
||||||
|
* Display number of results in search tab |
||||||
|
* Added icons for each item in download list according to its state |
||||||
|
* Redesigned Locale settings |
||||||
|
* Fixed search engines names width (were cut on the right) |
||||||
|
* Moved search engines to the left of the window (better ui) |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 2 Aug 2006 19:46:32 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.4.1) unstable; urgency=low |
||||||
|
* Not counting "protocol chatter" in UP/DL speed anymore |
||||||
|
* Download speed is now 0 when download is finished |
||||||
|
* Paused torrents remain paused when qbittorrent is re-started |
||||||
|
* Added option "go to systray when minimizing" |
||||||
|
* Added option "Clear finished downloads on exit" |
||||||
|
* Added option "Ask user for confirmation on exit" |
||||||
|
* Added "Stalled" status for downloads (colored in orange, paused are in red and finished in green) |
||||||
|
* Fixed Search window layout on maximizing |
||||||
|
* Fixed a bug that caused upload limit not to be always applied |
||||||
|
* Added Bulgarian translation |
||||||
|
* Updated Translations |
||||||
|
* Code optimization |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Thu, 22 Jun 2006 20:14:27 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.4.0) unstable; urgency=low |
||||||
|
|
||||||
|
* Added a search engine (supports Mininova & thepiratebay websites) |
||||||
|
* Fixed critical bug: some options were not applied correctly to BT session |
||||||
|
* Possibility to download a torrent file from an URL |
||||||
|
* Added confirmation dialog on qbittorrent exit |
||||||
|
* Enabled sorting in Download list |
||||||
|
* Added Ukrainian translation |
||||||
|
* Support urls as program parameters |
||||||
|
* Added more actions to trayicon menu |
||||||
|
* Fixed exception catching when retrieving fastresume data |
||||||
|
* use Binary prefix standards from IEC 60027-2 for units (B, KiB, MiB, GiB, TiB) |
||||||
|
* Iconification to systray when minimizing |
||||||
|
* Code Cleanup & optimization |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 14 Jun 2006 14:47:27 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.3.1) unstable; urgency=low |
||||||
|
|
||||||
|
* Fixed toolbar layout (spacing). |
||||||
|
* Added Russian translation. |
||||||
|
* Resume also finished files on startup (for seeding). |
||||||
|
* Added colors corresponding to download state. |
||||||
|
* Fixed a segfault when deleting a download (if no scan dir is set). |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Sat, 6 Jun 2006 21:36:27 +0200 |
||||||
|
|
||||||
|
|
||||||
|
qbittorrent (0.3) unstable; urgency=low |
||||||
|
|
||||||
|
* Initial Release. |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Sat, 3 Jun 2006 21:57:27 +0200 |
@ -0,0 +1,15 @@ |
|||||||
|
Source: qbittorrent |
||||||
|
Section: net |
||||||
|
Priority: optional |
||||||
|
Maintainer: Christophe Dumez <chris@qbittorrent.org> |
||||||
|
Build-Depends: debhelper (>= 4.0.0), autotools-dev, libqt4-core (>= 4.1.0), libqt4-dev (>= 4.1.0), libqt4-gui (>= 4.1.0), rb-libtorrent (>= 0.10), libcurl3-dev |
||||||
|
Standards-Version: 3.6.2 |
||||||
|
|
||||||
|
Package: qbittorrent |
||||||
|
Architecture: any |
||||||
|
Depends: ${shlibs:Depends}, ${misc:Depends}, rb-libtorrent (>= 0.10), python (>= 2.3) |
||||||
|
Description: Bittorrent client in Qt4.1 / C++ |
||||||
|
qBittorrent is a bittorrent client programmed in C++ / Qt4.1 |
||||||
|
using rb_libtorrent by Arvid Norberg. It aims to be a good |
||||||
|
alternative to other bittorrent client out there. It is fast, |
||||||
|
stable and provides unicode support. |
@ -0,0 +1,26 @@ |
|||||||
|
This is qbittorrent, written and maintained by Christophe Dumez <chris@qbittorrent.org> |
||||||
|
on Sat, 3 Jun 2006 21:57:27 +0200. |
||||||
|
|
||||||
|
The original source can always be found at: |
||||||
|
ftp://ftp.debian.org/dists/unstable/main/source/ |
||||||
|
|
||||||
|
Copyright (C) 2006 Christophe Dumez |
||||||
|
|
||||||
|
License: |
||||||
|
|
||||||
|
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 package; if not, write to the Free Software |
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
||||||
|
|
||||||
|
On Debian systems, the complete text of the GNU General |
||||||
|
Public License can be found in `/usr/share/common-licenses/GPL'. |
@ -0,0 +1,107 @@ |
|||||||
|
#!/usr/bin/make -f |
||||||
|
# -*- makefile -*- |
||||||
|
# Sample debian/rules that uses debhelper. |
||||||
|
# This file was originally written by Joey Hess and Craig Small. |
||||||
|
# As a special exception, when this file is copied by dh-make into a |
||||||
|
# dh-make output file, you may use that output file without restriction. |
||||||
|
# This special exception was added by Craig Small in version 0.37 of dh-make. |
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode. |
||||||
|
#export DH_VERBOSE=1 |
||||||
|
|
||||||
|
|
||||||
|
# These are used for cross-compiling and for saving the configure script |
||||||
|
# from having to guess our platform (since we know it already) |
||||||
|
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) |
||||||
|
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) |
||||||
|
|
||||||
|
|
||||||
|
CFLAGS = -Wall |
||||||
|
|
||||||
|
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) |
||||||
|
CFLAGS += -O0 |
||||||
|
else |
||||||
|
CFLAGS += -O2 |
||||||
|
endif |
||||||
|
|
||||||
|
config.status: configure |
||||||
|
dh_testdir |
||||||
|
# Add here commands to configure the package. |
||||||
|
CFLAGS="$(CFLAGS) -Wl,-z,defs" ./configure --prefix=/usr |
||||||
|
|
||||||
|
|
||||||
|
build: build-stamp |
||||||
|
|
||||||
|
build-stamp: config.status |
||||||
|
dh_testdir |
||||||
|
|
||||||
|
# Add here commands to compile the package. |
||||||
|
$(MAKE) |
||||||
|
#docbook-to-man debian/qbittorrent.sgml > qbittorrent.1 |
||||||
|
|
||||||
|
touch build-stamp |
||||||
|
|
||||||
|
clean: |
||||||
|
dh_testdir |
||||||
|
dh_testroot |
||||||
|
rm -f build-stamp |
||||||
|
|
||||||
|
# Add here commands to clean up after the build process. |
||||||
|
-$(MAKE) distclean |
||||||
|
ifneq "$(wildcard /usr/share/misc/config.sub)" "" |
||||||
|
cp -f /usr/share/misc/config.sub config.sub |
||||||
|
endif |
||||||
|
ifneq "$(wildcard /usr/share/misc/config.guess)" "" |
||||||
|
cp -f /usr/share/misc/config.guess config.guess |
||||||
|
endif |
||||||
|
|
||||||
|
|
||||||
|
dh_clean |
||||||
|
|
||||||
|
install: build |
||||||
|
dh_testdir |
||||||
|
dh_testroot |
||||||
|
dh_clean -k |
||||||
|
dh_installdirs |
||||||
|
|
||||||
|
# Add here commands to install the package into debian/qbittorrent. |
||||||
|
$(MAKE) install INSTALL_ROOT=$(CURDIR)/debian/qbittorrent |
||||||
|
|
||||||
|
|
||||||
|
# Build architecture-independent files here. |
||||||
|
binary-indep: build install |
||||||
|
# We have nothing to do by default. |
||||||
|
|
||||||
|
# Build architecture-dependent files here. |
||||||
|
binary-arch: build install |
||||||
|
dh_testdir |
||||||
|
dh_testroot |
||||||
|
dh_installchangelogs Changelog |
||||||
|
dh_installdocs |
||||||
|
dh_installexamples |
||||||
|
# dh_install |
||||||
|
# dh_installmenu |
||||||
|
# dh_installdebconf |
||||||
|
# dh_installlogrotate |
||||||
|
# dh_installemacsen |
||||||
|
# dh_installpam |
||||||
|
# dh_installmime |
||||||
|
# dh_installinit |
||||||
|
# dh_installcron |
||||||
|
# dh_installinfo |
||||||
|
dh_installman |
||||||
|
dh_link |
||||||
|
dh_strip |
||||||
|
dh_compress |
||||||
|
dh_fixperms |
||||||
|
# dh_perl |
||||||
|
# dh_python |
||||||
|
# dh_makeshlibs |
||||||
|
dh_installdeb |
||||||
|
dh_shlibdeps |
||||||
|
dh_gencontrol |
||||||
|
dh_md5sums |
||||||
|
dh_builddeb |
||||||
|
|
||||||
|
binary: binary-indep binary-arch |
||||||
|
.PHONY: build clean binary-indep binary-arch binary install |
@ -0,0 +1,249 @@ |
|||||||
|
|
||||||
|
%define name qbittorrent |
||||||
|
%define major 0 |
||||||
|
%define minor 6 |
||||||
|
%define patch 1 |
||||||
|
%define version %{major}.%{minor}.%{patch} |
||||||
|
%define release %mkrel 2 |
||||||
|
%define _iconsdir %{_datadir}/icons |
||||||
|
%define _mandir %_datadir/man |
||||||
|
|
||||||
|
Name: %{name} |
||||||
|
Summary: A Bittorrent Client using C++ / Qt4 |
||||||
|
Version: %{version} |
||||||
|
Release: %{release} |
||||||
|
Source0: http://sourceforge.net/projects/qbittorrent/%{name}-%{version}.tar.gz |
||||||
|
URL: http://sourceforge.net/projects/qbittorrent |
||||||
|
Vendor: http://qbittorrent.sourceforge.net/ |
||||||
|
Group: Internet/File Transfer |
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot |
||||||
|
License: GPL |
||||||
|
BuildRequires: libqt4-devel >= 4.1.2, libqtgui4 >= 4.1.2, libqtcore4 >= 4.1.2, libqtxml4 >= 4.1.2, libqtnetwork4 >= 4.1.2, rb_libtorrent-devel >= 0.10-3, libcurl3-devel |
||||||
|
Requires: libqtgui4 >= 4.1.2, libqtcore4 >= 4.1.2, libqtxml4 >= 4.1.2, libqtnetwork4 >= 4.1.2, librb_libtorrent0 >= 0.10-3, python >= 2.3, libcurl3 |
||||||
|
|
||||||
|
%description |
||||||
|
A Bittorrent client using C++ / libtorrent and a Qt4 Graphical User Interface. |
||||||
|
It aims to be as fast as possible and to provide multi-OS, unicode support. |
||||||
|
|
||||||
|
%prep |
||||||
|
%setup |
||||||
|
|
||||||
|
%build |
||||||
|
# Export the Environment variables |
||||||
|
export QTDIR=%_prefix/%_lib/qt4 |
||||||
|
export KDEDIR=%_prefix |
||||||
|
export LD_LIBRARY_PATH=$QTDIR/%_lib:$KDEDIR/%_lib:$LD_LIBRARY_PATH |
||||||
|
export PATH=$QTDIR/bin:$KDEDIR/bin:$PATH |
||||||
|
|
||||||
|
|
||||||
|
# Change to the Source directory and configure |
||||||
|
#cd src |
||||||
|
CFLAGS="%optflags" CXXFLAGS="%optflags" \ |
||||||
|
./configure --prefix=%{buildroot}%{_prefix} |
||||||
|
|
||||||
|
# Necessary to remove old compiled files.. if they exist |
||||||
|
make clean |
||||||
|
|
||||||
|
%make |
||||||
|
|
||||||
|
%install |
||||||
|
%makeinstall --directory=src |
||||||
|
|
||||||
|
|
||||||
|
# Create the menu directory |
||||||
|
install -d %{buildroot}%{_menudir} |
||||||
|
|
||||||
|
# Build the Menu |
||||||
|
#<package> <section> <file_in> <file_out> [requires] [title] |
||||||
|
kdedesktop2mdkmenu.pl %{name} "%{group}" %{buildroot}%{_datadir}/applications/qBittorrent.desktop %{buildroot}%{_menudir}/%{name} |
||||||
|
|
||||||
|
%clean |
||||||
|
%{__rm} -rf %{buildroot} |
||||||
|
|
||||||
|
%post |
||||||
|
/sbin/ldconfig |
||||||
|
%{update_menus} |
||||||
|
|
||||||
|
%postun |
||||||
|
/sbin/ldconfig |
||||||
|
%{clean_menus} |
||||||
|
|
||||||
|
|
||||||
|
%files |
||||||
|
%defattr(-,root,root) |
||||||
|
%doc README INSTALL NEWS COPYING AUTHORS TODO Changelog |
||||||
|
%doc %{_mandir}/man1/*.bz2 |
||||||
|
|
||||||
|
|
||||||
|
# The binaries |
||||||
|
%_bindir/* |
||||||
|
|
||||||
|
|
||||||
|
# Icon files |
||||||
|
# Hi and Lo colour icons various sizes |
||||||
|
%_iconsdir/hicolor/128x128/apps/qbittorrent.png |
||||||
|
%_iconsdir/hicolor/16x16/apps/qbittorrent.png |
||||||
|
%_iconsdir/hicolor/192x192/apps/qbittorrent.png |
||||||
|
%_iconsdir/hicolor/22x22/apps/qbittorrent.png |
||||||
|
%_iconsdir/hicolor/24x24/apps/qbittorrent.png |
||||||
|
%_iconsdir/hicolor/32x32/apps/qbittorrent.png |
||||||
|
%_iconsdir/hicolor/36x36/apps/qbittorrent.png |
||||||
|
%_iconsdir/hicolor/48x48/apps/qbittorrent.png |
||||||
|
%_iconsdir/hicolor/64x64/apps/qbittorrent.png |
||||||
|
%_iconsdir/hicolor/72x72/apps/qbittorrent.png |
||||||
|
%_iconsdir/hicolor/96x96/apps/qbittorrent.png |
||||||
|
## %_iconsdir/hicolor/scalable/apps/qbittorrent.svgz |
||||||
|
|
||||||
|
|
||||||
|
# Desktop Link |
||||||
|
%_datadir/applications/qBittorrent.desktop |
||||||
|
|
||||||
|
# The qbittorrent Menu directory |
||||||
|
%dir %{_menudir} |
||||||
|
%{_menudir}/%{name} |
||||||
|
|
||||||
|
|
||||||
|
%changelog |
||||||
|
|
||||||
|
* Wed Aug 23 2006 - Christophe Dumez <chris@qbittorrent.org> - 0.6.0-0.1.2006mdk |
||||||
|
- FEATURE: Rewritten the download list from scratch (more flexible) |
||||||
|
- FEATURE: Rewritten the search results list from scratch (more flexible) |
||||||
|
- FEATURE: Rewritten the torrent properties list from scratch (more flexible) |
||||||
|
- FEATURE: Improved and cleaned up search engine code |
||||||
|
- FEATURE: Search results are now displayed in real time (not sequentially) |
||||||
|
- FEATURE: Added two command lines parameters (--version, --help) |
||||||
|
- FEATURE: Added a popup menu for download list |
||||||
|
- FEATURE: Double-click on an item now toggles the paused state of a download |
||||||
|
- FEATURE: Improved code to be more portable (Windows & MacOS versions should arrive soon) |
||||||
|
- FEATURE: Allow to toggle selected state of a file within a torrent using double-click |
||||||
|
- FEATURE: Remember columns width in download and search results lists |
||||||
|
- BUGFIX: Don't use pkg-config for libcurl anymore (easier to compile) |
||||||
|
- BUGFIX: Fixed ETA calculation when downloading while connecting |
||||||
|
- BUGFIX: Download progress is now displayed correctly during first seconds of execution (was 0% before) |
||||||
|
- BUGFIX: Code cleanup & optimization |
||||||
|
- BUGFIX: Fixed sorting in download list |
||||||
|
- BUGFIX: Fixed sorting in search results list |
||||||
|
- BUGFIX: Fixed Parameters passing between instances |
||||||
|
- BUGFIX: Fixed missing icon for clear action in infoBar popup menu |
||||||
|
- BUGFIX: Fixed truncated lines in search results |
||||||
|
- BUGFIX: Don't refresh download list when user is in search tab (save CPU) |
||||||
|
- BUGFIX: Don't update Progress/DL Speed/ETA for finished downloads (save CPU) |
||||||
|
- BUGFIX: Save selected search engines only when they have changed (faster program exit) |
||||||
|
- COSMETIC: Increased icon size in toolbar from 24px to 32px |
||||||
|
- COSMETIC: Display a progress bar to visualize each download progress |
||||||
|
- COSMETIC: Size of each result in search are displayed in user friendly units |
||||||
|
- COSMETIC: Display a progress bar to visualize each file progress within a torrent |
||||||
|
- COSMETIC: Renamed 'ratio' to 'Session ratio' (makes more sense) |
||||||
|
- COSMETIC: Improved layout of torrent properties window when maximized |
||||||
|
- COSMETIC: Now number of search results is updated in real time |
||||||
|
- COSMETIC: Remember last window size |
||||||
|
- COSMETIC: Improved splash screen look |
||||||
|
- COSMETIC: Improved default width of columns in download and search results lists |
||||||
|
|
||||||
|
* Tue Aug 08 2006 - Christophe Dumez <chris@qbittorrent.org> - 0.5.0-0.1.20060mdk |
||||||
|
- FEATURE: Improved "Download from url" feature (now supports https, ftp & redirections) |
||||||
|
- FEATURE: Added a torrent creation tool |
||||||
|
- FEATURE: Display progress for each file within a torrent |
||||||
|
- FEATURE: Based on new libtorrent v0.10 (lot of improvements) |
||||||
|
- FEATURE: Now possible to clear log textbox (popup menu) |
||||||
|
- FEATURE: Added two search engines (isohunt, torrentreactor) |
||||||
|
- FEATURE: Now Display share ratio on main window |
||||||
|
- FEATURE: Use OSD (On Screen Display) when a download or a search is finished |
||||||
|
- FEATURE: Allow only one instance of qBittorrent (and add new parameters to download list) |
||||||
|
- FEATURE: Remember last selected search engines in search tab |
||||||
|
- FEATURE: Improved search engines status output (Aborted, timed out, finished, no results) |
||||||
|
- FEATURE: qBittorrent can now update search plugin from qbittorrent.org |
||||||
|
- I18N: Added Slovak, Italian, Portuguese, Romanian and Traditional Chinese languages |
||||||
|
- BUGFIX: Fixed ThePirateBay parser for search engine (website had changed) |
||||||
|
- BUGFIX: Fixed filenames for results from ThePirateBay search engine |
||||||
|
- BUGFIX: Fixed unicode support for ThePirateBay search engine |
||||||
|
- BUGFIX: Now search results are sorted by seeds |
||||||
|
- BUGFIX: Overwrite nova.py search plugin only if it is outdated |
||||||
|
- BUGFIX: Fixed possible division by 0 in ETA calculation |
||||||
|
- BUGFIX: Improved ETA calculation precision |
||||||
|
- BUGFIX: Fixed default tab in options |
||||||
|
- BUGFIX: When saving options, reconnect only when listening ports changed |
||||||
|
- COSMETIC: qBittorrent has now its own new logo |
||||||
|
- COSMETIC: Display status "downloading" if DL Speed > 0 (even when tracker is down) |
||||||
|
- COSMETIC: Added a splashscreen |
||||||
|
- COSMETIC: qBittorrent has new cute icons |
||||||
|
- COSMETIC: Display number of results in search tab |
||||||
|
- COSMETIC: Added icons for each item in download list according to its state |
||||||
|
- COSMETIC: Redesigned Locale settings |
||||||
|
- COSMETIC: Fixed search engines names width (were cut on the right) |
||||||
|
- COSMETIC: Moved search engines to the left of the window (better ui) |
||||||
|
|
||||||
|
* Fri Jun 23 2006 - Christophe Dumez <chris@qbittorrent.org> - 0.4.1-0.1.20060mdk |
||||||
|
- Not counting "protocol chatter" in UP/DL speed anymore |
||||||
|
- Download speed is now 0 when download is finished |
||||||
|
- Paused torrents remain paused when qbittorrent is re-started |
||||||
|
- Added option "go to systray when minimizing" |
||||||
|
- Added option "Clear finished downloads on exit" |
||||||
|
- Added option "Ask user for confirmation on exit" |
||||||
|
- Added "Stalled" status for downloads (colored in orange, paused are in red and finished in green) |
||||||
|
- Fixed Search window layout on maximizing |
||||||
|
- Fixed a bug that caused upload limit not to be always applied |
||||||
|
- Added Bulgarian translation |
||||||
|
- Updated Translations |
||||||
|
- Code optimization |
||||||
|
|
||||||
|
* Tue Jun 13 2006 - Christophe Dumez <chris@qbittorrent.org> - 0.4.0-0.1.20060mdk |
||||||
|
- Added a search engine (supports Mininova & thepiratebay websites) |
||||||
|
- Fixed critical bug: some options were not applied correctly to BT session |
||||||
|
- Possibility to download a torrent file from an URL |
||||||
|
- Added confirmation dialog on qbittorrent exit |
||||||
|
- Enabled sorting in Download list |
||||||
|
- Added Ukrainian translation |
||||||
|
- Support urls as program parameters |
||||||
|
- Added more actions to trayicon menu |
||||||
|
- Fixed exception catching when retrieving fastresume data |
||||||
|
- use Binary prefix standards from IEC 60027-2 for units (B, KiB, MiB, GiB, TiB) |
||||||
|
- Iconification to systray when minimizing |
||||||
|
- Code Cleanup & optimization |
||||||
|
|
||||||
|
* Tue Jun 06 2006 - Christophe Dumez <chris@qbittorrent.org> - 0.3.1-0.1.20060mdk |
||||||
|
- Fixed toolbar layout (spacing) |
||||||
|
- Added Russian translation |
||||||
|
- Resume also finished files on startup (for seeding) |
||||||
|
- Added colors corresponding to download state |
||||||
|
- Fixed a segfault when deleting a download (if no scan dir is set) |
||||||
|
|
||||||
|
* Mon Jun 05 2006 - Christophe Dumez <chris@qbittorrent.org> - 0.3-0.1.20060mdk |
||||||
|
- Fixed auto-resume (worked only once) |
||||||
|
- Fixed BT_Backup dir creation on first startup (thanks Peter) |
||||||
|
- Now min port and max port are inverted if (min port > max port) |
||||||
|
- Fixed memory leaks |
||||||
|
- Added qbittorrent man page |
||||||
|
- Allow to disable max connections limit (default is disabled) |
||||||
|
- Disable upload limit by default |
||||||
|
- Added Menu Entry with icon (thanks Peter) |
||||||
|
- Restructured directory, now Makefile is in main directory (not src/) |
||||||
|
- Updated README / INSTALL |
||||||
|
|
||||||
|
* Fri Jun 02 2006 - Christophe Dumez <chris@qbittorrent.org> 0.2.3-0.1.20060mdk |
||||||
|
- Fixed ports checking function (user couldn't type the value he wanted) |
||||||
|
- Check tracker errors list size and clear it if it becomes too big. |
||||||
|
- qBittorrent does not remove .torrent file from scanned directory anymore |
||||||
|
- Small cosmetic change |
||||||
|
|
||||||
|
* Wed May 31 2006 Christophe Dumez <chris@qbittorrent.org> 0.2.2-0.1.20060mdk |
||||||
|
- Fixed missing icons |
||||||
|
|
||||||
|
* Sat May 27 2006 Jeffery Fernandez <developer@jefferyfernandez.id.au> 0.2.1-0.1.20060mdk |
||||||
|
- Initial Build for Mandriva Linux |
||||||
|
|
||||||
|
* Thu May 25 2006 Christophe Dumez <chris@qbittorrent.org> |
||||||
|
- Fixed "make install" rule |
||||||
|
- Disabled debug mode |
||||||
|
|
||||||
|
* Thu May 25 2006 Christophe Dumez <chris@qbittorrent.org> - v0.2 |
||||||
|
- Fixed a compatibility problem with some versions of qmake |
||||||
|
- Added translations : Greek, Swedish |
||||||
|
- Fixed Polish translation selection |
||||||
|
- Fixed come warning because of two unexisting slots |
||||||
|
- Improved "Apply" button behaviour in options |
||||||
|
- Windows are now resizable |
||||||
|
|
||||||
|
* Tue May 16 2006 Christophe Dumez <chris@qbittorrent.org> - v0.1 |
||||||
|
- Initial release (lack features & still need a lot of improvements) |
||||||
|
|
@ -0,0 +1,147 @@ |
|||||||
|
|
||||||
|
%define package_name rb_libtorrent |
||||||
|
%define orig_name libtorrent |
||||||
|
%define major 0 |
||||||
|
%define minor .10 |
||||||
|
%define patch .1 |
||||||
|
%define version %{major}%{minor} |
||||||
|
%define candidate -rc1 |
||||||
|
%define lib_name %mklibname %{package_name} %{major} |
||||||
|
%define release %mkrel 4 |
||||||
|
|
||||||
|
Summary : libtorrent is a C++ bittorrent library. |
||||||
|
Name : %{package_name} |
||||||
|
Version : %{version} |
||||||
|
Release : %{release} |
||||||
|
License : GPL |
||||||
|
Group : Development/C++ |
||||||
|
Source0 : http://www.rasterbar.com/products/libtorrent/libtorrent-%{version}.tar.gz |
||||||
|
URL : http://www.rasterbar.com |
||||||
|
BuildRequires : boost >= 1.33.1 |
||||||
|
BuildRoot : %{_tmppath}/%{orig_name}-%{version}-%{release}-root |
||||||
|
Patch0 : file_progress_arvid.patch.bz2 |
||||||
|
|
||||||
|
%description |
||||||
|
libtorrent is a C++ library that aims to be a good alternative |
||||||
|
to all the other bittorrent implementations around. |
||||||
|
|
||||||
|
|
||||||
|
%package -n %{package_name}-devel |
||||||
|
Group : Development/C++ |
||||||
|
Summary : Development files for %{package_name} |
||||||
|
Conflicts : libtorrent7-devel |
||||||
|
|
||||||
|
%description -n %{package_name}-devel |
||||||
|
Development files for %{package_name} |
||||||
|
|
||||||
|
%package -n %{lib_name} |
||||||
|
Group : Development/C++ |
||||||
|
Summary : Library files for %{package_name} |
||||||
|
Conflicts : libtorrent7 |
||||||
|
|
||||||
|
%description -n %{lib_name} |
||||||
|
Library files for %{package_name} |
||||||
|
|
||||||
|
%prep |
||||||
|
%setup -n %{orig_name}-%{version} |
||||||
|
|
||||||
|
%build |
||||||
|
%configure --prefix=%{_prefix} |
||||||
|
%make |
||||||
|
|
||||||
|
|
||||||
|
%install |
||||||
|
%makeinstall |
||||||
|
|
||||||
|
# Create directories for the package |
||||||
|
install -d %{buildroot}%{_includedir}/%{orig_name} |
||||||
|
install -d %{buildroot}%{_libdir}/pkgconfig |
||||||
|
|
||||||
|
%clean |
||||||
|
rm -rf %{buildroot} |
||||||
|
|
||||||
|
# The binaries |
||||||
|
%files %(orig_name) |
||||||
|
%defattr(0644, root, root, 0755) |
||||||
|
%{_bindir}/* |
||||||
|
|
||||||
|
# Documentation |
||||||
|
%defattr(-, root, root) |
||||||
|
%doc README AUTHORS INSTALL COPYING ChangeLog NEWS |
||||||
|
%doc docs/* |
||||||
|
|
||||||
|
|
||||||
|
# Devel Package |
||||||
|
%files -n %{package_name}-devel |
||||||
|
%defattr(-,root,root,-) |
||||||
|
%dir %{_includedir}/%{orig_name}/ |
||||||
|
%dir %{_includedir}/%{orig_name}/asio/ |
||||||
|
%dir %{_includedir}/%{orig_name}/asio/detail/ |
||||||
|
%dir %{_includedir}/%{orig_name}/asio/impl/ |
||||||
|
%dir %{_includedir}/%{orig_name}/asio/ip/ |
||||||
|
%dir %{_includedir}/%{orig_name}/asio/ip/detail/ |
||||||
|
%dir %{_includedir}/%{orig_name}/asio/ssl/ |
||||||
|
%dir %{_includedir}/%{orig_name}/asio/ssl/detail/ |
||||||
|
%{_includedir}/%{orig_name}/*.hpp |
||||||
|
%{_includedir}/%{orig_name}/asio/*.hpp |
||||||
|
%{_includedir}/%{orig_name}/asio/detail/*.hpp |
||||||
|
%{_includedir}/%{orig_name}/asio/impl/*.ipp |
||||||
|
%{_includedir}/%{orig_name}/asio/ip/*.hpp |
||||||
|
%{_includedir}/%{orig_name}/asio/ip/detail/*.hpp |
||||||
|
%{_includedir}/%{orig_name}/asio/ssl/*.hpp |
||||||
|
%{_includedir}/%{orig_name}/asio/ssl/detail/*.hpp |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%{_libdir}/%{orig_name}.a |
||||||
|
%{_libdir}/%{orig_name}.la |
||||||
|
%{_libdir}/%{orig_name}.so |
||||||
|
%{_libdir}/pkgconfig/libtorrent.pc |
||||||
|
|
||||||
|
|
||||||
|
# Library Package |
||||||
|
%files -n %{lib_name} |
||||||
|
%defattr(-,root,root,-) |
||||||
|
%_libdir/%{orig_name}.so.* |
||||||
|
|
||||||
|
|
||||||
|
%changelog |
||||||
|
|
||||||
|
* Wed Aug 23 2006 Christophe Dumez <chris@qbittorrent.org> 10.0.1-2006mdk |
||||||
|
- Added patch for Torrent Properties crash fix |
||||||
|
|
||||||
|
* Sat Jul 1 2006 %{packager} %{version}-%{release} |
||||||
|
- fixed a bug where the requested number of peers in a tracker request could |
||||||
|
be too big. |
||||||
|
- fixed a bug where empty files were not created in full allocation mode. |
||||||
|
- fixed a bug in storage that would, in rare cases, fail to do a |
||||||
|
complete check. |
||||||
|
- exposed more settings for tweaking parameters in the piece-picker, |
||||||
|
downloader and uploader (http_settings replaced by session_settings). |
||||||
|
- tweaked default settings to improve high bandwidth transfers. |
||||||
|
- improved the piece picker performance and made it possible to download |
||||||
|
popular pieces in sequence to improve disk performance. |
||||||
|
- added the possibility to control upload and download limits per peer. |
||||||
|
- fixed problem with re-requesting skipped pieces when peer was sending pieces |
||||||
|
out of fifo-order. |
||||||
|
- added support for http seeding (the GetRight protocol) |
||||||
|
- renamed identifiers called 'id' in the public interface to support linking |
||||||
|
with Objective.C++ |
||||||
|
- changed the extensions protocol to use the new one, which is also |
||||||
|
implemented by uTorrent. |
||||||
|
- factorized the peer_connection and added web_peer_connection which is |
||||||
|
able to download from http-sources. |
||||||
|
- converted the network code to use asio (resulted in slight api changes |
||||||
|
dealing with network addresses). |
||||||
|
- made libtorrent build in vc7 (patches from Allen Zhao) |
||||||
|
- fixed bug caused when binding outgoing connections to a non-local interface. |
||||||
|
- add_torrent() will now throw if called while the session object is |
||||||
|
being closed. |
||||||
|
- added the ability to limit the number of simultaneous half-open |
||||||
|
TCP connections. Flags in peer_info has been added. |
||||||
|
|
||||||
|
|
||||||
|
* Thu Jun 1 2006 %{packager} %{version}-%{release} |
||||||
|
- Initial Build for Mandriva Linux |
@ -0,0 +1,134 @@ |
|||||||
|
qbittorrent (0.6.1-0ubuntu2) dapper; urgency=low |
||||||
|
|
||||||
|
* Disabled debug mode |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Mon, 28 Aug 2006 19:29:17 +0000 |
||||||
|
|
||||||
|
qbittorrent (0.6.1-0ubuntu1) dapper; urgency=low |
||||||
|
* BUGFIX: Fixed possible segfaults when using context menus |
||||||
|
* BUGFIX: Cleanup up context menus code |
||||||
|
* BUGFIX: Used best gzip compressing for manpage |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Thu, 24 Aug 2006 19:53:32 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.6.0) dapper; urgency=low |
||||||
|
* FEATURE: Rewritten the download list from scratch (more flexible) |
||||||
|
* FEATURE: Rewritten the search results list from scratch (more flexible) |
||||||
|
* FEATURE: Rewritten the torrent properties list from scratch (more flexible) |
||||||
|
* FEATURE: Improved and cleaned up search engine code |
||||||
|
* FEATURE: Search results are now displayed in real time (not sequentially) |
||||||
|
* FEATURE: Added two command lines parameters (--version, --help) |
||||||
|
* FEATURE: Added a popup menu for download list |
||||||
|
* FEATURE: Double-click on an item now toggles the paused state of a download |
||||||
|
* FEATURE: Improved code to be more portable (Windows & MacOS versions should arrive soon) |
||||||
|
* FEATURE: Allow to toggle selected state of a file within a torrent using double-click |
||||||
|
* FEATURE: Remember columns width in download and search results lists |
||||||
|
* BUGFIX: Don't use pkg-config for libcurl anymore (easier to compile) |
||||||
|
* BUGFIX: Fixed ETA calculation when downloading while connecting |
||||||
|
* BUGFIX: Download progress is now displayed correctly during first seconds of execution (was 0% before) |
||||||
|
* BUGFIX: Code cleanup & optimization |
||||||
|
* BUGFIX: Fixed sorting in download list |
||||||
|
* BUGFIX: Fixed sorting in search results list |
||||||
|
* BUGFIX: Fixed Parameters passing between instances |
||||||
|
* BUGFIX: Fixed missing icon for clear action in infoBar popup menu |
||||||
|
* BUGFIX: Fixed truncated lines in search results |
||||||
|
* BUGFIX: Don't refresh download list when user is in search tab (save CPU) |
||||||
|
* BUGFIX: Don't update Progress/DL Speed/ETA for finished downloads (save CPU) |
||||||
|
* BUGFIX: Save selected search engines only when they have changed (faster program exit) |
||||||
|
* COSMETIC: Increased icon size in toolbar from 24px to 32px |
||||||
|
* COSMETIC: Display a progress bar to visualize each download progress |
||||||
|
* COSMETIC: Size of each result in search are displayed in user friendly units |
||||||
|
* COSMETIC: Display a progress bar to visualize each file progress within a torrent |
||||||
|
* COSMETIC: Renamed 'ratio' to 'Session ratio' (makes more sense) |
||||||
|
* COSMETIC: Improved layout of torrent properties window when maximized |
||||||
|
* COSMETIC: Now number of search results is updated in real time |
||||||
|
* COSMETIC: Remember last window size |
||||||
|
* COSMETIC: Improved splash screen look |
||||||
|
* COSMETIC: Improved default width of columns in download and search results lists |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 22 Aug 2006 10:42:37 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.5.0) dapper; urgency=low |
||||||
|
* Improved "Download from url" feature (now supports https, ftp & redirections) |
||||||
|
* Added a torrent creation tool |
||||||
|
* Display progress for each file within a torrent |
||||||
|
* Based on new libtorrent v0.10 (lot of improvements) |
||||||
|
* Now possible to clear log textbox (popup menu) |
||||||
|
* Added two search engines (isohunt, torrentreactor) |
||||||
|
* Now Display share ratio on main window |
||||||
|
* Use OSD (On Screen Display) when a download or a search is finished |
||||||
|
* Allow only one instance of qBittorrent (and add new parameters to download list) |
||||||
|
* Remember last selected search engines in search tab |
||||||
|
* Improved search engines status output (Aborted, timed out, finished, no results) |
||||||
|
* qBittorrent can now update search plugin from qbittorrent.org |
||||||
|
* Added Slovak, Italian, Portuguese, Romanian and Traditional Chinese languages |
||||||
|
* Fixed ThePirateBay parser for search engine (website had changed) |
||||||
|
* Fixed filenames for results from ThePirateBay search engine |
||||||
|
* Fixed unicode support for ThePirateBay search engine |
||||||
|
* Now search results are sorted by seeds |
||||||
|
* Overwrite nova.py search plugin only if it is outdated |
||||||
|
* Fixed possible division by 0 in ETA calculation |
||||||
|
* Improved ETA calculation precision |
||||||
|
* Fixed default tab in options |
||||||
|
* When saving options, reconnect only when listening ports changed |
||||||
|
* qBittorrent has now its own new logo |
||||||
|
* Display status "downloading" if DL Speed > 0 (even when tracker is down) |
||||||
|
* Added a splashscreen |
||||||
|
* qBittorrent has new cute icons |
||||||
|
* Display number of results in search tab |
||||||
|
* Added icons for each item in download list according to its state |
||||||
|
* Redesigned Locale settings |
||||||
|
* Fixed search engines names width (were cut on the right) |
||||||
|
* Moved search engines to the left of the window (better ui) |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 2 Aug 2006 19:46:32 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.4.1) dapper; urgency=low |
||||||
|
* Not counting "protocol chatter" in UP/DL speed anymore |
||||||
|
* Download speed is now 0 when download is finished |
||||||
|
* Paused torrents remain paused when qbittorrent is re-started |
||||||
|
* Added option "go to systray when minimizing" |
||||||
|
* Added option "Clear finished downloads on exit" |
||||||
|
* Added option "Ask user for confirmation on exit" |
||||||
|
* Added "Stalled" status for downloads (colored in orange, paused are in red and finished in green) |
||||||
|
* Fixed Search window layout on maximizing |
||||||
|
* Fixed a bug that caused upload limit not to be always applied |
||||||
|
* Added Bulgarian translation |
||||||
|
* Updated Translations |
||||||
|
* Code optimization |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Thu, 22 Jun 2006 20:14:27 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.4.0) dapper; urgency=low |
||||||
|
|
||||||
|
* Added a search engine (supports Mininova & thepiratebay websites) |
||||||
|
* Fixed critical bug: some options were not applied correctly to BT session |
||||||
|
* Possibility to download a torrent file from an URL |
||||||
|
* Added confirmation dialog on qbittorrent exit |
||||||
|
* Enabled sorting in Download list |
||||||
|
* Added Ukrainian translation |
||||||
|
* Support urls as program parameters |
||||||
|
* Added more actions to trayicon menu |
||||||
|
* Fixed exception catching when retrieving fastresume data |
||||||
|
* use Binary prefix standards from IEC 60027-2 for units (B, KiB, MiB, GiB, TiB) |
||||||
|
* Iconification to systray when minimizing |
||||||
|
* Code Cleanup & optimization |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 14 Jun 2006 14:47:27 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.3.1) dapper; urgency=low |
||||||
|
|
||||||
|
* Fixed toolbar layout (spacing). |
||||||
|
* Added Russian translation. |
||||||
|
* Resume also finished files on startup (for seeding). |
||||||
|
* Added colors corresponding to download state. |
||||||
|
* Fixed a segfault when deleting a download (if no scan dir is set). |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Sat, 6 Jun 2006 21:36:27 +0200 |
||||||
|
|
||||||
|
|
||||||
|
qbittorrent (0.3) dapper; urgency=low |
||||||
|
|
||||||
|
* Initial Release. |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Sat, 3 Jun 2006 21:57:27 +0200 |
@ -0,0 +1,15 @@ |
|||||||
|
Source: qbittorrent |
||||||
|
Section: net |
||||||
|
Priority: optional |
||||||
|
Maintainer: Christophe Dumez <chris@qbittorrent.org> |
||||||
|
Build-Depends: debhelper (>= 4.0.0), autotools-dev, libqt4-core (>= 4.1.0), libqt4-dev (>= 4.1.0), libqt4-gui (>= 4.1.0), rb-libtorrent (>= 0.10), libcurl3-dev |
||||||
|
Standards-Version: 3.6.2 |
||||||
|
|
||||||
|
Package: qbittorrent |
||||||
|
Architecture: any |
||||||
|
Depends: ${shlibs:Depends}, ${misc:Depends}, rb-libtorrent (>= 0.10), python (>= 2.3) |
||||||
|
Description: Bittorrent client in Qt4.1 / C++ |
||||||
|
qBittorrent is a bittorrent client programmed in C++ / Qt4.1 |
||||||
|
using rb_libtorrent by Arvid Norberg. It aims to be a good |
||||||
|
alternative to other bittorrent client out there. It is fast, |
||||||
|
stable and provides unicode support. |
@ -0,0 +1,26 @@ |
|||||||
|
This is qbittorrent, written and maintained by Christophe Dumez <chris@qbittorrent.org> |
||||||
|
on Sat, 3 Jun 2006 21:57:27 +0200. |
||||||
|
|
||||||
|
The original source can always be found at: |
||||||
|
ftp://ftp.debian.org/dists/unstable/main/source/ |
||||||
|
|
||||||
|
Copyright (C) 2006 Christophe Dumez |
||||||
|
|
||||||
|
License: |
||||||
|
|
||||||
|
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 package; if not, write to the Free Software |
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
||||||
|
|
||||||
|
On Debian systems, the complete text of the GNU General |
||||||
|
Public License can be found in `/usr/share/common-licenses/GPL'. |
@ -0,0 +1 @@ |
|||||||
|
qbittorrent_0.6.1-0ubuntu2_i386.deb net optional |
@ -0,0 +1 @@ |
|||||||
|
shlibs:Depends=libboost-date-time1.33.1, libboost-filesystem1.33.1, libboost-thread1.33.1, libc6 (>= 2.3.4-1), libcurl3 (>= 7.15.0-1), libgcc1 (>= 1:4.0.2), libqt4-core (>= 4.1.2), libqt4-gui (>= 4.1.2), libstdc++6 (>= 4.0.2-4), libx11-6, libxext6, zlib1g (>= 1:1.2.1) |
@ -0,0 +1,107 @@ |
|||||||
|
#!/usr/bin/make -f |
||||||
|
# -*- makefile -*- |
||||||
|
# Sample debian/rules that uses debhelper. |
||||||
|
# This file was originally written by Joey Hess and Craig Small. |
||||||
|
# As a special exception, when this file is copied by dh-make into a |
||||||
|
# dh-make output file, you may use that output file without restriction. |
||||||
|
# This special exception was added by Craig Small in version 0.37 of dh-make. |
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode. |
||||||
|
#export DH_VERBOSE=1 |
||||||
|
|
||||||
|
|
||||||
|
# These are used for cross-compiling and for saving the configure script |
||||||
|
# from having to guess our platform (since we know it already) |
||||||
|
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) |
||||||
|
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) |
||||||
|
|
||||||
|
|
||||||
|
CFLAGS = -Wall |
||||||
|
|
||||||
|
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) |
||||||
|
CFLAGS += -O0 |
||||||
|
else |
||||||
|
CFLAGS += -O2 |
||||||
|
endif |
||||||
|
|
||||||
|
config.status: configure |
||||||
|
dh_testdir |
||||||
|
# Add here commands to configure the package. |
||||||
|
CFLAGS="$(CFLAGS) -Wl,-z,defs" ./configure --prefix=/usr |
||||||
|
|
||||||
|
|
||||||
|
build: build-stamp |
||||||
|
|
||||||
|
build-stamp: config.status |
||||||
|
dh_testdir |
||||||
|
|
||||||
|
# Add here commands to compile the package. |
||||||
|
$(MAKE) |
||||||
|
#docbook-to-man debian/qbittorrent.sgml > qbittorrent.1 |
||||||
|
|
||||||
|
touch build-stamp |
||||||
|
|
||||||
|
clean: |
||||||
|
dh_testdir |
||||||
|
dh_testroot |
||||||
|
rm -f build-stamp |
||||||
|
|
||||||
|
# Add here commands to clean up after the build process. |
||||||
|
-$(MAKE) distclean |
||||||
|
ifneq "$(wildcard /usr/share/misc/config.sub)" "" |
||||||
|
cp -f /usr/share/misc/config.sub config.sub |
||||||
|
endif |
||||||
|
ifneq "$(wildcard /usr/share/misc/config.guess)" "" |
||||||
|
cp -f /usr/share/misc/config.guess config.guess |
||||||
|
endif |
||||||
|
|
||||||
|
|
||||||
|
dh_clean |
||||||
|
|
||||||
|
install: build |
||||||
|
dh_testdir |
||||||
|
dh_testroot |
||||||
|
dh_clean -k |
||||||
|
dh_installdirs |
||||||
|
|
||||||
|
# Add here commands to install the package into debian/qbittorrent. |
||||||
|
$(MAKE) install INSTALL_ROOT=$(CURDIR)/debian/qbittorrent |
||||||
|
|
||||||
|
|
||||||
|
# Build architecture-independent files here. |
||||||
|
binary-indep: build install |
||||||
|
# We have nothing to do by default. |
||||||
|
|
||||||
|
# Build architecture-dependent files here. |
||||||
|
binary-arch: build install |
||||||
|
dh_testdir |
||||||
|
dh_testroot |
||||||
|
dh_installchangelogs Changelog |
||||||
|
dh_installdocs |
||||||
|
dh_installexamples |
||||||
|
# dh_install |
||||||
|
# dh_installmenu |
||||||
|
# dh_installdebconf |
||||||
|
# dh_installlogrotate |
||||||
|
# dh_installemacsen |
||||||
|
# dh_installpam |
||||||
|
# dh_installmime |
||||||
|
# dh_installinit |
||||||
|
# dh_installcron |
||||||
|
# dh_installinfo |
||||||
|
dh_installman |
||||||
|
dh_link |
||||||
|
dh_strip |
||||||
|
dh_compress |
||||||
|
dh_fixperms |
||||||
|
# dh_perl |
||||||
|
# dh_python |
||||||
|
# dh_makeshlibs |
||||||
|
dh_installdeb |
||||||
|
dh_shlibdeps |
||||||
|
dh_gencontrol |
||||||
|
dh_md5sums |
||||||
|
dh_builddeb |
||||||
|
|
||||||
|
binary: binary-indep binary-arch |
||||||
|
.PHONY: build clean binary-indep binary-arch binary install |
@ -0,0 +1,134 @@ |
|||||||
|
qbittorrent (0.6.1-0ubuntu2) edgy; urgency=low |
||||||
|
|
||||||
|
* Disabled debug mode |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Mon, 28 Aug 2006 21:22:48 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.6.1-0ubuntu1) edgy; urgency=low |
||||||
|
* BUGFIX: Fixed possible segfaults when using context menus |
||||||
|
* BUGFIX: Cleanup up context menus code |
||||||
|
* BUGFIX: Used best gzip compressing for manpage |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Thu, 24 Aug 2006 19:53:32 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.6.0) edgy; urgency=low |
||||||
|
* FEATURE: Rewritten the download list from scratch (more flexible) |
||||||
|
* FEATURE: Rewritten the search results list from scratch (more flexible) |
||||||
|
* FEATURE: Rewritten the torrent properties list from scratch (more flexible) |
||||||
|
* FEATURE: Improved and cleaned up search engine code |
||||||
|
* FEATURE: Search results are now displayed in real time (not sequentially) |
||||||
|
* FEATURE: Added two command lines parameters (--version, --help) |
||||||
|
* FEATURE: Added a popup menu for download list |
||||||
|
* FEATURE: Double-click on an item now toggles the paused state of a download |
||||||
|
* FEATURE: Improved code to be more portable (Windows & MacOS versions should arrive soon) |
||||||
|
* FEATURE: Allow to toggle selected state of a file within a torrent using double-click |
||||||
|
* FEATURE: Remember columns width in download and search results lists |
||||||
|
* BUGFIX: Don't use pkg-config for libcurl anymore (easier to compile) |
||||||
|
* BUGFIX: Fixed ETA calculation when downloading while connecting |
||||||
|
* BUGFIX: Download progress is now displayed correctly during first seconds of execution (was 0% before) |
||||||
|
* BUGFIX: Code cleanup & optimization |
||||||
|
* BUGFIX: Fixed sorting in download list |
||||||
|
* BUGFIX: Fixed sorting in search results list |
||||||
|
* BUGFIX: Fixed Parameters passing between instances |
||||||
|
* BUGFIX: Fixed missing icon for clear action in infoBar popup menu |
||||||
|
* BUGFIX: Fixed truncated lines in search results |
||||||
|
* BUGFIX: Don't refresh download list when user is in search tab (save CPU) |
||||||
|
* BUGFIX: Don't update Progress/DL Speed/ETA for finished downloads (save CPU) |
||||||
|
* BUGFIX: Save selected search engines only when they have changed (faster program exit) |
||||||
|
* COSMETIC: Increased icon size in toolbar from 24px to 32px |
||||||
|
* COSMETIC: Display a progress bar to visualize each download progress |
||||||
|
* COSMETIC: Size of each result in search are displayed in user friendly units |
||||||
|
* COSMETIC: Display a progress bar to visualize each file progress within a torrent |
||||||
|
* COSMETIC: Renamed 'ratio' to 'Session ratio' (makes more sense) |
||||||
|
* COSMETIC: Improved layout of torrent properties window when maximized |
||||||
|
* COSMETIC: Now number of search results is updated in real time |
||||||
|
* COSMETIC: Remember last window size |
||||||
|
* COSMETIC: Improved splash screen look |
||||||
|
* COSMETIC: Improved default width of columns in download and search results lists |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 22 Aug 2006 10:42:37 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.5.0) edgy; urgency=low |
||||||
|
* Improved "Download from url" feature (now supports https, ftp & redirections) |
||||||
|
* Added a torrent creation tool |
||||||
|
* Display progress for each file within a torrent |
||||||
|
* Based on new libtorrent v0.10 (lot of improvements) |
||||||
|
* Now possible to clear log textbox (popup menu) |
||||||
|
* Added two search engines (isohunt, torrentreactor) |
||||||
|
* Now Display share ratio on main window |
||||||
|
* Use OSD (On Screen Display) when a download or a search is finished |
||||||
|
* Allow only one instance of qBittorrent (and add new parameters to download list) |
||||||
|
* Remember last selected search engines in search tab |
||||||
|
* Improved search engines status output (Aborted, timed out, finished, no results) |
||||||
|
* qBittorrent can now update search plugin from qbittorrent.org |
||||||
|
* Added Slovak, Italian, Portuguese, Romanian and Traditional Chinese languages |
||||||
|
* Fixed ThePirateBay parser for search engine (website had changed) |
||||||
|
* Fixed filenames for results from ThePirateBay search engine |
||||||
|
* Fixed unicode support for ThePirateBay search engine |
||||||
|
* Now search results are sorted by seeds |
||||||
|
* Overwrite nova.py search plugin only if it is outdated |
||||||
|
* Fixed possible division by 0 in ETA calculation |
||||||
|
* Improved ETA calculation precision |
||||||
|
* Fixed default tab in options |
||||||
|
* When saving options, reconnect only when listening ports changed |
||||||
|
* qBittorrent has now its own new logo |
||||||
|
* Display status "downloading" if DL Speed > 0 (even when tracker is down) |
||||||
|
* Added a splashscreen |
||||||
|
* qBittorrent has new cute icons |
||||||
|
* Display number of results in search tab |
||||||
|
* Added icons for each item in download list according to its state |
||||||
|
* Redesigned Locale settings |
||||||
|
* Fixed search engines names width (were cut on the right) |
||||||
|
* Moved search engines to the left of the window (better ui) |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 2 Aug 2006 19:46:32 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.4.1) edgy; urgency=low |
||||||
|
* Not counting "protocol chatter" in UP/DL speed anymore |
||||||
|
* Download speed is now 0 when download is finished |
||||||
|
* Paused torrents remain paused when qbittorrent is re-started |
||||||
|
* Added option "go to systray when minimizing" |
||||||
|
* Added option "Clear finished downloads on exit" |
||||||
|
* Added option "Ask user for confirmation on exit" |
||||||
|
* Added "Stalled" status for downloads (colored in orange, paused are in red and finished in green) |
||||||
|
* Fixed Search window layout on maximizing |
||||||
|
* Fixed a bug that caused upload limit not to be always applied |
||||||
|
* Added Bulgarian translation |
||||||
|
* Updated Translations |
||||||
|
* Code optimization |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Thu, 22 Jun 2006 20:14:27 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.4.0) edgy; urgency=low |
||||||
|
|
||||||
|
* Added a search engine (supports Mininova & thepiratebay websites) |
||||||
|
* Fixed critical bug: some options were not applied correctly to BT session |
||||||
|
* Possibility to download a torrent file from an URL |
||||||
|
* Added confirmation dialog on qbittorrent exit |
||||||
|
* Enabled sorting in Download list |
||||||
|
* Added Ukrainian translation |
||||||
|
* Support urls as program parameters |
||||||
|
* Added more actions to trayicon menu |
||||||
|
* Fixed exception catching when retrieving fastresume data |
||||||
|
* use Binary prefix standards from IEC 60027-2 for units (B, KiB, MiB, GiB, TiB) |
||||||
|
* Iconification to systray when minimizing |
||||||
|
* Code Cleanup & optimization |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 14 Jun 2006 14:47:27 +0200 |
||||||
|
|
||||||
|
qbittorrent (0.3.1) edgy; urgency=low |
||||||
|
|
||||||
|
* Fixed toolbar layout (spacing). |
||||||
|
* Added Russian translation. |
||||||
|
* Resume also finished files on startup (for seeding). |
||||||
|
* Added colors corresponding to download state. |
||||||
|
* Fixed a segfault when deleting a download (if no scan dir is set). |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Sat, 6 Jun 2006 21:36:27 +0200 |
||||||
|
|
||||||
|
|
||||||
|
qbittorrent (0.3) edgy; urgency=low |
||||||
|
|
||||||
|
* Initial Release. |
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Sat, 3 Jun 2006 21:57:27 +0200 |
@ -0,0 +1,15 @@ |
|||||||
|
Source: qbittorrent |
||||||
|
Section: net |
||||||
|
Priority: optional |
||||||
|
Maintainer: Christophe Dumez <chris@qbittorrent.org> |
||||||
|
Build-Depends: debhelper (>= 4.0.0), autotools-dev, libqt4-core (>= 4.1.0), libqt4-dev (>= 4.1.0), libqt4-gui (>= 4.1.0), rb-libtorrent (>= 0.10), libcurl3-dev |
||||||
|
Standards-Version: 3.6.2 |
||||||
|
|
||||||
|
Package: qbittorrent |
||||||
|
Architecture: any |
||||||
|
Depends: ${shlibs:Depends}, ${misc:Depends}, rb-libtorrent (>= 0.10), python (>= 2.3) |
||||||
|
Description: Bittorrent client in Qt4.1 / C++ |
||||||
|
qBittorrent is a bittorrent client programmed in C++ / Qt4.1 |
||||||
|
using rb_libtorrent by Arvid Norberg. It aims to be a good |
||||||
|
alternative to other bittorrent client out there. It is fast, |
||||||
|
stable and provides unicode support. |
@ -0,0 +1,26 @@ |
|||||||
|
This is qbittorrent, written and maintained by Christophe Dumez <chris@qbittorrent.org> |
||||||
|
on Sat, 3 Jun 2006 21:57:27 +0200. |
||||||
|
|
||||||
|
The original source can always be found at: |
||||||
|
ftp://ftp.debian.org/dists/unstable/main/source/ |
||||||
|
|
||||||
|
Copyright (C) 2006 Christophe Dumez |
||||||
|
|
||||||
|
License: |
||||||
|
|
||||||
|
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 package; if not, write to the Free Software |
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
||||||
|
|
||||||
|
On Debian systems, the complete text of the GNU General |
||||||
|
Public License can be found in `/usr/share/common-licenses/GPL'. |
@ -0,0 +1 @@ |
|||||||
|
qbittorrent_0.6.1-0ubuntu2_i386.deb net optional |
@ -0,0 +1 @@ |
|||||||
|
shlibs:Depends=libboost-date-time1.33.1, libboost-filesystem1.33.1, libboost-thread1.33.1, libc6 (>= 2.4-1), libcurl3 (>= 7.15.4-1), libgcc1 (>= 1:4.1.1-11ubuntu1), libqt4-core (>= 4.1.4), libqt4-gui (>= 4.1.4), libstdc++6 (>= 4.1.1-11ubuntu1), libx11-6, libxext6, zlib1g (>= 1:1.2.1) |
@ -0,0 +1,107 @@ |
|||||||
|
#!/usr/bin/make -f |
||||||
|
# -*- makefile -*- |
||||||
|
# Sample debian/rules that uses debhelper. |
||||||
|
# This file was originally written by Joey Hess and Craig Small. |
||||||
|
# As a special exception, when this file is copied by dh-make into a |
||||||
|
# dh-make output file, you may use that output file without restriction. |
||||||
|
# This special exception was added by Craig Small in version 0.37 of dh-make. |
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode. |
||||||
|
#export DH_VERBOSE=1 |
||||||
|
|
||||||
|
|
||||||
|
# These are used for cross-compiling and for saving the configure script |
||||||
|
# from having to guess our platform (since we know it already) |
||||||
|
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) |
||||||
|
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) |
||||||
|
|
||||||
|
|
||||||
|
CFLAGS = -Wall |
||||||
|
|
||||||
|
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) |
||||||
|
CFLAGS += -O0 |
||||||
|
else |
||||||
|
CFLAGS += -O2 |
||||||
|
endif |
||||||
|
|
||||||
|
config.status: configure |
||||||
|
dh_testdir |
||||||
|
# Add here commands to configure the package. |
||||||
|
CFLAGS="$(CFLAGS) -Wl,-z,defs" ./configure --prefix=/usr |
||||||
|
|
||||||
|
|
||||||
|
build: build-stamp |
||||||
|
|
||||||
|
build-stamp: config.status |
||||||
|
dh_testdir |
||||||
|
|
||||||
|
# Add here commands to compile the package. |
||||||
|
$(MAKE) |
||||||
|
#docbook-to-man debian/qbittorrent.sgml > qbittorrent.1 |
||||||
|
|
||||||
|
touch build-stamp |
||||||
|
|
||||||
|
clean: |
||||||
|
dh_testdir |
||||||
|
dh_testroot |
||||||
|
rm -f build-stamp |
||||||
|
|
||||||
|
# Add here commands to clean up after the build process. |
||||||
|
-$(MAKE) distclean |
||||||
|
ifneq "$(wildcard /usr/share/misc/config.sub)" "" |
||||||
|
cp -f /usr/share/misc/config.sub config.sub |
||||||
|
endif |
||||||
|
ifneq "$(wildcard /usr/share/misc/config.guess)" "" |
||||||
|
cp -f /usr/share/misc/config.guess config.guess |
||||||
|
endif |
||||||
|
|
||||||
|
|
||||||
|
dh_clean |
||||||
|
|
||||||
|
install: build |
||||||
|
dh_testdir |
||||||
|
dh_testroot |
||||||
|
dh_clean -k |
||||||
|
dh_installdirs |
||||||
|
|
||||||
|
# Add here commands to install the package into debian/qbittorrent. |
||||||
|
$(MAKE) install INSTALL_ROOT=$(CURDIR)/debian/qbittorrent |
||||||
|
|
||||||
|
|
||||||
|
# Build architecture-independent files here. |
||||||
|
binary-indep: build install |
||||||
|
# We have nothing to do by default. |
||||||
|
|
||||||
|
# Build architecture-dependent files here. |
||||||
|
binary-arch: build install |
||||||
|
dh_testdir |
||||||
|
dh_testroot |
||||||
|
dh_installchangelogs Changelog |
||||||
|
dh_installdocs |
||||||
|
dh_installexamples |
||||||
|
# dh_install |
||||||
|
# dh_installmenu |
||||||
|
# dh_installdebconf |
||||||
|
# dh_installlogrotate |
||||||
|
# dh_installemacsen |
||||||
|
# dh_installpam |
||||||
|
# dh_installmime |
||||||
|
# dh_installinit |
||||||
|
# dh_installcron |
||||||
|
# dh_installinfo |
||||||
|
dh_installman |
||||||
|
dh_link |
||||||
|
dh_strip |
||||||
|
dh_compress |
||||||
|
dh_fixperms |
||||||
|
# dh_perl |
||||||
|
# dh_python |
||||||
|
# dh_makeshlibs |
||||||
|
dh_installdeb |
||||||
|
dh_shlibdeps |
||||||
|
dh_gencontrol |
||||||
|
dh_md5sums |
||||||
|
dh_builddeb |
||||||
|
|
||||||
|
binary: binary-indep binary-arch |
||||||
|
.PHONY: build clean binary-indep binary-arch binary install |
@ -0,0 +1,20 @@ |
|||||||
|
<qconf> |
||||||
|
<name>qbittorrent</name> |
||||||
|
<profile>qbittorrent.pro</profile> |
||||||
|
<moddir>qcm</moddir> |
||||||
|
<dep type='qt41'> |
||||||
|
<required/> |
||||||
|
</dep> |
||||||
|
<dep type='libtorrent'> |
||||||
|
<required/> |
||||||
|
</dep> |
||||||
|
<dep type='libboost'> |
||||||
|
<required/> |
||||||
|
</dep> |
||||||
|
<dep type='libcurl'> |
||||||
|
<required/> |
||||||
|
</dep> |
||||||
|
<dep type='python'> |
||||||
|
<required/> |
||||||
|
</dep> |
||||||
|
</qconf> |
@ -0,0 +1,40 @@ |
|||||||
|
/* |
||||||
|
-----BEGIN QCMOD----- |
||||||
|
name: libboost |
||||||
|
-----END QCMOD----- |
||||||
|
*/ |
||||||
|
class qc_libboost : public ConfObj |
||||||
|
{ |
||||||
|
public: |
||||||
|
qc_libboost(Conf *c) : ConfObj(c) {} |
||||||
|
QString name() const { return "libboost"; } |
||||||
|
QString shortname() const { return "libboost"; } |
||||||
|
bool exec(){ |
||||||
|
QString s; |
||||||
|
QStringList sl; |
||||||
|
sl += "/usr/include"; |
||||||
|
sl += "/usr/local/include"; |
||||||
|
sl += "/sw/include"; |
||||||
|
if(!conf->findHeader("boost/format.hpp", sl, &s)) { |
||||||
|
qWarning("libboost includes not found!"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
conf->addIncludePath(s); |
||||||
|
if(!conf->findHeader("boost/date_time/posix_time/posix_time.hpp", sl, &s)) { |
||||||
|
qWarning("libboost-date-time includes not found!"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
conf->addIncludePath(s); |
||||||
|
if(!conf->findHeader("boost/filesystem/path.hpp", sl, &s)) { |
||||||
|
qWarning("libboost-filesystem includes not found!"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if(!conf->findHeader("boost/thread.hpp", sl, &s)) { |
||||||
|
qWarning("libboost-thread includes not found!"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
conf->addIncludePath(s); |
||||||
|
|
||||||
|
return true; |
||||||
|
} |
||||||
|
}; |
@ -0,0 +1,25 @@ |
|||||||
|
/* |
||||||
|
-----BEGIN QCMOD----- |
||||||
|
name: libcurl |
||||||
|
-----END QCMOD----- |
||||||
|
*/ |
||||||
|
class qc_libcurl : public ConfObj |
||||||
|
{ |
||||||
|
public: |
||||||
|
qc_libcurl(Conf *c) : ConfObj(c) {} |
||||||
|
QString name() const { return "libcurl"; } |
||||||
|
QString shortname() const { return "libcurl"; } |
||||||
|
bool exec(){ |
||||||
|
QString s; |
||||||
|
QStringList sl; |
||||||
|
sl += "/usr/include"; |
||||||
|
sl += "/usr/local/include"; |
||||||
|
sl += "/sw/include"; |
||||||
|
if(!conf->findHeader("curl/curl.h", sl, &s)) { |
||||||
|
qWarning("libcurl includes not found!\n"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
conf->addIncludePath(s); |
||||||
|
return true; |
||||||
|
} |
||||||
|
}; |
@ -0,0 +1,25 @@ |
|||||||
|
/* |
||||||
|
-----BEGIN QCMOD----- |
||||||
|
name: libtorrent |
||||||
|
-----END QCMOD----- |
||||||
|
*/ |
||||||
|
class qc_libtorrent : public ConfObj |
||||||
|
{ |
||||||
|
public: |
||||||
|
qc_libtorrent(Conf *c) : ConfObj(c) {} |
||||||
|
QString name() const { return "libtorrent >= 0.11"; } |
||||||
|
QString shortname() const { return "libtorrent"; } |
||||||
|
bool exec(){ |
||||||
|
QString s; |
||||||
|
QStringList sl; |
||||||
|
sl += "/usr/include"; |
||||||
|
sl += "/usr/local/include"; |
||||||
|
sl += "/sw/include"; |
||||||
|
if(!conf->findHeader("libtorrent/kademlia/node.hpp", sl, &s)) { |
||||||
|
qWarning("libtorrent v0.11 includes not found!\nYou can download it at http://www.libtorrent.net"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
conf->addIncludePath(s); |
||||||
|
return true; |
||||||
|
} |
||||||
|
}; |
@ -0,0 +1,19 @@ |
|||||||
|
/* |
||||||
|
-----BEGIN QCMOD----- |
||||||
|
name: python |
||||||
|
-----END QCMOD----- |
||||||
|
*/ |
||||||
|
class qc_python : public ConfObj |
||||||
|
{ |
||||||
|
public: |
||||||
|
qc_python(Conf *c) : ConfObj(c) {} |
||||||
|
QString name() const { return "python >= 2.3"; } |
||||||
|
QString shortname() const { return "python"; } |
||||||
|
bool exec(){ |
||||||
|
int r = conf->doCommand("python testpython.py"); |
||||||
|
if(r == 0) |
||||||
|
return true; |
||||||
|
else |
||||||
|
return false; |
||||||
|
} |
||||||
|
}; |
@ -0,0 +1,16 @@ |
|||||||
|
/* |
||||||
|
-----BEGIN QCMOD----- |
||||||
|
name: Qt >= 4.1 |
||||||
|
-----END QCMOD----- |
||||||
|
*/ |
||||||
|
class qc_qt41 : public ConfObj |
||||||
|
{ |
||||||
|
public: |
||||||
|
qc_qt41(Conf *c) : ConfObj(c) {} |
||||||
|
QString name() const { return "Qt >= 4.1"; } |
||||||
|
QString shortname() const { return "qt41"; } |
||||||
|
bool exec() |
||||||
|
{ |
||||||
|
return(QT_VERSION >= 0x040100); |
||||||
|
} |
||||||
|
}; |
@ -0,0 +1,162 @@ |
|||||||
|
/*
|
||||||
|
* Bittorrent Client using Qt4 and libtorrent. |
||||||
|
* Copyright (C) 2006 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. |
||||||
|
* |
||||||
|
* Contact : chris@qbittorrent.org |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef DLLISTDELEGATE_H |
||||||
|
#define DLLISTDELEGATE_H |
||||||
|
|
||||||
|
#include <QAbstractItemDelegate> |
||||||
|
#include <QModelIndex> |
||||||
|
#include <QPainter> |
||||||
|
#include <QStyleOptionProgressBarV2> |
||||||
|
#include <QProgressBar> |
||||||
|
#include <QApplication> |
||||||
|
#include "misc.h" |
||||||
|
|
||||||
|
// Defines for download list list columns
|
||||||
|
#define NAME 0 |
||||||
|
#define SIZE 1 |
||||||
|
#define PROGRESS 2 |
||||||
|
#define DLSPEED 3 |
||||||
|
#define UPSPEED 4 |
||||||
|
#define STATUS 5 |
||||||
|
#define ETA 6 |
||||||
|
|
||||||
|
class DLListDelegate: public QAbstractItemDelegate { |
||||||
|
Q_OBJECT |
||||||
|
|
||||||
|
public: |
||||||
|
DLListDelegate(QObject *parent=0) : QAbstractItemDelegate(parent){} |
||||||
|
|
||||||
|
~DLListDelegate(){} |
||||||
|
|
||||||
|
void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const{ |
||||||
|
QStyleOptionViewItem opt = option; |
||||||
|
char tmp[MAX_CHAR_TMP]; |
||||||
|
// set text color
|
||||||
|
QVariant value = index.data(Qt::TextColorRole); |
||||||
|
if (value.isValid() && qvariant_cast<QColor>(value).isValid()){ |
||||||
|
opt.palette.setColor(QPalette::Text, qvariant_cast<QColor>(value)); |
||||||
|
} |
||||||
|
QPalette::ColorGroup cg = option.state & QStyle::State_Enabled |
||||||
|
? QPalette::Normal : QPalette::Disabled; |
||||||
|
if (option.state & QStyle::State_Selected){ |
||||||
|
painter->setPen(opt.palette.color(cg, QPalette::HighlightedText)); |
||||||
|
}else{ |
||||||
|
painter->setPen(opt.palette.color(cg, QPalette::Text)); |
||||||
|
} |
||||||
|
// draw the background color
|
||||||
|
if(index.column() != PROGRESS){ |
||||||
|
if (option.showDecorationSelected && (option.state & QStyle::State_Selected)){ |
||||||
|
if (cg == QPalette::Normal && !(option.state & QStyle::State_Active)){ |
||||||
|
cg = QPalette::Inactive; |
||||||
|
} |
||||||
|
painter->fillRect(option.rect, option.palette.brush(cg, QPalette::Highlight)); |
||||||
|
}else{ |
||||||
|
value = index.data(Qt::BackgroundColorRole); |
||||||
|
if (value.isValid() && qvariant_cast<QColor>(value).isValid()){ |
||||||
|
painter->fillRect(option.rect, qvariant_cast<QColor>(value)); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
switch(index.column()){ |
||||||
|
case SIZE: |
||||||
|
painter->drawText(option.rect, Qt::AlignCenter, misc::friendlyUnit(index.data().toLongLong())); |
||||||
|
break; |
||||||
|
case ETA: |
||||||
|
painter->drawText(option.rect, Qt::AlignCenter, misc::userFriendlyDuration(index.data().toLongLong())); |
||||||
|
break; |
||||||
|
case UPSPEED: |
||||||
|
case DLSPEED:{ |
||||||
|
float speed = index.data().toDouble(); |
||||||
|
snprintf(tmp, MAX_CHAR_TMP, "%.1f", speed/1024.); |
||||||
|
painter->drawText(option.rect, Qt::AlignCenter, QString(tmp)+" "+tr("KiB/s")); |
||||||
|
break; |
||||||
|
} |
||||||
|
case PROGRESS:{ |
||||||
|
QStyleOptionProgressBarV2 newopt; |
||||||
|
float progress; |
||||||
|
progress = index.data().toDouble()*100.; |
||||||
|
snprintf(tmp, MAX_CHAR_TMP, "%.1f", progress); |
||||||
|
newopt.rect = opt.rect; |
||||||
|
newopt.text = QString(tmp)+"%"; |
||||||
|
newopt.progress = (int)progress; |
||||||
|
newopt.maximum = 100; |
||||||
|
newopt.minimum = 0; |
||||||
|
newopt.state |= QStyle::State_Enabled; |
||||||
|
newopt.textVisible = false; |
||||||
|
QApplication::style()->drawControl(QStyle::CE_ProgressBar, &newopt, |
||||||
|
painter); |
||||||
|
//We prefer to display text manually to control color/font/boldness
|
||||||
|
if (option.state & QStyle::State_Selected){ |
||||||
|
opt.palette.setColor(QPalette::Text, QColor("grey")); |
||||||
|
painter->setPen(opt.palette.color(cg, QPalette::Text)); |
||||||
|
} |
||||||
|
painter->drawText(option.rect, Qt::AlignCenter, newopt.text); |
||||||
|
break; |
||||||
|
} |
||||||
|
case NAME:{ |
||||||
|
// decoration
|
||||||
|
value = index.data(Qt::DecorationRole); |
||||||
|
QPixmap pixmap = qvariant_cast<QIcon>(value).pixmap(option.decorationSize, option.state & QStyle::State_Enabled ? QIcon::Normal : QIcon::Disabled, option.state & QStyle::State_Open ? QIcon::On : QIcon::Off); |
||||||
|
QRect pixmapRect = (pixmap.isNull() ? QRect(0, 0, 0, 0): QRect(QPoint(0, 0), option.decorationSize)); |
||||||
|
if (pixmapRect.isValid()){ |
||||||
|
QPoint p = QStyle::alignedRect(option.direction, Qt::AlignLeft, pixmap.size(), option.rect).topLeft(); |
||||||
|
painter->drawPixmap(p, pixmap); |
||||||
|
} |
||||||
|
painter->drawText(option.rect.translated(pixmap.size().width(), 0), Qt::AlignLeft, index.data().toString()); |
||||||
|
break; |
||||||
|
} |
||||||
|
default: |
||||||
|
painter->drawText(option.rect, Qt::AlignCenter, index.data().toString()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const{ |
||||||
|
QVariant value = index.data(Qt::FontRole); |
||||||
|
QFont fnt = value.isValid() ? qvariant_cast<QFont>(value) : option.font; |
||||||
|
QFontMetrics fontMetrics(fnt); |
||||||
|
const QString text = index.data(Qt::DisplayRole).toString(); |
||||||
|
QRect textRect = QRect(0, 0, 0, fontMetrics.lineSpacing() * (text.count(QLatin1Char('\n')) + 1)); |
||||||
|
return textRect.size(); |
||||||
|
} |
||||||
|
|
||||||
|
// QWidget* createEditor(QWidget * parent, const QStyleOptionViewItem& /*option*/, const QModelIndex & index) const{
|
||||||
|
// if(index.column() == PROGRESS){
|
||||||
|
// QProgressBar *progressBar = new QProgressBar(parent);
|
||||||
|
// progressBar->setRange(0,100);
|
||||||
|
// progressBar->installEventFilter(const_cast<DLListDelegate*>(this));
|
||||||
|
// return progressBar;
|
||||||
|
// }
|
||||||
|
// return 0;
|
||||||
|
// }
|
||||||
|
// void setEditorData(QWidget *editor, const QModelIndex &index) const{
|
||||||
|
// QProgressBar *progressBar = static_cast<QProgressBar*>(editor);
|
||||||
|
// float progress = index.data().toDouble();
|
||||||
|
// progressBar->setValue((int)(progress*100.));
|
||||||
|
// }
|
||||||
|
// void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex & index) const{
|
||||||
|
// if(index.column() == PROGRESS){
|
||||||
|
// editor->setGeometry(option.rect);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}; |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,195 @@ |
|||||||
|
/*
|
||||||
|
* Bittorrent Client using Qt4 and libtorrent. |
||||||
|
* Copyright (C) 2006 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. |
||||||
|
* |
||||||
|
* Contact : chris@qbittorrent.org |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef GUI_H |
||||||
|
#define GUI_H |
||||||
|
|
||||||
|
#include <QMainWindow> |
||||||
|
#include <QMap> |
||||||
|
#include <QProcess> |
||||||
|
#include <QTcpServer> |
||||||
|
#include <QTcpSocket> |
||||||
|
|
||||||
|
#include <libtorrent/entry.hpp> |
||||||
|
#include <libtorrent/bencode.hpp> |
||||||
|
#include <libtorrent/session.hpp> |
||||||
|
#include <libtorrent/fingerprint.hpp> |
||||||
|
#include <libtorrent/session_settings.hpp> |
||||||
|
#include <libtorrent/identify_client.hpp> |
||||||
|
#include <libtorrent/alert_types.hpp> |
||||||
|
|
||||||
|
#include "ui_MainWindow.h" |
||||||
|
#include "options_imp.h" |
||||||
|
#include "about_imp.h" |
||||||
|
#include "OSD.h" |
||||||
|
#include "previewSelect.h" |
||||||
|
#include "trackerLogin.h" |
||||||
|
|
||||||
|
class createtorrent; |
||||||
|
class QTimer; |
||||||
|
class TrayIcon; |
||||||
|
class DLListDelegate; |
||||||
|
class SearchListDelegate; |
||||||
|
class downloadThread; |
||||||
|
class downloadFromURL; |
||||||
|
|
||||||
|
using namespace libtorrent; |
||||||
|
namespace fs = boost::filesystem; |
||||||
|
|
||||||
|
class GUI : public QMainWindow, private Ui::MainWindow{ |
||||||
|
Q_OBJECT |
||||||
|
|
||||||
|
private: |
||||||
|
// Bittorrent
|
||||||
|
session *s; |
||||||
|
std::pair<unsigned short, unsigned short> listenPorts; |
||||||
|
QMap<QString, torrent_handle> handles; |
||||||
|
QTimer *checkConnect; |
||||||
|
QTimer *timerScan; |
||||||
|
QMap<QString, QStringList> trackerErrors; |
||||||
|
trackerLogin *tracker_login; |
||||||
|
QList<QPair<torrent_handle,std::string> > unauthenticated_trackers; |
||||||
|
downloadThread *downloader; |
||||||
|
downloadFromURL *downloadFromURLDialog; |
||||||
|
bool DHTEnabled; |
||||||
|
// GUI related
|
||||||
|
options_imp *options; |
||||||
|
createtorrent *createWindow; |
||||||
|
QTimer *refresher; |
||||||
|
TrayIcon *myTrayIcon; |
||||||
|
QMenu *myTrayIconMenu; |
||||||
|
about *aboutdlg; |
||||||
|
QStandardItemModel *DLListModel; |
||||||
|
DLListDelegate *DLDelegate; |
||||||
|
QStandardItemModel *SearchListModel; |
||||||
|
SearchListDelegate *SearchDelegate; |
||||||
|
QStringList supported_preview_extensions; |
||||||
|
// Preview
|
||||||
|
previewSelect *previewSelection; |
||||||
|
QProcess *previewProcess; |
||||||
|
// Search related
|
||||||
|
QMap<QString, QString> searchResultsUrls; |
||||||
|
QProcess *searchProcess; |
||||||
|
bool search_stopped; |
||||||
|
bool no_search_results; |
||||||
|
QByteArray search_result_line_truncated; |
||||||
|
unsigned long nb_search_results; |
||||||
|
OSD *OSDWindow; |
||||||
|
QTcpServer *tcpServer; |
||||||
|
QTcpSocket *clientConnection; |
||||||
|
|
||||||
|
protected slots: |
||||||
|
// GUI related slots
|
||||||
|
void dropEvent(QDropEvent *event); |
||||||
|
void dragEnterEvent(QDragEnterEvent *event); |
||||||
|
void centerWindow(); |
||||||
|
void toggleVisibility(); |
||||||
|
void showAbout(); |
||||||
|
void setInfoBar(const QString& info, const QString& color="black"); |
||||||
|
void updateDlList(); |
||||||
|
void showCreateWindow(); |
||||||
|
void clearLog(); |
||||||
|
void AnotherInstanceConnected(); |
||||||
|
void readParamsInFile(); |
||||||
|
void saveCheckedSearchEngines(int) const; |
||||||
|
void saveColWidthDLList() const; |
||||||
|
void saveColWidthSearchList() const; |
||||||
|
void loadCheckedSearchEngines(); |
||||||
|
bool loadColWidthDLList(); |
||||||
|
bool loadColWidthSearchList(); |
||||||
|
void saveWindowSize() const; |
||||||
|
void loadWindowSize(); |
||||||
|
void sortDownloadList(int index); |
||||||
|
void sortDownloadListFloat(int index, Qt::SortOrder sortOrder); |
||||||
|
void sortDownloadListString(int index, Qt::SortOrder sortOrder); |
||||||
|
void sortSearchList(int index); |
||||||
|
void sortSearchListInt(int index, Qt::SortOrder sortOrder); |
||||||
|
void sortSearchListString(int index, Qt::SortOrder sortOrder); |
||||||
|
void displayDLListMenu(const QPoint& pos); |
||||||
|
void selectGivenRow(const QModelIndex& index); |
||||||
|
void togglePausedState(const QModelIndex& index); |
||||||
|
void displayInfoBarMenu(const QPoint& pos); |
||||||
|
void displayGUIMenu(const QPoint& pos); |
||||||
|
void previewFileSelection(); |
||||||
|
void previewFile(const QString& filePath); |
||||||
|
void cleanTempPreviewFile(int, QProcess::ExitStatus); |
||||||
|
// Torrent actions
|
||||||
|
void showProperties(const QModelIndex &index); |
||||||
|
void propertiesSelection(); |
||||||
|
void addTorrents(const QStringList& pathsList, bool fromScanDir = false, const QString& from_url = QString()); |
||||||
|
void pauseAll(); |
||||||
|
void startAll(); |
||||||
|
void pauseSelection(); |
||||||
|
void startSelection(); |
||||||
|
void askForTorrents(); |
||||||
|
void deleteAll(); |
||||||
|
void deleteSelection(); |
||||||
|
void resumeUnfinished(); |
||||||
|
void saveFastResumeData() const; |
||||||
|
void checkConnectionStatus(); |
||||||
|
void scanDirectory(); |
||||||
|
void setGlobalRatio(float ratio); |
||||||
|
void configureSession(); |
||||||
|
void ProcessParams(const QStringList& params); |
||||||
|
void addUnauthenticatedTracker(QPair<torrent_handle,std::string> tracker); |
||||||
|
void processDownloadedFile(QString url, QString file_path, int return_code, QString errorBuffer); |
||||||
|
void downloadFromURLList(const QStringList& url_list); |
||||||
|
// Search slots
|
||||||
|
void on_search_button_clicked(); |
||||||
|
void on_stop_search_button_clicked(); |
||||||
|
void on_clear_button_clicked(); |
||||||
|
void on_download_button_clicked(); |
||||||
|
void on_update_nova_button_clicked(); |
||||||
|
void appendSearchResult(const QString& line); |
||||||
|
void searchFinished(int exitcode,QProcess::ExitStatus); |
||||||
|
void readSearchOutput(); |
||||||
|
void searchStarted(); |
||||||
|
void downloadSelectedItem(const QModelIndex& index); |
||||||
|
// Utils slots
|
||||||
|
void setRowColor(int row, const QString& color, bool inDLList=true); |
||||||
|
// Options slots
|
||||||
|
void showOptions() const; |
||||||
|
void OptionsSaved(const QString& info); |
||||||
|
// HTTP slots
|
||||||
|
void downloadFromUrl(const QString& url); |
||||||
|
void askForTorrentUrl(); |
||||||
|
|
||||||
|
public slots: |
||||||
|
void setLocale(QString locale); |
||||||
|
|
||||||
|
protected: |
||||||
|
void closeEvent(QCloseEvent *); |
||||||
|
void hideEvent(QHideEvent *); |
||||||
|
|
||||||
|
public: |
||||||
|
// Construct / Destruct
|
||||||
|
GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList()); |
||||||
|
~GUI(); |
||||||
|
// Methods
|
||||||
|
int getRowFromName(const QString& name) const; |
||||||
|
float getNovaVersion(const QString& novaPath) const; |
||||||
|
QByteArray getNovaChangelog(const QString& novaPath) const; |
||||||
|
void updateNova() const; |
||||||
|
bool isFilePreviewPossible(const torrent_handle& h) const; |
||||||
|
|
||||||
|
}; |
||||||
|
|
||||||
|
#endif |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 750 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 173 B |
After Width: | Height: | Size: 284 B |
After Width: | Height: | Size: 431 B |
After Width: | Height: | Size: 156 B |
After Width: | Height: | Size: 180 B |
After Width: | Height: | Size: 382 B |
After Width: | Height: | Size: 169 B |
After Width: | Height: | Size: 167 B |
After Width: | Height: | Size: 172 B |
After Width: | Height: | Size: 525 B |
After Width: | Height: | Size: 156 B |
After Width: | Height: | Size: 167 B |
After Width: | Height: | Size: 440 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 355 B |
After Width: | Height: | Size: 221 B |
After Width: | Height: | Size: 313 B |
After Width: | Height: | Size: 405 B |
After Width: | Height: | Size: 200 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 846 B |
After Width: | Height: | Size: 1.5 KiB |
@ -0,0 +1,26 @@ |
|||||||
|
[Desktop Entry] |
||||||
|
Categories=Qt;Application;Network;P2P |
||||||
|
Comment=V0.6.0 |
||||||
|
Encoding=UTF-8 |
||||||
|
Exec=qbittorrent |
||||||
|
GenericName=Bittorrent client |
||||||
|
GenericName[fr]=Client Bittorrent |
||||||
|
GenericName[nl]=Bittorrent client |
||||||
|
GenericName[es]=Cliente Bittorrent |
||||||
|
GenericName[sv]=Bittorrent-klient |
||||||
|
GenericName[tr]=Bittorrent istemcisi |
||||||
|
GenericName[de]=Bittorren Client |
||||||
|
GenericName[pl]=Klient Bittorrent |
||||||
|
GenericName[zh]=Bittorrent之用户 |
||||||
|
GenericName[ko]=비토렌트 클라이언트 |
||||||
|
GenericName[el]=Τορεντ πελάτης |
||||||
|
GenericName[bg]=Торент клиент |
||||||
|
GenericName[uk]=Bittorrent-клієнт |
||||||
|
GenericName[ru]=клиент Bittorrent |
||||||
|
Icon=qbittorrent |
||||||
|
MimeType=application/x-bittorrent |
||||||
|
Name=qBittorrent |
||||||
|
Name[ko]=큐비토런트 |
||||||
|
Terminal=false |
||||||
|
Type=Application |
||||||
|
|
After Width: | Height: | Size: 965 B |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 496 B |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 576 B |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 463 B |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 257 B |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 304 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 427 B |
After Width: | Height: | Size: 2.4 KiB |