Compare commits
	
		
			126 Commits
		
	
	
		
			release-3.
			...
			release-2.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | fd3e278284 | ||
|   | c713bd56e0 | ||
|   | efcd652e3d | ||
|   | 8d6df1f15f | ||
|   | ca835a105b | ||
|   | 2de1a7cc30 | ||
|   | 3de83319a8 | ||
|   | cfc75905a2 | ||
|   | 2c30d5a1ca | ||
|   | d162d0c3c6 | ||
|   | 509eb9bcf0 | ||
|   | 1766877605 | ||
|   | fa78fba559 | ||
|   | 44ff7161aa | ||
|   | 96837a3658 | ||
|   | e4d93a96e7 | ||
|   | ccb2ed9a69 | ||
|   | ae5693544d | ||
|   | 3a72c11e39 | ||
|   | 4176abd18a | ||
|   | cba36fcb14 | ||
|   | 9f33656e61 | ||
|   | a4123a6462 | ||
|   | 313b2630bd | ||
|   | 87b0ae9a79 | ||
|   | 81778a0090 | ||
|   | 5d0d63d89a | ||
|   | 764e8a365b | ||
|   | e302042520 | ||
|   | e453eb9a91 | ||
|   | 98fcb91dae | ||
|   | c8a1f625f0 | ||
|   | b70cf7c049 | ||
|   | ecdfe63d00 | ||
|   | 7635fe51f7 | ||
|   | 8cba38ac62 | ||
|   | fab63e6ffc | ||
|   | 27f257ba03 | ||
|   | a2aa462030 | ||
|   | 0f44804225 | ||
|   | de78fc495b | ||
|   | 93731f1b3f | ||
|   | 2e9e10299c | ||
|   | 9f627b5ec9 | ||
|   | ad252f432a | ||
|   | eb1feddea6 | ||
|   | 1634014dde | ||
|   | e863772159 | ||
|   | 7c34f4e93c | ||
|   | 91032056e1 | ||
|   | f427d267b6 | ||
|   | a7a8265053 | ||
|   | 827fceca83 | ||
|   | 7aaa3e8f51 | ||
|   | 1fe49198d1 | ||
|   | c582aff563 | ||
|   | 5272f1cba3 | ||
|   | b72d356083 | ||
|   | fbd6533eee | ||
|   | 2998dbd0a1 | ||
|   | cb8da634f4 | ||
|   | e8f229816e | ||
|   | fe0fc952e8 | ||
|   | 29a76ae600 | ||
|   | 5471600dfb | ||
|   | df42c4d59f | ||
|   | 8047495b2e | ||
|   | de04b47c29 | ||
|   | b709bec24d | ||
|   | 35f93e8e16 | ||
|   | 554a84f8b0 | ||
|   | f26fcabde1 | ||
|   | 75b91c204d | ||
|   | 0837c25602 | ||
|   | 34f8937b8d | ||
|   | 4a7f3ee415 | ||
|   | b218531ff7 | ||
|   | e96dee2038 | ||
|   | 080105c088 | ||
|   | 5d2535c1c1 | ||
|   | 49b21059fa | ||
|   | c1af948649 | ||
|   | 36ad3df9e7 | ||
|   | e607d721a2 | ||
|   | 5bfbfeb665 | ||
|   | 1f1eabb1e9 | ||
|   | 762050f8fc | ||
|   | e3c1270205 | ||
|   | 414685910b | ||
|   | d61b9c5d4d | ||
|   | cf86a1cecd | ||
|   | a3f3287e24 | ||
|   | 6e18d780ba | ||
|   | 7dde763fc6 | ||
|   | 8c85ffca5f | ||
|   | 321e568d86 | ||
|   | e0649a7e78 | ||
|   | 4cd3233cd0 | ||
|   | c554528afe | ||
|   | 7ab7f4b0fc | ||
|   | 58c0ac7638 | ||
|   | 2514224a3a | ||
|   | 247f6b4a8e | ||
|   | 3d89864b75 | ||
|   | 7ac75ad772 | ||
|   | caa628371f | ||
|   | fd31f632d9 | ||
|   | a25b6e087b | ||
|   | 1626d938d1 | ||
|   | a4c7640499 | ||
|   | 2c1b93a12b | ||
|   | 8f19025c2a | ||
|   | 20d41bcff2 | ||
|   | 1ad77e00ff | ||
|   | 0b65c02666 | ||
|   | 294095367a | ||
|   | 05a6ffd554 | ||
|   | e0a30dc40c | ||
|   | 1940bc4e73 | ||
|   | a7e4e0273a | ||
|   | 29a9d57cdc | ||
|   | 9c7a4e4983 | ||
|   | 35ead5bcf2 | ||
|   | 645bd58d79 | ||
|   | 6c47a552ab | ||
|   | f54bc8bea4 | 
							
								
								
									
										14
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						| @@ -1,14 +0,0 @@ | ||||
| src/geoip/GeoIP.dat | ||||
| src/qbittorrent | ||||
| qbittorrent.pro.user | ||||
| conf.pri | ||||
| Makefile | ||||
| *.pyc | ||||
| *.log | ||||
| # Compiled object files | ||||
| *.o | ||||
| # Generated MOC, resource and UI files | ||||
| moc_*.cpp | ||||
| qrc_*.cpp | ||||
| ui_*.h | ||||
| *.moc | ||||
							
								
								
									
										28
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						| @@ -2,7 +2,6 @@ Author: | ||||
| * Christophe Dumez <chris@qbittorrent.org> | ||||
|  | ||||
| Contributors: | ||||
| * Vladimir Golovnev <glassez@yandex.ru> | ||||
| * Stefanos Antaris <santaris@csd.auth.gr> | ||||
| * Mohammad Dib <mdib@qbittorrent.org> | ||||
| * Mirco Chinelli <infinity89@fastwebmail.it> | ||||
| @@ -37,9 +36,9 @@ Images Authors: | ||||
|   url: http://www.oxygen-icons.org | ||||
|  | ||||
| * files: src/Icons/flags/*.png | ||||
|   copyright: Mark James <mjames@gmail.com> | ||||
|   license: Public Domain | ||||
|   url: http://www.famfamfam.com | ||||
|   copyright: Open Clip Art Library | ||||
|   license: Creative Commons Public Domain Dedication | ||||
|   url: http://www.openclipart.org | ||||
|  | ||||
| * files: src/Icons/skin/*.png | ||||
|   files: src/menuicons/YYxYY/*.png | ||||
| @@ -50,10 +49,6 @@ Images Authors: | ||||
|   copyright: Greg Houston <gregory.houston@gmail.com> | ||||
|   license: MIT | ||||
|  | ||||
| * file: src/Icons/skin/qbittorrent_mono* | ||||
|   copyright: Daniel Eguren <deguren@gmail.com> | ||||
|   license: LGPL | ||||
|  | ||||
| * file: src/search_engine/engines/btjunkie.png | ||||
|   copyright: Downloaded from btjunkie.org | ||||
|  | ||||
| @@ -73,9 +68,6 @@ Translations authors: | ||||
| * files: src/lang/*.ts | ||||
|   copyright: | ||||
|   - Arabic: SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com) | ||||
|   - Armenian: Hrant Ohanyan (hrantohanyan@mail.am) | ||||
|   - Basque: Xabier Aramendi (azpidatziak@gmail.com) | ||||
|   - Belarusian: Mihas Varantsou (meequz@gmail.com) | ||||
|   - Brazilian: Nick Marinho (nickmarinho@gmail.com) | ||||
|   - Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net) | ||||
|   - Catalan: Francisco Luque Contreras (frannoe@ya.com) | ||||
| @@ -84,21 +76,17 @@ Translations authors: | ||||
|   - Croatian: Oliver Mucafir (oliver.untwist@gmail.com) | ||||
|   - Czech: Jirka Vilim (web@tets.cz) | ||||
|   - Danish: Mathias Nielsen (comoneo@gmail.com) | ||||
|   - Dutch: Pieter Heyvaert (pieter_heyvaert@hotmail.com) | ||||
|   - Dutch: Joost Schipper (heavyjoost@users.sourceforge.net) | ||||
|   - English: Christophe Dumez (chris@qbittorrent.org) | ||||
|   - Finnish: Niklas Laxström (nikerabbit@users.sourceforge.net) | ||||
|   - French: Christophe Dumez (chris@qbittorrent.org) | ||||
|   - Galician: Marcos Lans (marcoslansgarza@gmail.com) | ||||
|   - Georgian: Beqa Arabuli (arabulibeqa@yahoo.com) | ||||
|   - German: Niels Hoffmann (zentralmaschine@users.sourceforge.net) | ||||
|   - Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net) and Stephanos Antaris (santaris@csd.auth.gr) | ||||
|   - Hebrew: David Deutsch (d.deffo@gmail.com) | ||||
|   - Hungarian: Majoros Péter (majoros.j.p@t-online.hu) | ||||
|   - Italian: bovirus (bovirus@live.it) and Matteo Sechi (bu17714@gmail.com) | ||||
|   - Japanese: Masato Hashimoto (cabezon.hashimoto@gmail.com) | ||||
|   - Italian: Matteo Sechi (bu17714@gmail.com) | ||||
|   - Japanese: Nardog (alphisation@gmail.com) | ||||
|   - Korean: Jin Woo Sin (jin828sin@users.sourceforge.net) | ||||
|   - Lithuanian: Naglis Jonaitis (njonaitis@gmail.com) | ||||
|   - Norwegian: Tomaso | ||||
|   - Norwegian: Lars-Erik Labori (hamil@users.sourceforge.net) | ||||
|   - Polish: Mariusz Fik (fisiu@opensuse.org) | ||||
|   - Portuguese: Nick Marinho (nickmarinho@gmail.com) | ||||
|   - Romanian: Obada Denis (obadadenis@users.sourceforge.net) | ||||
| @@ -108,5 +96,5 @@ Translations authors: | ||||
|   - Spanish: Francisco Luque Contreras (frannoe@ya.com) | ||||
|   - Swedish: Daniel Nylander (po@danielnylander.se) | ||||
|   - Turkish: Hasan Yilmaz (iletisim@hedefturkce.com) | ||||
|   - Ukrainian: Oleh Prypin (blaxpirit@gmail.com) | ||||
|   - Ukrainian: Andrey Shpachenko (masterfix@users.sourceforge.net) and Oleh Prypin (blaxpirit@gmail.com) | ||||
|   license: GPLv2 | ||||
|   | ||||
							
								
								
									
										240
									
								
								Changelog
									
									
									
									
									
								
							
							
						
						| @@ -1,174 +1,90 @@ | ||||
| * Sat Jan 19 2013 - Christophe Dumez <chris@qbittorrent.org> - v3.0.7 | ||||
|     - BUGFIX: Update max write cache size to 2048MB and set it to automatic by default (closes #148) | ||||
|     - BUGFIX: Add m4v to the list of previewable file extensions (closes #216) | ||||
|     - BUGFIX: Fix "Couldn't set environment variable..." message on start up (closes #245) | ||||
|     - BUGFIX: Use right path separator in torrent addition dialog on Windows | ||||
|     - BUGFIX: Fix "Set as default save path" setting (closes #254) | ||||
|     - BUGFIX: Reenable disk cache on Windows since the memory issue seems to be gone | ||||
|     - BUGFIX: Fixed several search engine plugins and removed the dead ones | ||||
|     - BUGFIX: Use https links in search plugins when possible | ||||
|     - BUGFIX: Bump Mootools to v1.4.5 (Web UI) | ||||
|     - BUGFIX: Require password to exit qBittorrent from tray icon when locked (closes #311) | ||||
|     - BUGFIX: Fix possible crash in loadPeers() (closes #222) | ||||
| * Wed Nov 10 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.10 | ||||
|     - BUGFIX: Fix possible crash when selecting a RSS item (really closes #575624) | ||||
|     - BUGFIX: Improved IPv6 support (IP filter and Peer list) | ||||
|     - BUGFIX: Make IP filter more tolerant towards strangely formatted IPs | ||||
|     - BUGFIX: More reliable folder scanning | ||||
|     - BUGFIX: Do not create the torrent root folder at final destination if | ||||
|     torrent is in the temp dir (closes #673271) | ||||
|     - BUGFIX: Fix compilation with libnotify v0.7.0 (closes #671769) | ||||
|     - BUGFIX: Use a pointing cursor over status bar buttons | ||||
|  | ||||
| * Sun Oct 7 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.6 | ||||
|     - BUGFIX: Fix unicode support for command-line arguments on Windows (closes #139) | ||||
|     - BUGFIX: Do not store created torrent in memory before writing it to a file (closes #133) | ||||
|     - BUGFIX: No longer fallback to ANY interface if the user-selected interface cannot be found (closes #143) | ||||
|     - BUGFIX: Fix timezone parsing in RSS (closes #136) | ||||
|     - BUGFIX: Fix cookie support for RSS feeds (closes #119) | ||||
| * Sun Oct 31 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.9 | ||||
|     - BUGFIX: Fix crash when pressing enter in save path field in torrent addition dialog | ||||
|     - BUGFIX: Fix crash when deleting a torrent with no metadata (closes #667528) | ||||
|     - BUGFIX: Fix possible crash on clicking a RSS article (closes #575624) | ||||
|     - BUGFIX: Correctly update total number of torrents when a torrent is automatically removed (closes #668726) | ||||
|     - BUGFIX: Correctly display the hash of torrents with no metadata | ||||
|     - BUGFIX: Elide status bar text if it is too wide | ||||
|     - BUGFIX: Make sure the splash screen is displayed for 2 seconds | ||||
|     - BUGFIX: Make listening on a particular interface more reliable | ||||
|     - BUGFIX: Fix torrent size update in torrent addition dialog | ||||
|     - BUGFIX: Fix possible crash on qBittorrent shutdown | ||||
|     - BUGFIX: Fix and improve file priorities editing (closes #669084) | ||||
|     - I18N: Updated Arabic, Italian and Croatian translations | ||||
|  | ||||
| * Sun Sep 30 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.5 | ||||
|     - BUGFIX: Disabling systray icon no longer disables file association settings (closes #114) | ||||
|     - BUGFIX: Import new trackers from magnet link in case of duplicate torrent (closes #111) | ||||
|     - BUGFIX: Fix "Skip hash check" feature in torrent import dialog (closes #128) | ||||
|     - BUGFIX: Several Web UI connection fixes | ||||
|     - BUGFIX: Add Basque locale to Web UI | ||||
| * Sun Oct 24 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.8 | ||||
|     - BUGFIX: Fix possible crash on manual peer ban | ||||
|     - BUGFIX: Improved hostname resolution code | ||||
|     - BUGFIX: Several search plugins fixed | ||||
|     - BUGFIX: Auto-disable the shutdown feature | ||||
|     - BUGFIX: Remember the current property tab on startup | ||||
|     - BUGFIX: Fix status list widget height issue on style change | ||||
|     - BUGFIX: Fix rounding issue in torrent progress display | ||||
|     - BUGFIX: Fix issue when altering files priorities of a seeding torrent | ||||
|     - BUGFIX: Better fix for save path editing issues in torrent addition dialog | ||||
|     - BUGFIX: Peers can now be sorted by country | ||||
|  | ||||
| * Tue Sep 18 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.4 | ||||
|     - BUGFIX: Fix issue with downloads starting from scratch on startup if temporary | ||||
|       directory setting is enabled. | ||||
| * Tue Oct 19 2010  - Christophe Dumez <chris@qbittorrent.org> - v2.4.7 | ||||
|     - BUGFIX: Display the priority column when the queueing system gets enabled | ||||
|     - BUGFIX: Fix encoding problem in file renaming | ||||
|     - BUGFIX: Delete uneeded files on torrent "soft" deletion | ||||
|     - BUGFIX: Fix issues when marking a file as 'not downloaded' causes the torrent to complete | ||||
|     - BUGFIX: Improved "Set Location" and "Change save path" dialogs | ||||
|     - BUGFIX: Fix display of queued seeding torrents | ||||
|  | ||||
| * Sun Sep 16 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.3 | ||||
|     - BUGFIX: Fix issue with temporary directory not being taken into consideration (closes #94) | ||||
|     - BUGFIX: Address encoding issues when using search engine on Windows (closes #29) | ||||
|     - BUGFIX: Bypass cache when uploading a torrent file in Web UI (closes #68) | ||||
|     - BUGFIX: "Completed On" column is not updated until restart (closes #84) | ||||
|     - BUGFIX: Fix possible build error on some systems | ||||
|     - I18N: Add hebrew translation | ||||
| * Sun Oct 17 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.6 | ||||
|     - BUGFIX: Fix "torrent seeding after creation" feature | ||||
|     - BUGFIX: The properties panel data would sometimes not match the selected torrent | ||||
|     - BUGFIX: Fix detection of files at final destination when temp dir is used | ||||
|     - BUGFIX: Fix moving of a torrent to an unexisting directory | ||||
|  | ||||
| * Sat Sep 1 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.2 | ||||
|     - FEATURE: Add "clear" functionality to search field (closes #59) | ||||
|     - BUGFIX: Attempt to use qBittorrent icon from theme if available (closes #49) | ||||
|     - BUGFIX: Fix crash when a fastresume file is empty (closes #52) | ||||
|     - BUGFIX: Fix encoding problem for detected XDG Download folder (closes #53) | ||||
|     - BUGFIX: Improve performance when showing torrent content panel (Improves #24) | ||||
|     - BUGFIX: Fix label-based filtering of torrents whose label contains special characters | ||||
|     - BUGFIX: Fix possible crash due to labels (closes #64) | ||||
| * Tue Oct 12 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.5 | ||||
|     - BUGFIX: Remember torrent completion date correctly | ||||
|     - BUGFIX: Fix feature to keep incomplete torrents in a separate folder | ||||
|     - BUGFIX: Fix display of URL seeds in the UI | ||||
|     - BUGFIX: Improved peer hostname resolution with caching | ||||
|     - BUGFIX: Piece availability/downloaded widgets performance improvement | ||||
|  | ||||
| * Tue Aug 21 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.1 | ||||
|     - BUGFIX: Fix possible crash when adding a tracker to a magnet torrent without metadata (Closes #1034254) | ||||
|     - BUGFIX: Remember queue position for torrents without metadata (closes #17) | ||||
|     - BUGFIX: Fix crash when using unauthorized characters in label names (closes #19) | ||||
|     - BUGFIX: Fix search plugins updating (closes #25) | ||||
|     - BUGFIX: Make uTP connections rate limited by default | ||||
| * Fri Oct 1 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.4 | ||||
|     - BUGFIX: Clean program exit on system shutdown/logout | ||||
|     - BUGFIX: Fix possible search engine plugin update | ||||
|  | ||||
| * Thu Aug 09 2012 - Christophe Dumez <chris@qbittorrent.org> - v3.0.0 | ||||
|     - FEATURE: Brand new torrent addition dialog | ||||
|     - FEATURE: Add the ability to choose the save path when using magnet links (mutoso) | ||||
|     - FEATURE: Add support for adding multiple local torrents at once (Web UI) | ||||
|     - COSMETIC: Improve style of left panel | ||||
|     - BUGFIX: Lower panels no longer gets disabled | ||||
|     - BUGFIX: Major code refactoring and various optimizations. | ||||
|     - BUGFIX: No longer strip root folder from torrent files | ||||
|     - OTHER: Drop support for libtorrent v0.14.x | ||||
|     - OTHER: Drop support for Qt 4.5 | ||||
| * Tue Sep 28 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.3 | ||||
|     - BUGFIX: Fix encoding issue in command line parameters processing | ||||
|     - BUGFIX: Fix possible crash when changing the save path in addition dialog | ||||
|     - BUGFIX: Fix wrong mapping to source model | ||||
|  | ||||
| * Sat Oct 08 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.9.0 | ||||
|     - FEATURE: Add file association settings to program preferences (Windows) | ||||
|     - FEATURE: Add setting to ignore slow torrents in queueing system | ||||
|     - FEATURE: Add advanced setting to announce to all trackers | ||||
|     - FEATURE: Add support for anonymous mode (libtorrent >= v0.16) | ||||
|     - FEATURE: Add quick "set as default save path" checkbox to torrent addition dialog (sledgehammer999) | ||||
|     - BUGFIX: Add tray menu entry for toggling window visibility | ||||
|     - BUGFIX: Fix execution log lines selection and copying | ||||
|     - BUGFIX: Reduce CPU usage when running Web UI | ||||
|     - BUGFIX: Save RSS items to disk regularly for safety | ||||
|     - BUGFIX: Fix ratio calculation (use all_time_download) | ||||
|     - BUGFIX: Fix torrent upload issues (Web UI) | ||||
|     - BUGFIX: Fix some IE incompatibilities (Web UI) | ||||
|     - COSMETIC: Display speed at the beginning of the Window title | ||||
|     - COSMETIC: Several cosmetic fixes to the Web UI | ||||
|     - COSMETIC: Make top toolbar follow system style | ||||
|     - OTHER: Display libraries versions in about dialog (sledgehammer999) | ||||
|     - OTHER: Display qBittorrent version in Web UI about dialog | ||||
| * Sun Sep 26 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.2 | ||||
|     - BUGFIX: Fix display of torrent content in addition dialog | ||||
|     - BUGFIX: Really fix manual editing of save path in torrent addition dialog | ||||
|  | ||||
| * Thu Jun 02 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.8.0 | ||||
|     - FEATURE: Added full libtorrent v0.16 support (uTP, ...) | ||||
|     - FEATURE: Proxy can be disabled for peer connections | ||||
|     - FEATURE: Added support for secure SMTP connection (SSL) | ||||
|     - FEATURE: Added support for SMTP authentication | ||||
|     - FEATURE: Added UPnP/NAT-PMP port forward for the Web UI port | ||||
|     - FEATURE: qBittorrent can update dynamic DNS services (DynDNS, no-ip) | ||||
|     - FEATURE: Display peer connection type in peer list (BT, uTP, Web) | ||||
|     - FEATURE: Added full regex support to RSS downloader | ||||
|     - FEATURE: Added regex help and validation in RSS downloader | ||||
|     - FEATURE: Added HTTPS support to Web UI (Ishan Arora) | ||||
|     - BUGFIX: Change systray icon on the fly (no restart needed) | ||||
|     - BUGFIX: Remember peer-level rate limits (requires libtorrent v0.16) | ||||
|     - BUGFIX: Stop annoncing to trackers an all tiers (more respectful) | ||||
|     - BUGFIX: Stop sharing private trackers with other peers | ||||
|     - BUGFIX: Tracker exchange extension can be disabled | ||||
|     - BUGFIX: Cleaner program exit on system log out | ||||
|     - BUGFIX: Fix possible magnet link parsing problems | ||||
|     - BUGFIX: Fix possible RSS URL parsing problems | ||||
|     - COSMETIC: Added monochrome icon for light themes  | ||||
|  | ||||
| * Sun Mar 20 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.7.0 | ||||
|     - FEATURE: Added search field for torrent content | ||||
|     - FEATURE: Added auto-shutdown confirmation dialog | ||||
|     - FEATURE: Added option to skip torrent deletion confirmation (Ville Kiiskinen) | ||||
|     - FEATURE: IP address reported to trackers is now customizable | ||||
|     - FEATURE: Inhibit system sleep when torrents are active (Vladimir Golovnev) | ||||
|     - FEATURE: Added option to bypass Web UI authentication for localhost | ||||
|     - FEATURE: Added option to disable program exit confirmation | ||||
|     - FEATURE: Added per-torrent ratio limiting (Christian Kandeler) | ||||
|     - FEATURE: Torrent content list is now sortable | ||||
|     - BUGFIX: Fix compilation with namespaced Qt (Christian Kandeler) | ||||
|     - BUGFIX: Added length restriction on UI lock password | ||||
|     - COSMETIC: Added monochrome tray icon | ||||
|     - COSMETIC: Improved status bar's style | ||||
|     - OTHER: Make QtDBus dependency optional (X11) | ||||
|  | ||||
| * Sun Jan 9 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.0 | ||||
|     - FEATURE: Use system icons (Linux, Qt >= 4.6) | ||||
|     - FEATURE: Improved ETA calculation | ||||
|     - FEATURE: Simplify program preferences | ||||
|     - FEATURE: Software update check can now be disabled (Mac OS X / Windows) | ||||
|     - FEATURE: Display pieces size in torrent properties | ||||
|     - FEATURE: Added "Time Active/Seeded" column to transfer list | ||||
|     - FEATURE: Give feedback regarding the IP filter parsing | ||||
|     - FEATURE: Added a button to reload the IP filter | ||||
|     - FEATURE: Search engine results can now be opened in a Web browser | ||||
|     - FEATURE: Added a search engine plugin to extratorrent.com | ||||
|     - FEATURE: Added a search engine plugin for kickasstorrents.com | ||||
|     - FEATURE: Added auto-suspend upon downloads completion feature | ||||
|     - BUGFIX: Hide unwanted files that have to be partly downloaded | ||||
|     - BUGFIX: Do not allocate space for unwanted files (preallocation mode) | ||||
|     - I18N: Added Galician translation | ||||
|     - COSMETIC: Same deletion confirmation dialog in the GUI and Web UI | ||||
|     - COSMETIC: Simplified the top toolbar | ||||
|     - COSMETIC: Display execution log as a tab instead of a modal window | ||||
|  | ||||
| * Sun Dec 5 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.5.0 | ||||
|     - FEATURE: qBittorrent can now act as a tracker | ||||
|     - FEATURE: New and improved RSS feed automated downloader | ||||
|     - FEATURE: Added feature to shutdown qbittorrent on torrents completion | ||||
|     - FEATURE: Added a torrent import assistant to seed or keep downloading outside torrents | ||||
|     - FEATURE: qBittorrent can update itself from Sourceforge (Windows/Mac OS X only) | ||||
|     - FEATURE: Added a transfer list column to display the current tracker | ||||
|     - FEATURE: Remember the last trackers used in the torrent creation tool | ||||
|     - FEATURE: The optimal piece size is now automatically computed in the torrent creation tool | ||||
|     - FEATURE: Bring up the connection settings when clicking on the connection status icon | ||||
|     - FEATURE: Major code refactoring and optimization | ||||
|     - FEATURE: Added "Amount downloaded/left" columns to transfer list | ||||
|     - FEATURE: Simplified proxy settings | ||||
|     - FEATURE: Optimized and improved the peer country resolution code | ||||
|     - FEATURE: Download first/last pieces first when sequential download is | ||||
|     enabled (Thanks Ahmad) | ||||
|     - FEATURE: Download first/last pieces first now applies to all media files | ||||
|     in the torrent (Thanks Ahmad) | ||||
|     - BUGFIX: Fix SOCKS5 proxy authentication in search engine(closes #680072) | ||||
|     - BUGFIX: Fix two advanced settings (ignore limits on LAN and protocol | ||||
|     overhead inclusion in rate limiter) | ||||
|     - BUGFIX: Fix strict super seeding (was not working) | ||||
|     - BUGFIX: Improve magnet save path handling (closes #683395) | ||||
|     - BUGFIX: Disable overwrite confirmation in torrent addition dialog (closes # 685269) | ||||
|     - COSMETIC: Replaced message box by on-screen notification for download errors | ||||
|     - COSMETIC: Improved the torrent creation tool appearance | ||||
|     - COSMETIC: Use country flags by Mark James (Thanks to Dmytro Pukha) | ||||
|     - COSMETIC: Use bigger alternative speed icon | ||||
|     - OTHERS: Dropped support for Qt <= 4.4 | ||||
| * Sun Sep 26 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.1 | ||||
|     - I18N: Updated Arabic translation | ||||
|     - I18N: Fixes to German translation | ||||
|     - BUGFIX: Save path can now be edited in torrent addition dialog | ||||
|     - BUGFIX: Fix save path encoding on non-utf8 systems | ||||
|     - BUGFIX: Fix saving to drive root on Windows | ||||
|     - BUGFIX: OGV can now be previewed | ||||
|     - BUGFIX: Maximum download limit is now 10MB/s | ||||
|     - BUGFIX: Fix 'download in scan dir' persistence | ||||
|     - BUGFIX: Add .torrent extension only when missing (torrent creator) | ||||
|     - BUGFIX: Fix possible issue with temporary download path persistence | ||||
|     - BUGFIX: Added support for | (OR) operator in RSS feed downloader | ||||
|     - BUGFIX: Fix Web UI for spanish users | ||||
|     - BUGFIX: Fix locale switching from Web UI | ||||
|     - BUGFIX: Use AND operator for torrentdownloads.net searches | ||||
|     - BUGFIX: Limit torrent addition dialog width to fit the screen | ||||
|     - COSMETIC: Fix progress bars style on Windows | ||||
|  | ||||
| * Tue Aug 24 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.0 | ||||
|     - FEATURE: Added actions to "Move to top/bottom" of priority queue | ||||
|   | ||||
							
								
								
									
										16
									
								
								INSTALL
									
									
									
									
									
								
							
							
						
						| @@ -10,23 +10,25 @@ qBittorrent - A BitTorrent client in C++ / Qt4 | ||||
|   will install and execute qBittorrent hopefully without any problems. | ||||
|  | ||||
|   Dependencies: | ||||
|     - Qt >= 4.6.0 (libqtgui, libqtcore, libqtnetwork, libqtxml, libqtdbus/optional) | ||||
|     - Qt >= 4.4.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml) | ||||
|  | ||||
|     - pkg-config executable | ||||
|  | ||||
|     - libtorrent-rasterbar by Arvid Norberg (>= 0.15.0) | ||||
|     - libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, compatible with v0.15.x) | ||||
|         -> http://www.libtorrent.net | ||||
|         Be careful: another library (the one used by rTorrent) uses a similar name. | ||||
|  | ||||
|     - libboost 1.34.x (libboost-filesystem°) + libasio | ||||
|     - libboost 1.34.x (libboost-filesystem, libboost-thread, libboost-date-time) + libasio | ||||
|       or | ||||
|     - libboost >= 1.35.x (libboost-system, libboost-filesystem°) | ||||
|        | ||||
|     °libboost-filesystem is not needed if libtorrent-rasterbar >= v0.16.x is used | ||||
|     - libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-thread, libboost-date-time) | ||||
|  | ||||
|     - python >= 2.3 (needed by search engine) | ||||
|         * Run time only dependency | ||||
|  | ||||
|     - libnotify >= 0.4.2, glib-2.0 (optional) | ||||
|         * Can be used for system notifications to replace standard Qt notifications | ||||
|           so that it integrates better into the Desktop | ||||
|  | ||||
|     - geoip-database (optional) | ||||
|         * If qBittorrent cannot find this database, it will try to resolve countries using the Internet but it will be a lot slower. | ||||
|         * Run time only dependency | ||||
| @@ -44,7 +46,7 @@ qBittorrent - A BitTorrent client in C++ / Qt4 | ||||
|  | ||||
|     - pkg-config executable | ||||
|  | ||||
|     - libtorrent-rasterbar by Arvid Norberg (>= v0.15.0) | ||||
|     - libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, >= v0.15.0 ADVISED) | ||||
|         -> http://www.libtorrent.net | ||||
|         Be careful: another library (the one used by rTorrent) uses a similar name. | ||||
|  | ||||
|   | ||||
							
								
								
									
										16
									
								
								README.os2
									
									
									
									
									
								
							
							
						
						| @@ -27,6 +27,7 @@ First you need to create the conf.pri file in the same dir as this readme.os2 is | ||||
| the conf.pri file has the following content: | ||||
|  | ||||
| ##### conf.pri content beginn ##### | ||||
| PREFIX = . | ||||
| BINDIR = ./bin | ||||
| INCDIR = ./include | ||||
| LIBDIR = ./lib | ||||
| @@ -42,10 +43,7 @@ LIBS += -Lx:/trees/libtorrent/trunk/src/.libs \ | ||||
|  | ||||
| Of course all the above path references have to be adjusted to your build env. | ||||
|  | ||||
| Now you can either do a normal build or a shadow build. A shadow build has the | ||||
| advantage that no created files are in the same dir as the sources are. | ||||
|  | ||||
| For a normal build do the following: | ||||
| It should now be easy to build qBittorrent: | ||||
|  | ||||
| Simply type: | ||||
| $ qmake | ||||
| @@ -53,16 +51,6 @@ $ qmake | ||||
| Followed by: | ||||
| $ make | ||||
|  | ||||
| For a shadow build do the following: | ||||
| given your sources are in x:\trees\qbittorrent\trunk create a  | ||||
| x:\trees\qbittorrent\build directory | ||||
|  | ||||
| Now switch to the created directory and type: | ||||
| $ qmake ..\trunk | ||||
|  | ||||
| Followed by: | ||||
| $ make | ||||
|  | ||||
| If all works fine you should get a working qbittorrent executable. | ||||
|  | ||||
| If you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC: | ||||
|   | ||||
							
								
								
									
										187
									
								
								install.os2
									
									
									
									
									
								
							
							
						
						| @@ -1,187 +0,0 @@ | ||||
| QBittorrent installation | ||||
|  | ||||
|  | ||||
|  | ||||
| 0. CONTENTS OF THIS FILE | ||||
| ======================== | ||||
|  | ||||
| 1. INTRODUCTION | ||||
|  | ||||
| 2. REQUIREMENTS | ||||
|  | ||||
| 3. INSTALLATION | ||||
|  | ||||
| 4. BUGREPORTS | ||||
|  | ||||
| 5. CREDITS | ||||
|  | ||||
| 6. SUPPORT AND DONATIONS | ||||
|  | ||||
| 7. HISTORY | ||||
|  | ||||
|  | ||||
| 1. INTRODUCTION | ||||
| =============== | ||||
|  | ||||
| Welcome to QBittorrent port for OS/2 and eComStation. | ||||
|  | ||||
|  | ||||
| 2. REQUIREMENTS | ||||
| =============== | ||||
|  | ||||
| The following requirements can be installed either by rpm or by zip files. | ||||
|  | ||||
| RPM Installation: | ||||
|  | ||||
| klibc | ||||
| ----- | ||||
|  | ||||
|   1. yum install libc | ||||
|  | ||||
| openssl 1.0 | ||||
| ----------- | ||||
|  | ||||
|   1. yum install openssl | ||||
|  | ||||
| pthread | ||||
| ------- | ||||
|  | ||||
|   1. yum install pthread | ||||
|  | ||||
| GCC4Core | ||||
| -------- | ||||
|  | ||||
|   1. yum install libgcc | ||||
|   2. yum install gcc-stack-protector | ||||
|   3. yum install gcc-stdc++-shared-library | ||||
|   4. yum install gcc-supc++-shared-library | ||||
|  | ||||
| Qt4 dll | ||||
| ------- | ||||
|  | ||||
|   1. yum install libqt4 | ||||
|  | ||||
|  | ||||
| ZIP Installation: | ||||
|  | ||||
| klibc | ||||
| ----- | ||||
|  | ||||
|   1. Download klibc 0.6.5 or better (see http://svn.netlabs.org/libc for more information) | ||||
|   2. Install the files to your libpath eg x:\ecs\dll | ||||
|  | ||||
| openssl 1.0 | ||||
| ----------- | ||||
|  | ||||
|   1. Download the zip file from http://rpm.netlabs.org/release/00/zip | ||||
|   2. Install the files to your libpath eg. x:\ecs\dll | ||||
|  | ||||
| pthread | ||||
| ------- | ||||
|  | ||||
|   1. Download pthread 2012-03-13 or better from http://rpm.netlabs.org/release/00/zip | ||||
|   2. Install the files to your libpath eg. x:\ecs\dll | ||||
|  | ||||
| GCC4Core | ||||
| -------- | ||||
|  | ||||
|   1. Download GCC4Core 1.2.1 or better from http://ftp.netlabs.org/pub/gcc | ||||
|   2. Install the files to your libpath eg. x:\ecs\dll | ||||
|  | ||||
| Qt4 dll | ||||
| ------- | ||||
|  | ||||
|   1. Download Qt4 4.7.3 or better (see http://svn.netlabs.org/qt4 for more information) | ||||
|   2. Install the files according to the readme | ||||
|  | ||||
|  | ||||
| 3. INSTALLATION | ||||
| =============== | ||||
|            | ||||
| To install QBittorrent, do the following: | ||||
|  | ||||
|   1. Create a directory for QBittorrent. | ||||
|   2. Extract the QBittorrent package to the new directory. | ||||
|   3. Create a WPS object for QBittorrent.exe. | ||||
|   4. Start QBittorrent | ||||
|   5. Happy torrenting | ||||
|    | ||||
|  | ||||
| 4. BUGREPORTS | ||||
| ============= | ||||
|  | ||||
| Please create bugreports at http://svn.netlabs.org/qtapps | ||||
| Only bug reports with a reproducable bug are accepted. :-) | ||||
|  | ||||
|  | ||||
| 5. CREDITS | ||||
| ========== | ||||
|  | ||||
| The port was done by: | ||||
|  | ||||
| Silvan Scherrer aka _diver | ||||
|  | ||||
| Thanks go to: | ||||
|  | ||||
|   * Dmitry A. Kuminov | ||||
|  | ||||
| They either helped me when I had some nasty questions or did some testing for | ||||
| me. | ||||
|  | ||||
|  | ||||
| 6. SUPPORT AND DONATIONS | ||||
| ======================== | ||||
|  | ||||
| QBittorrent port is based on volunteer work. If you would like to support further | ||||
| development, you can do so in one of the following ways: | ||||
|  | ||||
|  | ||||
|   * Donate to the Qt4 project: see qt.netlabs.org for more information | ||||
|  | ||||
|   * Contribute to the project: Besides actual development, this also includes | ||||
|     maintaining the documentation and the project web site as well as help | ||||
|     for users. | ||||
|  | ||||
|  | ||||
| 7. HISTORY | ||||
| ========== | ||||
|  | ||||
| 2012-09-19 | ||||
|  | ||||
|   * updated to 3.0.4 code level of QBittorrent | ||||
|   * updated libtorrent to 0.16.3 level | ||||
|  | ||||
| 2012-09-06 | ||||
|  | ||||
|   * updated to 3.0.2 code level of QBittorrent | ||||
|  | ||||
| 2012-05-14 | ||||
|  | ||||
|   * updated to 2.9.8 code level of QBittorrent | ||||
|  | ||||
| 2012-03-15 | ||||
|  | ||||
|   * updated to 2.9.5 code level of QBittorrent | ||||
|  | ||||
| 2011-09-26 | ||||
|  | ||||
|   * updated to 2.8.5 code level of QBittorrent | ||||
|   * updated to Qt 4.7.3 | ||||
|  | ||||
| 2011-06-20 | ||||
|  | ||||
|   * updated to 2.7.3 code level of QBittorrent | ||||
|   * updated libtorrent to 0.15.6 level | ||||
|  | ||||
| 2010-12-23 | ||||
|  | ||||
|   * updated to 2.5.2 code level of QBittorrent | ||||
|  | ||||
| 2010-11-22 | ||||
|  | ||||
|   * updated to 2.4.11 code level of QBittorrent | ||||
|  | ||||
| 2010-xx-xx | ||||
|  | ||||
|   * initial port | ||||
|  | ||||
							
								
								
									
										65
									
								
								macxconf.pri
									
									
									
									
									
								
							
							
						
						| @@ -1,65 +0,0 @@ | ||||
| PREFIX = /usr/local | ||||
| BINDIR = /usr/local/bin | ||||
| DATADIR = /usr/local/share | ||||
|  | ||||
| # Use pkg-config to get all necessary libtorrent DEFINES | ||||
| CONFIG += link_pkgconfig | ||||
| PKGCONFIG += libtorrent-rasterbar | ||||
| DEFINES += BOOST_ASIO_DYN_LINK | ||||
|  | ||||
| # Special include/libs paths (macports) | ||||
| INCLUDEPATH += /usr/include/openssl /usr/include /opt/local/include/boost /opt/local/include | ||||
| LIBS += -L/opt/local/lib | ||||
|  | ||||
| # OpenSSL lib | ||||
| LIBS += -lssl -lcrypto | ||||
| # Boost system lib | ||||
| LIBS += -lboost_system-mt | ||||
| # Boost filesystem lib (Not needed for libtorrent >= 0.16.0) | ||||
| #LIBS += -lboost_filesystem-mt | ||||
| # Carbon | ||||
| LIBS += -framework Carbon -framework IOKit | ||||
|  | ||||
| document_icon.path = Contents/Resources | ||||
| document_icon.files = mac/qBitTorrentDocument.icns | ||||
| QMAKE_BUNDLE_DATA += document_icon | ||||
|  | ||||
| qt_conf.path = Contents/Resources | ||||
| qt_conf.files = mac/qt.conf | ||||
| QMAKE_BUNDLE_DATA += qt_conf | ||||
|  | ||||
| qt_translations.path = Contents/MacOS/translations | ||||
| qt_translations.files = qt-translations/qt_ar.qm \ | ||||
|                         qt-translations/qt_bg.qm \ | ||||
|                         qt-translations/qt_ca.qm \ | ||||
|                         qt-translations/qt_cs.qm \ | ||||
|                         qt-translations/qt_da.qm \ | ||||
|                         qt-translations/qt_de.qm \ | ||||
|                         qt-translations/qt_es.qm \ | ||||
|                         qt-translations/qt_fi.qm \ | ||||
|                         qt-translations/qt_fr.qm \ | ||||
|                         qt-translations/qt_gl.qm \ | ||||
|                         qt-translations/qt_he.qm \ | ||||
|                         qt-translations/qt_hu.qm \ | ||||
|                         qt-translations/qt_it.qm \ | ||||
|                         qt-translations/qt_ja.qm \ | ||||
|                         qt-translations/qt_ko.qm \ | ||||
|                         qt-translations/qt_lt.qm \ | ||||
|                         qt-translations/qt_nl.qm \ | ||||
|                         qt-translations/qt_pl.qm \ | ||||
|                         qt-translations/qt_pt.qm \ | ||||
|                         qt-translations/qt_pt_BR.qm \ | ||||
|                         qt-translations/qt_ru.qm \ | ||||
|                         qt-translations/qt_sk.qm \ | ||||
|                         qt-translations/qt_sv.qm \ | ||||
|                         qt-translations/qt_tr.qm \ | ||||
|                         qt-translations/qt_uk.qm \ | ||||
|                         qt-translations/qt_zh_CN.qm \ | ||||
|                         qt-translations/qt_zh_TW.qm | ||||
| QMAKE_BUNDLE_DATA += qt_translations | ||||
|  | ||||
| ICON = mac/qbittorrent_mac.icns | ||||
| QMAKE_INFO_PLIST = mac/Info.plist | ||||
|  | ||||
| DEFINES += WITH_GEOIP_EMBEDDED | ||||
| message("On Mac OS X, GeoIP database must be embedded.") | ||||
							
								
								
									
										19
									
								
								os2conf.pri
									
									
									
									
									
								
							
							
						
						| @@ -1,19 +0,0 @@ | ||||
| exists(conf.pri) { | ||||
|     # to the conf.pri goes all system dependent stuff | ||||
|     include(conf.pri) | ||||
| } | ||||
|  | ||||
| LIBS += -ltorrent-rasterbar \ | ||||
|         -lboost_thread \ | ||||
|         -lboost_system \ | ||||
|         -lboost_filesystem \ | ||||
|         -lssl -lcrypto -lidn -lpthread | ||||
|  | ||||
| RC_FILE = qbittorrent_os2.rc | ||||
|  | ||||
| # LIBTORRENT DEFINES | ||||
| DEFINES += WITH_SHIPPED_GEOIP_H | ||||
| DEFINES += BOOST_ASIO_DYN_LINK | ||||
|  | ||||
| DEFINES += WITH_GEOIP_EMBEDDED | ||||
| message("On eCS(OS/2), GeoIP database must be embedded.") | ||||
							
								
								
									
										199
									
								
								qBittorrent.kdevelop
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,199 @@ | ||||
| <?xml version = '1.0'?> | ||||
| <kdevelop> | ||||
|   <general> | ||||
|     <author>Christophe Dumez</author> | ||||
|     <email>chris@qbittorrent.org</email> | ||||
|     <version>1.0.0</version> | ||||
|     <projectmanagement>KDevTrollProject</projectmanagement> | ||||
|     <primarylanguage>C++</primarylanguage> | ||||
|     <keywords> | ||||
|       <keyword>Qt</keyword> | ||||
|     </keywords> | ||||
|     <projectname>qBittorrent</projectname> | ||||
|     <ignoreparts/> | ||||
|     <projectdirectory>.</projectdirectory> | ||||
|     <absoluteprojectpath>false</absoluteprojectpath> | ||||
|     <description/> | ||||
|     <defaultencoding/> | ||||
|     <versioncontrol>kdevsubversion</versioncontrol> | ||||
|   </general> | ||||
|   <kdevfileview> | ||||
|     <groups> | ||||
|       <group pattern="*.cpp;*.cxx;*.h" name="Sources" /> | ||||
|       <group pattern="*.ui" name="User Interface" /> | ||||
|       <group pattern="*.png" name="Icons" /> | ||||
|       <group pattern="*" name="Others" /> | ||||
|       <hidenonprojectfiles>false</hidenonprojectfiles> | ||||
|       <hidenonlocation>false</hidenonlocation> | ||||
|     </groups> | ||||
|     <tree> | ||||
|       <hidepatterns>*.o,*.lo,CVS</hidepatterns> | ||||
|       <hidenonprojectfiles>false</hidenonprojectfiles> | ||||
|       <showvcsfields>false</showvcsfields> | ||||
|     </tree> | ||||
|   </kdevfileview> | ||||
|   <kdevdoctreeview> | ||||
|     <ignoretocs> | ||||
|       <toc>bash</toc> | ||||
|       <toc>bash_bugs</toc> | ||||
|       <toc>clanlib</toc> | ||||
|       <toc>w3c-dom-level2-html</toc> | ||||
|       <toc>fortran_bugs_gcc</toc> | ||||
|       <toc>gnome1</toc> | ||||
|       <toc>gnustep</toc> | ||||
|       <toc>gtk</toc> | ||||
|       <toc>gtk_bugs</toc> | ||||
|       <toc>haskell</toc> | ||||
|       <toc>haskell_bugs_ghc</toc> | ||||
|       <toc>java_bugs_gcc</toc> | ||||
|       <toc>java_bugs_sun</toc> | ||||
|       <toc>kde2book</toc> | ||||
|       <toc>opengl</toc> | ||||
|       <toc>pascal_bugs_fp</toc> | ||||
|       <toc>php</toc> | ||||
|       <toc>php_bugs</toc> | ||||
|       <toc>perl</toc> | ||||
|       <toc>perl_bugs</toc> | ||||
|       <toc>python</toc> | ||||
|       <toc>python_bugs</toc> | ||||
|       <toc>qt-kdev3</toc> | ||||
|       <toc>ruby</toc> | ||||
|       <toc>ruby_bugs</toc> | ||||
|       <toc>sdl</toc> | ||||
|       <toc>stl</toc> | ||||
|       <toc>w3c-svg</toc> | ||||
|       <toc>sw</toc> | ||||
|       <toc>w3c-uaag10</toc> | ||||
|       <toc>wxwidgets_bugs</toc> | ||||
|     </ignoretocs> | ||||
|     <ignoredoxygen> | ||||
|       <toc>KDE Libraries (Doxygen)</toc> | ||||
|     </ignoredoxygen> | ||||
|   </kdevdoctreeview> | ||||
|   <kdevdebugger> | ||||
|     <general> | ||||
|       <dbgshell/> | ||||
|       <gdbpath/> | ||||
|       <configGdbScript/> | ||||
|       <runShellScript/> | ||||
|       <runGdbScript/> | ||||
|       <breakonloadinglibs>true</breakonloadinglibs> | ||||
|       <separatetty>false</separatetty> | ||||
|       <floatingtoolbar>false</floatingtoolbar> | ||||
|     </general> | ||||
|     <display> | ||||
|       <staticmembers>false</staticmembers> | ||||
|       <demanglenames>true</demanglenames> | ||||
|       <outputradix>10</outputradix> | ||||
|     </display> | ||||
|   </kdevdebugger> | ||||
|   <kdevcppsupport> | ||||
|     <qt> | ||||
|       <version>4</version> | ||||
|       <used>true</used> | ||||
|       <includestyle>4</includestyle> | ||||
|       <designerintegration>ExternalDesigner</designerintegration> | ||||
|       <root>/usr/lib/qt4</root> | ||||
|       <qmake>/usr/bin/qmake</qmake> | ||||
|       <designer>/usr/bin/designer</designer> | ||||
|       <designerpluginpaths/> | ||||
|     </qt> | ||||
|     <references> | ||||
|       <pcs>automatic_%2Fhome%2Fishanarora%2Fprojects%2Fqbittorrent</pcs> | ||||
|     </references> | ||||
|     <codecompletion> | ||||
|       <automaticCodeCompletion>true</automaticCodeCompletion> | ||||
|       <automaticArgumentsHint>true</automaticArgumentsHint> | ||||
|       <automaticHeaderCompletion>true</automaticHeaderCompletion> | ||||
|       <codeCompletionDelay>250</codeCompletionDelay> | ||||
|       <argumentsHintDelay>400</argumentsHintDelay> | ||||
|       <headerCompletionDelay>250</headerCompletionDelay> | ||||
|       <showOnlyAccessibleItems>false</showOnlyAccessibleItems> | ||||
|       <completionBoxItemOrder>0</completionBoxItemOrder> | ||||
|       <howEvaluationContextMenu>true</howEvaluationContextMenu> | ||||
|       <showCommentWithArgumentHint>true</showCommentWithArgumentHint> | ||||
|       <statusBarTypeEvaluation>false</statusBarTypeEvaluation> | ||||
|       <namespaceAliases>std=_GLIBCXX_STD;__gnu_cxx=std</namespaceAliases> | ||||
|       <processPrimaryTypes>true</processPrimaryTypes> | ||||
|       <processFunctionArguments>true</processFunctionArguments> | ||||
|       <preProcessAllHeaders>true</preProcessAllHeaders> | ||||
|       <parseMissingHeadersExperimental>true</parseMissingHeadersExperimental> | ||||
|       <resolveIncludePathsUsingMakeExperimental>true</resolveIncludePathsUsingMakeExperimental> | ||||
|       <alwaysParseInBackground>true</alwaysParseInBackground> | ||||
|       <usePermanentCaching>true</usePermanentCaching> | ||||
|       <alwaysIncludeNamespaces>false</alwaysIncludeNamespaces> | ||||
|       <includePaths>.;</includePaths> | ||||
|     </codecompletion> | ||||
|     <creategettersetter> | ||||
|       <prefixGet>get</prefixGet> | ||||
|       <prefixSet>set</prefixSet> | ||||
|       <prefixVariable>m_,_</prefixVariable> | ||||
|       <parameterName>theValue</parameterName> | ||||
|       <inlineGet>true</inlineGet> | ||||
|       <inlineSet>true</inlineSet> | ||||
|     </creategettersetter> | ||||
|     <splitheadersource> | ||||
|       <enabled>false</enabled> | ||||
|       <synchronize>true</synchronize> | ||||
|       <orientation>Vertical</orientation> | ||||
|     </splitheadersource> | ||||
|   </kdevcppsupport> | ||||
|   <kdevfilecreate> | ||||
|     <filetypes/> | ||||
|     <useglobaltypes> | ||||
|       <type ext="ui" /> | ||||
|       <type ext="cpp" /> | ||||
|       <type ext="h" /> | ||||
|     </useglobaltypes> | ||||
|   </kdevfilecreate> | ||||
|   <kdevtrollproject> | ||||
|     <general> | ||||
|       <activedir>src</activedir> | ||||
|     </general> | ||||
|     <run> | ||||
|       <directoryradio>executable</directoryradio> | ||||
|       <mainprogram>/home/ishanarora/projects/qbittorrent/src/qbittorrent</mainprogram> | ||||
|       <programargs/> | ||||
|       <globaldebugarguments/> | ||||
|       <globalcwd>/home/ishanarora/projects/qbittorrent</globalcwd> | ||||
|       <useglobalprogram>true</useglobalprogram> | ||||
|       <terminal>false</terminal> | ||||
|       <autocompile>true</autocompile> | ||||
|       <autoinstall>false</autoinstall> | ||||
|       <autokdesu>false</autokdesu> | ||||
|       <envvars/> | ||||
|     </run> | ||||
|     <make> | ||||
|       <abortonerror>true</abortonerror> | ||||
|       <runmultiplejobs>false</runmultiplejobs> | ||||
|       <numberofjobs>1</numberofjobs> | ||||
|       <dontact>false</dontact> | ||||
|       <makebin/> | ||||
|       <prio>0</prio> | ||||
|       <envvars/> | ||||
|     </make> | ||||
|     <qmake> | ||||
|       <savebehaviour>2</savebehaviour> | ||||
|       <replacePaths>false</replacePaths> | ||||
|       <disableDefaultOpts>true</disableDefaultOpts> | ||||
|     </qmake> | ||||
|   </kdevtrollproject> | ||||
|   <cppsupportpart> | ||||
|     <filetemplates> | ||||
|       <interfacesuffix>.h</interfacesuffix> | ||||
|       <implementationsuffix>.cpp</implementationsuffix> | ||||
|     </filetemplates> | ||||
|   </cppsupportpart> | ||||
|   <ctagspart> | ||||
|     <customArguments/> | ||||
|     <customTagfilePath>/home/ishanarora/projects/qbittorrent/tags</customTagfilePath> | ||||
|     <activeTagsFiles/> | ||||
|   </ctagspart> | ||||
|   <kdevdocumentation> | ||||
|     <projectdoc> | ||||
|       <docsystem/> | ||||
|       <docurl/> | ||||
|       <usermanualurl/> | ||||
|     </projectdoc> | ||||
|   </kdevdocumentation> | ||||
| </kdevelop> | ||||
| @@ -2,17 +2,3 @@ TEMPLATE = subdirs | ||||
|  | ||||
| SUBDIRS += src | ||||
|  | ||||
| include(version.pri) | ||||
|  | ||||
| # Dist | ||||
| dist.commands += rm -fR ../$${PROJECT_NAME}-$${PROJECT_VERSION}/ && | ||||
| dist.commands += git clone . ../$${PROJECT_NAME}-$${PROJECT_VERSION} && | ||||
| dist.commands += rm -fR ../$${PROJECT_NAME}-$${PROJECT_VERSION}/.git && | ||||
| dist.commands += rm -f ../$${PROJECT_NAME}-$${PROJECT_VERSION}/.gitignore && | ||||
| dist.commands += cd .. && | ||||
| dist.commands += tar czf $${PROJECT_NAME}-$${PROJECT_VERSION}.tar.gz $${PROJECT_NAME}-$${PROJECT_VERSION} && | ||||
| dist.commands += tar cf $${PROJECT_NAME}-$${PROJECT_VERSION}.tar $${PROJECT_NAME}-$${PROJECT_VERSION} && | ||||
| dist.commands += xz -f $${PROJECT_NAME}-$${PROJECT_VERSION}.tar && | ||||
| dist.commands += rm -fR $${PROJECT_NAME}-$${PROJECT_VERSION} | ||||
|  | ||||
| QMAKE_EXTRA_TARGETS += dist | ||||
|   | ||||
| @@ -6,8 +6,6 @@ | ||||
|   <dep type='qt4'> | ||||
|     <required/> | ||||
|   </dep> | ||||
|   <dep type='qt-dbus'> | ||||
|   </dep> | ||||
|   <dep type='pkg-config'> | ||||
|     <required/> | ||||
|   </dep> | ||||
| @@ -17,9 +15,10 @@ | ||||
|   <dep type='libboost'> | ||||
|     <required/> | ||||
|   </dep> | ||||
|   <dep type='libnotify'> | ||||
|   </dep> | ||||
|   <dep type='geoip-database'> | ||||
|   </dep> | ||||
|   <dep type='qtsingleapplication'> | ||||
|     <required/> | ||||
|   </dep> | ||||
| </qconf> | ||||
|   | ||||
| @@ -6,15 +6,12 @@ arg: with-libboost-lib=[path], Path to libboost library files | ||||
| -----END QCMOD----- | ||||
| */ | ||||
| #include <boost/version.hpp> | ||||
| #include <libtorrent/version.hpp> | ||||
|  | ||||
| class qc_libboost : public ConfObj | ||||
| { | ||||
| public: | ||||
| 	qc_libboost(Conf *c) : ConfObj(c) {} | ||||
| 	QString name() const { return "libboost"; } | ||||
| 	QString shortname() const { return "libboost"; } | ||||
|  | ||||
|   QString findBoostLib(QString path, QString lib) const { | ||||
|     QString name; | ||||
|     QDir libDir(path); | ||||
| @@ -38,46 +35,69 @@ public: | ||||
|     } | ||||
|     return name; | ||||
|   } | ||||
|  | ||||
| 	bool exec(){ | ||||
|         	QString s; | ||||
| 		s = conf->getenv("QC_WITH_LIBBOOST_INC"); | ||||
| 		if(!s.isEmpty()) { | ||||
| 			if(!conf->checkHeader(s, "boost/format.hpp")) { | ||||
| 				return false; | ||||
|       			} | ||||
| 			if(!conf->checkHeader(s, "boost/date_time/posix_time/posix_time.hpp")) { | ||||
| 				return false; | ||||
|       			} | ||||
| 			if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) { | ||||
| 				return false; | ||||
|       			} | ||||
| 			if(!conf->checkHeader(s, "boost/thread.hpp")) { | ||||
| 				return false; | ||||
|       			} | ||||
| 		}else{ | ||||
| 			QStringList sl; | ||||
|     QString s = conf->getenv("QC_WITH_LIBBOOST_INC"); | ||||
|     if (!s.isEmpty()) | ||||
|       sl << s; | ||||
| 			sl << "/usr/include"; | ||||
| 			sl << "/usr/local/include"; | ||||
| 			bool found = false; | ||||
|     foreach (s, sl) { | ||||
|       if (conf->checkHeader(s, "boost/format.hpp") | ||||
| #if LIBTORRENT_VERSION_MAJOR == 0 && LIBTORRENT_VERSION_MINOR < 16 | ||||
|           && conf->checkHeader(s, "boost/filesystem/path.hpp") | ||||
| #endif | ||||
|          ) { | ||||
| 			foreach(s, sl){ | ||||
| 				if(conf->checkHeader(s, "boost/format.hpp")){ | ||||
| 					found = true; | ||||
| 					break; | ||||
| 				} | ||||
| 			} | ||||
|     if (!found) | ||||
| 			if(!found) { | ||||
| 				return false; | ||||
|  | ||||
|           		} | ||||
| 			if(!conf->checkHeader(s, "boost/date_time/posix_time/posix_time.hpp")) { | ||||
| 				return false; | ||||
|       			} | ||||
| 			if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) { | ||||
| 				return false; | ||||
|       			} | ||||
| 			if(!conf->checkHeader(s, "boost/thread.hpp")) { | ||||
| 				return false; | ||||
|       			} | ||||
| 		} | ||||
| 		conf->addIncludePath(s); | ||||
|  | ||||
| 		// Find library | ||||
| 		s = conf->getenv("QC_WITH_LIBBOOST_LIB"); | ||||
|     QStringList required_libs; | ||||
| #if BOOST_VERSION >= 103500 | ||||
|       required_libs << "system";  | ||||
| #endif | ||||
| #if LIBTORRENT_VERSION_MAJOR == 0 && LIBTORRENT_VERSION_MINOR < 16 | ||||
|     required_libs << "filesystem" ; | ||||
| #endif | ||||
|     required_libs << "thread"; | ||||
|     if(conf->getenv("QC_DISABLE_GUI").isEmpty()) { | ||||
|       // Not required by nox | ||||
|       required_libs << "filesystem" << "thread"; | ||||
|     } | ||||
|     QStringList libDirs; | ||||
|     if (!s.isEmpty()) | ||||
|       libDirs << s; | ||||
|     libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/"; | ||||
|  | ||||
|     foreach(const QString& lib, required_libs) { | ||||
|       if(!s.isEmpty()) { | ||||
|         QString detected_name = findBoostLib(s, lib); | ||||
|         if(detected_name.isEmpty()) { | ||||
|           printf("Could not find boost %s library!\n", qPrintable(lib)); | ||||
|           return false; | ||||
|         } else { | ||||
|           conf->addLib("-l"+detected_name); | ||||
|         } | ||||
|       } else { | ||||
|         bool found = false; | ||||
|         foreach(const QString& libDir, libDirs) { | ||||
|           QString detected_name = findBoostLib(libDir, lib); | ||||
| @@ -91,6 +111,7 @@ public: | ||||
|           printf("Could not find boost %s library!\n", qPrintable(lib)); | ||||
|           return false; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
| 		return true; | ||||
| 	} | ||||
|   | ||||
| @@ -24,7 +24,7 @@ public: | ||||
| 		QString version, libs, other; | ||||
| 		VersionMode mode = VersionMin; | ||||
| 		if(conf->findPkgConfig("libnotify", mode, req_ver, &version, &incs, &libs, &other)) { | ||||
| 			conf->addExtra("CONFIG += libnotify"); | ||||
| 			conf->addDefine("WITH_LIBNOTIFY"); | ||||
| 			for(int n = 0; n < incs.count(); ++n) | ||||
| 				conf->addIncludePath(incs[n]); | ||||
| 			if(!libs.isEmpty()) | ||||
|   | ||||
| @@ -8,17 +8,20 @@ class qc_libtorrent_rasterbar : public ConfObj | ||||
| { | ||||
| public: | ||||
| 	qc_libtorrent_rasterbar(Conf *c) : ConfObj(c) {} | ||||
| 	QString name() const { return "libtorrent-rasterbar >= 0.15.0"; } | ||||
| 	QString name() const { return "libtorrent-rasterbar >= 0.14.4"; } | ||||
| 	QString shortname() const { return "libtorrent-rasterbar"; } | ||||
| 	bool exec(){ | ||||
| 		QStringList incs; | ||||
| 		QString req_ver = "0.15.0"; | ||||
| 		QString req_ver = "0.14.4"; | ||||
| 		QString version, libs, other; | ||||
| 		VersionMode mode = VersionMin; | ||||
| 		if(!conf->findPkgConfig("libtorrent-rasterbar", mode, req_ver, &version, &incs, &libs, &other)) | ||||
| 			return false; | ||||
| 		for(int n = 0; n < incs.count(); ++n) | ||||
| 			conf->addIncludePath(incs[n]); | ||||
| 		if(conf->getenv("QC_DISABLE_GUI").isEmpty()) { | ||||
|   		  conf->addLib("-lcrypto"); | ||||
|                 } | ||||
| 		return true; | ||||
| 	} | ||||
| }; | ||||
|   | ||||
| @@ -1,31 +0,0 @@ | ||||
| /* | ||||
| -----BEGIN QCMOD----- | ||||
| name: qt-dbus | ||||
| -----END QCMOD----- | ||||
| */ | ||||
| // see  Conf::findPkgConfig | ||||
| class qc_qt_dbus : public ConfObj | ||||
| { | ||||
| public: | ||||
| 	qc_qt_dbus(Conf *c) : ConfObj(c) {} | ||||
| 	QString name() const { return "QtDBus >= 4.5"; } | ||||
| 	QString shortname() const { return "qt-dbus"; } | ||||
|         QString checkString() const { | ||||
|                 if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) | ||||
|                         return ""; | ||||
|                 return ConfObj::checkString(); | ||||
|         } | ||||
| 	bool exec(){ | ||||
|                 if(!conf->getenv("QC_DISABLE_qt_dbus").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) | ||||
|                   return false; | ||||
| 		QStringList incs; | ||||
| 		QString req_ver = "4.5.0"; | ||||
| 		QString version, libs, other; | ||||
| 		VersionMode mode = VersionMin; | ||||
| 		if(conf->findPkgConfig("QtDBus", mode, req_ver, &version, &incs, &libs, &other)) { | ||||
|                         conf->addExtra("CONFIG += dbus"); | ||||
| 			return true; | ||||
|                 } | ||||
| 		return false; | ||||
| 	} | ||||
| }; | ||||
| @@ -1,31 +0,0 @@ | ||||
| /* | ||||
| -----BEGIN QCMOD----- | ||||
| name: qt-svg | ||||
| -----END QCMOD----- | ||||
| */ | ||||
| // see  Conf::findPkgConfig | ||||
| class qc_qt_svg : public ConfObj | ||||
| { | ||||
| public: | ||||
| 	qc_qt_svg(Conf *c) : ConfObj(c) {} | ||||
| 	QString name() const { return "QtSvg >= 4.5"; } | ||||
| 	QString shortname() const { return "qt-svg"; } | ||||
|         QString checkString() const { | ||||
|                 if(!conf->getenv("QC_DISABLE_qt_svg").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) | ||||
|                         return ""; | ||||
|                 return ConfObj::checkString(); | ||||
|         } | ||||
| 	bool exec(){ | ||||
|                 if(!conf->getenv("QC_DISABLE_qt_svg").isEmpty() || !conf->getenv("QC_DISABLE_GUI").isEmpty()) | ||||
|                   return false; | ||||
| 		QStringList incs; | ||||
| 		QString req_ver = "4.5.0"; | ||||
| 		QString version, libs, other; | ||||
| 		VersionMode mode = VersionMin; | ||||
| 		if(conf->findPkgConfig("QtSvg", mode, req_ver, &version, &incs, &libs, &other)) { | ||||
|                         conf->addExtra("CONFIG += svg"); | ||||
| 			return true; | ||||
|                 } | ||||
| 		return false; | ||||
| 	} | ||||
| }; | ||||
							
								
								
									
										26
									
								
								qcm/qt4.qcm
									
									
									
									
									
								
							
							
						
						| @@ -1,7 +1,6 @@ | ||||
| /* | ||||
| -----BEGIN QCMOD----- | ||||
| name: Qt >= 4.6 | ||||
| arg: enable-debug, Enable debug mode | ||||
| name: Qt >= 4.4 | ||||
| arg: disable-gui, Disable qBittorrent Graphical user interface for headless running | ||||
| -----END QCMOD----- | ||||
| */ | ||||
| @@ -9,28 +8,13 @@ class qc_qt4 : public ConfObj | ||||
| { | ||||
| public: | ||||
| 	qc_qt4(Conf *c) : ConfObj(c) {} | ||||
| 	QString name() const { return "Qt >= 4.6"; } | ||||
| 	QString shortname() const { return "Qt 4.6"; } | ||||
| 	QString name() const { return "Qt >= 4.4"; } | ||||
| 	QString shortname() const { return "Qt 4.4"; } | ||||
| 	bool exec() | ||||
| 	{ | ||||
|                 // NOX mode | ||||
| 		if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) { | ||||
| 			conf->addExtra("CONFIG += nox"); | ||||
| 			conf->addDefine("DISABLE_GUI"); | ||||
| 		}	 | ||||
|                 // Debug mode | ||||
|                 if(!conf->getenv("QC_ENABLE_DEBUG").isEmpty()) { | ||||
|                   conf->addExtra("CONFIG -= release"); | ||||
|                   conf->addExtra("CONFIG += debug"); | ||||
|                 } else { | ||||
|                   conf->addExtra("CONFIG -= debug"); | ||||
|                   conf->addExtra("CONFIG += release"); | ||||
|                 } | ||||
|                 #ifdef Q_OS_FREEBSD | ||||
|                   conf->addLib("-lexecinfo"); | ||||
|                   conf->addExtra("MANPREFIX = $$PREFIX"); | ||||
|                 #else | ||||
|                   conf->addExtra("MANPREFIX = $$PREFIX/share");  | ||||
|                 #endif | ||||
| 		return(QT_VERSION >= 0x040600); | ||||
| 		return(QT_VERSION >= 0x040400); | ||||
| 	} | ||||
| }; | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| /* | ||||
| -----BEGIN QCMOD----- | ||||
| name: qtsingleapplication | ||||
| name: libboost | ||||
| arg: with-qtsingleapplication=[system|shipped], Use the shipped qtsingleapplication library or the system one | ||||
| -----END QCMOD----- | ||||
| */ | ||||
| @@ -16,7 +16,7 @@ public: | ||||
|                 s = conf->getenv("QC_WITH_QTSINGLEAPPLICATION"); | ||||
|                 if(s.compare("system", Qt::CaseInsensitive) == 0) { | ||||
|                   // System | ||||
|                   conf->addExtra("CONFIG += usesystemqtsingleapplication"); | ||||
|                   conf->addDefine("USE_SYSTEM_QTSINGLEAPPLICATION"); | ||||
|                   printf(" [system] "); | ||||
|                 } else { | ||||
|                   printf(" [shipped] "); | ||||
|   | ||||
							
								
								
									
										1218
									
								
								src/GUI.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -37,41 +37,36 @@ | ||||
| #include "ui_mainwindow.h" | ||||
| #include "qtorrenthandle.h" | ||||
|  | ||||
| class QBtSession; | ||||
| class Bittorrent; | ||||
| class QTimer; | ||||
| class downloadFromURL; | ||||
| class SearchEngine; | ||||
| class QCloseEvent; | ||||
| class RSSImp; | ||||
| class QShortcut; | ||||
| class about; | ||||
| class options_imp; | ||||
| class QTabWidget; | ||||
| class TransferListWidget; | ||||
| class TransferListFiltersWidget; | ||||
| class QSplitter; | ||||
| class PropertiesWidget; | ||||
| class StatusBar; | ||||
| class consoleDlg; | ||||
| class about; | ||||
| class TorrentCreatorDlg; | ||||
| class createtorrent; | ||||
| class downloadFromURL; | ||||
| class HidableTabWidget; | ||||
| class LineEdit; | ||||
| class ExecutionLog; | ||||
| class PowerManagement; | ||||
|  | ||||
| QT_BEGIN_NAMESPACE | ||||
| class QCloseEvent; | ||||
| class QFileSystemWatcher; | ||||
| class QShortcut; | ||||
| class QSplitter; | ||||
| class QTabWidget; | ||||
| class QTimer; | ||||
| QT_END_NAMESPACE | ||||
|  | ||||
| class MainWindow : public QMainWindow, private Ui::MainWindow{ | ||||
| class GUI : public QMainWindow, private Ui::MainWindow{ | ||||
|   Q_OBJECT | ||||
|  | ||||
| public: | ||||
|   // Construct / Destruct | ||||
|   MainWindow(QWidget *parent=0, const QStringList& torrentCmdLine = QStringList()); | ||||
|   ~MainWindow(); | ||||
|   GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList()); | ||||
|   ~GUI(); | ||||
|   // Methods | ||||
|   QWidget* getCurrentTabWidget() const; | ||||
|   TransferListWidget* getTransferList() const { return transferList; } | ||||
| @@ -79,29 +74,30 @@ public: | ||||
|   PropertiesWidget *getProperties() const { return properties; } | ||||
|  | ||||
| public slots: | ||||
|   void trackerAuthenticationRequired(const QTorrentHandle& h); | ||||
|   void trackerAuthenticationRequired(QTorrentHandle& h); | ||||
|   void setTabText(int index, QString text) const; | ||||
|   void showNotificationBaloon(QString title, QString msg) const; | ||||
|   void downloadFromURLList(const QStringList& urls); | ||||
|   void updateAltSpeedsBtn(bool alternative); | ||||
|   void updateNbTorrents(); | ||||
|   void updateNbTorrents(unsigned int nb_downloading, unsigned int nb_seeding, unsigned int nb_active, unsigned int nb_inactive, unsigned int nb_paused); | ||||
|   void deleteBTSession(); | ||||
|  | ||||
| protected slots: | ||||
|   // GUI related slots | ||||
|   void dropEvent(QDropEvent *event); | ||||
|   void dragEnterEvent(QDragEnterEvent *event); | ||||
|   void toggleVisibility(QSystemTrayIcon::ActivationReason e = QSystemTrayIcon::Trigger); | ||||
|   void toggleVisibility(QSystemTrayIcon::ActivationReason e); | ||||
|   void on_actionAbout_triggered(); | ||||
|   void on_actionCreate_torrent_triggered(); | ||||
|   void on_actionWebsite_triggered() const; | ||||
|   void on_actionBugReport_triggered() const; | ||||
|   void on_actionShow_console_triggered(); | ||||
|   void balloonClicked(); | ||||
|   void writeSettings(); | ||||
|   void readSettings(); | ||||
|   void on_actionExit_triggered(); | ||||
|   void createTrayIcon(); | ||||
|   void fullDiskError(const QTorrentHandle& h, QString msg) const; | ||||
|   void fullDiskError(QTorrentHandle& h, QString msg) const; | ||||
|   void handleDownloadFromUrlFailure(QString, QString) const; | ||||
|   void createSystrayDelayed(); | ||||
|   void tab_changed(int); | ||||
| @@ -109,9 +105,6 @@ protected slots: | ||||
|   void defineUILockPassword(); | ||||
|   bool unlockUI(); | ||||
|   void notifyOfUpdate(QString); | ||||
|   void showConnectionSettings(); | ||||
|   void minimizeWindow(); | ||||
|   void updateTrayIconMenu(); | ||||
|   // Keyboard shortcuts | ||||
|   void createKeyboardShortcuts(); | ||||
|   void displayTransferTab() const; | ||||
| @@ -129,18 +122,13 @@ protected slots: | ||||
|   void addTorrent(QString path); | ||||
|   void addUnauthenticatedTracker(const QPair<QTorrentHandle,QString> &tracker); | ||||
|   void processDownloadedFiles(QString path, QString url); | ||||
|   void processNewMagnetLink(const QString& link); | ||||
|   void finishedTorrent(const QTorrentHandle& h) const; | ||||
|   void askRecursiveTorrentDownloadConfirmation(const QTorrentHandle &h); | ||||
|   void finishedTorrent(QTorrentHandle& h) const; | ||||
|   void askRecursiveTorrentDownloadConfirmation(QTorrentHandle &h); | ||||
|   // Options slots | ||||
|   void on_actionOptions_triggered(); | ||||
|   void optionsSaved(); | ||||
|   // HTTP slots | ||||
|   void on_actionDownload_from_URL_triggered(); | ||||
| #if defined(Q_WS_WIN) || defined(Q_WS_MAC) | ||||
|   void handleUpdateCheckFinished(bool update_available, QString new_version); | ||||
|   void handleUpdateInstalled(QString error_msg); | ||||
| #endif | ||||
|  | ||||
| protected: | ||||
|   void closeEvent(QCloseEvent *); | ||||
| @@ -149,22 +137,19 @@ protected: | ||||
|   void displayRSSTab(bool enable); | ||||
|   void displaySearchTab(bool enable); | ||||
|  | ||||
| private: | ||||
|   QIcon getSystrayIcon() const; | ||||
|  | ||||
| private: | ||||
|   QFileSystemWatcher *executable_watcher; | ||||
|   // Bittorrent | ||||
|   Bittorrent *BTSession; | ||||
|   QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed? | ||||
|   // GUI related | ||||
|   bool m_posInitialized; | ||||
|   QTimer *guiUpdater; | ||||
|   HidableTabWidget *tabs; | ||||
|   StatusBar *status_bar; | ||||
|   QPointer<options_imp> options; | ||||
|   QPointer<consoleDlg> console; | ||||
|   QPointer<about> aboutDlg; | ||||
|   QPointer<TorrentCreatorDlg> createTorrentDlg; | ||||
|   QPointer<createtorrent> createTorrentDlg; | ||||
|   QPointer<downloadFromURL> downloadFromURLDialog; | ||||
|   QPointer<QSystemTrayIcon> systrayIcon; | ||||
|   QPointer<QTimer> systrayCreator; | ||||
| @@ -183,32 +168,22 @@ private: | ||||
|   QShortcut *switchRSSShortcut; | ||||
|   // Widgets | ||||
|   QAction *prioSeparator; | ||||
|   QAction *prioSeparatorMenu; | ||||
|   QAction *prioSeparator2; | ||||
|   QSplitter *hSplitter; | ||||
|   QSplitter *vSplitter; | ||||
|   QMenu *lockMenu; | ||||
|   // Search | ||||
|   QPointer<SearchEngine> searchEngine; | ||||
|   // RSS | ||||
|   QPointer<RSSImp> rssWidget; | ||||
|   // Execution Log | ||||
|   QPointer<ExecutionLog> m_executionLog; | ||||
|   // Power Management | ||||
|   PowerManagement *m_pwr; | ||||
|   QTimer *preventTimer; | ||||
|  | ||||
| private slots: | ||||
|     void on_actionSearch_engine_triggered(); | ||||
|     void on_actionRSS_Reader_triggered(); | ||||
|     void on_actionSpeed_in_title_bar_triggered(); | ||||
|     void on_actionTop_tool_bar_triggered(); | ||||
|     void on_action_Import_Torrent_triggered(); | ||||
|     void on_actionShutdown_when_downloads_complete_triggered(); | ||||
|     void on_actionDonate_money_triggered(); | ||||
|     void on_actionExecution_Logs_triggered(bool checked); | ||||
|     void on_actionAutoExit_qBittorrent_toggled(bool ); | ||||
|     void on_actionAutoSuspend_system_toggled(bool ); | ||||
|     void on_actionAutoShutdown_system_toggled(bool ); | ||||
|     // Check for active torrents and set preventing from suspend state | ||||
|     void checkForActiveTorrents(); | ||||
| }; | ||||
|  | ||||
| #endif | ||||
							
								
								
									
										
											BIN
										
									
								
								src/Icons/downarrow.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 722 B | 
| Before Width: | Height: | Size: 643 B | 
| Before Width: | Height: | Size: 408 B | 
| Before Width: | Height: | Size: 604 B | 
| Before Width: | Height: | Size: 591 B | 
| Before Width: | Height: | Size: 643 B | 
| Before Width: | Height: | Size: 600 B | 
							
								
								
									
										
											BIN
										
									
								
								src/Icons/flags/algeria.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 473 B | 
| Before Width: | Height: | Size: 497 B | 
| Before Width: | Height: | Size: 488 B | 
| Before Width: | Height: | Size: 428 B |