1
mirror of https://github.com/qbittorrent/qBittorrent synced 2025-10-09 18:32:15 +02:00

Compare commits

...

143 Commits

Author SHA1 Message Date
sledgehammer999
99a596ab8d Bump to 3.1.11 2014-10-22 22:32:25 +03:00
sledgehammer999
9a74b27a85 Update Changelog. 2014-10-22 22:28:00 +03:00
sledgehammer999
b12f250642 Use boost:bind() as the docs show. Allows compilation with older gcc versions.
Conflicts:
	src/torrentcreator/torrentcreatorthread.cpp
2014-10-22 22:02:08 +03:00
sledgehammer999
2dede108e7 Don't show multiple unlock UI dialogs. Closes #2040. 2014-10-22 22:00:41 +03:00
Ivan Sorokin
7cf1e7b8ca Optimize misc::naturalSort()
Previous implementation used QRegExp to find a first digit. That is
utterly ineffective.

When torrent list is sorted by name (a column that uses the naturalSort() for
comparison), naturalSort could take 18.6% of the time of the UI thread. Optimize it
so now it takes 1% of the time of the UI thread.
2014-10-22 22:00:27 +03:00
sledgehammer999
e1934e8c16 Use the correct character encoding for exceptions coming from libtorrent.
Conflicts:
	src/qtlibtorrent/qbtsession.cpp
2014-10-22 21:59:26 +03:00
Gabriele
14b958216b Increase maximum size of system icons
System icons were limited to a size 24x24 pixels, while the embedded
icons are 32x32 pixels big.
2014-10-22 21:56:58 +03:00
Gabriele
1120c14890 Make Windows icons suitable for high dpi screens
The maximum size of the icons is now 256x256 pixels so that
Windows can correctly scale them.

The 256x256 layer for the main icon was created upscaling the
192x192 png available in the source tree. Hence, the icon might
not be perfect at the maximum size.

The icon for the file association was made from scratch and it's
visually similar to the previous icon.
2014-10-22 21:56:44 +03:00
Gabriele
88075d9226 Allow relative torrent paths when qBittorrent is already running
Adding new torrents from the command line while qBittorrent was
already running was possible only providing the absolute path to
the file.
2014-10-22 21:56:29 +03:00
Gabriele
36464fcd59 Set minimum width of the left panel in the preferences
Change also the default width and set it to the minimum.
This minimum width prevents the horizontal scrollbar from appearing.

The size of the items in the list depends on the Qt style, so the
left panel could be few pixels larger than required with some of them.
2014-10-22 21:56:10 +03:00
Gabriele
f7f1c81238 Don't stretch the last section in the transfer list
Since the content of some sections is right aligned, automatically
resizing the width of the last one to fill the header could be
sometimes undesired.

Let the user choose the width of each section and never change his
preference.
2014-10-22 21:55:56 +03:00
Bruno Barbieri
b8da4bcf74 Fix search inconsistency between Python versions
Closes #2012
2014-10-22 21:55:41 +03:00
Gabriele
bf7a6aceb0 Remove unneeded tooltip 2014-10-22 21:55:24 +03:00
DoumanAsh
3ef2da898b Pirate bay search engine update 2014-10-22 21:55:10 +03:00
Bruno Barbieri
d0cd939143 Fix search engine encoding issues with python3 on Windows
Closes #1996
2014-10-22 21:54:50 +03:00
Bruno Barbieri
e36d76d457 Replace deprecated sgmllib with HTMLParser/html.parser 2014-10-22 21:54:38 +03:00
Bruno Barbieri
daa4314093 Fix TorrentReactor search plugin 2014-10-22 21:54:25 +03:00
sledgehammer999
f707d6c9d5 Merge pull request #2052 from pmzqla/v3_1_x-charset
WebUI: Set correct HTTP Content-Type in case of forbidden access
2014-10-19 17:27:20 +03:00
Gabriele
83b6619b16 WebUI: Set correct HTTP Content-Type in case of forbidden access
The error message is an utf-8 string. With no charset specified,
web browsers will likely use the wrong one making reading the message
in some languages impossibile.
2014-10-19 16:13:18 +02:00
sledgehammer999
8b322648c8 Change the program updater's URL for Windows and Mac OS X. Closes #1954.
Conflicts:
	src/programupdater.cpp
2014-10-12 16:43:27 +03:00
sledgehammer999
d159117965 WINDOWS: Fix magnet link association. Closes #1952. 2014-10-12 15:59:39 +03:00
sledgehammer999
1fd2dce0bd Fix Mac OS X compilation. 2014-10-06 02:36:03 +03:00
Ivan Sorokin
f97238e1c9 Fix heap-buffer-overrun in PropertiesWidget::displayFilesListMenu 2014-10-04 21:39:47 +03:00
paolo-sz
67355810ae Correctly detect python in PATH 2014-10-04 21:39:26 +03:00
sledgehammer999
7246b0c254 Bump to 3.1.10 2014-09-21 20:50:00 +03:00
sledgehammer999
03345b95c1 Update Changelog. 2014-09-21 20:11:41 +03:00
sledgehammer999
16f6e26f67 Fix again libtorrent 0.15.x compilation. 2014-09-21 20:11:40 +03:00
sledgehammer999
5e643ffefd Sync translations from Transifex and run lupdate. 2014-09-21 19:55:48 +03:00
sledgehammer999
0bd4308d0f Truly sync the changes in the file assocations code/installer with master. 2014-09-21 19:50:37 +03:00
Vladimir Golovnev (Glassez)
c78ad12144 Fix Windows file associations creation.
Now qBittorrent create global ProgId during installation (using HKLM hive)
and allow to associate .torrent files with it (using HKCU).

Conflicts:
	src/preferences/preferences.h
	src/windows/installer.nsi
	src/windows/uninstaller.nsi
2014-09-21 19:40:38 +03:00
sledgehammer999
cb838edb50 Fix compilation with libtorrent 0.15.x. 2014-09-21 14:38:38 +03:00
sledgehammer999
8fac3c793d Fix large cache support on amd64 arch pt2. 2014-09-21 14:02:19 +03:00
sledgehammer999
26896de9ad Consider queued items before deciding to 'auto-shutdown on downloads completion'. Closes #1942. 2014-09-21 13:59:02 +03:00
Nick Tiskov
238715ad22 Work around magnet redirection in feeds 2014-09-21 13:58:47 +03:00
Nick Tiskov
a3710251a7 Fix large cache support on amd64 arch
Conflicts:
	src/preferences/preferences.cpp
2014-09-21 13:58:29 +03:00
masux
f6634ccacd This fix qbittorrent/qBittorrent#1949 2014-09-21 13:56:04 +03:00
Martin Janco
e4df557208 Fixed extratorrent.cc search engine. 2014-09-15 17:40:13 +03:00
sledgehammer999
355c55452a Sync translations from Transifex and run lupdate. 2014-09-14 23:57:25 +03:00
sledgehammer999
87350e3842 Merge pull request #1573 from lojack5/lojack-fix-import-torrent
fix import torrent
2014-09-14 23:28:53 +03:00
sledgehammer999
0031cfc60a Don't display the Search Engine tab by default.
Conflicts:
	src/preferences/preferences.cpp
2014-09-14 23:24:22 +03:00
sledgehammer999
d0374dd425 WINDOWS: Search first in PATH for python. Closes #956.
Conflicts:
	src/mainwindow.cpp
2014-09-14 23:24:21 +03:00
sledgehammer999
d8c8d51386 WINDOWS: Can now correctly detect 64bit and 32bit python installations on 64bit Windows. Closes #1148 #445 #795 #1708.
Conflicts:
	src/preferences/preferences.cpp
2014-09-14 23:07:42 +03:00
sledgehammer999
5740c933fb WINDOWS: Don't create keys in the registry if python isn't found. Closes #1370.
Conflicts:
	src/preferences/preferences.cpp
2014-09-14 23:06:08 +03:00
sledgehammer999
1f13dd0cc3 WINDOWS: Check for python before creating the search engine tab. Prevents the creation of python specific files in the user's PC if no python is found. Closes #1370.
Conflicts:
	src/mainwindow.cpp
	src/searchengine/searchengine.cpp
	src/searchengine/searchengine.h
2014-09-14 22:32:58 +03:00
sledgehammer999
84d9fc2da2 SMTP: send the local hostname as FQDN. See discussion in #1845 for more info.
Conflicts:
	src/smtp.cpp
2014-09-13 18:01:59 +03:00
sledgehammer999
47ec418e9c Forward declare classes where possible in 'TransferListWidget'. 2014-09-13 17:05:44 +03:00
sledgehammer999
72ca101830 Show stalled downloads that are uploading under the 'Active' filter. Closes #1654." 2014-09-13 17:05:31 +03:00
sledgehammer999
0625ef62c1 SMTP: Fix edge case where nothing was sent when no authentication was needed. Relates to #1845. 2014-09-02 17:57:47 +03:00
sledgehammer999
8161185b08 Fix build. 2014-09-02 15:28:26 +03:00
sledgehammer999
739132ec82 Don't use IPv4 addresses when the user has enabled IPv6 address in the settings.
Conflicts:
	src/qtlibtorrent/qbtsession.cpp
	src/smtp.cpp
2014-09-02 15:09:00 +03:00
sledgehammer999
cf61dd3d09 SMTP: Fix finding the local address. 2014-09-02 15:07:18 +03:00
sledgehammer999
82768e2098 SMTP: Send the IP of the configured Network Interface. Relates to #1845.
Conflicts:
	src/smtp.cpp
2014-09-01 15:13:32 +03:00
sledgehammer999
3b9dc7add2 SMTP: Support multiline greeting from server in INIT state. Thanks to Ivanov Juriy for helping identify the problem. Relates to #1845. 2014-08-31 14:33:37 +03:00
sledgehammer999
af2145d567 Fix available disk space label on single file torrents. 2014-08-31 00:15:47 +03:00
sledgehammer999
d7d604d83a Don't translate file extensions. Closes #1907. 2014-08-30 22:18:44 +03:00
sledgehammer999
9aaf958fad Don't display the context menu in 'Content' and 'HTTP Sources' buttons when no torrent is selected. It prevents crashes. Closes #1906, #1900. 2014-08-30 19:54:01 +03:00
Ivanov Juriy
20204ac4c4 Add peer port column to PeerListWidget. Closes #1650. 2014-08-30 19:28:29 +03:00
sledgehammer999
0c3d5f0430 Right align numerical values in the transfer list. Partially revert 51a9a9aab. Closes #1903. 2014-08-30 18:52:32 +03:00
Ivanov Juriy
820a558bca add host address parameter to helo smtp request
Conflicts:
	src/smtp.cpp
2014-08-28 23:20:58 +03:00
sledgehammer999
19ac362103 Possible fix for crash in RSS code. Closes #1901. 2014-08-28 18:52:48 +03:00
Benjamin Hutchins
f64e8f9459 Removed essentially useless "Visit website" iframe and changed it to a regular link. Improves fix qbittorrent/qBittorrent#1343 2014-08-28 18:31:45 +03:00
Benjamin Hutchins
bc77a7c2d1 Removed broken "Documentation" iframe from the webui. Improves fix qbittorrent/qBittorrent#1343 2014-08-28 18:31:34 +03:00
Benjamin Hutchins
1a7f2b29b7 Removed broken Report a bug iframe from the webui. fixes qbittorrent/qBittorrent#1343 2014-08-28 18:31:23 +03:00
sledgehammer999
037aaf752e Don't disable DHT/LSD/UPnP in the GUI when anonymous mode is enabled.
Conflicts:
	src/preferences/options_imp.cpp
2014-08-26 00:41:52 +03:00
sledgehammer999
5cb04f9b31 Set 'Cancel' as the default button in the shutdown confirmation dialog. 2014-08-23 23:23:33 +03:00
sledgehammer999
ac166a89ae Fix libtorrent 0.15.x compilation. 2014-08-23 22:51:04 +03:00
sledgehammer999
cd9515982d Sync translations from Transifex and run lupdate. 2014-08-23 22:27:58 +03:00
sledgehammer999
808a4d7e9b Added 'Shutdown now' button in shutdown confirmation dialog. Closes #969.
Conflicts:
	src/qtlibtorrent/qbtsession.cpp
2014-08-23 22:18:51 +03:00
sledgehammer999
f75f5616b1 Split ShutdownConfirmDlg into .h/.cpp files. 2014-08-23 21:56:59 +03:00
sledgehammer999
da81d3351d Don't listen on IPv6 address by default. Prevents network connectivity problems. Closes #1880.
Conflicts:
	src/preferences/advancedsettings.h
	src/preferences/preferences.cpp
	src/preferences/preferences.h
	src/qtlibtorrent/qbtsession.cpp
2014-08-23 21:48:21 +03:00
sledgehammer999
9d05d864e2 Sync translations from Transifex and run lupdate. 2014-08-15 13:36:44 +03:00
sledgehammer999
9aee1632ae Add 'Open' and 'Open Containing Folder' entries in the content's right-click menu. Closes #1143.
Conflicts:
	src/properties/propertieswidget.cpp
2014-08-15 12:59:45 +03:00
sledgehammer999
714cfe3241 Fix the adding of .torrent files via http links which was broken by 6f5f661f3. 2014-08-15 11:54:03 +03:00
sledgehammer999
ddbe5b18d5 Sort finished torrents by completed date when sorting by queue number. 2014-08-15 02:25:38 +03:00
sledgehammer999
15a948675b Don't mix finished/unifinished torrents when sorting by ETA. Closes #1688. 2014-08-15 02:25:14 +03:00
sledgehammer999
cea3f71e61 Added 'Ratio Limit' column. Closes #936. 2014-08-14 21:27:29 +03:00
sledgehammer999
d04f829e35 Add 'Completed' column. Closes #1241.
Conflicts:
	src/qtlibtorrent/torrentmodel.cpp
2014-08-14 21:27:08 +03:00
sledgehammer999
e252c19342 Sync translations from Transifex and run lupdate. 2014-08-10 01:26:17 +03:00
sledgehammer999
2f0d6815c9 Show disk space while retrieving metadata. Closes #1693. 2014-08-10 00:58:02 +03:00
sledgehammer999
54eaf51880 When qBT is launched with a magnet don't show it in the transferlist while the metadata are being loaded in the background. 2014-08-10 00:39:41 +03:00
sledgehammer999
6f5f661f30 Show the loaded torrents in the transferlist when qBT is launched with a torrent/magnet and the AddNewTorrentDialog is showing. Closes #1564.
Conflicts:
	src/mainwindow.cpp
2014-08-10 00:38:51 +03:00
sledgehammer999
8659fec3f2 Don't shrink transferlist rows when scrolling horizontally. Closes #1613. 2014-08-08 23:34:00 +03:00
sledgehammer999
2cf8b86dad Revert "Fix WebUI sort by size/speed for some locales (with comma as decimal point)."
This reverts commit 6cf780f57c.
2014-08-08 03:11:29 +03:00
sledgehammer999
0b0e9675c4 Revert "Fix WebUI sort by ratio for some locales (with comma as decimal point)."
This reverts commit ef328f83c5.
2014-08-08 03:11:11 +03:00
sledgehammer999
8267bd6434 Don't localize double numbers in the webui. Closes #1525.
Conflicts:
	src/misc.h
	src/webui/btjson.cpp
2014-08-08 03:09:47 +03:00
sledgehammer999
6593cb774d Run lupdate. 2014-08-08 00:09:24 +03:00
sledgehammer999
fcee431dee Sync translations from Transifex. 2014-08-08 00:05:42 +03:00
sledgehammer999
60d7e3ef30 Allow disabling of OS cache. This will prevent RAM increases on Windows when seeding many files. Closes #1699.
Conflicts:
	src/preferences/advancedsettings.h
	src/preferences/preferences.cpp
	src/preferences/preferences.h
	src/qtlibtorrent/qbtsession.cpp
2014-08-07 23:44:12 +03:00
sledgehammer999
dac8e20aad Limit max cache to 1800MiB for 32bits compiled binaries and to 4GiB for other. Closes #1698.
Conflicts:
	src/preferences/advancedsettings.h
	src/preferences/preferences.cpp
2014-08-07 23:29:15 +03:00
sledgehammer999
d845b57ad1 Installer correctly associates torrents and magnet links with qBittorrent under non-admin accounts. Closes #291 #527 #579 #614 #964.
Conflicts:
	src/windows/installer.nsi
	src/windows/options.nsi
	src/windows/uninstaller.nsi
2014-07-30 00:15:33 +03:00
sledgehammer999
a9310e0f19 Run lupdate. 2014-07-16 00:53:10 +03:00
sledgehammer999
6c56e9736c Sync translations from Transifex. 2014-07-16 00:51:35 +03:00
sledgehammer999
b63915f10a Fix possible crashes. Closes #1814. 2014-07-14 22:02:39 +03:00
Bryan Roscoe
bf173d894c Fix column resizing issues 2014-07-14 22:02:25 +03:00
sledgehammer999
d11e0f523c Manually backport from master, commit 00e09435 and its fixes. Original author Bruno Barbieri. 2014-07-07 00:30:24 +03:00
sledgehammer999
e09d75f68e Manually backport from master, commit 6dabf50 and its fixes. Original author Ivan Sorokin. 2014-07-06 22:20:12 +03:00
Ivan Sorokin
077006d4d6 Suppress warning about signed/unsigned mismatch. 2014-07-06 21:41:41 +03:00
sledgehammer999
092a1d4f33 Bring mainwindow in front when notification is clicked and other windows are in front. 2014-06-19 00:11:36 +03:00
sledgehammer999
0047ba5dc5 Update search engines versions.txt file. Closes #1745. 2014-06-08 23:59:45 +03:00
sledgehammer999
42efa21ef3 Fix libtorrent 0.15.x compilation. 2014-06-04 22:18:29 +03:00
Vladimir Golovnev (Glassez)
09538393a6 Use new JSON parser/generator. Closes #1395.
Qt4: Use QJson (http://qjson.sourceforge.net).
Qt5: Use native Qt JSON API.

Conflicts:
	src/webui/btjson.cpp
	src/webui/prefjson.cpp
2014-06-04 21:33:13 +03:00
Vladimir Golovnev (Glassez)
2b6ee130a2 Add QJson files.
Conflicts:
	src/webui/webui.pri
2014-06-04 20:35:12 +03:00
Vladimir Golovnev (Glassez)
b14777584e Remove old JSON classes.
Conflicts:
	src/webui/json.cpp
	src/webui/webui.pri
2014-06-04 20:31:27 +03:00
sledgehammer999
d8c40084a7 Rework the GUI code for private torrents.
Conflicts:
	src/qtlibtorrent/qtorrenthandle.cpp
2014-06-04 01:10:29 +03:00
sledgehammer999
4aa9ed946f Fix compilation with libtorrent 0.15.x. 2014-05-15 23:15:19 +03:00
sledgehammer999
b6ef38e7a7 Count magnet links in the 'downloading' filter and make them prevent system inhibition. Closes #1558 2014-05-15 22:02:29 +03:00
sledgehammer999
0f900268da Fix tracker announcing problem(hit-and-run) when many torrents are being active. Closes #1571 2014-05-15 22:02:19 +03:00
sledgehammer999
c1831a4e97 Fix crash when the selected torrent disappears from the transfer list. Closes #1661 2014-05-15 21:00:41 +03:00
Ivan Sorokin
6d961cdcc5 Don't show availability bar for magnet links
This commit fixes an exception in PropertiesWidget:

"Caught exception in PropertiesWidget::loadDynamicData():  invalid
torrent handle used"

This exception occurs when an user clicks on a torrent that doesn't have
a metadata (when a magnet link is not resolved yet). One should not call
torrent_handle::get_torrent_info when torrent doesn't have a metadata.
2014-05-15 21:00:30 +03:00
sledgehammer999
292e077562 Fix nox build on MAC OSX. 2014-05-13 19:33:42 +03:00
Ivan Sorokin
e2bebdf57b fix issue #1674: AddNewTorrentDialog is shown again and again even if checkbox "dont ask me again" is set 2014-05-13 19:33:27 +03:00
sledgehammer999
db6cc8336b Use 'μTP' instead of 'uTP'. 2014-05-13 19:32:36 +03:00
sledgehammer999
1af271653a Revert "Fix libtorrent 1.0.0 compilation. Closes #1659"
This reverts commit f4a9597ae8.
2014-05-13 19:29:44 +03:00
sledgehammer999
bd1a34bebe Revert "Fix compilation with libtorrent 0.15.x"
This reverts commit 7ccefae3f8.
2014-05-13 19:26:33 +03:00
sledgehammer999
7ccefae3f8 Fix compilation with libtorrent 0.15.x 2014-05-10 00:39:29 +03:00
sledgehammer999
f4a9597ae8 Fix libtorrent 1.0.0 compilation. Closes #1659
Conflicts:
	src/properties/peerlistwidget.cpp
2014-05-10 00:14:54 +03:00
sledgehammer999
41e5216371 Fix weird ratio values when torrent was imported or downloaded history was lost due to crash. 2014-05-05 21:49:34 +03:00
sledgehammer999
b41b044d02 Enable system tray in MACOSX (Nick Korotysh). 2014-05-05 21:49:28 +03:00
sledgehammer999
8d5cfcdabd Update README file. 2014-05-04 16:30:43 +03:00
Mariusz Fik
ef58c08876 Use markdown in README and display travis-ci build status for master branch.
Signed-off-by: Mariusz Fik <fisiu@opensuse.org>
2014-05-04 16:29:34 +03:00
sledgehammer999
52f59371cf Revert "Point travis to the new svn repo of libtorrent."
This reverts commit 8305d8ff64.
2014-05-04 15:44:39 +03:00
sledgehammer999
311e78d016 Fix RSS feed icon. The tmp file gets deleted in the feed destructor. Closes #1639 2014-05-04 15:38:59 +03:00
sledgehammer999
d1c514ea3e Bump to 3.1.9.2 2014-04-29 16:05:48 +03:00
sledgehammer999
3974861955 Updated Changelog. 2014-04-29 16:05:25 +03:00
sledgehammer999
af04d80d93 Update Changelog. 2014-04-28 23:11:43 +03:00
sledgehammer999
de9d675d3d Bump to 3.1.9.1
This is an excuse to produce new builds with an OpenSSL version that isn't affected by the heartbleed bug for Windows and Mac. This bug should only affect the WebUI and only if HTTPS/SSL authentication was enabled.
2014-04-28 23:00:55 +03:00
lojack5
b734532b18 fix import torrent with "Keep incomplete torrents in:" ticked
* also had to account for "Append the label of the torrent to the save path",
  but again, this was only an issue when "Keep incomplete torrents in:" is
  selected

* A multi-file torrent with only one file (ie: a single file within a folder),
  was being treated as a single-file torrent, making it impossible to import.
  Multi-file torrent detection code was copied from libtorrent.  The
  information is available in libtorrent (under torrent_info::m_multifile),
  however it's a private member and I chose to go with copying the code that
  determines it, rather than modifying a library qBittorrent depends on.
2014-04-13 09:58:14 -06:00
sledgehammer999
bfd864efce Bump to 3.1.9 2014-03-01 13:21:21 +02:00
sledgehammer999
573b0d921e Update Changelog. 2014-03-01 13:18:55 +02:00
sledgehammer999
758e357fc5 Sync translations from Transifex. 2014-03-01 13:18:52 +02:00
sledgehammer999
0b235dc968 Fix autoupdater. Send our user-agent to sourceforge.net 2014-03-01 13:04:01 +02:00
sledgehammer999
8305d8ff64 Point travis to the new svn repo of libtorrent. 2014-03-01 13:00:04 +02:00
Evgeny Lensky
534a94310d Fix build using qt < 4.7 Closes #1385 2014-03-01 12:54:17 +02:00
alfrix
26e6787e85 Fix queue sorting order fixes #1120 2014-02-11 00:27:37 +02:00
sledgehammer999
c659a180d2 Fix missing percentage signs. Closes #1392. 2014-02-06 00:52:05 +02:00
sledgehammer999
632faf55be Fix build with libtorrent 0.15.x 2014-02-05 21:50:29 +02:00
sledgehammer999
5c7bc46451 Pretty up last commit. 2014-02-05 21:35:50 +02:00
alfrix
6932c960da Add button for links in toolbar (fixes #450 2014-02-05 21:35:37 +02:00
bob23450
a4d9e65d38 Fix nox build. Closes #1368 2014-02-05 21:35:25 +02:00
sledgehammer999
ab83c2fff5 Bump to 3.1.8 2014-02-02 22:49:22 +02:00
sledgehammer999
106f5d7cc0 Update Changelog. 2014-02-02 22:47:57 +02:00
sledgehammer999
11943f6b88 Really fix build of v3.1.6 2014-02-02 22:47:03 +02:00
sledgehammer999
665e0967a5 Revert "Fix build of v3.1.6"
This reverts commit b294d89b4f.
2014-02-02 22:44:16 +02:00
148 changed files with 40073 additions and 27200 deletions

View File

@@ -1,3 +1,99 @@
* Wed Oct 22 2014 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.1.11
- FEATURE: Allow relative torrent paths when qBittorrent is already running (pmzqla)
- FEATURE: Make Windows icons suitable for high dpi screens (pmzqla)
- FEATURE: Increase maximum size of system icons (pmzqla)
- BUGFIX: Fix crash in the "Content" widget when user would right click in it without a torrent selected (Ivan Sorokin)
- BUGFIX: Don't show multiple unlock UI dialogs. Closes #2040. (sledgehammer999)
- SEARCH: Fix bug where python would falsely be detected and nothing worked (paolo-sz)
- SEARCH: Fix TorrentReactor search plugin (Bruno Barbieri)
- SEARCH: Fix search engine encoding issues with python3 on Windows (Bruno Barbieri)
- SEARCH: Pirate bay search engine update (DoumanAsh)
- SEARCH: Internal improvements in the python code (Bruno Barbieri)
- WINDOWS: Fix magnet link association. Closes #1952. (sledgehammer999)
- WINDOWS and OSX: Fix again the program updater. The url was changed by sourceforge.net. Closes #1954. (sledgehammer999)
- OSX: Fix compilation (sledgehammer999)
- WEBUI: Set correct HTTP Content-Type in case of forbidden access. (pmzqla)
- COSMETIC: Remove unneeded tooltip (pmzqla)
- COSMETIC: Don't stretch the last section in the transfer list (pmzqla)
- COSMETIC: Set minimum width of the left panel in the preferences (pmzqla)
- OTHER: Optimize sorting of rows. This should have less CPU impact when many torrents are present. (Ivan Sorokin)
- OTHER: Use the correct character encoding for exceptions coming from libtorrent. (sledgehammer999)
- OTHER: Use boost:bind() as the docs show. Allows compilation with older gcc versions. (sledgehammer999)
* Sun Sep 21 2014 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.1.10
- FEATURE: Allow disabling of OS cache. This will prevent RAM increases on Windows when seeding many files. Closes #1699. (sledgehammer999)
- FEATURE: Add 'Completed' column. Closes #1241. (sledgehammer999)
- FEATURE: Added 'Ratio Limit' column. Closes #936. (sledgehammer999)
- FEATURE: Add 'Open' and 'Open Containing Folder' entries in the content's right-click menu. Closes #1143. (sledgehammer999)
- FEATURE: Don't listen on IPv6 address by default. Prevents network connectivity problems. Closes #1880. (sledgehammer999)
- FEATURE: Added 'Shutdown now' button in shutdown confirmation dialog. Closes #969. (sledgehammer999)
- FEATURE: Add peer port column to PeerListWidget. Closes #1650. (Ivanov Juriy)
- COSMETIC: Fix weird ratio values when torrent was imported or downloaded history was lost due to crash. (sledgehammer999)
- COSMETIC: Use 'μTP' instead of 'uTP'. (sledgehammer999)
- COSMETIC: Show the loaded torrents in the transferlist when qBT is launched with a torrent/magnet and the AddNewTorrentDialog is showing. Closes #1564. (sledgehammer999)
- COSMETIC: Don't mix finished/unifinished torrents when sorting by ETA. Closes #1688. (sledgehammer999)
- COSMETIC: Sort finished torrents by completed date when sorting by queue number. (sledgehammer999)
- COSMETIC: Right align numerical values in the transfer list. Partially revert 51a9a9aab. Closes #1903. (sledgehammer999)
- COSMETIC: Don't display the Search Engine tab by default. (sledgehammer999)
- WINDOWS: Correctly associate torrents and magnet links with qBittorrent under non-admin accounts. Closes #291 #527 #579 #614 #964. (glassez, sledgehammer999)
- WINDOWS: Check for python before creating the search engine tab. Prevents the creation of python specific files in the user's PC if no python is found. Closes #1370. (sledgehammer999)
- WINDOWS: Don't create keys in the registry if python isn't found. Closes #1370. (sledgehammer999)
- WINDOWS: Can now correctly detect 64bit and 32bit python installations on 64bit Windows. Closes #1148 #445 #795 #1708. (sledgehammer999)
- WINDOWS: Search first in PATH for python. Closes #956. (sledgehammer999)
- OSX: Enable system tray in MACOSX (Nick Korotysh).
- OSX: Fix headless (nox) build. (sledgehammer999)
- WEBUI: Correctly save/load settings and other improvements (glassez)
- WEBUI: Removed broken 'Report a bug' iframe. Closes #1343 (Benjamin Hutchins)
- WEBUI: Removed broken 'Documentation'. Improves fix for #1343 (Benjamin Hutchins)
- WEBUI: Removed essentially useless 'Visit website' iframe and changed it to a regular link. Improves fix for #1343 (Benjamin Hutchins)
- BUGFIX: Fix RSS feed icon. The tmp file gets deleted in the feed destructor. Closes #1639 (sledgehammer999)
- BUGFIX: fix issue #1674: AddNewTorrentDialog is shown again and again even if checkbox "dont ask me again" is set (Ivan Sorokin)
- BUGFIX: Don't show availability bar for magnet links (Ivan Sorokin)
- BUGFIX: Fix crash when the selected torrent disappears from the transfer list. Closes #1661 (sledgehammer999)
- BUGFIX: Fix tracker announcing problem(hit-and-run) when many torrents are being active. Closes #1571 (sledgehammer999)
- BUGFIX: Count magnet links in the 'downloading' filter and make them prevent system inhibition. Closes #1558 (sledgehammer999)
- BUGFIX: Pick up updated plugins. Closes #1745. (sledgehammer999)
- BUGFIX: Bring mainwindow in front when notification is clicked and other windows are in front. (sledgehammer999)
- BUGFIX: Speedup torrent moving (Ivan Sorokin)
- BUGFIX: Fix bug when moving a torrent before the previous move is completed (Ivan Sorokin)
- BUGFIX: Add option to hibernate computer in Auto-Shutdown menu (Bruno Barbieri)
- BUGFIX: Fix column resizing issues (Bryan Roscoe)
- BUGFIX: Fix possible crashes. Closes #1814. (sledgehammer999)
- BUGFIX: Limit max cache to 1800MiB for 32bits compiled binaries and to 4GiB for other. Closes #1698. (sledgehammer999)
- BUGFIX: Don't localize double numbers in the webui. Closes #1525. (sledgehammer999)
- BUGFIX: Don't shrink transferlist rows when scrolling horizontally. Closes #1613. (sledgehammer999)
- BUGFIX: When qBT is launched with a magnet don't show it in the transferlist while the metadata are being loaded in the background. (sledgehammer999)
- BUGFIX: Show disk space while retrieving metadata. Closes #1693. (sledgehammer999)
- BUGFIX: Don't disable DHT/LSD/UPnP in the GUI when anonymous mode is enabled. (sledgehammer999)
- BUGFIX: Possible fix for crash in RSS code. Closes #1901. (sledgehammer999)
- BUGFIX: Fixed SMTP emailing code (Ivanov Juriy, sledgehammer999)
- BUGFIX: Don't display the context menu in 'Content' and 'HTTP Sources' buttons when no torrent is selected. It prevents crashes. Closes #1906, #1900. (sledgehammer999)
- BUGFIX: Don't translate file extensions. Closes #1907. (sledgehammer999)
- BUGFIX: Fix available disk space label on single file torrents. (sledgehammer999)
- BUGFIX: Show stalled downloads that are uploading under the 'Active' filter. Closes #1654." (sledgehammer999)
- BUGFIX: fix import torrent with "Keep incomplete torrents in:" enabled (lojack5)
- BUGFIX: Send a spoofed user agent for the search engines(fixes some of them) (Martin Janco)
- BUGFIX: Support URLs that redirect to magnet links (Gelmir)
- BUGFIX: Consider queued items before deciding to 'auto-shutdown on downloads completion'. Closes #1942. (sledgehammer999)
* Tue Apr 29 2014 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.1.9.2
- OTHER: The v3.1.9.1 Windows build was broken
* Mon Apr 28 2014 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.1.9.1
- OTHER: This is an excuse to produce new builds with an OpenSSL version that isn't affected by the heartbleed bug for Windows and Mac. This bug should only affect the WebUI and only if HTTPS/SSL authentication was enabled.
* Sat Mar 01 2014 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.1.9
- BUGFIX: Fix nox build. Closes #1368 (bob23450)
- BUGFIX: Fix build with libtorrent 0.15.x (sledgehammer999)
- BUGFIX: Fix missing percentage signs. Closes #1392. (sledgehammer999)
- BUGFIX: Fix queue sorting order. (alfrix)
- BUGFIX: Fix build using qt < 4.7 Closes #1385. (Evgeny Lensky)
- BUGFIX: Fix autoupdater. Send our user-agent to sourceforge.net (sledgehammer999)
- FEATURE: Add button for links in toolbar (alfrix)
* Sun Feb 02 2014 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.1.8
- BUGFIX: Really fix build of v3.1.6
* Sun Feb 02 2014 - sledgehammer999 <sledgehammer999@qbittorrent.org> - v3.1.7
- BUGFIX: Fix build of v3.1.6

View File

@@ -1,10 +1,11 @@
qBittorrent - A BitTorrent client in Qt4
qBittorrent - A BitTorrent client in Qt
------------------------------------------
Description:
[![Build Status](https://travis-ci.org/qbittorrent/qBittorrent.png?branch=v3_1_x)](https://travis-ci.org/qbittorrent/qBittorrent)
********************************
qBittorrent is a bittorrent client programmed in C++ / Qt4 that uses
libtorrent (sometimes called rblibtorrent) by Arvid Norberg.
###Description:
qBittorrent is a bittorrent client programmed in C++ / Qt that uses
libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg.
It aims to be a good alternative to all other bittorrent clients
out there. qBittorrent is fast, stable and provides unicode
@@ -13,13 +14,14 @@ support as well as many features.
This product includes GeoLite data created by MaxMind, available from
http://maxmind.com/
Installation:
********************************
### Installation:
For installation, follow the instructions from INSTALL file, but simple:
```
./configure
make && make install
qbittorrent
```
will install and execute qBittorrent hopefully without any problem.
@@ -32,9 +34,9 @@ http://wiki.qbittorrent.org
Please report any bug (or feature request) to:
http://bugs.qbittorrent.org
You can also meet me (chris-qBT) on IRC:
#qbittorrent on irc.freenode.net
You can also meet me (sledgehammer_999) on IRC:
`#qbittorrent on irc.freenode.net`
------------------------------------------
Christophe Dumez <chris@qbittorrent.org>
sledgehammer999 <sledgehammer999@qbittorrent.org>

View File

@@ -46,7 +46,6 @@
#include <QFile>
#include <QUrl>
#include <QMenu>
#include <QTimer>
#include <QFileDialog>
#include <libtorrent/version.hpp>
@@ -62,6 +61,7 @@ AddNewTorrentDialog::AddNewTorrentDialog(QWidget *parent) :
m_hasRenamedFile(false)
{
ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
ui->lblMetaLoading->setVisible(false);
ui->progMetaLoading->setVisible(false);
@@ -125,18 +125,22 @@ void AddNewTorrentDialog::saveState()
settings.setValue("expanded", ui->adv_button->isChecked());
}
void AddNewTorrentDialog::showTorrent(const QString &torrent_path, const QString& from_url)
void AddNewTorrentDialog::showTorrent(const QString &torrent_path, const QString& from_url, QWidget *parent)
{
AddNewTorrentDialog dlg;
if (dlg.loadTorrent(torrent_path, from_url))
dlg.exec();
AddNewTorrentDialog *dlg = new AddNewTorrentDialog(parent);
if (dlg->loadTorrent(torrent_path, from_url))
dlg->open();
else
delete dlg;
}
void AddNewTorrentDialog::showMagnet(const QString& link)
void AddNewTorrentDialog::showMagnet(const QString& link, QWidget *parent)
{
AddNewTorrentDialog dlg;
if (dlg.loadMagnet(link))
dlg.exec();
AddNewTorrentDialog *dlg = new AddNewTorrentDialog(parent);
if (dlg->loadMagnet(link))
dlg->open();
else
delete dlg;
}
void AddNewTorrentDialog::showEvent(QShowEvent *event) {
@@ -154,7 +158,7 @@ void AddNewTorrentDialog::showAdvancedSettings(bool show)
if (show) {
ui->adv_button->setText(QString::fromUtf8("▲"));
ui->settings_group->setVisible(true);
ui->info_group->setVisible(m_hasMetadata);
ui->info_group->setVisible(true);
if (m_hasMetadata && (m_torrentInfo->num_files() > 1)) {
ui->content_tree->setVisible(true);
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
@@ -193,7 +197,7 @@ bool AddNewTorrentDialog::loadTorrent(const QString& torrent_path, const QString
m_torrentInfo = new torrent_info(m_filePath.toUtf8().data());
m_hash = misc::toQString(m_torrentInfo->info_hash());
} catch(const std::exception& e) {
MessageBoxRaised::critical(0, tr("Invalid torrent"), tr("Failed to load the torrent: %1").arg(e.what()));
MessageBoxRaised::critical(0, tr("Invalid torrent"), tr("Failed to load the torrent: %1").arg(misc::toQStringU(e.what())));
return false;
}
@@ -231,7 +235,7 @@ bool AddNewTorrentDialog::loadMagnet(const QString &magnet_uri)
setWindowTitle(torrent_name.isEmpty() ? tr("Magnet link") : torrent_name);
QIniSettings settings;
showAdvancedSettings(settings.value("AddNewTorrentDialog/expanded").toBool());
setupTreeview();
// Set dialog position
setdialogPosition();
@@ -284,24 +288,28 @@ void AddNewTorrentDialog::updateFileNameInSavePaths(const QString &new_filename)
}
}
void AddNewTorrentDialog::updateDiskSpaceLabel()
{
Q_ASSERT(m_hasMetadata);
void AddNewTorrentDialog::updateDiskSpaceLabel() {
// Determine torrent size
qulonglong torrent_size = 0;
if (m_contentModel) {
const std::vector<int> priorities = m_contentModel->model()->getFilesPriorities();
Q_ASSERT(priorities.size() == (uint) m_torrentInfo->num_files());
for (uint i=0; i<priorities.size(); ++i) {
if (priorities[i] > 0)
torrent_size += m_torrentInfo->file_at(i).size;
if (m_hasMetadata) {
if (m_contentModel) {
const std::vector<int> priorities = m_contentModel->model()->getFilesPriorities();
Q_ASSERT(priorities.size() == (uint) m_torrentInfo->num_files());
for (uint i=0; i<priorities.size(); ++i) {
if (priorities[i] > 0)
torrent_size += m_torrentInfo->file_at(i).size;
}
} else {
torrent_size = m_torrentInfo->total_size();
}
} else {
torrent_size = m_torrentInfo->total_size();
}
QString size_string = misc::friendlyUnit(torrent_size);
QString size_string = torrent_size ? misc::friendlyUnit(torrent_size) : QString(tr("Not Available", "This size is unavailable."));
size_string += " (";
size_string += tr("Disk space: %1").arg(misc::friendlyUnit(fsutils::freeDiskSpaceOnPath(ui->save_path_combo->currentText())));
size_string += tr("Disk space: %1").arg(misc::friendlyUnit(fsutils::freeDiskSpaceOnPath(
ui->save_path_combo->itemData(
ui->save_path_combo->currentIndex()).toString())));
size_string += ")";
ui->size_lbl->setText(size_string);
}
@@ -360,8 +368,7 @@ void AddNewTorrentDialog::onSavePathChanged(int index)
relayout();
// Remember index
old_index = ui->save_path_combo->currentIndex();
if (m_hasMetadata)
updateDiskSpaceLabel();
updateDiskSpaceLabel();
}
void AddNewTorrentDialog::relayout()
@@ -379,6 +386,8 @@ void AddNewTorrentDialog::renameSelectedFile()
if (selectedIndexes.size() != 1)
return;
const QModelIndex &index = selectedIndexes.first();
if (!index.isValid())
return;
// Ask for new name
bool ok;
const QString new_name_last = AutoExpandableDialog::getText(this, tr("Rename the file"),
@@ -627,59 +636,63 @@ void AddNewTorrentDialog::setMetadataProgressIndicator(bool visibleIndicator, co
}
void AddNewTorrentDialog::setupTreeview() {
// Set dialog title
setWindowTitle(misc::toQStringU(m_torrentInfo->name()));
if (!m_hasMetadata) {
ui->comment_lbl->setText(tr("Not Available", "This comment is unavailable"));
ui->date_lbl->setText(tr("Not Available", "This date is unavailable"));
}
else {
// Set dialog title
setWindowTitle(misc::toQStringU(m_torrentInfo->name()));
// Set torrent information
QString comment = misc::toQString(m_torrentInfo->comment());
ui->comment_lbl->setText(comment.replace('\n', ' '));
ui->date_lbl->setText(m_torrentInfo->creation_date() ? misc::toQString(*m_torrentInfo->creation_date()) : tr("Not available"));
updateDiskSpaceLabel();
// Set torrent information
QString comment = misc::toQString(m_torrentInfo->comment());
ui->comment_lbl->setText(comment.replace('\n', ' '));
ui->date_lbl->setText(m_torrentInfo->creation_date() ? misc::toQString(*m_torrentInfo->creation_date()) : tr("Not available"));
#if LIBTORRENT_VERSION_NUM >= 1600
file_storage fs = m_torrentInfo->files();
#endif
// Populate m_filesList
// Populate m_filesList
for (int i = 0; i < m_torrentInfo->num_files(); ++i) {
#if LIBTORRENT_VERSION_NUM >= 1600
m_filesPath << misc::toQStringU(fs.file_path(m_torrentInfo->file_at(i)));
#else
m_filesPath << misc::toQStringU(m_torrentInfo->file_at(i).path.string());
#endif
}
}
// Prepare content tree
if (fs.num_files() > 1) {
m_contentModel = new TorrentContentFilterModel(this);
connect(m_contentModel->model(), SIGNAL(filteredFilesChanged()), SLOT(updateDiskSpaceLabel()));
ui->content_tree->setModel(m_contentModel);
ui->content_tree->hideColumn(PROGRESS);
m_contentDelegate = new PropListDelegate();
ui->content_tree->setItemDelegate(m_contentDelegate);
connect(ui->content_tree, SIGNAL(clicked(const QModelIndex&)), ui->content_tree, SLOT(edit(const QModelIndex&)));
connect(ui->content_tree, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(displayContentTreeMenu(const QPoint&)));
// Prepare content tree
if (fs.num_files() > 1) {
m_contentModel = new TorrentContentFilterModel(this);
connect(m_contentModel->model(), SIGNAL(filteredFilesChanged()), SLOT(updateDiskSpaceLabel()));
ui->content_tree->setModel(m_contentModel);
ui->content_tree->hideColumn(PROGRESS);
m_contentDelegate = new PropListDelegate();
ui->content_tree->setItemDelegate(m_contentDelegate);
connect(ui->content_tree, SIGNAL(clicked(const QModelIndex&)), ui->content_tree, SLOT(edit(const QModelIndex&)));
connect(ui->content_tree, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(displayContentTreeMenu(const QPoint&)));
// List files in torrent
m_contentModel->model()->setupModelData(*m_torrentInfo);
if (!m_headerState.isEmpty())
ui->content_tree->header()->restoreState(m_headerState);
// List files in torrent
m_contentModel->model()->setupModelData(*m_torrentInfo);
if (!m_headerState.isEmpty())
ui->content_tree->header()->restoreState(m_headerState);
// Expand root folder
ui->content_tree->setExpanded(m_contentModel->index(0, 0), true);
} else {
// Update save paths (append file name to them)
// Expand root folder
ui->content_tree->setExpanded(m_contentModel->index(0, 0), true);
} else {
// Update save paths (append file name to them)
#if LIBTORRENT_VERSION_NUM >= 1600
QString single_file_relpath = misc::toQStringU(fs.file_path(m_torrentInfo->file_at(0)));
#else
QString single_file_relpath = misc::toQStringU(m_torrentInfo->file_at(0).path.string());
#endif
for (int i=0; i<ui->save_path_combo->count()-1; ++i) {
for (int i=0; i<ui->save_path_combo->count()-1; ++i) {
ui->save_path_combo->setItemText(i, fsutils::toDisplayPath(QDir(ui->save_path_combo->itemText(i)).absoluteFilePath(single_file_relpath)));
}
}
}
QIniSettings settings;
updateDiskSpaceLabel();
showAdvancedSettings(settings.value("AddNewTorrentDialog/expanded").toBool());
// Set dialog position
setdialogPosition();

View File

@@ -53,8 +53,8 @@ class AddNewTorrentDialog : public QDialog
public:
~AddNewTorrentDialog();
static void showTorrent(const QString& torrent_path, const QString& from_url = QString());
static void showMagnet(const QString& torrent_link);
static void showTorrent(const QString& torrent_path, const QString& from_url, QWidget *parent = 0);
static void showMagnet(const QString& torrent_link, QWidget *parent = 0);
protected:
void showEvent(QShowEvent *event);

View File

@@ -122,6 +122,14 @@ void DownloadThread::processDlFinished(QNetworkReply* reply) {
newUrl = reply->url().resolved(newUrl);
const QString newUrlString = newUrl.toString();
qDebug("Redirecting from %s to %s", qPrintable(url), qPrintable(newUrlString));
// Redirect to magnet workaround
if (newUrlString.startsWith("magnet:", Qt::CaseInsensitive)) {
qDebug("Magnet redirect detected.");
reply->abort();
emit magnetRedirect(newUrlString, url);
reply->deleteLater();
return;
}
m_redirectMapping.insert(newUrlString, url);
// redirecting with first cookies
downloadUrl(newUrlString, m_networkManager.cookieJar()->cookiesForUrl(url));

View File

@@ -54,6 +54,7 @@ public:
signals:
void downloadFinished(const QString &url, const QString &file_path);
void downloadFailure(const QString &url, const QString &reason);
void magnetRedirect(const QString &url_new, const QString &url_old);
private slots:
void processDlFinished(QNetworkReply* reply);

View File

@@ -81,7 +81,7 @@ QIcon IconProvider::generateDifferentSizes(const QIcon& icon)
{
QIcon new_icon;
QList<QSize> required_sizes;
required_sizes << QSize(16, 16) << QSize(24, 24);
required_sizes << QSize(16, 16) << QSize(24, 24) << QSize(32, 32);
QList<QIcon::Mode> modes;
modes << QIcon::Normal << QIcon::Active << QIcon::Selected << QIcon::Disabled;
foreach (const QSize& size, required_sizes) {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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