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

Compare commits

...

621 Commits

Author SHA1 Message Date
sledgehammer999
e9ed621178 Bump to 4.1.0 2018-05-05 00:55:42 +03:00
sledgehammer999
400743fc64 Update Changelog 2018-05-05 00:51:24 +03:00
sledgehammer999
ea8c57be23 Sync translations from Transifex and run lupdate 2018-05-05 00:39:47 +03:00
sledgehammer999
591cde53cf Merge pull request #8825 from sledgehammer999/fix_tabs
Add RSS/Log widgets to the QTabWidget on macOS
2018-05-04 23:59:07 +03:00
sledgehammer999
90bb67c654 Add RSS/Log widgets to the QTabWidget on macOS
Fixes commit a468c84b30
2018-05-04 19:56:42 +03:00
sledgehammer999
8f7fda492c Sync translations from Transifex and run lupdate
Closes #8220 #8169
2018-05-01 18:50:24 +03:00
sledgehammer999
f92d85c536 Merge pull request #8813 from Chocobo1/tr
Fix untranslated string
2018-05-01 17:59:49 +03:00
sledgehammer999
55c98d8706 Merge pull request #8811 from sledgehammer999/fix_RC_1_0
Fix compilation against libtorrent 1.0.x
2018-05-01 15:04:25 +03:00
sledgehammer999
6e94b03c13 Fix compilation against libtorrent 1.0.x
Closes #8798
2018-05-01 10:39:53 +03:00
Mike Tzou
e3a82d4614 Merge pull request #8347 from FranciscoPombal/new_contributing_guidelines
New CONTRIBUTING.md, based on the old one, Atom's and uBlock Origin's
2018-05-01 12:00:13 +08:00
Chocobo1
c61f641613 Fix untranslated string
Closes #8809.
2018-05-01 11:49:10 +08:00
sledgehammer999
b64a51337e Update Changelog 2018-04-28 10:33:32 +03:00
sledgehammer999
19dcf7851b Sync changelog entries from v4_0_x branch 2018-04-28 10:31:58 +03:00
sledgehammer999
fb346e15e8 Sync translations from Transifex and run lupdate 2018-04-27 02:04:37 +03:00
Mike Tzou
827d8c0dad Merge pull request #8748 from Chocobo1/header
Clarify header inclusion order
2018-04-26 23:41:58 +08:00
Mike Tzou
beef041e71 Merge pull request #8773 from Chocobo1/log
Fix path separator in log messages
2018-04-25 12:58:32 +08:00
Chocobo1
8b575484e6 Fix path separator in log messages 2018-04-24 01:02:54 +08:00
FranciscoPombal
d4b77a6541 Revise CONTRIBUTING.md
New version is based on old one, Atom's and uBlock Origin's.
2018-04-24 00:56:46 +08:00
sledgehammer999
4ba6334506 Update libtorrent bottle for Travis macOS 2018-04-22 22:42:23 +03:00
sledgehammer999
b78899cb9a Merge pull request #8724 from Chocobo1/rand
Use RNG provided by OS
2018-04-22 22:33:16 +03:00
Mike Tzou
0dec7b9f4f Merge pull request #8742 from tostercx/master
Add "Preserve file order" option to torrent creator. Closes #5652
2018-04-22 23:33:25 +08:00
Chocobo1
81a4f3ced0 Use RNG provided by OS
The general consensus is to use random facility provided by OS instead
of using other software random generators.
2018-04-20 23:34:46 +08:00
Vladimir Golovnev
b155b8609f Merge pull request #8767 from glassez/fix-legacy-api
Fix pauseAll/resumeAll legacy API methods. Closes #8766
2018-04-20 15:39:57 +03:00
Chocobo1
970ad7cf28 Sort filenames when creating torrent
First all dir paths are retrieved, then filenames in each path
are retrieved and sorted, then concatenate the sorted filenames together.
2018-04-20 14:35:48 +03:00
toster
c4625f50a8 Pass isAlignmentOptimized flag to piece size calculation 2018-04-20 14:31:20 +03:00
Vladimir Golovnev (Glassez)
001bd38557 Fix pauseAll/resumeAll legacy API methods
Closes #8766.
2018-04-20 14:30:25 +03:00
Mike Tzou
7aae915a68 Merge pull request #8754 from Chocobo1/fix
Fix memory leak
2018-04-19 11:42:01 +08:00
Chocobo1
5f1ac96f66 Clarify header inclusion order 2018-04-18 13:56:40 +08:00
Chocobo1
68c2d81072 Fix memory leak 2018-04-17 20:34:01 +08:00
Chocobo1
4dea03fc74 Remove unused constants 2018-04-17 20:29:43 +08:00
Mike Tzou
a70942ed53 Merge pull request #8598 from Piccirello/limit-share-ratio
WebUI Add Limit Share Ratio context menu option
2018-04-15 00:39:27 +08:00
Mike Tzou
7e8c72f424 Merge pull request #8732 from Chocobo1/rename
Fix renaming completed files
2018-04-15 00:39:00 +08:00
toster
e538eae726 Make alignment optimization optional
Disabling alignment optimization allows preserving file order in torrent
files and closes #5652
2018-04-14 06:46:41 +03:00
Chocobo1
898239a42e Fix renaming completed files
Check whether the file is already downloaded before appending QB_EXT to
filename.

Closes #8039.
2018-04-12 14:13:59 +08:00
Mike Tzou
1055cc0f45 Merge pull request #8691 from Chocobo1/js
Partially revert "Remove unused JavaScript library"
2018-04-12 00:07:37 +08:00
Thomas Piccirello
9f36b54b04 WebUI Add Limit Share Ratio context menu option
Closes #6815, #7602.
2018-04-11 23:45:54 +08:00
Thomas Piccirello
1f42ab8c4f Remove unused/superfluous variables 2018-04-11 23:45:54 +08:00
Thomas Piccirello
3f0fbc0810 WebUI rename property to match its definition 2018-04-11 23:45:54 +08:00
sledgehammer999
7e4b62c68d Merge pull request #8701 from Kolcha/musl-support
Allow to disable Stacktrace support
2018-04-11 17:10:01 +03:00
sledgehammer999
784b154228 Merge pull request #8721 from sledgehammer999/fix_string_arg
Fix wrong QString::arg() usage that leads to crash
2018-04-11 17:04:32 +03:00
sledgehammer999
ddba79ef3d Fix wrong QString::arg() usage that leads to crash
We need to be careful when using the multi-arg version of
QString::arg() and passing as 2nd, 3rd etc parameter an int.
It doesn't do the same as passing multiple QStrings.
2018-04-11 17:01:43 +03:00
Nick Korotysh
7712d0ada0 Allow to disable Stacktrace support
Enable backtrace stuff only if GNU C library used, because current
backtrace implementation based  on  <execinfo.h> , which is not a
part of standard C library, it is a GNU extension.

This will be usefull when building  with  custom POSIX-compilant C
library (like musl) and no <execinfo.h> available.

Note: configure script will detect presence of  <execinfo.h>  and
enable/disable feature depending on it.

Feature is enabled by default.
2018-04-10 20:51:11 +03:00
Mike Tzou
38837db8de Merge pull request #8699 from Chocobo1/linking
Add helper for loading Windows system functions
2018-04-11 00:13:55 +08:00
sledgehammer999
d997d887e5 Merge pull request #8650 from luis-pereira/fix-invalid-iterator-crash
Fix crashes due to invalid iterator use
2018-04-10 16:18:44 +03:00
sledgehammer999
341a971cd3 Merge pull request #8711 from sledgehammer999/recheck_paused
Avoid data corruption when rechecking paused torrents
2018-04-10 16:18:12 +03:00
Mike Tzou
fa380c8b2c Merge pull request #8622 from Chocobo1/formatter
Unify coding style for WebUI files
2018-04-10 14:51:32 +08:00
Luís Pereira
758c70283f Fix crashes due to invalid iterator use
Although the iterators are constant we are indirectly changing them.
Introduced by commit ac42ccb5e4.
Closes #8633
2018-04-09 23:40:08 +03:00
sledgehammer999
747c70a58e Avoid data corruption when rechecking paused torrents
Libtorrent can recheck only unpaused torrents. We get around this by
unpausing the torrent, issuing the recheck and pausing again after we
get alerted by libtorrent that the recheck has finished. This alert is
asyncronous. There is a small time frame where the program might start
downloading and writing data to the file before we pause it. This can
lead to data corruption if the file on disk is totally different that
the one expected by the torrent AND the file on disk is a valid file on
its own. OR in case the user points the new torrent to the wrong
directory by mistake.
To get around this the torrent is placed in upload_mode and out of
automanagement.
2018-04-09 23:25:52 +03:00
sledgehammer999
6ca2e42bca Merge pull request #8715 from glassez/max-ratio
Fix setting preferences via WebAPI. Closes #7335
2018-04-09 23:08:12 +03:00
Vladimir Golovnev (Glassez)
cb505a07fe Fix setting preferences via WebAPI
Closes #7335.
2018-04-09 18:54:43 +03:00
Chocobo1
5819b6dd39 Use Unicode version of InitiateSystemShutdown 2018-04-09 21:18:07 +08:00
Chocobo1
644e7d0450 Use dynamic linking for SetSuspendState function 2018-04-09 21:18:07 +08:00
Chocobo1
b0e3d77975 Add helper for loading Windows system functions 2018-04-09 21:18:04 +08:00
Chocobo1
643a209812 Sort include headers
Also add anonymous namespace.
2018-04-09 21:16:00 +08:00
Mike Tzou
c3311e83a0 Merge pull request #8687 from Chocobo1/folder
Stop creating Download folder on start
2018-04-09 13:20:48 +08:00
Mike Tzou
3301e9cb69 Merge pull request #8690 from Chocobo1/options
Avoid showing an empty row in AdvancedSettings
2018-04-08 13:14:21 +08:00
Chocobo1
cf2c0bd47e Apply formatting to Web UI files 2018-04-07 21:45:56 +08:00
Mike Tzou
df0c5c41c5 Merge pull request #8681 from dzmat/uncrutify_tinkering
Make uncrustify.cfg available to QtCreator IDE
2018-04-05 21:43:32 +08:00
Chocobo1
59e6757242 Avoid showing an empty row in AdvancedSettings
Fixup 543cbc6d1c.
2018-04-05 21:34:07 +08:00
Chocobo1
6bbcf9b3d6 Stop creating Download folder on start
The existence of this folder isn't required to run qbt and it can be
created when adding torrent.
Closes #8290.
2018-04-05 14:12:47 +08:00
Chocobo1
208d21ff73 Add js-beautify config
Try to standardize coding style for HTML & JavaScript via this tool
2018-04-05 12:19:54 +08:00
Chocobo1
2df71dbde5 Partially revert "Remove unused JavaScript library"
This reverts commit 470e993c2d.
2018-04-05 03:22:34 +08:00
Mike Tzou
9e4f246c89 Merge pull request #8672 from Chocobo1/js
Move JavaScript libraries to its own folder
2018-04-04 19:23:10 +08:00
Mike Tzou
e4fc8e4156 Merge pull request #8669 from Chocobo1/runext
Split args manually in runExternalProgram()
2018-04-03 22:19:29 +08:00
dzmat
883d4d81d5 Make uncrustify.cfg available to Qt Creator IDE 2018-04-03 18:35:28 +07:00
Mike Tzou
041b86981f Merge pull request #8665 from Chocobo1/iostream
Use lightweight printf instead of iostream
2018-04-02 20:17:12 +08:00
Chocobo1
470e993c2d Remove unused JavaScript library 2018-04-02 01:34:49 +08:00
Chocobo1
cbf10ebb7f Update clipboard.js to v2.0.0 2018-04-02 01:34:49 +08:00
Chocobo1
89f06274bb Move JavaScript libraries to its own folder 2018-04-02 01:34:43 +08:00
Chocobo1
c07cd440cd Split args manually in runExternalProgram()
Need to split arguments manually because QProcess::startDetached(QString)
will strip off empty parameters.
E.g. `python.exe "1" "" "3"` will become `python.exe "1" "3"`.
Closes #8454.
2018-04-01 18:42:42 +08:00
Mike Tzou
e90be67fec Merge pull request #8640 from Chocobo1/guide2
Clarify braces usages in CODING_GUIDELINES
2018-04-01 18:16:04 +08:00
Chocobo1
37ea01bd44 Use lightweight printf instead of iostream
Using iostream usually adds a lot of other operators (<<, endl), whereas
*printf takes only 1 function call.

Also use qUtf8Printable whenever possible.
2018-03-31 03:21:53 +08:00
Mike Tzou
ccc91e2e52 Merge pull request #8629 from Chocobo1/guide
Extend Coding Guidelines to cover other languages
2018-03-30 14:31:55 +08:00
Chocobo1
d31954761f Clarify braces usages in CODING_GUIDELINES
Merge "Curly braces" & "If blocks" sections into "New lines & curly braces" section.

Add note about the list is not exhaustive and style can be determine on code review.
2018-03-29 02:50:48 +08:00
Mike Tzou
aa122b062e Merge pull request #8615 from Chocobo1/watcher
Improve FS watcher
2018-03-27 14:34:08 +08:00
Chocobo1
65921eaf7b Remove QPointer wrapper 2018-03-25 15:53:31 +08:00
Chocobo1
bfbd978d3f Move helper function to Utils::Fs 2018-03-25 13:26:03 +08:00
Chocobo1
1876dbd523 Fix typo 2018-03-25 13:26:02 +08:00
Chocobo1
ea7eb7c0ec Add delay before processing FS changes
This prevents file renaming errors in monitored folder on linux, for
example: ABC.torrent.part -> ABC.torrent
2018-03-25 13:26:02 +08:00
Chocobo1
19c733ce95 Use specific name for rejected files 2018-03-25 13:26:02 +08:00
Chocobo1
2ba5dd1344 Reduce debug messages 2018-03-25 13:26:02 +08:00
Chocobo1
61eddfce90 Refactor functions in FileSystemWatcher
Use c++11 range-loop
Add const
Better ifdef placement
Inline functions
2018-03-25 13:26:02 +08:00
Chocobo1
0840556f77 Do cleanups in FileSystemWatcher
Use Qt5 connect syntax
Sort headers
Add license
Add anonymous namespace
Replace macro defines with const variables
2018-03-25 13:25:28 +08:00
Mike Tzou
f564e8a1c4 Merge pull request #8621 from Chocobo1/html5
Update WebUI to be more compliant with HTML5 standard
2018-03-24 22:41:31 +08:00
Chocobo1
315d9835b2 Extend Coding Guidelines to cover other languages 2018-03-23 15:21:50 +08:00
Chocobo1
ed03456999 Update WebUI to be more compliant with HTML5 standard
Use modern and shorter "charset" attribute.
Remove "type", "charset" attributes in script/style tags, these are redundant in HTML5.
2018-03-23 00:04:43 +08:00
Mike Tzou
e1a14007f8 Merge pull request #8618 from Piccirello/remove-css
Remove unused CSS from WebUI login page
2018-03-23 00:02:12 +08:00
Thomas Piccirello
a15cfae03a Fix spacing 2018-03-21 00:04:21 -04:00
Thomas Piccirello
c2a195360a Resolve JavaScript errors 2018-03-21 00:04:21 -04:00
Thomas Piccirello
a4f99995bb Consolidate CSS into style.css 2018-03-21 00:04:18 -04:00
Thomas Piccirello
16616f4e0e Remove unused CSS from WebUI login page 2018-03-20 15:25:04 -04:00
Vladimir Golovnev
a5294e1e08 Merge pull request #8558 from luis-pereira/containter-anti-pattern
Don't create temporary containers just to iterate over them
2018-03-19 13:06:01 +03:00
Vladimir Golovnev
a8dbff06a3 Merge pull request #8607 from glassez/rss
Process loaded RSS articles in case of parsing error
2018-03-19 09:35:30 +03:00
Vladimir Golovnev (Glassez)
d9cd5d4680 Resolve (X)HTML entities in RSS content
Many sites include various HTML entities in the content of RSS feeds.
The most of these entities are not declared in the underlying XML,
so the documents are considered by parser to be malformed.
This patch allows you to successfully parse such soft-malformed
RSS feeds.
Closes #8527.
Closes #8569.
2018-03-18 18:59:55 +03:00
Luís Pereira
ac42ccb5e4 Don't create temporary containers just to iterate over them
Stops temporary containers being created needlessly due to API misuse.
For example, it’s common for developers to assume QHash::values() and
QHash::keys() are free and abuse them, failing to realize their
implementation internally actually iterates the whole container, allocates
memory, and fills a new QList.

Added a removeIf generic algorithm, similar to std ones. We can't use std
algorithms with Qt dictionaries because Qt iterators have different
behavior from the std ones.

Found using clazy.
2018-03-18 16:22:12 +03:00
Mike Tzou
68ca95faf0 Merge pull request #8603 from Chocobo1/typo
Fix typo
2018-03-17 00:49:41 +08:00
Vladimir Golovnev (Glassez)
8d285c66aa Process loaded RSS articles in case of error
For some reason, the RSS feed may contain malformed XML data and it may not be
successfully parsed by the XML parser. We are still trying to load as many articles
as possible until we encounter corrupted data. So we can have some articles even in
case of parsing error.
Closes #8527.
Closes #8569.
2018-03-16 18:29:38 +03:00
Mike Tzou
1f28122428 Merge pull request #8595 from Chocobo1/runExt
Add Tags parameter to "Run External Program"
2018-03-16 19:37:34 +08:00
Mike Tzou
6ec179e0f7 Merge pull request #8594 from Chocobo1/ui
Properly align text label
2018-03-15 13:41:23 +08:00
Chocobo1
423511765a Fix typo 2018-03-14 23:37:08 +08:00
Vladimir Golovnev
c061d67b14 Merge pull request #8597 from Piccirello/fix
Use correct API method URL in WebUI
2018-03-14 15:19:00 +03:00
Thomas Piccirello
4863078744 Use correct API method URL in WebUI
Fix up 27d8dbf.
Closes #8596.
2018-03-14 03:08:46 -04:00
Chocobo1
88881de8c6 Add Tags parameter to "Run External Program"
Closes #8586.
Also sort headers.
2018-03-14 10:12:32 +08:00
Chocobo1
690c439ae6 Properly align text label 2018-03-14 00:35:20 +08:00
Mike Tzou
e78b5202bc Merge pull request #8585 from Chocobo1/lint
Fix compiler/clazy warnings
2018-03-13 22:36:10 +08:00
Vladimir Golovnev
c9be1d0a19 Merge pull request #8494 from paolo-sz/master
Fix for "Content" panel messed up
2018-03-13 16:54:05 +03:00
Vladimir Golovnev
3348eef423 Merge pull request #8488 from thalieht/fix
Move suffix-labels inside the corresponding spinboxes
2018-03-12 16:58:05 +03:00
Vladimir Golovnev
931af6c97e Merge pull request #8313 from Piccirello/search-categories
Calculate search categories based on selected plugin
2018-03-12 14:29:51 +03:00
Vladimir Golovnev
cea2948593 Merge pull request #8556 from Piccirello/compiler-warnings
Fix missing initializer warning during build
2018-03-12 14:28:38 +03:00
Chocobo1
a468c84b30 Fix warnings from unused variables 2018-03-12 14:36:28 +08:00
Thomas Piccirello
7278625f53 Calculate supported categories based on selected plugin 2018-03-12 01:33:45 -04:00
Thomas Piccirello
7b3e692f68 Fix missing initializer warning
This issue occurs when using gcc versions < 5.
2018-03-12 01:21:21 -04:00
Chocobo1
fdb0d97b28 Remove unused function 2018-03-11 23:27:04 +08:00
Chocobo1
08a2439f46 Check directly if container is empty or not 2018-03-11 23:12:16 +08:00
Chocobo1
6767487e40 Remove unused variable 2018-03-11 22:31:17 +08:00
Chocobo1
141a2d2856 Prevent detach from containers 2018-03-11 22:25:07 +08:00
thalieht
2eea57e609 Use spinbox suffix to display time unit 2018-03-11 12:08:00 +02:00
thalieht
0b185e347b Use spinbox suffix to display rate unit 2018-03-11 12:07:38 +02:00
thalieht
1e1db31ab5 Use unique layout names 2018-03-11 12:07:24 +02:00
Mike Tzou
7233274110 Merge pull request #8562 from Chocobo1/lint
Fix warnings from clazy
2018-03-11 12:41:58 +08:00
paolo-sz
d4e2b21534 Fix Content widget misbehavior
Starting from QT 5.10.1 Content widget is messed up and its settings are
lost while restarting.
Setting StretchLastSection property to false seems to solve the issue.
(Closes #8439).
2018-03-10 18:56:18 +01:00
Vladimir Golovnev
4f206f987a Merge pull request #8561 from glassez/tracker
Properly reply to announce request
2018-03-10 17:08:29 +03:00
Vladimir Golovnev (Glassez)
dfddda57b9 Properly reply to announce request 2018-03-09 17:41:06 +03:00
Mike Tzou
0cacd71503 Merge pull request #8403 from Piccirello/webui-download-height
Make WebUI iframe windows scrollable on iOS. Closes #8401, #7932.
2018-03-09 19:46:29 +08:00
Chocobo1
fdf3ebbb6c Remove usage of deprecated functions
Also use proper type for storing date/time data
2018-03-09 19:20:58 +08:00
Chocobo1
a3d9e457a0 Add context parameter in connect() 2018-03-09 13:44:17 +08:00
Chocobo1
ffb5c0635e Remove unused slot declaration for function 2018-03-09 01:50:23 +08:00
Chocobo1
b4f23d8154 Use faster code path
From Qt doc: Using this function is faster than using QFileInfo(file).exists() for
file system access.
2018-03-09 01:34:35 +08:00
Chocobo1
ed310c2dac Avoid temporary QString allocations
Fix up 0457fd260e
2018-03-09 01:34:35 +08:00
Chocobo1
50167d40d7 Allow ADL lookup for helper function 2018-03-09 01:34:19 +08:00
Mike Tzou
5261d4375f Merge pull request #8551 from Chocobo1/override
Fix warnings from linters
2018-03-09 00:36:52 +08:00
Thomas Piccirello
0b56cd5fa0 Make WebUI iframe windows scrollable on iOS
Closes #8401, #7932.
2018-03-08 01:30:13 -05:00
Vladimir Golovnev
e22946ef61 Merge pull request #8525 from glassez/url-query
Parse URL query string at application level
2018-03-07 17:16:21 +03:00
Chocobo1
0457fd260e Avoid temporary QString allocations
This fixes clazy warning: Use multi-arg instead [-Wclazy-qstring-arg]
2018-03-07 20:06:00 +08:00
Chocobo1
c60b7b213e Add missing 'override' specifier
This fixes clang warning:
'notify' overrides a member function but is not marked 'override'
[-Winconsistent-missing-override]
2018-03-07 20:05:52 +08:00
Mike Tzou
c759c4301e Merge pull request #8547 from Chocobo1/fix
Fix broken WebUI
2018-03-07 00:48:16 +08:00
Chocobo1
307736e263 Fix broken WebUI
Fix up c47e4efade.
Closes #8545.
2018-03-06 14:03:01 +08:00
Mike Tzou
7aa5bc4bc1 Merge pull request #8484 from Piccirello/improve-webui-stats
Improve WebUI stats dialog (addendum to #8349)
2018-03-06 00:49:49 +08:00
Thomas Piccirello
c47e4efade Save WebUI Statistics window size 2018-03-05 01:40:21 -05:00
Mike Tzou
b0781e820c Merge pull request #8531 from Chocobo1/https
Improve URL scheme handling
2018-03-05 01:28:27 +08:00
Vladimir Golovnev (Glassez)
1aca3b0adc Parse URL query string at application level 2018-03-04 17:08:48 +03:00
Chocobo1
20c4b0ee0c Use original scheme when downloading favicons
Previously was always using http, now we only drop back to http when
scheme is absent
2018-03-03 12:53:27 +08:00
Chocobo1
3df4a7ac2e Use https for documentation links 2018-03-03 12:43:59 +08:00
Vladimir Golovnev
efdeb81af1 Merge pull request #8374 from glassez/coding-style
Add Coding Style rules for commit messages
2018-03-02 18:05:25 +03:00
Vladimir Golovnev (Glassez)
34295a78f2 Move ByteArray utils into Utils::ByteArray namespace 2018-03-02 17:23:21 +03:00
Mike Tzou
57163612ff Merge pull request #8427 from Chocobo1/server2
Rewrite RequestParser
2018-03-02 16:07:12 +08:00
Tom Piccirello
1a9b009951 Enable Statistics window to be scrolled and resized
Text may go offscreen due to translations.
2018-03-02 02:18:42 -05:00
Vladimir Golovnev
9406b4b226 Merge pull request #8515 from glassez/webapi
Fix Legacy Web API to be fully available
2018-03-01 09:44:06 +03:00
Mike Tzou
38dc6ab8cf Merge pull request #8441 from Chocobo1/runExt
Revert back to QLineEdit for "Run external program". Closes #7800.
2018-03-01 13:23:42 +08:00
Mike Tzou
55c3db339b Merge pull request #8455 from Chocobo1/large_torrent
Fix loading very large torrents. Closes #8449
2018-03-01 13:22:43 +08:00
Vladimir Golovnev (Glassez)
34456a7459 Fix Legacy Web API to be fully available 2018-02-28 18:25:48 +03:00
Vladimir Golovnev
02b029abbe Merge pull request #8508 from luis-pereira/clang-cmake-support
Make it build when using Clang under CMake
2018-02-28 10:52:00 +03:00
Vladimir Golovnev
b26eb3d146 Merge pull request #8373 from glassez/search
Improve Search handling
2018-02-28 10:46:33 +03:00
Vladimir Golovnev
7cb6100c9c Merge pull request #8471 from luis-pereira/use-qstring-ref
Don't create temporary substrings
2018-02-28 10:44:59 +03:00
Vladimir Golovnev (Glassez)
ef06485c45 Add Coding Style rules for commit messages 2018-02-27 20:27:58 +03:00
sledgehammer999
1c2d9c1fe4 Merge pull request #8510 from adem4ik/patch-2
Fix typo in filelogger.cpp message
2018-02-27 17:38:52 +02:00
Mike Tzou
6f7f7d87c6 Merge pull request #8218 from Piccirello/webui-selection-bug
Reselect webui torrents after full_update. Temporary fix for #8209.
2018-02-27 13:33:39 +08:00
Andrei Stepanov
817aadd52d Fix typo in filelogger.cpp message 2018-02-27 02:00:43 +04:00
Luís Pereira
058bad0af3 Make it build when using Clang under CMake
The pair Clang/qmake builds.
CMake compiler settings are more strict and it causes clang build to fail.
2018-02-26 19:53:39 +00:00
Luís Pereira
0e421ae415 Don't create temporary substrings
Avoid temporary string allocations. They are only used to convert to
something else.
QString::xxxRef() returns a QStringRef. QStringRef avoids the memory
allocation and reference counting overhead of a standard QString by simply
referencing a part of the original string.
2018-02-26 11:39:36 +00:00
Thomas Piccirello
2227c3afc1 Reselect torrents in WebUI after full update
Temp fix for #8209.
2018-02-25 01:09:06 -05:00
Mike Tzou
050af8a793 Merge pull request #7894 from Piccirello/auto-management
Disable options when Force Proxy is enabled
2018-02-25 01:44:58 +08:00
Vladimir Golovnev
6207855f3b Merge pull request #8372 from thalieht/inactiverate
Expose the libtorrent fields for "dont_count_slow_torrents" to GUI.
Closes #5713.
2018-02-24 14:13:39 +03:00
Vladimir Golovnev
a65a70ab48 Merge pull request #8479 from thalieht/ratioLimitsCrash
Fix possible crash when using both share limits
2018-02-24 14:11:09 +03:00
Thomas Piccirello
4110bb874f Right align stat values 2018-02-23 14:54:31 -05:00
Thomas Piccirello
5c74f374af Re-order and rename stats 2018-02-23 14:54:24 -05:00
Thomas Piccirello
a8420a43f9 Format Read cache hits as percentage 2018-02-23 14:46:47 -05:00
Vladimir Golovnev (Glassez)
279bce2014 Make SearchManager singleton 2018-02-23 20:26:32 +03:00
Vladimir Golovnev (Glassez)
f3d370870d Improve Search handling
Legacy SearchEngine class really has three roles:
  1. Manage search plugins,
  2. Handle the search job, and
  3. Handle the download of the torrent file using the search plugin.
Now it is splitted into 3 classes: SearchManager, SearchHandler and
SearchDownloadHandler.
Search GUI is also improved.
2018-02-23 20:15:25 +03:00
thalieht
0e30659c26 Fix possible crash when using both share limits
Avoid possible crash in "torrent->name()" when processing seeding time of the torrent that already reached the ratio limit.
2018-02-23 17:13:56 +02:00
Chocobo1
f34dfca5e6 Enable Http/1.1 persistence connection
This enables reusing existing TCP connection instead of opening a new connection
for every request
2018-02-23 14:46:22 +08:00
Chocobo1
cec68c3fd7 Rewrite RequestParser
* Add more checks and also more strict checks for invalid conditions
* Add http version field
* Raise max request size to 64 MB
* Add author in license
* Use Qt5 new connect syntax
2018-02-23 14:46:17 +08:00
Vladimir Golovnev
5c2f698cb4 Merge pull request #8325 from luis-pereira/prevent-c++11-range-loop-detach
Prevent possible c++11 range-loop container detach
2018-02-22 16:28:04 +03:00
Chocobo1
f5fc2d52b8 Fix loading very large torrents. Closes #8449.
`torrent_info` constructor has default limits that can't be changed via
parameters, so we handle the loading process manually and explicitly
specifiy the limits to `bdecode()`.
The token_limit is also changed to 10000000.
2018-02-22 18:52:10 +08:00
Mike Tzou
edef85fa3e Merge pull request #8456 from vit9696/patch-1
Fix compilation with Qt 5.11 on macOS
2018-02-21 23:00:55 +08:00
Mike Tzou
6244ad5fa8 Merge pull request #8458 from luis-pereira/qgetenv
Use qEnvironmentVariableIsEmpty
2018-02-21 23:00:30 +08:00
Chocobo1
aba23f67a0 Revert back to QLineEdit for "Run external program". Closes #7800
1. Using FileSystemPathEdit is not entirely correct, as it only always
shows false warnings when parameters are present.
2. FileSystemPathEdit::selectedPath() modifies the path to unix format,
in this specific case, we need to faithfully execute what user inputted.
3. Given the above it is reasonable to revert back to QLineEdit, as it
is just sufficient in functionality and doesn't modifiy the inputs.
2018-02-21 10:16:32 +08:00
Luís Pereira
1a913c502b Prevent possible c++11 range-loop container detach
Explicit or implicit calls to begin() and end() cause a non-const
container to detach from shared data, ie. to perform a deep-copy to gain
a unique copy of the data.
That can be a expensive although unneeded operation.

In order to assist the developer a copyAsConst function is added.
copyAsConst returns a const copy of the object.

For lvalues just use qAsConst. It's only available on Qt 5.7.0. But we
added also for earlier versions. The developer can always use qAsConst.

Intended uses:

    QString s = ...;
    for (const auto &ch : qAsConst(s))
          process(ch);

    for (const auto &ch : copyAsConst(funcReturningQString()))
        process(ch);
2018-02-20 19:28:51 +00:00
Vladimir Golovnev
078982ada6 Merge pull request #8424 from glassez/fix-rss
Disable Auto TMM when RSS rule has save path. Closes #8411
2018-02-20 11:13:15 +03:00
Vladimir Golovnev
3035184d25 Merge pull request #8445 from glassez/fix-webapi
Fix POST params handling. Closes #8443
2018-02-20 11:11:33 +03:00
Thomas Piccirello
fccdc7ebdc Remove extra space 2018-02-20 02:22:40 -05:00
Thomas Piccirello
e0c74c2d39 Remove conditionals 2018-02-20 02:22:40 -05:00
Thomas Piccirello
288f372914 Rename onClick property to onclick 2018-02-20 02:16:16 -05:00
Thomas Piccirello
ba331436fa Add More Information link 2018-02-20 02:16:16 -05:00
Thomas Piccirello
afd4069eb4 Disable options when force proxy is enabled 2018-02-20 02:16:15 -05:00
Vladimir Golovnev
387f9b1230 Merge pull request #8438 from Piccirello/webui-proxy-only
Add "Use proxy only for torrents" option to webui
2018-02-20 09:06:30 +03:00
Luís Pereira
2114817890 Use qEnvironmentVariableIsEmpty
Instead of qgetenv("QT_AUTO_SCREEN_SCALE_FACTOR").isEmpty().
It's faster (don't allocate memory) and don't throw exceptions.
2018-02-19 21:35:23 +00:00
vit9696
dac2ab5409 Fix compilation with Qt 5.11 on macOS 2018-02-19 22:39:25 +03:00
Mike Tzou
b87ca60c5a Merge pull request #8134 from Piccirello/webui-show-status-bar
Add option to show/hide webui status bar
2018-02-20 00:09:09 +08:00
Mike Tzou
6d44075662 Merge pull request #8228 from Piccirello/webui-save-window-size
WebUI Save user's resized windows
2018-02-20 00:02:32 +08:00
Thomas Piccirello
69af205094 Use .each(). Refactor conditionals. 2018-02-18 23:54:48 -05:00
Thomas Piccirello
8a2e3f5d93 Add option to show/hide webui status bar 2018-02-18 23:46:27 -05:00
Thomas Piccirello
3f79726ab9 Make download + upload windows resizable 2018-02-18 22:50:21 -05:00
Thomas Piccirello
d1c4b1599a WebUI Save user's resized window sizes 2018-02-18 22:50:21 -05:00
Vladimir Golovnev (Glassez)
a0842a1e68 Don't convert POST parameter names to lower-case 2018-02-18 19:57:48 +03:00
Vladimir Golovnev (Glassez)
29042e4841 Fix wrong WebAPI param name 2018-02-18 19:54:08 +03:00
Vladimir Golovnev
3e2cfb5136 Merge pull request #8409 from luis-pereira/master
Don't implicitly cast iterator to const_iterator
2018-02-18 18:21:50 +03:00
Thomas Piccirello
0d55599e02 Add "Use proxy only for torrents" option to webui 2018-02-17 21:25:42 -05:00
Luís Pereira
ea1b0b26b1 Don't implicitly cast iterator to const_iterator
It prevents detachments:
To illustrate:

QMap<QString, QString> map;
/* code compiles and works fine but find() returns the non-const
   QMap::iterator that detaches!
*/
QMap<QString, QString>::const_iterator it = map.find("girish");

but also some subtle bugs:

QHash<int, int> wrong;
if (wrong.find(1) == wrong.cend()) {
    qDebug() << "Not found";
} else {
    /* find() detached the container before cend() was called, so it
       prints "Found"
    */
    qDebug() << "Found";
}

QHash<int, int> right;
if (right.constFind(1) == right.cend()) {
    qDebug() << "Not found"; // This is correct now !
} else {
    qDebug() << "Found";
}

Enforced by QT_STRICT_ITERATORS definition.
2018-02-17 17:02:52 +00:00
Vladimir Golovnev (Glassez)
176b2eb18b Disable Auto TMM when RSS rule has save path
Closes #8411.
2018-02-16 14:02:01 +03:00
Vladimir Golovnev
98a1c111b9 Merge pull request #5287 from elFarto/master
Implement RSS Smart Filter
2018-02-16 13:43:38 +03:00
Mike Tzou
47048d8410 Merge pull request #8349 from Chocobo1/stats
Improve stats dialog
2018-02-16 15:31:01 +08:00
Mike Tzou
882fa7ecd4 Merge pull request #8336 from Chocobo1/coalesce
Add "Coalesce reads & writes" checkbox in advanced options
2018-02-16 15:30:17 +08:00
Vladimir Golovnev
d07ece53e6 Merge pull request #7610 from glassez/webapi2
Redesign Web API
2018-02-16 10:09:35 +03:00
Vladimir Golovnev
afd2f6ba14 Merge pull request #8344 from FranciscoPombal/master
Fixed typo in function name isSplashScreenDisabled()
2018-02-16 09:55:37 +03:00
Vladimir Golovnev
226b0d4194 Merge pull request #8398 from luis-pereira/no-qdeleteall-on-temporaries
Don't use qDeleteAll() on temporaries
2018-02-16 09:53:41 +03:00
Luís Pereira
44e4b5d238 Don't use qDeleteAll() on temporaries
qDeleteAll() is being used on an unnecessary temporary container created
by QHash::values().
Using qDeleteAll(mycontainer) instead.
2018-02-12 16:36:03 +00:00
sledgehammer999
c59d2575c8 Sync translations from Transifex and run lupdate. 2018-02-09 21:14:12 +02:00
thalieht
f50b4724a6 Expose the libtorrent fields for "dont_count_slow_torrents" to GUI:
inactive_down_rate
inactive_up_rate
auto_manage_startup
2018-02-08 14:14:39 +02:00
Stephen Dawkins
48cbccff1e Made smart episode filter regular expression configurable 2018-02-05 19:23:11 +00:00
Chocobo1
e31ec20ec4 Clarify some terms in stats dialog
Reorder list
2018-02-02 23:41:42 +08:00
Chocobo1
b9ec216aa5 Redefine CacheStatus.readRatio field.
Now it is defined as:
CacheStatus.readRatio = (blocks read from cache) / (blocks read from disk + blocks read from cache)
The 2 variables in denominator are counted separately and the formula before this change doesn't really make sense

Add percentage sign to "Read cache hits" stats
Also remove redundant header include
2018-02-02 23:41:42 +08:00
FranciscoPombal
2ac3004762 Fixed typo in function name isSplashScreenDisabled() 2018-01-31 12:05:41 +00:00
Chocobo1
543cbc6d1c Add "Coalesce reads & writes" checkbox in advanced options
The setting is defaulted to ON for Windows. Closes #8295.
2018-01-30 22:46:14 +08:00
Vladimir Golovnev (Glassez)
27d8dbf13b Redesign Web API
Normalize Web API method names.
Allow to use alternative Web UI.
Switch Web API version to standard form (i.e. "2.0").
Improve Web UI translation code.
Retranslate changed files.
Add Web API for RSS subsystem.
2018-01-28 19:16:24 +03:00
sledgehammer999
e487b31877 Merge pull request #8319 from sledgehammer999/saner_log_settings
Set default file log size to 65 KiB and delete backup logs older than…
2018-01-27 15:26:03 +02:00
Stephen Dawkins
2845a791d0 Initial implementation of Smart Filter feature 2018-01-27 09:14:36 +00:00
sledgehammer999
024df8c53f Set default file log size to 65 KiB and delete backup logs older than 1 month. 2018-01-27 01:17:50 +02:00
sledgehammer999
12d97475da Merge pull request #8321 from luis-pereira/remove-duplicate-set-app-name
Don't set application name twice
2018-01-25 21:41:46 +02:00
Luís Pereira
5154d431f6 Don't set application name twice
It's an artifact introduced by commit b3c73b7868.
2018-01-25 16:30:11 +00:00
Vladimir Golovnev (Glassez)
0fc1ad664f Implement Qt wrapper for std::runtime_error 2018-01-23 11:08:41 +03:00
Vladimir Golovnev (Glassez)
bb683bd393 Switch built-in Web UI html to HTML5 2018-01-23 11:08:37 +03:00
Vladimir Golovnev (Glassez)
69df8174b9 Allow to load TorrentInfo from data buffer 2018-01-23 11:08:32 +03:00
Vladimir Golovnev
56ccf28000 Merge pull request #8133 from Piccirello/webui-statistics-format
WebUI Statistics parity with GUI
2018-01-23 10:15:39 +03:00
Vladimir Golovnev
0a45fc9ffe Merge pull request #7990 from Piccirello/subnet-whitelist-refactor
Refactor ip subnet whitelist
2018-01-23 10:03:00 +03:00
Mike Tzou
a56262401b Merge pull request #8304 from Piccirello/webui-torrent-status
Remove default case, fix #8302
2018-01-23 12:28:22 +08:00
Tom Piccirello
ebea0d91af Remove default case, fix #8302 2018-01-22 02:05:41 -05:00
Vladimir Golovnev
d6cea2f76d Merge pull request #8301 from glassez/clear-settings
Remove legacy and corrupted RSS settings. Closes #8278
2018-01-21 20:42:26 +03:00
Vladimir Golovnev
4386fd9f89 Merge pull request #8292 from glassez/coding-style
Require '#pragma once' in new code
2018-01-21 20:05:42 +03:00
Vladimir Golovnev (Glassez)
1c18edac76 Remove legacy and corrupted RSS settings 2018-01-21 20:01:56 +03:00
Vladimir Golovnev (Glassez)
247b93e8ec Require '#pragma once' in new code 2018-01-20 12:10:21 +03:00
sledgehammer999
6470f9acb9 Merge pull request #8286 from Piccirello/webui-torrent-status
Match webui statuses to gui: add default case (addendum to #8269)
2018-01-19 15:36:55 +02:00
Thomas Piccirello
65e0aa6b82 Add default case 2018-01-18 23:30:19 -05:00
sledgehammer999
53cc8e1115 Revert "Remove examples from gpl.html. Closes #7749."
The GPL folks are a bit overzealous. See https://www.gnu.org/licenses/gpl-faq.html#GPLOmitPreamble

This reverts commit 5cf4f00824.
2018-01-18 16:25:38 +02:00
sledgehammer999
72b8ec8f3b Sync translations from Transifex and run lupdate. 2018-01-18 16:18:44 +02:00
sledgehammer999
29e24232ad Merge pull request #8269 from Piccirello/webui-torrent-status
Match webui statuses to gui, closes #7516
2018-01-18 16:11:24 +02:00
Thomas Piccirello
6d0cceca83 Use switch statement 2018-01-18 00:15:13 -05:00
Thomas Piccirello
8e9b928b61 Match webui statuses to gui, closes #7516 2018-01-18 00:15:12 -05:00
sledgehammer999
df81e84fc2 Merge pull request #8271 from Piccirello/gui-search-separators
Only add Search combobox separators as needed
2018-01-18 01:25:38 +02:00
Tom Piccirello
e6a1b72354 Only add search separators as needed 2018-01-16 00:22:51 -05:00
Mike Tzou
e48b97466c Merge pull request #8199 from winneon/reannounce
transferlist: added a force reannounce option
2018-01-10 18:48:41 +08:00
Mike Tzou
84b9929025 Merge pull request #8240 from Chocobo1/size
Torrent creator: raise maximum piece size to 32 MiB
2018-01-10 13:28:51 +08:00
Chocobo1
5c50dba9e1 Torrent creator: raise maximum piece size to 32 MiB 2018-01-09 13:04:44 +08:00
Mike Tzou
55b9b8fc91 Merge pull request #8234 from Chocobo1/tr
Fix translation context.
2018-01-08 15:04:42 +08:00
Chocobo1
fb698896c9 Fix translation context.
Partially addresses #8220.

Also sort include headers
2018-01-07 23:01:22 +08:00
sledgehammer999
95c32221a2 Update copyright year. 2018-01-06 02:23:09 +02:00
sledgehammer999
230fc8e11e Merge pull request #8216 from Chocobo1/i18n
Fix translation context. Closes #8211.
2018-01-05 16:18:11 +02:00
Thomas Piccirello
9b919b6c34 Add missing units 2018-01-05 02:48:41 -05:00
Thomas Piccirello
49d3b7bf30 Right-align stat values 2018-01-05 02:48:41 -05:00
Chocobo1
1d778676cd Fix translation context. Closes #8211. 2018-01-05 12:07:50 +08:00
Jesse Bryan
e887b3106f transferlist: added a force reannounce option. closes #6448. 2018-01-03 16:48:31 -06:00
sledgehammer999
be5600dae2 Update configure version info. 2018-01-03 23:18:00 +02:00
sledgehammer999
686fb701bf Update libtorrent bottle for Travis. 2018-01-03 22:41:54 +02:00
Mike Tzou
a73c4d57b1 Merge pull request #8136 from Chocobo1/pri
Sort filename lists in .pri files
2018-01-03 23:53:50 +08:00
sledgehammer999
e6ce1dd0b0 configure: Parse all compiler related flags together. 2018-01-03 01:16:39 +02:00
sledgehammer999
25ab660c14 Fix splitting of compiler flags in configure.
Autoconf removes a set of [] during script translation, resulting in a wrong sed command.
2018-01-02 18:15:49 +02:00
sledgehammer999
38d3eea6ee Merge pull request #8185 from sledgehammer999/fix_status_state
Fix constant status of '[F] Downloading'. Closes #7628.
2018-01-02 18:13:10 +02:00
sledgehammer999
13f69a2245 Fix constant status of '[F] Downloading'. Closes #7628. 2018-01-02 18:09:48 +02:00
Chocobo1
ec337a8a84 Sort filename lists in .pri files 2017-12-31 11:53:45 +08:00
Mike Tzou
267362a7a0 Merge pull request #7876 from Chocobo1/optionIcons
Fix gui issues on high DPI monitor
2017-12-31 11:42:55 +08:00
Mike Tzou
11f26bfefd Merge pull request #7878 from Chocobo1/runExt
Revert "Run external program" function
2017-12-28 21:26:53 +08:00
Vladimir Golovnev
87c3f5163e Merge pull request #8141 from glassez/fix-rss
Don't process new/updated RSS rules when disabled
2017-12-28 09:08:31 +03:00
Vladimir Golovnev (Glassez)
22bdf98617 Don't process new/updated RSS rules when disabled 2017-12-27 20:01:40 +03:00
sledgehammer999
e5001e8f40 Merge pull request #8132 from Piccirello/use-https
Use https for www.qbittorrent.org
2017-12-27 02:10:49 +02:00
Thomas Piccirello
ddd6c82dd7 Use https for www.qbittorrent.org 2017-12-26 18:22:03 -05:00
Vladimir Golovnev
155dc49c5a Merge pull request #7914 from Piccirello/webui-columns
Webui add torrent columns to match gui
2017-12-26 22:03:07 +03:00
Chocobo1
c2c0dd2717 Fix column size too narrow on resize
Instead of giving a value, just resize to the content size
2017-12-24 21:54:56 +08:00
Chocobo1
27cf98a962 Resize dialog size on high DPI monitors 2017-12-24 21:54:56 +08:00
Chocobo1
aaaa67050c Fix gui issues on high DPI monitor
Fix LineEdit widget size issues
Up-scale the icons on statusbar
Up-scale the icons in options dialog. Closes #7729.
Fix small icons in cookie manager
Fix progress bar height
Fix small icons in confirm delete dialog
Fix small icons in options dialog
Fix small images in about dialog
2017-12-24 21:47:46 +08:00
Chocobo1
52ae118e3c Tweak spacing 2017-12-24 21:47:46 +08:00
Chocobo1
cb929f7e59 Cleanup
Use Qt5 connect syntax
Reorder include headers
2017-12-24 21:47:44 +08:00
sledgehammer999
94b64884f8 Merge pull request #7997 from Piccirello/webui-content-columns
Add "Remaining" and "Availability" columns to webui Content tab
2017-12-23 20:32:46 +02:00
sledgehammer999
8a590c7472 Merge pull request #8054 from hannsen/master
search only when category is supported by plugin
2017-12-23 20:24:06 +02:00
sledgehammer999
b11c33b2d9 Merge pull request #8068 from thalieht/readableFlags
Make peer information flags in peerlist more readable
2017-12-23 19:33:19 +02:00
sledgehammer999
eb201003ee Merge pull request #7974 from sledgehammer999/fix_limit_application
Fix application of speed limits on LAN and μTP connections.
2017-12-23 19:20:32 +02:00
sledgehammer999
cf9bad03aa Fix application of speed limits on LAN and μTP connections. Closes #7745. 2017-12-23 19:19:08 +02:00
sledgehammer999
c5127d2eec Merge pull request #8091 from sledgehammer999/fix_natural_sort
Fix natural sorting
2017-12-23 19:16:29 +02:00
sledgehammer999
0a35adbdba Merge pull request #8087 from sledgehammer999/fix_flag_sorting
Fix sorting of country flags column in Peers tab.
2017-12-23 19:15:44 +02:00
sledgehammer999
38d68d9d97 Merge pull request #8103 from glassez/fix-8094
Fix RSS rule updated when deleting. Closes #8094
2017-12-23 19:09:59 +02:00
sledgehammer999
8494c6c5d4 Merge pull request #8003 from Chocobo1/fileicon
Use standard folder icon for open file behavior on Windows
2017-12-23 19:09:05 +02:00
sledgehammer999
cbfdb7df56 Merge pull request #8033 from vit9696/cmdw
Fix CMD+W not closing the main window
2017-12-23 19:07:51 +02:00
sledgehammer999
ea44923cce Merge pull request #8032 from vit9696/fopen
Fix torrent file selection in Finder on mac
2017-12-23 19:03:33 +02:00
Vladimir Golovnev (Glassez)
e75f8603b0 Fix RSS rule updated when deleting
Closes #8094
2017-12-23 16:25:09 +03:00
sledgehammer999
5437974b85 Fix natural sorting when the common part of 2 strings ends partially in a number which continues in the uncommon part.
Closes #8080 #6732.
2017-12-21 17:00:37 +02:00
sledgehammer999
99abc21dab Simplify sorting code. 2017-12-21 15:26:38 +02:00
sledgehammer999
5156399c68 Fix sorting of country flags column in Peers tab. 2017-12-21 15:21:53 +02:00
Mike Tzou
c8a5ef8c5d Merge pull request #7985 from Chocobo1/source
Add source field in Torrent creator
2017-12-21 20:26:38 +08:00
thalieht
5b52835377 Make peer information flags in peerlist more readable 2017-12-20 11:22:23 +02:00
Mike Tzou
b8277614ec Merge pull request #8066 from Chocobo1/url
WebUI: Only prepend scheme when it is not present. Closes #8057.
2017-12-19 22:43:03 +08:00
Chocobo1
fb6bdbefd5 WebUI: Only prepend scheme when it is not present. Closes #8057. 2017-12-18 14:12:31 +08:00
sledgehammer999
53c33317f9 Sync translations from Transifex and run lupdate. 2017-12-17 23:14:53 +02:00
jan.karberg
d534973650 search only when category is supported by plugin Closes #8053 2017-12-17 13:04:37 +01:00
vit9696
ed154d35ba Fix Finder reveal in preview and torrent contents 2017-12-17 02:16:36 +03:00
vit9696
ff7e5da6de Fix cmd+w not closing the main window on macOS 2017-12-13 13:30:40 +03:00
vit9696
d7fa5b6b6b Put macOS specific functions to MacUtils namespace 2017-12-12 20:53:20 +03:00
vit9696
d57bd62add Fix torrent file selection in Finder on mac 2017-12-12 20:53:20 +03:00
Thomas Piccirello
0f6dff6315 Make value formatting consistent with GUI 2017-12-12 01:25:06 -05:00
Thomas Piccirello
97b4e4a3d3 Add "Remaining" and "Availability" columns to webui Content tab 2017-12-12 01:25:06 -05:00
Vladimir Golovnev
84c84160fd Merge pull request #8008 from glassez/fix-ipv6
Fix WebUI is not reachable via IPv6
2017-12-11 07:58:48 +03:00
sledgehammer999
60c9926834 Merge pull request #8005 from Chocobo1/helpbutton
Disable the "?" help button in all dialogs on Windows
2017-12-11 03:29:31 +02:00
Vladimir Golovnev (Glassez)
fcde1ba09c Fix WebUI is not reachable via IPv6 2017-12-09 09:57:19 +03:00
Chocobo1
8dcf326576 Add source field in Torrent creator. Closes #7965.
This field is often used for cross-seeding between (private) trackers.
2017-12-09 00:39:50 +08:00
Chocobo1
22b0ebb5a8 Disable the "?" help button in all dialogs on Windows. Closes #7365. 2017-12-08 12:51:06 +08:00
Chocobo1
c5d99a12f3 Use standard folder icon for open file behavior on Windows. Closes #7880. 2017-12-08 09:15:44 +08:00
Thomas Piccirello
240f5b6718 Remove invalid subnets directly from list 2017-12-06 20:32:50 -05:00
Thomas Piccirello
d184bd8c82 Perform ip string validation inside setWebUiAuthSubnetWhitelist 2017-12-06 02:05:33 -05:00
Thomas Piccirello
98a2dedb32 Separate subnet whitelist options into two lines 2017-12-06 02:05:32 -05:00
Chocobo1
c405cb2f1c Add struct TorrentCreatorParams for passing parameters
Filter out continuous newlines in Trackers field
Avoid adding empty url seed entries

Cleanup:
  Replace boost::bind
  Add const
  Use nullptr
  Use QString::SkipEmptyParts
  Rename variables
  Throw proper exception type
2017-12-06 01:56:36 +08:00
sledgehammer999
5ea100352e Merge pull request #7958 from Chocobo1/fixsort
Fix crash in #7952
2017-12-04 22:58:22 +02:00
Chocobo1
86c5a8df75 Partial revert eac8838dc2. Fixes #7952.
mapFromSource() didn't work as expected, when used in lessThan(), it sometimes
returns an invalid QModelIndex.
A crash is observed when filtering source model via filterAcceptsRow() in #7952,
the crash is due to endless recursive of filterAcceptsRow() & lessThan() calling
each other and mapFromSource() is the culprit of it.
2017-12-04 17:40:44 +08:00
Thomas Piccirello
a05562cdc5 Add Time Active column 2017-12-03 15:01:35 -05:00
Thomas Piccirello
ee37f1db3d Add Tags columns 2017-12-03 15:01:35 -05:00
sledgehammer999
c9720cad81 Merge pull request #7915 from Chocobo1/dragndrop
Allow to drag-n-drop URLs into mainwindow to initiate download
2017-12-02 20:35:47 +02:00
sledgehammer999
2124ef261a Merge pull request #7964 from Chocobo1/typeError
[WebUI] Fix logout behavior
2017-12-02 14:23:38 +02:00
sledgehammer999
aae6030064 Merge pull request #7963 from Chocobo1/logo
Fix missing qbt logo on login page in webUI. Closes #7953.
2017-12-02 14:22:43 +02:00
Chocobo1
b234fcec9c [WebUI] Use POST for logout command
This is to avoid browser being smart to prefetch the link then logging
out the user.
2017-12-02 14:32:40 +08:00
Chocobo1
1a45145c1e [WebUI] Add check to avoid type error after logout 2017-12-02 14:32:40 +08:00
Chocobo1
c1a282aa7b Fix missing qbt logo on login page in webUI. Closes #7953. 2017-12-02 14:31:48 +08:00
sledgehammer999
e23c5614b6 Add height padding to the transfer list icons. Closes #7951. 2017-12-02 00:50:40 +02:00
sledgehammer999
f457937980 Sync translations from Transifex and run lupdate. 2017-12-01 01:44:24 +02:00
Mike Tzou
eac8838dc2 [GUI] Implement stable sort (#7703)
* NaturalCompare now returns compare result instead of "less than" result
* Change to stable sort in GUI components
* Add Utils::String::naturalLessThan() helper function
* Use Qt::CaseSensitivity type
2017-11-30 17:10:30 +08:00
Mike Tzou
74d281526b Merge pull request #7647 from thalieht/style
Coding style for many files
2017-11-30 17:09:18 +08:00
sledgehammer999
7a8128eec4 Merge pull request #7858 from sledgehammer999/IpFilter_log
Stop logging IP filter parsing errors after a while.
2017-11-29 19:44:43 +02:00
sledgehammer999
a55be5e58f Stop logging IP filter parsing errors after a while.
When a lot of errors happen the resulting log lines introduce
a huge slowdown of the GUI, due to writing each log line to disk.

Closes #7755.
2017-11-29 15:49:59 +02:00
sledgehammer999
4c317f1e4a Merge pull request #7852 from surfernsk/master
Fix i386 build (configure). Closes #7845
2017-11-27 19:12:08 +02:00
sledgehammer999
48c46dc79a Fix crash on some systems when creating address object for 255.255.255.255
Closes #7735.
2017-11-27 19:06:37 +02:00
Chocobo1
b9339bb727 Allow to drag-n-drop URLs into mainwindow to initiate download
Fix issue: https://github.com/qbittorrent/qBittorrent/issues/7785#issuecomment-347092418
Minor refactor
2017-11-27 16:45:55 +08:00
Thomas Piccirello
e1f8e6aa6f Reposition Total Size column to match gui 2017-11-26 19:37:20 -05:00
Chocobo1
76c95d8c6c Revert "Run external program" function
This revert df95efe33e partially
2017-11-25 15:48:29 +08:00
Vladimir Golovnev
a7da714b13 Merge pull request #7832 from glassez/rss-import
Implement Import/Export RSS rules. Closes #7721
2017-11-25 10:35:24 +03:00
Vladimir Golovnev (Glassez)
916cfcdb03 Implement Import/Export RSS rules in JSON format 2017-11-24 21:20:44 +03:00
Vladimir Golovnev (Glassez)
b8fc415870 Implement Import/Export RSS rules in legacy format 2017-11-24 16:19:16 +03:00
Evgeny Lensky
428cb9c986 Fix i386 build (configure)
Fix building on i686 fails with wrong multilib library path #7845

and rebregenerate ./configure
2017-11-24 10:28:03 +07:00
sledgehammer999
99341409f4 Remove examples from gpl.html. Closes #7749. 2017-11-24 02:03:29 +02:00
Mike Tzou
f07333acc9 Merge pull request #7576 from TheNicker/master
Fixed blurry text under windows by setting DPI awareness to default
2017-11-23 20:43:26 +08:00
Vladimir Golovnev
342f5f1a09 Merge pull request #7821 from glassez/fix-rss
Fix RSS Parser. Closes #7751, #7763, #7768, #7786
2017-11-23 14:35:42 +03:00
sledgehammer999
d74efd839f Merge pull request #7826 from Chocobo1/tcp
Change MixedModeAlgorithm default to TCP. Closes #7779.
2017-11-23 01:53:29 +02:00
Heiko Becker
af898e9117 Fix build with --disable-webui
"app/application.cpp:108:7: error: class 'Application' does not have
any field named 'm_webui'"
2017-11-23 01:52:38 +02:00
Vladimir Golovnev (Glassez)
c0e48627ae Fix RSS Parser
Closes #7751
Closes #7763
Closes #7768
Closes #7786
2017-11-22 19:11:37 +03:00
Chocobo1
534ed91d04 Change MixedModeAlgorithm default to TCP. Closes #7779.
MixedModeAlgorithm::Proportional will throttle TCP connections when utp
is in use and users is expecting maximum speed no matter what, so now
disable the throttling.
2017-11-22 22:39:52 +08:00
sledgehammer999
c58d0af88f Merge pull request #7806 from thoradia/rss_feed
Fix missing include in rss_feed.cpp

Fixes #7805
2017-11-22 15:51:05 +02:00
thoradia
ca5c1e8a15 Fix missing include in rss_feed.cpp
Fixes #7805.
2017-11-22 14:39:07 +01:00
sledgehammer999
4e96a1065e Bump API_VERSION to 16. 2017-11-22 01:14:33 +02:00
sledgehammer999
c9a8d19e6c Sync translations from Transifex and run lupdate. 2017-11-22 01:01:05 +02:00
sledgehammer999
81f5fdda15 Correctly check if torrent passed during application start already exists. 2017-11-22 00:42:26 +02:00
sledgehammer999
a38730eb9e Merge pull request #7792 from Chocobo1/creator2
Fix crash when aborting a torrent creation process
2017-11-22 00:41:26 +02:00
sledgehammer999
1a9e650936 Merge pull request #7782 from Chocobo1/utf8
Remove superfluous QString::fromUtf8()
2017-11-22 00:40:51 +02:00
sledgehammer999
ae5177b20f Merge pull request #7778 from Chocobo1/dragdrop
Allow drag-n-drop magnet links to mainwindow. Closes #7742.
2017-11-21 21:27:19 +02:00
Chocobo1
27090f0cfb Remove superfluous QString::fromUtf8() 2017-11-21 22:48:00 +08:00
Chocobo1
433b5a46cf Fix crash when aborting a torrent creation process. Closes #7783.
The wait time wasn't long enough causing the thread to
terminate prematurely.
Also, to avoid crashing qbt entirely when creating a torrent for a very
big file, I decided to wait indefinitely here.
2017-11-21 18:33:47 +08:00
Chocobo1
034d71dce3 Wrap function into anonymous namespace 2017-11-21 18:23:39 +08:00
Chocobo1
c3de2310c5 Avoid double delete on close 2017-11-21 18:11:28 +08:00
Chocobo1
b9478e0f00 Use Qt5 connect syntax 2017-11-21 18:11:28 +08:00
Chocobo1
94aeac992c Allow drag-n-drop magnet links to mainwindow. Closes #7742. 2017-11-21 14:19:34 +08:00
sledgehammer999
4927d26877 Fix english typo. 2017-11-21 02:14:44 +02:00
thalieht
ae1634623e Coding style for many files 2017-11-20 23:29:59 +02:00
sledgehammer999
296c7d3c13 Merge pull request #7764 from Chocobo1/logo
[WebUI] Fix logo missing in login page
2017-11-20 23:28:13 +02:00
sledgehammer999
22add258ae Merge pull request #7753 from luigino/master
qtsingleapplication should always be built statically to avoid depend…
2017-11-20 22:31:46 +02:00
Chocobo1
77f66be493 [WebUI] Fix logo missing in login page 2017-11-21 03:41:07 +08:00
Vladimir Golovnev
f41cb8089d Merge pull request #6779 from Piccirello/disable-web-auth
Add ip subnet whitelist for bypassing webui auth
2017-11-20 21:52:33 +03:00
luigino
32a686a037 qtsingleapplication should always be built statically to avoid dependency problems 2017-11-20 17:23:22 +01:00
sledgehammer999
236abcf3f1 Fix crash on opening torrent/magnet (uninitialized pointer). Closes #7739 #7723. 2017-11-20 17:46:31 +02:00
sledgehammer999
325f9f629d Improve the github issue template. 2017-11-20 16:20:10 +02:00
sledgehammer999
88a771c9ff Bump to 4.1.0alpha 2017-11-20 02:42:16 +02:00
sledgehammer999
b960e41cfa Update Changelog. 2017-11-20 02:28:19 +02:00
sledgehammer999
9f461d0fe6 Sync translations from Transifex and run lupdate. 2017-11-20 02:23:31 +02:00
sledgehammer999
9db1f3baca Merge pull request #6484 from sledgehammer999/new_logo
Change qbittorrent logo. Issue #6467.
2017-11-19 19:15:50 +02:00
sledgehammer999
af5a02d971 Merge pull request #7673 from sledgehammer999/webui_clean_exit
WebUI: Correctly exit depending if mainloop is running.
2017-11-19 19:12:30 +02:00
Vladimir Golovnev (Glassez)
71bb6538db Fix WebUI error handling 2017-11-19 19:10:04 +02:00
sledgehammer999
06ecc45d13 Merge pull request #7711 from Chocobo1/update
Update m4 macros
2017-11-19 18:37:26 +02:00
Chocobo1
31607c4d18 Simplify AX_BOOST_BASE usage
Regenerate configure
2017-11-17 18:25:46 +08:00
Chocobo1
84bb214642 Sync m4 macros with upstream 2017-11-17 15:28:14 +08:00
Mike Tzou
d821bdc9f3 Merge pull request #7669 from Chocobo1/portCheck
[WebAPI] Improve error messages
2017-11-10 23:41:19 +08:00
Vladimir Golovnev
63461e0895 Merge pull request #7688 from glassez/rss-log
Improve RSS events logging
2017-11-10 14:38:38 +03:00
Eugene Shalygin
08755a211b Merge pull request #7596 from evsh/path-history-items
Add option to tune download history list length. Closes #4043.
2017-11-10 12:23:40 +01:00
Vladimir Golovnev (Glassez)
a3c9c1c386 Improve RSS events logging
Fix RSS log messages was untranslatable.
Add more logging.
2017-11-09 15:40:39 +03:00
Thomas Piccirello
0de2f1776e Remove duplicate header 2017-11-08 22:39:49 -05:00
Thomas Piccirello
da0db92b9f Enable preferences Apply button when ip banlist is modified 2017-11-08 22:39:49 -05:00
Thomas Piccirello
95bf63330e Add ip subnet whitelist for bypassing webui auth 2017-11-08 22:39:49 -05:00
Mike Tzou
04cec39277 Merge pull request #7667 from Chocobo1/stackdump
Include & print caught signal in stackdump
2017-11-04 11:10:49 +08:00
sledgehammer999
7b95785954 Merge pull request #7672 from Kolcha/fix-file-permissions
dropped unneeded executable flag from several files
2017-11-03 21:35:33 +02:00
Nikolay Korotysh
7d0342e366 dropped unneeded executable flag from several files 2017-11-03 17:19:54 +03:00
Chocobo1
21bc08d643 Include/print caught signal in stackdump 2017-11-03 14:13:17 +08:00
sledgehammer999
ffa6f7ea34 Bump API_VERSION to 16. 2017-11-03 01:57:32 +02:00
sledgehammer999
6b0449dde7 Update Changelog. 2017-11-03 01:39:44 +02:00
Chocobo1
aa4107478e [WebAPI] Improve error messages
Also refactor to use class methods
2017-11-02 23:01:14 +08:00
sledgehammer999
9f8e7917a8 Merge pull request #7657 from Chocobo1/upnp
Disable upnp & nat-pmp on startup if disabled in options. Closes #7338.
2017-10-31 18:24:28 +02:00
Chocobo1
1b652c882e Refactor
Add const
Use Qt5 connect syntax
2017-10-31 19:09:01 +08:00
Chocobo1
601234e492 Explicitly set UPnP state on start-up. Closes #7338.
libtorrent 1.1 enables upnp by default.
2017-10-31 19:08:58 +08:00
sledgehammer999
6c804edadf Change default settings for tracker/tier announces to mimick ìTorrent behavior. 2017-10-30 23:27:29 +02:00
sledgehammer999
3a5c0d9818 Allow to specify if announcing to all tiers is desired. 2017-10-30 23:27:28 +02:00
sledgehammer999
2194a05e60 Merge pull request #7652 from Chocobo1/aboutExtLink
Open links in browser. Closes #7651.
2017-10-30 18:06:34 +02:00
sledgehammer999
a89c1a8d9a Use new logo in the file icon. 2017-10-30 02:41:26 +02:00
sledgehammer999
86215f8483 Use new logo in the splash screen. 2017-10-30 02:41:25 +02:00
sledgehammer999
a1b01c1b40 Remove unused image. 2017-10-30 02:41:24 +02:00
sledgehammer999
09cb95d3da Use the SVG for the tray icon. 2017-10-30 02:41:23 +02:00
sledgehammer999
48d7bdee0e Change qbittorrent logo. Issue #6467. 2017-10-30 02:41:22 +02:00
sledgehammer999
5157fc201c Add Turkish translator in about page. 2017-10-30 00:32:44 +02:00
Chocobo1
492ea5bceb Open links in browser. Closes #7651. 2017-10-28 14:51:20 +08:00
Mike Tzou
e8cf351b6a Merge pull request #7643 from Chocobo1/email
Allow SMTP sender to be set. Closes #7575.
2017-10-27 12:52:35 +08:00
Chocobo1
fc0628d35b Allow SMTP sender to be set. Closes #7575. 2017-10-26 17:57:32 +08:00
Mike Tzou
1f7391737e Merge pull request #7445 from Chocobo1/fixAddTorrent
Disable processing socket events in findIncompleteFiles()
2017-10-25 23:00:35 +08:00
Mike Tzou
acdb7a27dc Merge pull request #7638 from Chocobo1/msg
[WebUI] Improve log messages
2017-10-24 20:19:12 +08:00
Eugene Shalygin
1fed324f91 Add option to tune download history list length. Closes #4043. 2017-10-24 12:56:05 +02:00
Eugene Shalygin
e4771ba508 Add maxVisibleItems combo box property to FileSystemPathComboEdit. 2017-10-24 12:56:04 +02:00
sledgehammer999
6a36a3b1d9 Run lupdate again. 2017-10-24 03:34:49 +03:00
sledgehammer999
2956b28a32 Mention more translators in the about page after their request. 2017-10-24 03:32:57 +03:00
sledgehammer999
50471ec8c8 String fixes and optimizations mentioned by translators on Transifex. 2017-10-24 03:32:56 +03:00
sledgehammer999
3aa9ff5fba Sync translations from Transifex and run lupdate. 2017-10-24 01:28:31 +03:00
Mike Tzou
b6be5afb89 Merge pull request #7584 from Chocobo1/refactor
[WebAPI] Refactor
2017-10-23 19:36:28 +08:00
Chocobo1
157b809e21 [WebUI] Improve log messages 2017-10-23 16:45:41 +08:00
Mike Tzou
f74e2b0130 Merge pull request #7631 from Chocobo1/webUIaddr
Reinitialize webUI server when "IP address" setting changed
2017-10-23 14:11:50 +08:00
sledgehammer999
c887a162ba Fix row height/width in webui for country flags.
Patch by Chocobo1.
2017-10-23 01:23:54 +03:00
sledgehammer999
52df71ad3a Use svg icons for the country flags.
Closes #6223.
2017-10-23 01:23:45 +03:00
Chocobo1
d6ddc90199 Reinitialize webUI server when "IP address" setting changed
An app restart won't be necessary from now on.
2017-10-22 14:42:51 +08:00
Mike Tzou
9600e7f5ad Merge pull request #7573 from fmatthew5876/config_webui_ip
Add WebUi\Address config option
2017-10-22 14:18:08 +08:00
Chocobo1
f3603d05e7 Disable processing events when adding torrents. Closes #7436.
webUI connection timeout & deletion might occur while
doing processEvents() and will result in use-after-free segfault.
2017-10-22 13:54:03 +08:00
Matthew Fioravante
8cd243b06b Add WebUi\Address config option 2017-10-21 09:32:30 -04:00
Mike Tzou
1da3437a4a Merge pull request #7603 from Chocobo1/debugMsg
[WebUI]: Print error messages upon receiving invalid header fields
2017-10-21 01:10:25 +08:00
Vladimir Golovnev
c72fb92318 Merge pull request #7529 from dzmat/speedwidget_qtconcurrent_removal
Excess QtConcurrent usage removal
2017-10-20 10:32:27 +03:00
sledgehammer999
954448863e Merge pull request #7599 from scootergrisen/patch-1
Add me for danish
2017-10-19 01:50:35 +03:00
sledgehammer999
eec6009398 Merge pull request #7583 from LordNyriox/status-icons
Invert Framing for Torrent Status Icons
2017-10-19 01:45:22 +03:00
Chocobo1
ce362f0e5e WebAPI refactor: utilize parseBool() function
Coding style cleanup
Rename variable
Return const reference
Add const
2017-10-18 22:27:59 +08:00
Chocobo1
4940a77d12 [WebUI]: Print error messages upon receiving invalid header fields 2017-10-18 20:11:53 +08:00
sledgehammer999
4e77e01a67 Generate pngs using svgexport and optimize using PNGGauntlet. 2017-10-17 19:40:46 +03:00
sledgehammer999
5acdcb6c09 Optimize and prettify the svg source using svgo. 2017-10-17 19:32:34 +03:00
scootergrisen
8400d855de Add me for danish 2017-10-16 22:14:10 +02:00
Mike Tzou
bd07cb91bb Merge pull request #7571 from Chocobo1/webui_download
[WebAPI] Add parameters for /command/download & /command/upload
2017-10-15 20:32:14 +08:00
LordNyriox
d7e0a9b1ad Invert Framing for Torrent Status Icons
Also recolor the icons to match the text-color used for the torrent-status as well. 
Optimized using SVGOMG [<https://jakearchibald.github.io/svgomg/>].
2017-10-13 13:41:42 -04:00
Mike Tzou
dc600d47ec Merge pull request #7570 from Chocobo1/webui_fileIdx
[WebAPI] Add file-to-piece-index mappings in /query/propertiesFiles command
2017-10-14 01:05:00 +08:00
sledgehammer999
0d3952eef5 Sync translations from Transifex and run lupdate. 2017-10-13 03:56:57 +03:00
TheNicker
30a4ce40b9 Fixed blurry text under Windows by setting DPI awareness to default 2017-10-12 22:23:02 +03:00
dzmat
9d0ab0ae5f speedwidget class: excess QtConcurent usage removal 2017-10-12 20:59:13 +07:00
Chocobo1
e78d8b9fcc Convert tab into whitespaces 2017-10-11 20:27:19 +08:00
Chocobo1
f350977cb4 WebUI: add optional parameters for /command/download & /command/upload
Specifically:
torrent name: string
download limit, upload limit: number in bytes, default: -1 (unlimited)
sequential download, first last piece prio: boolean true/false, default: false
2017-10-11 20:25:11 +08:00
Eugene Shalygin
7a652c0a8c Merge pull request #7566 from evsh/themes-cbc
Themes part 1
2017-10-11 10:34:56 +02:00
Chocobo1
a652baadb5 Add file-to-piece-index mappings in /query/propertiesFiles command
Also do the following cleanups:
  Use string constant QB_EXT
  Remove redundant variable
  Add const
2017-10-11 16:24:29 +08:00
Chocobo1
66b86888fc Add uploadLimit, downloadLimit fields to AddTorrentData & AddTorrentParams 2017-10-11 16:23:58 +08:00
Mike Tzou
e07501252c Merge pull request #7549 from fmatthew5876/master
Report TCPServer errorString() if webui fails to listen to port
2017-10-11 16:22:52 +08:00
Mike Tzou
2977ba9ec2 Merge pull request #7563 from Chocobo1/delkey
Fix delete key has no effect due to "Ambiguous shortcut overload"
2017-10-11 16:15:55 +08:00
Eugene Shalygin
db35bb54e1 Make BitTorrent::TorrentState strongly-typed enum
This is needed to forward declare this type and pass it by value.

Conversion from/to QVariant are hanled via Q_DECLARE_METATYPE, while
TorrentState::toString() function was used in webui only and as such is
moved there.
2017-10-10 21:28:57 +02:00
Tim Delaney
19bb6f5fe0 Follow project coding style. Issue #2192.
--HG--
branch : magao-dev
2017-10-10 21:28:56 +02:00
Chocobo1
aab752dd2e Fix delete key has no effect due to "Ambiguous shortcut overload"
We want to show the accelerator key in the menu but without hitting
the ambiguous overload error.
Fixup of 1378245a63
2017-10-10 14:43:05 +08:00
Eugene Shalygin
8c75fdcb4c Merge pull request #7558 from evsh/uncrustify
Update uncrustify config
2017-10-09 20:04:37 +02:00
sledgehammer999
df03b69151 Merge pull request #7502 from sledgehammer999/optimize_img
Image housekeeping
2017-10-09 18:16:38 +03:00
sledgehammer999
aca7a851bb Optimize SVGs.
Used svgo with commands --pretty --indent=2 --multipass.
2017-10-09 18:15:41 +03:00
sledgehammer999
e9caefdfce Optimize PNGs.
Using PNGGauntlet.
2017-10-09 18:15:40 +03:00
sledgehammer999
16ac20b594 Remove unused image. Possibly leftover from dropping Qt4. 2017-10-09 18:15:39 +03:00
sledgehammer999
a3e071b734 Merge pull request #7562 from sledgehammer999/drop_os2
Drop OS/2 support.
2017-10-09 18:14:11 +03:00
sledgehammer999
5d3b9d2f22 Drop OS/2 support. 2017-10-09 18:11:14 +03:00
sledgehammer999
27a7e86599 Merge pull request #7561 from sledgehammer999/native_path
Show new paths in native form.
2017-10-09 18:09:55 +03:00
sledgehammer999
d93d0ab19e Show new paths in native form. 2017-10-09 17:42:42 +03:00
Eugene Shalygin
776627eee9 Update uncrustify config 2017-10-09 16:42:34 +02:00
Chocobo1
5185eeb7ef Die gracefully when failed to initialize web server with qbt-nox 2017-10-09 13:50:01 +08:00
Vladimir Golovnev
083bc71315 Merge pull request #7396 from thalieht/updownratio
Properly pre-select the selected torrent's current ratio limiting options in UpDownRatioDlg
2017-10-08 21:06:55 +03:00
Eugene Shalygin
b1b931922e Merge pull request #7555 from evsh/fix-qtsingleapplication-cmake
cmake: do not use Qt5Widgets when locating QtSingleApplication. Closes #7551.
2017-10-08 09:28:00 +02:00
thalieht
0717f0d60c Save ratio limits as int instead of string 2017-10-08 10:22:40 +03:00
thalieht
525fdd6c2b Coding style, use nullptr and other minor things 2017-10-08 10:20:54 +03:00
thalieht
f27e75e8fa Properly pre-select the selected torrent's current ratio limiting options in UpDownRatioDlg dialogs. Fixes #7352 2017-10-08 10:20:38 +03:00
Eugene Shalygin
0ad5290389 cmake: do not use Qt5Widgets when locating QtSingleApplication. Closes #7551.
This fixes cmake builds with GUI disabled and system
QtSingleApplication. We rely on Qt5::Core instead of Qt5::Widgets.
2017-10-07 21:48:52 +02:00
Mike Tzou
7895afb8e9 Merge pull request #7542 from Chocobo1/wordbreak
Set QTextOption::NoWrap property in "Download from URLs" dialog
2017-10-07 13:40:41 +08:00
Mike Tzou
2626378dfd Merge pull request #7545 from Kolcha/del-shortcut
added keyboard shortcut to delete torrent. closes #7508
2017-10-07 13:38:05 +08:00
Nick Korotysh
1378245a63 show delete accelerator key in menu. closes #7508 2017-10-06 14:51:19 +03:00
Matthew Fioravante
05c92e652c Report TCPServer errorString() if webui fails to listen to port 2017-10-06 05:54:52 +00:00
Mike Tzou
6c0dd81528 Merge pull request #7541 from Kolcha/sort-plugins
allow search plugins sorting. closes #7526
2017-10-05 16:16:27 +08:00
Vladimir Golovnev
bd1d775ca9 Merge pull request #7522 from glassez/winconf
Reformat Windows build configuration files
2017-10-04 09:18:27 +03:00
Chocobo1
b3207b8144 Set QTextOption::NoWrap property in "Download from URLs" dialog
This makes it easier to put each magnet link on its own line
2017-10-03 22:45:18 +08:00
Nick Korotysh
4c8dd0ca9d allow search plugins sorting. closes #7526 2017-10-03 16:57:09 +03:00
Vladimir Golovnev (Glassez)
61d9fcd753 Reformat Windows build configuration files 2017-10-02 18:57:54 +03:00
Vladimir Golovnev
c5607f07c8 Merge pull request #7514 from dzmat/members_names_clarification
members names clarification
2017-09-30 09:36:24 +03:00
Mike Tzou
49802be7d4 Merge pull request #7499 from Chocobo1/fixTimeActive
Fix "Time active" field in transfer list
2017-09-30 11:36:57 +08:00
dzmat
3d932b1cce transferlistwidget class members names clarification 2017-09-29 19:55:30 +07:00
Vladimir Golovnev
66a6674cbc Merge pull request #7490 from glassez/category-path
Allow to set explicit save path for Category from GUI
2017-09-29 14:25:40 +03:00
Chocobo1
2d12c126eb Fix "Time active" field in transfer list
The "Time active" field was broken, displaying nothing when in
downloading state.
Also change type to int to match the return
types of TorrentHandle::activeTime() & TorrentHandle::seedingTime()
2017-09-28 16:54:46 +08:00
Vladimir Golovnev (Glassez)
3ec992474d Implement TorrentCategoryDialog class 2017-09-27 21:25:22 +03:00
Mike Tzou
15babe97ea Merge pull request #7500 from Chocobo1/mergeName
Show torrent name in "add new torrent" dialog on merging trackers
2017-09-27 21:04:51 +08:00
Mike Tzou
308fd3dcac Merge pull request #7477 from silverqx/options-dlg-persist-size
Center Options dialog when showed
2017-09-27 20:35:04 +08:00
Mike Tzou
e8250104c8 Merge pull request #7429 from silverqx/preview-modal-ux
Improved ux in preview dialog
2017-09-27 20:33:31 +08:00
Mike Tzou
796cd674d7 Merge pull request #7495 from silverqx/options-save-state-cancel
Options dialog save windows state in destructor
2017-09-26 15:30:17 +08:00
Mike Tzou
1fe9272a8f Merge pull request #7480 from Chocobo1/lastAct
Fix last activity calculation
2017-09-26 15:17:35 +08:00
sledgehammer999
c285de87d4 Don't use margins in FileSystemPathEdit widgets.
Introduced in 30081e0.
2017-09-26 04:06:32 +03:00
Chocobo1
058062d586 Show torrent name in "add new torrent" dialog on merging trackers 2017-09-26 01:34:24 +08:00
silver
3b4fd35dde Persist size and treeview header state in preview dialog
- renamed variable m_headerState
 - renamed PreviewSelect class to PreviewSelectDialog
 - renamed previewselect files to previewselectdialog
2017-09-25 16:33:17 +02:00
silver
2a6bd5de35 Options dialog save windows state in destructor 2017-09-24 22:56:14 +02:00
silver
64e539fcfb Center Options dialog when showed 2017-09-24 19:40:48 +02:00
Mike Tzou
de6ca29dcd Merge pull request #7482 from Chocobo1/update
Update qtsingleapplication
2017-09-24 22:39:59 +08:00
silver
ef63202be2 Follow project coding style. Issue #2192. 2017-09-24 16:18:39 +02:00
Chocobo1
62493c672d Fix last activity calculation. Closes #7461
`time_since_upload` & `time_since_download` can be -1, so filter them out
2017-09-24 21:06:34 +08:00
Vladimir Golovnev (Glassez)
8c58a69be6 Use Qt5 connect() style in CategoryFilterWidget 2017-09-24 16:01:39 +03:00
Mike Tzou
2eb3ec1a6e Merge pull request #7463 from Piccirello/fix-priority-context-menu-placement
Reposition "Priority" menu option in WebUI to match gui (closes #7072)
2017-09-24 10:28:05 +08:00
Chocobo1
e3da17caa8 Update qtsingleapplication
To upstream version a8dda66d7738cde9042b87db27993f710ae3eeeb
2017-09-23 00:27:00 +08:00
sledgehammer999
c7e35a1801 Merge pull request #7451 from sledgehammer999/report_delete_fail
Better reporting of success/failure of torrent and file deletion.
2017-09-21 23:36:53 +03:00
Mike Tzou
83c6b22d30 Merge pull request #7454 from Chocobo1/buttonbox
Replace dialog ok-cancel buttons with QDialogButtonBox
2017-09-21 22:45:45 +08:00
Mike Tzou
fc5d49bf9a Merge pull request #7460 from Chocobo1/tribool
Use smaller data type for TriStateBool
2017-09-21 20:17:34 +08:00
Mike Tzou
473ed45b3f Merge pull request #7468 from Chocobo1/apiwipeass
WebAPI: fix root_folder default behavior
2017-09-21 20:17:14 +08:00
Chocobo1
c5ddbcfb5b WebAPI: fix addPaused wrong default behavior
Add helper function
Sort include header
2017-09-19 17:26:01 +08:00
Chocobo1
72b0ba36ae Refactor
Merge statements
Use case-insensitive contains()
Add const
Use value(), this avoids inserting empty values.
Use range based for loop
2017-09-19 14:16:39 +08:00
Chocobo1
b107c0671d WebAPI: fix root_folder default behavior
Bug was introduced in
6b33db3ae3
2017-09-19 13:07:50 +08:00
sledgehammer999
b9e233601d Merge pull request #7446 from Chocobo1/utpOnly
Add uTP only mode option
2017-09-19 01:45:58 +03:00
sledgehammer999
8f16388915 Better reporting of success/failure of torrent and file deletion. 2017-09-17 23:04:12 +03:00
Chocobo1
d143929454 Use smaller data type for TriStateBool 2017-09-18 02:21:47 +08:00
Chocobo1
45a0c5558a Add comboBox for selecting BitTorrent protocol. Closes #6316.
Use unicode string C_UTP in place of "uTP"
2017-09-18 01:52:57 +08:00
Thomas Piccirello
b6596f9957 Reposition "Priority" menu option in WebUI to match gui (closes #7072) 2017-09-17 05:42:46 -04:00
Chocobo1
7059b947e8 Replace dialog ok-cancel buttons with QDialogButtonBox
This PR will make button order follow the platform default.
For example: windows use: OK, Cancel; linux use: Cancel, OK.
2017-09-15 18:52:21 +08:00
Mike Tzou
4eafe7a2c8 Merge pull request #7426 from thalieht/webuiStripFolder
Add the create root folder option when adding a torrent in WebUI
2017-09-15 13:01:48 +08:00
sledgehammer999
d165da9c6c Merge pull request #7417 from Chocobo1/fix
Fix default value of m_diskCacheSize
2017-09-14 16:13:12 +03:00
Chocobo1
a341b793e4 Rename option
The previous "Disk write cache size" is not accurate since it is also being used
for read cache, so rename it to "Disk cache".
2017-09-14 20:32:10 +08:00
Chocobo1
a1d46a278b Change default value of m_diskCacheSize. New default is 64 MB. 2017-09-14 20:32:04 +08:00
Eugene Shalygin
c6cf3a98a4 Merge pull request #7428 from evsh/allow-all-tray-icons
Allow custom tray icons when system icon theme is used. Closes #7403.
2017-09-12 11:09:44 +02:00
Mike Tzou
56887efdf5 Merge pull request #7422 from Chocobo1/delete
Fix dereferencing freed pointer
2017-09-12 02:14:08 +08:00
Eugene Shalygin
4ec193042f Allow custom tray icons when system icon theme is used. Closes #7403. 2017-09-11 16:18:10 +02:00
thalieht
6b33db3ae3 Create root folder option when adding a torrent in WebUI 2017-09-11 16:56:33 +03:00
Chocobo1
855772ae5a Fix dereferencing freed pointer. Closes #7420.
The torrent is removed from session after `deleteTorrent()`
yet we still invoke `torrent->name()`, thus result in crash.
2017-09-11 13:16:34 +08:00
sledgehammer999
467ba380b2 Travis: Update libtorrent bottle with boost 1.65+ fix. 2017-09-11 01:20:02 +03:00
Mike Tzou
93ed8e98c1 Merge pull request #7402 from comradekingu/patch-2
Spelling: HTTP/HTTPS
2017-09-08 20:12:27 +08:00
Allan Nordhøy
5c18db240c Spelling: HTTP/HTTPS 2017-09-08 11:22:25 +02:00
sledgehammer999
915ec81f83 Merge pull request #7385 from Chocobo1/coding_style
Update coding guidelines (proposal)
2017-09-08 02:20:15 +03:00
sledgehammer999
8c545d2947 Update Changelog. 2017-09-08 00:54:08 +03:00
sledgehammer999
cbfbae1409 Bump to 3.4.0beta2 2017-09-06 01:46:27 +03:00
sledgehammer999
728b7dec3e Sync translations from Transifex and run lupdate. 2017-09-06 01:44:47 +03:00
sledgehammer999
7b5730723d Fix file list expansion on singlefile torrent with folder. 2017-09-06 01:11:49 +03:00
Chocobo1
71844e13af Update coding guidelines
Add ranged-based for loop example
Add class inheritance example
Add Prefer pre-increment, pre-decrement operators section
Fix space after comment keyword
Fix header include order
[skip ci]
2017-09-05 14:24:52 +08:00
Vladimir Golovnev
c6dfdf9135 Fix CategoryFilterWidget::sizeHint() 2017-09-01 16:11:21 +03:00
Vladimir Golovnev
4cd3a37b4a Fix suggest_mode setting
Actually suggest_mode is of type int.
2017-08-31 22:02:52 +03:00
Mike Tzou
5efb4b522f Merge pull request #7358 from Chocobo1/qstringbuilder
Improve compile defines
2017-08-29 16:42:09 +08:00
Chocobo1
64d5e329c0 Sort the resource lists
Update RCC header
2017-08-29 13:39:02 +08:00
Chocobo1
ee9caa4305 Cleanup src.pro 2017-08-29 13:39:02 +08:00
Chocobo1
39b56ac598 Move NOMINMAX define 2017-08-29 13:39:01 +08:00
Chocobo1
551ffb88ab Define QT_USE_QSTRINGBUILDER.
The old defines are deprecated.
QT_USE_QSTRINGBUILDER also supports QByteArray which we use extensively
in WebUI.
2017-08-29 13:37:29 +08:00
Mike Tzou
698bd431e6 Merge pull request #7340 from Chocobo1/leak
Fix leak & use Qt5 connect syntax
2017-08-24 23:08:01 +08:00
Chocobo1
ccd3b305c2 Use Qt5 connect syntax 2017-08-24 20:15:25 +08:00
Chocobo1
b47c90f0e0 Setup parent ownership to avoid memory leak 2017-08-24 20:01:39 +08:00
Mike Tzou
1afd5f70dd Merge pull request #3235 from Chocobo1/session_option
libtorrent session options
2017-08-24 11:35:15 +08:00
Vladimir Golovnev
4cb304def8 Merge pull request #7334 from qbittorrent/fix-7333
Fix RSS Downloader fails to rename rule. Closes #7333
2017-08-23 22:21:57 +04:00
Vladimir Golovnev
f2af308e6d Fix RSS Downloader fails to rename rule
Closes #7333.
2017-08-23 16:45:14 +03:00
Vladimir Golovnev
a6868e2b25 Merge pull request #7313 from glassez/sched
Don't disable scheduler when manually switching speed limits. Closes #7306
2017-08-23 17:05:28 +04:00
Vladimir Golovnev
7a96ddccc6 Merge pull request #7332 from qbittorrent/fix-7327
Skip user input events when adding torrent. Closes #7327
2017-08-23 13:10:36 +04:00
Vladimir Golovnev
bda5be8e4c Skip user input events when adding torrent
Closes #7327.
2017-08-23 11:14:34 +03:00
Vladimir Golovnev (qlassez)
93f5d4058d Improve BandwidthScheduler
Don't disable scheduler when manually switching speed limits.
Closes #7306.
2017-08-23 09:48:31 +03:00
Eugene Shalygin
98dd2be673 Merge pull request #7324 from Evengard/vpntunnels-patch
Disable skipping of loopback interfaces in settings tab
2017-08-22 14:03:11 +02:00
Evengard
ea7c1ace2a Disable skipping of loopback interfaces
This fixes the absence of VPN tunnel interfaces under Windows and works around the QTBUG-32349
Fixes #7291
2017-08-22 00:00:20 +03:00
Chocobo1
2da2054ccf Use enums for settings 2017-08-21 20:30:26 +08:00
Chocobo1
3f5fa0025d Add sanitize helper clampValue() 2017-08-21 16:50:56 +08:00
Chocobo1
f4be165767 Add send_buffer_watermark send_buffer_low_watermark
send_buffer_watermark_factor knobs
2017-08-21 16:50:14 +08:00
Chocobo1
55a1628a5e Add suggest_mode knob 2017-08-21 16:50:14 +08:00
Chocobo1
6c32f6beff Add choking_algorithm & seed_choking_algorithm knob 2017-08-21 16:49:45 +08:00
Chocobo1
21ec8fe53f Add allow_multiple_connections_per_ip knob. Closes #5884. 2017-08-21 16:48:38 +08:00
Chocobo1
4185209036 Add mixed_mode_algorithm knob 2017-08-21 16:48:38 +08:00
Chocobo1
6150e0c56b Add guided_read_cache knob
cleanup header include order
2017-08-21 16:48:37 +08:00
sledgehammer999
42b811e578 Merge pull request #7316 from evsh/plugin-version-crash-fix
Fix ignoring of incorrect version strings in search plugins. Closes #7101
2017-08-21 00:18:19 +03:00
Eugene Shalygin
ef1597e45b Fix ignoring of incorrect version strings in search plugins. Closes #7101.
Printing of Version with all components set to zero was segfaulting due
to underflow in array index. Also add log message for such plugins.
2017-08-20 22:44:20 +02:00
sledgehammer999
1e677c6728 Merge pull request #7315 from Chocobo1/hostheader
WebAPI: fix validating wrong header field. Closes #7311.
2017-08-20 20:55:20 +03:00
Chocobo1
9ef1e32327 WebAPI: fix validating wrong header field. Closes #7311.
X-Forwarded-Host is a foreign proxy setting, it isn't the same as
qbt's local setting and thus it makes no sense to verify it.
2017-08-20 22:40:19 +08:00
sledgehammer999
173f6fd75d Check for Qt5Svg when configuring. 2017-08-18 23:00:53 +03:00
sledgehammer999
bbe7821483 Merge pull request #7300 from Chocobo1/cleanup
Minor cleanup
2017-08-18 21:08:27 +03:00
Chocobo1
65ca490b64 Wrap class & functions in anonymous namespace
Rename vars
Cleanup class interfaces
Pass by reference whenever possible
2017-08-19 01:57:11 +08:00
sledgehammer999
907f222a73 Switch settings to signed int because libtorrent expects them that way. 2017-08-18 20:21:39 +03:00
sledgehammer999
b649d61e8b Options to better memory control by libtorrent. Closes #7029. 2017-08-18 20:21:37 +03:00
sledgehammer999
ea793368a9 Merge pull request #7279 from evsh/file-icon-cache
Use pixmap cache for file icons on Mac OS and Windows. Closes #7264.
2017-08-18 19:31:19 +03:00
Eugene Shalygin
3331526865 Use pixmap cache for file icons on Mac OS and Windows. Closes #7264. 2017-08-15 22:25:03 +02:00
sledgehammer999
cccb22f0e3 Merge pull request #7282 from glassez/fsutils
Improve utils/fs.* and fix coding style
2017-08-15 22:47:39 +03:00
sledgehammer999
4f0d9605fe Merge pull request #7281 from vit9696/notifications2
Fix notification display on macOS
2017-08-15 22:34:35 +03:00
sledgehammer999
19fcd3dad6 Fix broken build. 2017-08-15 22:12:16 +03:00
vit9696
eb8ff91c5d Fix notification display on macOS 2017-08-15 21:16:37 +03:00
sledgehammer999
f98edcab5c Merge pull request #7272 from vit9696/patch-1
Fix macOS window restoration after using hide icon
2017-08-15 21:13:58 +03:00
sledgehammer999
e5ea3bd707 Merge pull request #7253 from briankendall/fix_objc_errors
Fixed mac specific compiler errors and cleaned up Objective C code. Closes #7252
2017-08-15 21:06:09 +03:00
sledgehammer999
c87c1d2359 Use simpler ifdef style. 2017-08-15 21:01:55 +03:00
sledgehammer999
7bb9c69c08 Fix connection problems when a specific interface/ip is configured.
Closes #7235.
Bug related to #7099 and Qt.
2017-08-15 19:33:45 +03:00
sledgehammer999
25eb2edb86 Merge pull request #7273 from vit9696/borders
Unify preference window borders across the tabs
2017-08-15 18:14:11 +03:00
sledgehammer999
c2a8970109 Fix calculation of 'Average time in queue' stat under libtorrent 1.1.x 2017-08-15 17:38:41 +03:00
Vladimir Golovnev (qlassez)
59c14801cc Improve utils/fs.* and fix coding style 2017-08-15 16:17:57 +03:00
Mike Tzou
ea749bb052 Merge pull request #7276 from Chocobo1/pr_7063
Auto torrent management from webui context menu
2017-08-15 11:47:21 +08:00
vit9696
1cb69c9b43 Unify preference window borders across the tabs 2017-08-14 20:10:28 +03:00
sledgehammer999
89d8a2fe72 Merge pull request #7251 from Chocobo1/spacing
Add space between widgets in left side panel. Closes #7224.
2017-08-14 19:11:54 +03:00
Thomas Piccirello
4846b0ec28 Use single quotes for char.
Use case insensitive compare.
Swap conditionals
2017-08-14 23:15:03 +08:00
Thomas Piccirello
771033a449 Add auto torrent management to webui context menu (addresses #6815) 2017-08-14 23:14:46 +08:00
vit9696
16d7301046 Fix macOS window restoration after using hide icon 2017-08-14 12:38:42 +03:00
sledgehammer999
e2893fe68f Error out in configure script if the proper Qt/qmake version isn't found.
Closes #7250.
Partially reverts e64bb1de8c.
2017-08-13 20:29:53 +03:00
sledgehammer999
8d913d77dd Merge pull request #7266 from Chocobo1/coverity
Fix issues found by coverity scan
2017-08-13 20:10:04 +03:00
Mike Tzou
0522db3f19 Merge pull request #7061 from Piccirello/webui-rename-torrent
Rename torrent from webui context menu (addresses #6815)
2017-08-13 23:39:35 +08:00
Vladimir Golovnev
50cea9d912 Merge pull request #7268 from glassez/logging-strings
Use qUtf8Printable() for logging strings
2017-08-13 17:34:28 +04:00
Vladimir Golovnev (qlassez)
cff6a64e9f Use qUtf8Printable() for logging strings
qDebug(), qInfo(), qWarning(), qCritical(), qFatal() expect %s arguments
to be UTF-8 encoded, while qPrintable() converts to local 8-bit encoding.
Therefore qUtf8Printable() should be used for logging strings instead of
qPrintable().
2017-08-13 16:14:57 +03:00
Vladimir Golovnev
219a6b3ad1 Merge pull request #7267 from glassez/remove-temp
Don't remove shared temp folder
2017-08-13 17:00:40 +04:00
Thomas Piccirello
798c230634 Add option to rename torrent from WebUI
Addresses #6815.
2017-08-13 15:45:51 +03:00
Vladimir Golovnev (qlassez)
3801150a7a Don't remove shared temp folder
Don't remove shared temp folder when torrent finished and moved to
its "complete" folder. Only torrents with stripped root folder
have subfolder in temp folder so they should remove it.
2017-08-13 14:17:12 +03:00
Chocobo1
91b2b14ba5 Initialize variables
Remove unused variable
2017-08-13 15:28:36 +08:00
sledgehammer999
1b8cda7924 Follow project coding style. 2017-08-12 16:23:15 +03:00
sledgehammer999
31a4309077 Catch possible exceptions when parsing IPs. Closes #7249. 2017-08-12 16:23:14 +03:00
sledgehammer999
db3fd24cea Use dpiawareness=1 on Windows. Closes #5393. 2017-08-12 12:50:24 +03:00
Brian Kendall
62b956946f Fixed mac specific compiler errors and cleaned up Objective C code
Created new file src/gui/macutilities.mm, moved code from mainwindow.cpp and torrentcontentmodel.cpp that used the Objective C runtime into it and converted it to actual Objective C. Rewrote pixmapForExtension() so that it doesn't call into private Qt functions.
2017-08-11 20:51:16 -04:00
Chocobo1
04552f7921 Add space between widgets in left side panel. Closes #7224. 2017-08-11 21:37:33 +08:00
Vladimir Golovnev
9417105990 Merge pull request #7240 from glassez/fix-7226
Remove legacy RSS settings after converting. Closes #7226
2017-08-11 13:08:28 +04:00
sledgehammer999
593c24e5bd Merge pull request #7234 from thalieht/indentation
Remove indentation for category/tag filter widgets in all platforms
2017-08-11 11:25:24 +03:00
Vladimir Golovnev (qlassez)
7380bfa9e4 Remove legacy RSS settings after converting
Closes #7226.
2017-08-09 22:01:30 +03:00
sledgehammer999
6f0d16bca5 Merge pull request #7237 from Chocobo1/prefill_name
Prefill torrent name when creating a new torrent. Closes #7229.
2017-08-09 20:04:42 +03:00
Chocobo1
78dafc9cbe Prefill torrent name when creating a new torrent. Closes #7229. 2017-08-09 15:26:05 +08:00
thalieht
2da5800665 Remove indentation for category/tag filter widgets in all platforms 2017-08-08 23:43:23 +03:00
sledgehammer999
6270433237 Fix explicit Torrent Management Mode in Add New Torrent dialog. Closes #5602. 2017-08-07 20:01:30 +03:00
sledgehammer999
8214d25f9f Update Changelog. 2017-08-07 08:53:57 +03:00
sledgehammer999
df7565c9e2 Bump to 3.4.0beta 2017-08-07 08:39:50 +03:00
sledgehammer999
d48218bfe9 Sync translations from Transifex and run lupdate. 2017-08-07 08:34:40 +03:00
sledgehammer999
db653cbdac Merge pull request #7214 from Chocobo1/fixups
WebUI fixups
2017-08-07 08:11:32 +03:00
sledgehammer999
766f70c81a Merge pull request #7118 from vit9696/master
Fixed file type icons not displaying on macOS
2017-08-07 08:10:58 +03:00
Chocobo1
3e9311b096 Correctly handle translation
Fixup of 07a85a1018
2017-08-06 17:20:01 +08:00
Chocobo1
1bfb8d35cd Move "Copy hash" menu item above "Copy magnet link"
Fix wrong "Copy hash" icon used in webUI
Fixup of 145641ac41
2017-08-06 17:19:55 +08:00
Tom Piccirello
07a85a1018 Set torrent location from webui context menu (addresses #6815) (#7062)
* Add option to set torrent location from webui context menu (addresses #6815)

* Update debug messages

* Use logger

* Remove redundant curly braces

* Remove message

* Use log message from transferlistwidget

* Use QDir

* Remove unused import

* Check if newLocation is an empty string
2017-08-06 17:04:39 +08:00
Tom Piccirello
145641ac41 Add copy options to webui context menu (addresses #6815) (#7036)
* Add copy options to webui context menu
Add Copy Hash to gui (closes #6964)

* Use switch statement

* Use camel case, switch from signal to qaction.

* Rename variable

* Change variable name
2017-08-06 16:35:12 +08:00
sledgehammer999
08aa827366 Fix some more strings. 2017-08-06 01:47:05 +03:00
sledgehammer999
4d8a939291 Merge pull request #7173 from comradekingu/patch-1
display, URLs, esc '
2017-08-06 01:46:03 +03:00
sledgehammer999
e1f514042f Merge pull request #7207 from glassez/move-torrent
Don't replace existing files when manually relocating torrent
2017-08-05 20:26:05 +03:00
Vladimir Golovnev (qlassez)
7d78457fe0 Don't replace existing files when relocating torrent 2017-08-05 20:17:44 +03:00
Vladimir Golovnev (qlassez)
f067b8b37c Don't remove shared temp folder 2017-08-05 19:53:23 +03:00
sledgehammer999
6043584305 Merge pull request #7176 from glassez/temp-folder
Don't create subfolder inside temp folder. Closes #5503
2017-08-04 20:47:49 +03:00
sledgehammer999
bb02ccd574 Merge pull request #7132 from vlakoff/FindProcDLL
Windows installer: also detect running process when it is 64-bit
2017-08-04 16:55:15 +03:00
Eugene Shalygin
64b250903f Merge pull request #7083 from tgregerson/tags
Improve tag selection context menu. Closes #7060
2017-08-03 21:06:08 +02:00
Tony Gregerson
c5e73219bf Improve checkbox interface for selecting tags in the context menu. Closes #7060 2017-08-02 19:27:00 -05:00
Vladimir Golovnev (Glassez)
5f47d3b021 Don't create subfolder inside temp folder 2017-07-29 18:04:23 +03:00
Vladimir Golovnev (Glassez)
d22b626a02 Fix temporary subfolder isn't deleted 2017-07-28 15:16:02 +03:00
Allan Nordhøy
af9c0cca23 display, URLs, esc ' 2017-07-28 02:42:35 +02:00
vlakoff
a641c0bb2f Windows installer: also detect running process when it is 64-bit
Replacing FindProcDLL with a different one that can be found here:

http://forums.winamp.com/showthread.php?t=322583#post2777719
2017-07-20 19:33:19 +02:00
vit9696
6c3ab99e3c Fix file type icons not displaying on macOS 2017-07-19 21:37:38 +03:00
1154 changed files with 144510 additions and 126174 deletions

View File

@@ -1,14 +1,20 @@
**Please provide the following information**
### qBittorrent version and Operating System:
### qBittorrent version and Operating System
(type here)
### If on linux, libtorrent and Qt version:
### If on linux, libtorrent and Qt version
(type here)
### What is the problem:
### What is the problem
(type here)
### What is the expected behavior:
### What is the expected behavior
(type here)
### Steps to reproduce:
### Steps to reproduce
(type here)
### Extra info(if any):
### Extra info(if any)
(type here)

View File

@@ -76,10 +76,13 @@ before_install:
- shopt -s expand_aliases
- alias make="colormake -j3" # Using nprocs/2 sometimes may fail (gcc is killed by system)
#- libt_path="$HOME/libt_install"
#- ltconf="$ltconf --prefix="$libt_path" --disable-geoip"
- qbt_path="$HOME/qbt_install"
- qbtconf="$qbtconf --prefix="$qbt_path" PKG_CONFIG_PATH="$libt_path/lib/pkgconfig":/opt/qt55/lib/pkgconfig:$PKG_CONFIG_PATH"
- |
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
qbtconf="$qbtconf --prefix="$qbt_path" PKG_CONFIG_PATH=/opt/qt55/lib/pkgconfig:$PKG_CONFIG_PATH"
else
qbtconf="$qbtconf --prefix="$qbt_path""
fi
# options for specific branches
- if [ "$gui" = false ]; then qbtconf="$qbtconf --disable-gui" ; fi
@@ -131,13 +134,13 @@ install:
cp "version" $HOME/hombebrew_cache
cd "$HOME/hombebrew_cache"
wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar.rb
wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar-1.0.11+git20172003.8736a59adc.el_capitan.bottle.tar.gz
wget https://builds.shiki.hu/homebrew/libtorrent-rasterbar-1.1.7+git20180422.3ede0b9c20+patched-configure.el_capitan.bottle.tar.gz
fi
# Copy custom libtorrent bottle to homebrew's cache so it can find and install it
# Also install our custom libtorrent formula by passing the local path to it
# These 2 files are restored from Travis' cache.
cp "$HOME/hombebrew_cache/libtorrent-rasterbar-1.0.11+git20172003.8736a59adc.el_capitan.bottle.tar.gz" "$(brew --cache)"
cp "$HOME/hombebrew_cache/libtorrent-rasterbar-1.1.7+git20180422.3ede0b9c20+patched-configure.el_capitan.bottle.tar.gz" "$(brew --cache)"
brew install "$HOME/hombebrew_cache/libtorrent-rasterbar.rb"
if [ "$build_system" = "cmake" ]; then
@@ -168,11 +171,15 @@ script:
BUILD_TOOL="ninja"
fi
if [ "$build_system" = "qmake" ]; then
./bootstrap.sh && ./configure $qbtconf
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
# For some reason for RC_1_1 we need to also specify the OpenSSL compiler/linker flags
# Homebrew doesn't symlink OpenSSL for security reasons
./bootstrap.sh && ./configure $qbtconf CXXFLAGS="$(PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH" pkg-config --cflags openssl)" LDFLAGS="$(PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH" pkg-config --libs openssl)"
sed -i "" -e "s/^\(CC.*&&\).*$/\1 $CC/" src/Makefile # workaround for Qt & ccache: https://bugreports.qt.io/browse/QTBUG-31034
sed -i "" -e "s/^\(CXX.*&&\).*$/\1 $CXX/" src/Makefile
sed -i "" -e 's/^\(CXXFLAGS.*\)$/\1 -Wno-unused-local-typedefs -Wno-inconsistent-missing-override/' src/Makefile
else
./bootstrap.sh && ./configure $qbtconf
fi
BUILD_TOOL="make"
fi

16
AUTHORS
View File

@@ -34,6 +34,14 @@ Code from other projects:
license: GPLv2/3
Images Authors:
* files: src/icons/skin/qbittorrent-tray.svg (and related pngs)
copyright: Provided by HVS <hvs linuxmail org> (raster first proposal) and Atif Afzal(@atfzl github) <atif5801@gmail.com> (vectorized and modified)
license: GPLv2+
* files: src/qbittorrent_file.ico src/icons/fileicon.svg
copyright: 'uknown.svg' (LGPLv3+) from Oxygen Icon Theme was used as base which was slightly modified and 'qbittorrent-tray.svg' (GPLv2+) was overlayed above it.
license: GPLv3+
* files: src/icons/*.png
copyright: Gnome Icon Theme
license: GPLv2
@@ -44,10 +52,10 @@ Images Authors:
license: LGPL
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
* files: src/icons/flags/*.svg
copyright: lipis/flag-icon-css
license: MIT
url: https://github.com/lipis/flag-icon-css/
* files: src/icons/skin/*.png
files: src/menuicons/YYxYY/*.png

View File

@@ -22,13 +22,8 @@ add_definitions(-DQBT_VERSION_MINOR=${VER_MINOR})
add_definitions(-DQBT_VERSION_BUGFIX=${VER_BUGFIX})
add_definitions(-DQBT_VERSION_BUILD=${VER_BUILD})
# os2 {
# DEFINES += DQBT_VERSION=\'\"v$${PROJECT_VERSION}\"\'
# DEFINES += DQBT_VERSION_2=\'\"$${PROJECT_VERSION}\"\'
# } else {
add_definitions(-DQBT_VERSION="v${PROJECT_VERSION}")
add_definitions(-DQBT_VERSION_2="${PROJECT_VERSION}")
# }
if (UNIX AND NOT APPLE)
include(GNUInstallDirs)
@@ -48,13 +43,13 @@ option(GUI "Allows to disable GUI for headless running. Disables QtDBus and the
option(WEBUI "Allows to disable the WebUI." ON)
if (WIN32)
option(STACKTRACE_WIN "")
else (WIN32)
option(STACKTRACE "Enable stacktrace feature" ON)
if (UNIX)
cmake_dependent_option(SYSTEMD "Install the systemd service file (headless only)" OFF
"NOT GUI" OFF)
cmake_dependent_option(DBUS "Enable use of QtDBus (GUI only)" ON "GUI" OFF)
endif(WIN32)
endif(UNIX)
add_subdirectory(src)

File diff suppressed because it is too large Load Diff

View File

@@ -1,35 +1,221 @@
# Filing an issue
# How to contribute to qBittorrent
### Must read
* If you aren't sure, you can ask on the [**forum**](http://forum.qbittorrent.org) or read our [**wiki**](http://wiki.qbittorrent.org) first.
* Do a quick **search**. Others might already reported the issue.
* Write in **English**!
* Provide **version** information: (You can find version numbers at menu `Help -> About -> Libraries`)
```
qBittorrent:
Qt:
libtorrent:
boost:
OS version:
```
* Provide **steps** to reproduce the problem, it will be easier to pinpoint the fault.
* **Screenshots**! A screenshot is worth a thousand words. just upload it. [(How?)](https://help.github.com/articles/file-attachments-on-issues-and-pull-requests)
There are three main ways to contribute to the project.
Read the respective section to find out more.
### Good to know
* **Be patient**. The dev team is small and resource limited. Devs finding their free time, analyzing the problem and fixing the issue, it all takes time. :clock3:
* If you can code, why not become a **contributor** by fixing the issue and open a pull request? :wink:
* Harsh words or threats won't help your situation. What's worse, your complain will (very likely) to be **ignored**. :fearful:
### Table Of Contents
* **[Bug reporting etiquette](#bug-reporting-etiquette)**
* **[Submitting an issue/bug report](#submitting-an-issuebug-report)**
* [What is an actual bug report?](#what-is-an-actual-bug-report)
* [Before submitting a bug report](#before-submitting-a-bug-report)
* [Steps to ensure a good bug report](#steps-to-ensure-a-good-bug-report)
* **[Suggesting enhancements/feature requests](#suggesting-enhancementsfeature-requests)**
* [Before submitting an enhancement/feature request](#before-submitting-an-enhancementfeature-request)
* [Steps to ensure a good enhancement/feature suggestion](#steps-to-ensure-a-good-enhancementfeature-suggestion)
* **[Opening a pull request](#opening-a-pull-request)**
* [Must read](#must-read)
* [Good to know](#good-to-know)
# Bug reporting etiquette
* Issues, pull requests, and comments must always be in **English.**
* This project is supported by volunteers, do not expect "customer support"-style interaction.
* **Be patient.** The development team is small and resource limited. Developers and contributors take from their free time to analyze the problem and fix the issue. :clock3:
* Harsh words or threats won't help your situation. What's worse, your complain will (very likely) be **ignored.** :fearful:
# Submitting an issue/bug report
This section guides you through submitting an issue/bug report for qBittorrent.
Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
Make sure to follow these rules carefully when submitting a bug report. Failure to do so will result in the issue being closed.
## What is an actual bug report?
Developers and contributors are not supposed to deal with issues for which little to no investigation to find the actual cause of a purported issue was made by the reporter.
Positive contributions are those which are reported with efforts to find the actual cause of an issue, or at the very least efforts were made to narrow it as much as possible.
Requiring people to investigate as much as possible before opening an issue will more than likely avoid burdening the project with invalid issues or issues unrelated to qBittorrent.
The following are _not_ bug reports. **Check the [wiki][wiki-url], [forum][forum-url] or other places for help and support for issues like these**:
- Explanation of qBittorrent options (see [wiki][wiki-url]).
- Help with WebUI setup.
- Help with embedded tracker setup.
- Help about BitTorrent in general.
- Issues with specific search plugins.
- Asking for specific builds of qBittorrent other than the current one. You can install older releases at your own risk or for regression testing purposes. Previous Windows and macOS builds are available [here][builds-url].
- If you want older Linux builds, you will have to compile them yourself from the corresponding commits, or ask someone on the [forum][forum-url] to do it for you.
- Possibly others. Read on and use common sense.
The issue tracker is for provable issues only: You will have to make the case that the issue is really with qBittorrent and not something else on your side.
To make a case means to provide detailed steps so that anybody can reproduce the issue.
Be sure to rule out that the issue is not caused by something specific on your side.
Issue reports for bugs that apparently aren't easily reproducible or that you can't figure out what triggers it even though you tried are OK.
Any issue opened without effort to provide the required details for developers, contributors or anybody else to reproduce the problem will be closed as invalid.
For example:
- Crash reports with just a stack trace.
- Speculated performance issues that do not come with actual profiling data + analysis supporting the claim.
## Before submitting a bug report
- **Do some basic troubleshooting (examples)**:
- Restart qBittorrent.
- Restart your PC.
- Update your OS (e.g. Windows updates).
- Update your network card drivers.
- Fully reinstall qBittorrent.
- etc...
- Make sure the problem is not caused by anti-virus or other program messing with your files.
- Check if you can reproduce the problem in the latest version of qBittorrent.
- **Check [forum][forum-url] and [wiki][wiki-url].** You might be able to find the cause of the problem and fix things yourself.
- **Check if the issue exists already in the issue tracker.**
- If it does and the issue is still open, add a comment to the existing issue instead of opening a new one.
- If you find a Closed issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
- If the issue is with the search functionality:
- **Make sure you have [`python`][python-url] installed correctly (remember the search functionality requires a working python installation).**
- Make sure it is in fact a problem with the search functionality itself, and not a problem with the plugins. If something does not work properly with the search functionality, the first step is to rule out search plugin-related issues.
- For search plugin issues, report on the respective search plugin support page, or at [qbittorrent/search-plugins][search-plugins-url].
## Steps to ensure a good bug report
**Follow these guidelines** in order to provide as much useful information as possible right away. Not all of them are applicable to all issues, but you are expected to follow most of these steps (use common sense).
Otherwise, we've noticed that a lot of your time (and the developers') gets thrown away on exchanging back and forth to get this information.
* Use a **clear and descriptive title** for the issue to identify the problem.
* Post only **one specific issue per submission.**
* **Fill out the issue template properly.**
- **Make sure you are using qBittorrent on a supported platform.** Do not submit issues which can only be reproduced on beta/unsupported releases of supported operating systems (e.g. Windows 10 Insider, Ubuntu 12.04 LTS, etc).
These are unstable/unsupported platforms, and in all likelihood, whatever the issue is, it is not related to qBittorrent.
* **Specify the OS you're using, its version and architecture.**
* Examples: Windows 8.1 32-bit, Linux Mint 17.1 64-bit, Windows 10 Fall creators Update 64-bit, etc.
* **Report only if you run into the issue with an official stable release, a beta release, or with the most recent upstream changes (in this last case specify the specific commit you are on).** (beta testing is encouraged :smile:). We do not provide support for bugs on unofficial Windows builds.
* **Specify the version of qBittorrent** you are using, as well as its **architecture** (x86 or x64) and its **libraries' versions** (Help -> About -> Libraries).
* Specify **how you installed**:
- Linux: either from the PPA, your distribution's repositories, or compiled from source, or even possibly third-party repositories.
- Windows: either from the installer, or compiled from source, or even possibly third-party repositories.
- macOS: either from the installer, or compiled from source, or even possibly third-party repositories.
* **Describe the exact steps which reproduce the problem in as many details as possible.**
- For example, start by explaining how you started qBittorrent, e.g. was it via the terminal? Desktop icon? Did you start it as root or normal user?
- **When listing steps, don't just say what you did, but explain how you did it.**
- For example, if you added a torrent for download, did you do so via a `.torrent` file or via a magnet link? If it was with a torrent file did you do so by dragging the torrent file from the file manager to the transfer list, or did you use the "Add Torrent File" in the Top Bar?
- Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior; this is what we'll be looking for after executing the steps.
* **Explain which behavior you expected to see instead** and why.
* Use **screenshots/animated GIFs to help describe the issue** whenever appropriate [(How?)][attachments-howto-url].
* If the problem wasn't triggered by a specific action, describe what you were doing before the problem happened.
* **If you are reporting that qBittorrent crashes**, include the stack trace in the report; include it in a code block, a file attachment, or put it in a gist and provide link to that gist.
* **For performance-related issues**, include as much profiling data as you can (resource usage graphs, etc).
* Paste the **qBittorrent log** (or put the contents of the log in a gist and provide a link to the gist). The log can be viewed in the GUI (View -> Log -> tick all boxes). If you can't do that, the file is at:
- Linux: `~/.local/share/data/qBittorrent/logs/qBittorrent.log`
- Windows: `%LocalAppData%\qBittorrent\logs`
- macOS: `~/Library/Application Support/qBittorrent/qBittorrent.log`
* **Do NOT post comments like "+1" or "me too!"** without providing new relevant info on the issue. Using the built-in reactions is OK though. Remember that you can use the "subscribe" button to receive notifications of that report without having to comment first.
* If there seems to be an **issue with specific torrent files/magnet links**:
- Don't post private `.torrent` files/magnet links, or ones that point to copyrighted content. If you are willing, offer to email a link or the `.torrent` file itself to whoever developer is debugging it and requests it.
- Make sure you can't reproduce the problem with another client, to rule out the possibility that the issue is with the `.torrent` file/magnet link itself.
* A screenshot, transcription or file upload of any of **qBittorrent's preferences that differ from the defaults.** Please include everything different from the defaults whether or not it seems relevant to your issue.
* **Attachment rules**:
- Short logs and error messages can be pasted as quotes/code whenever small enough; otherwise make a gist with the contents and post the link to the gist.
- Avoid linking/attaching impractical file formats such as PDFs/Word documents with images. If you want to post an image, just post the image.
### Provide more context by answering these questions (if applicable):
- Can you **reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens (e.g. only happens with extremely large torrents/only happens after qBittorrent is open for more than 2 days/etc...)
- Did the problem start happening recently (e.g. after updating to a new version of qBittorrent) or was this always a problem?
- If the problem started happening recently, can you reproduce the problem in an older version of qBittorrent?
- Are you saving files locally (in a disk in your machine), or are you saving them remotely (e.g. network drives)?
- Are you using qBittorrent with multiple monitors? If so, can you reproduce the problem when you use a single monitor?
Good read: [How to Report Bugs Effectively][howto-report-bugs-url]
# Suggesting enhancements/feature requests
This section guides you through submitting an enhancement suggestion for qBittorrent, including completely new features and minor improvements to existing functionality.
Following these guidelines helps maintainers and the community understand your suggestion and find related suggestions.
## Before submitting an enhancement/feature request
* Check the [wiki][wiki-url] and [forum][forum-url] for tips — you might discover that the enhancement is already available.
* Most importantly, check if you're using the latest version of qBittorrent and if you can get the desired behavior by changing qBittorrent's settings.
* Check in the [releases][releases-url] page or on the [forum][forum-url], see if there's already a alpha/beta version with that enhancement.
* Perform a cursory search to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
## Steps to ensure a good enhancement/feature suggestion
- Specify which version of qBittorrent you're using.
- Specify the name and version of the OS you're using.
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
- Describe the current behavior and explain which behavior you expected to see instead and why.
- Include screenshots and animated GIFs which help you demonstrate the steps or point out the part of qBittorrent which the suggestion is related to.
- If this enhancement exists in other BitTorrent clients, list those clients.
# Opening a pull request
### Must read
* Read our [**coding guidelines**](https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md). There are some scripts to help you: [uncrustify script](https://raw.githubusercontent.com/qbittorrent/qBittorrent/master/uncrustify.cfg), [astyle script](https://gist.github.com/Chocobo1/539cee860d1eef0acfa6), [(related thread)](https://github.com/qbittorrent/qBittorrent/issues/2192).
* Keep the title **short** and provide a **clear** description about what your pull request does.
* Provide **screenshots** for UI related changes.
* Keep your git commit history **clean** and **precise**. Commits like `xxx fixup` should not appear.
* If your commit fix a reported issue (for example #4134), add the following message to the commit `Closes #4134.`. Example [here](https://github.com/qbittorrent/qBittorrent/commit/a74bac20c4e8de9776bf9bb77fdc7526135d1988).
* Read our [**coding guidelines**][coding-guidelines-url]. There are some scripts to help you: [uncrustify script][uncrustify-script-url], [astyle script][astyle-script-url], [(related thread)][coding-guidelines-thread-url].
* Keep the title **short** and provide a **clear** description about what your pull request does.
* Provide **screenshots** for UI related changes.
* Keep your git commit history **clean** and **precise.** Refer to the section about "Git commit messages" in the [**coding guidelines**][coding-guidelines-url].
* If your commit fixes a reported issue (for example #4134), add the following message to the commit `Closes #4134.`. Example [here][commit-message-fix-issue-example-url].
### Good to know
* **Search** pull request history! Others might already implemented your idea and is waiting to be merged (or got rejected already). Save your precious time by doing a search first.
* When resolving merge conflicts, do `git rebase <target_branch_name>`, don't do `git pull`. Then you can start fixing the conflicts. Here is a good explanation: [link](https://www.atlassian.com/git/tutorials/merging-vs-rebasing).
* **Search** pull request history! Others might have already implemented your idea and it is waiting to be merged (or got rejected already). Save your precious time by doing a search first.
* When resolving merge conflicts, do `git rebase <target_branch_name>`, don't do `git pull`. Then you can start fixing the conflicts. Here is a good explanation: [link][merging-vs-rebasing-url].
[astyle-script-url]: https://gist.github.com/Chocobo1/539cee860d1eef0acfa6
[attachments-howto-url]: https://help.github.com/articles/file-attachments-on-issues-and-pull-requests
[coding-guidelines-url]: https://github.com/qbittorrent/qBittorrent/blob/master/CODING_GUIDELINES.md
[coding-guidelines-thread-url]: https://github.com/qbittorrent/qBittorrent/issues/2192
[commit-message-fix-issue-example-url]: https://github.com/qbittorrent/qBittorrent/commit/c07cd440cd46345297debb47cb260f8688975f50
[forum-url]: http://forum.qbittorrent.org/
[howto-report-bugs-url]: https://www.chiark.greenend.org.uk/~sgtatham/bugs.html
[merging-vs-rebasing-url]: https://www.atlassian.com/git/tutorials/merging-vs-rebasing
[python-url]: https://www.python.org/
[releases-url]: https://github.com/qbittorrent/qBittorrent/releases
[search-plugins-url]: https://github.com/qbittorrent/search-plugins
[uncrustify-script-url]: https://raw.githubusercontent.com/qbittorrent/qBittorrent/master/uncrustify.cfg
[wiki-url]: https://github.com/qbittorrent/qBittorrent/wiki
[builds-url]: https://sourceforge.net/projects/qbittorrent/files/

245
Changelog

File diff suppressed because it is too large Load Diff

View File

@@ -35,7 +35,7 @@ You can also download it from [here](https://github.com/qbittorrent/qBittorrent/
### Misc:
For more information please visit:
http://www.qbittorrent.org
https://www.qbittorrent.org
or our wiki here:
http://wiki.qbittorrent.org

View File

@@ -1,74 +0,0 @@
qBittorrent - A BitTorrent client in Qt4
------------------------------------------
This is the eComStation (OS/2) qBittorrent part of the readme. See also README for more general information.
Building qBittorrent
********************
Requirements
============
- gcc based build env (recommended gcc v4.4.2 or greater)
- Qt4 for eCS (OS/2) dev package (see http://svn.netlabs.org/qt4 for more information)
- libtorrent-rasterbar for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information)
- boost for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information)
How to build
============
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 begin #####
BINDIR = ./bin
INCDIR = ./include
LIBDIR = ./lib
DATADIR = ./share
CONFIG += staticlib
INCLUDEPATH += x:/trees/libtorrent/trunk/include
LIBS += -Lx:/trees/libtorrent/trunk/src/.libs \
-Lx:/trees/boost/trunk/stage/lib \
-Lx:/trees/openssl \
-Lx:/extras/lib
##### conf.pri content end #####
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:
Simply type:
$ 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:
#netlabs on irc.freenode.net
------------------------------------------
Silvan Scherrer <silvan.scherrer@aroa.ch>

View File

@@ -30,9 +30,9 @@ IF(QT4_FOUND)
NAMES ${QTSINGLEAPPLICATION_NAMES}
PATHS ${QT_LIBRARY_DIR}
)
ELSEIF(Qt5Widgets_FOUND)
ELSEIF(Qt5Core_FOUND)
message(STATUS "Looking for Qt5 single application library")
FOREACH(TOP_INCLUDE_PATH in ${Qt5Widgets_INCLUDE_DIRS} ${FRAMEWORK_INCLUDE_DIR})
FOREACH(TOP_INCLUDE_PATH in ${Qt5Core_INCLUDE_DIRS} ${FRAMEWORK_INCLUDE_DIR})
FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication ${TOP_INCLUDE_PATH}/QtSolutions)
IF(QTSINGLEAPPLICATION_INCLUDE_DIR)
@@ -43,12 +43,12 @@ ELSEIF(Qt5Widgets_FOUND)
SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES}
Qt5Solutions_SingleApplication-2.6 libQt5Solutions_SingleApplication-2.6
QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6)
GET_TARGET_PROPERTY(QT5_WIDGETSLIBRARY Qt5::Widgets LOCATION)
GET_FILENAME_COMPONENT(QT5_WIDGETSLIBRARYPATH ${QT5_WIDGETSLIBRARY} PATH)
GET_TARGET_PROPERTY(_QT5_CORELIBRARY Qt5::Core LOCATION)
GET_FILENAME_COMPONENT(_QT5_CORELIBRARYPATH ${_QT5_CORELIBRARY} PATH)
FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY
NAMES ${QTSINGLEAPPLICATION_NAMES}
PATHS ${QT5_WIDGETSLIBRARYPATH}
PATHS ${_QT5_CORELIBRARYPATH}
)
ENDIF()

View File

@@ -1,5 +1,5 @@
# - macro similar to target_link_libraries, which links Qt components
# names of the components are pased in Qt4/Qt5 agnostic way (Core, DBus, Xml...)
# names of the components are passed in Qt4/Qt5 agnostic way (Core, DBus, Xml...)
# and the macro links Qt4 ones if QT4_FOUND is set or Qt5 ones if not
macro (target_link_qt_components target)

View File

@@ -16,7 +16,7 @@ macro(qbt_set_compiler_options)
"-Werror -Wno-error=deprecated-declarations"
)
set (_GCC_COMMON_CXX_FLAGS "-fexceptions -frtti"
"-Woverloaded-virtual -Wold-style-cast -Wstrict-null-sentinel"
"-Woverloaded-virtual -Wold-style-cast"
"-Wnon-virtual-dtor -Wfloat-equal -Wcast-qual -Wcast-align"
"-Werror=overloaded-virtual"
# "-Weffc++"
@@ -54,6 +54,20 @@ macro(qbt_set_compiler_options)
endif(${GLIBC_VERSION})
endif (CMAKE_SYSTEM_NAME MATCHES Linux)
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
# Clang 5.0 still doesn't support -Wstrict-null-sentinel
check_cxx_compiler_flag(-Wstrict-null-sentinel _STRICT_NULL_SENTINEL_IS_SUPPORTED)
if (_STRICT_NULL_SENTINEL_IS_SUPPORTED)
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wstrict-null-sentinel")
endif (_STRICT_NULL_SENTINEL_IS_SUPPORTED)
# Code should be improved to render this not needed
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wno-error=unused-function -Wno-error=inconsistent-missing-override")
else ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
# GCC supports it
list(APPEND _GCC_COMMON_CXX_FLAGS "-Wstrict-null-sentinel")
endif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
string(REPLACE ";" " " _GCC_COMMON_C_AND_CXX_FLAGS_STRING "${_GCC_COMMON_C_AND_CXX_FLAGS}")
string(REPLACE ";" " " _GCC_COMMON_CXX_FLAGS_STRING "${_GCC_COMMON_CXX_FLAGS}")

View File

@@ -24,6 +24,7 @@ add_definitions(-DUNICODE
-D_WIN32_IE=0x0501
-D_CRT_SECURE_NO_DEPRECATE
-D_SCL_SECURE_NO_DEPRECATE
-DNOMINMAX
)
# and boost
set(Boost_USE_STATIC_LIBS True)

61
conf.pri.windows Normal file
View File

@@ -0,0 +1,61 @@
# Adapt these paths
# Point these to the include folders
INCLUDEPATH += $$quote(C:/qBittorrent/boost)
INCLUDEPATH += $$quote(C:/qBittorrent/libtorrent/include)
INCLUDEPATH += $$quote(C:/qBittorrent/zlib/include)
INCLUDEPATH += $$quote(C:/qBittorrent/openssl/include)
# Point these to the lib folders
LIBS += $$quote(-LC:/qBittorrent/boost/stage/lib)
LIBS += $$quote(-LC:/qBittorrent/libtorrent/lib)
LIBS += $$quote(-LC:/qBittorrent/zlib/lib)
LIBS += $$quote(-LC:/qBittorrent/openssl/lib)
# Adapt the lib names/versions accordingly
# If you want to use Boost auto-linking then disable
# BOOST_ALL_NO_LIB below and omit Boost libraries here
CONFIG(debug, debug|release) {
LIBS += libtorrentd.lib \
libboost_system-vc140-mt-sgd-1_64.lib
}
else {
LIBS += libtorrent.lib \
libboost_system-vc140-mt-s-1_64.lib
}
LIBS += libeay32.lib ssleay32.lib
LIBS += zlib.lib
# ...or if you use MinGW
#CONFIG(debug, debug|release) {
# LIBS += libtorrent-rasterbar \
# libboost_system-mt
#}
#else {
# LIBS += libtorrent-rasterbar \
# libboost_system-mt
#}
#LIBS += libcrypto libssl
#LIBS += libz
DEFINES += NTDDI_VERSION=0x05010000
DEFINES += _WIN32_WINNT=0x0501
DEFINES += _WIN32_IE=0x0501
# Disable to use Boost auto-linking
DEFINES += BOOST_ALL_NO_LIB
# Use one of the following options
DEFINES += BOOST_SYSTEM_STATIC_LINK
#DEFINES += BOOST_SYSTEM_DYN_LINK
# Boost 1.60+ defaults to Vista+ support. The define below enables XP support again.
DEFINES += BOOST_USE_WINAPI_VERSION=0x0501
# Enable if building against libtorrent 1.0.x (RC_1_0) (static linking)
#DEFINES += BOOST_ASIO_SEPARATE_COMPILATION
# Enable if building against libtorrent 1.0.x (RC_1_0) (dynamic linking)
#DEFINES += BOOST_ASIO_DYN_LINK
# Enable if building against libtorrent 1.1.x (RC_1_1)
# built with this flag defined
#DEFINES += TORRENT_NO_DEPRECATE
# Enable if linking dynamically against libtorrent
#DEFINES += TORRENT_LINKING_SHARED
# Enable stack trace support
CONFIG += strace_win

479
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
AC_INIT([qbittorrent], [v3.2.0alpha], [bugs.qbittorrent.org], [], [http://www.qbittorrent.org/])
AC_INIT([qbittorrent], [v4.1.0], [bugs.qbittorrent.org], [], [https://www.qbittorrent.org/])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
AC_PROG_CC
@@ -24,6 +24,12 @@ AC_ARG_ENABLE(debug,
[],
[enable_debug=no])
AC_ARG_ENABLE(stacktrace,
[AS_HELP_STRING([--enable-stacktrace],
[Enable stacktrace feature (default=auto)])],
[],
[enable_stacktrace=auto])
AC_ARG_ENABLE(gui,
[AS_HELP_STRING([--disable-gui],
[Disable the GUI for headless running. Disables QtDBus and the GeoIP Database.])],
@@ -80,6 +86,23 @@ AS_CASE(["x$enable_debug"],
[AC_MSG_RESULT([$enable_debug])
AC_MSG_ERROR([Unknown option "$enable_debug". Use either "yes" or "no".])])
AC_MSG_CHECKING([whether to enable the stacktrace feature])
AS_CASE(["x$enable_stacktrace"],
["xno"],
[AC_MSG_RESULT([no])
QBT_REMOVE_CONFIG="$QBT_REMOVE_CONFIG stacktrace"],
["xyes"],
[AC_MSG_RESULT([yes])
QBT_ADD_CONFIG="$QBT_ADD_CONFIG stacktrace"],
["xauto"],
[AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <execinfo.h>]])],
[AC_MSG_RESULT([yes])
QBT_ADD_CONFIG="$QBT_ADD_CONFIG stacktrace"],
[AC_MSG_RESULT([no])
QBT_REMOVE_CONFIG="$QBT_REMOVE_CONFIG stacktrace"])],
[AC_MSG_RESULT([$enable_stacktrace])
AC_MSG_ERROR([Unknown option "$enable_stacktrace". Use either "yes" or "no".])])
AC_MSG_CHECKING([whether to enable the GUI])
AS_CASE(["x$enable_gui"],
["xyes"],
@@ -116,6 +139,12 @@ AS_CASE(["x$enable_webui"],
AC_MSG_ERROR([Unknown option "$enable_webui". Use either "yes" or "no".])])
FIND_QT5()
AS_IF([test "x$QT_QMAKE" = "x"],
[AC_MSG_ERROR([Could not find qmake])
])
AS_IF([test "x$enable_gui" = "xyes"],
[PKG_CHECK_MODULES(Qt5Svg, [Qt5Svg >= 5.5.1])
])
AC_MSG_CHECKING([whether QtDBus should be enabled])
AS_CASE(["x$enable_qt_dbus"],
["xyes"],
@@ -132,22 +161,16 @@ AS_CASE(["x$enable_qt_dbus"],
AC_MSG_ERROR([Unknown option "$enable_qt_dbus". Use either "yes" or "no".])])
AX_BOOST_BASE([1.35])
# HAVE_BOOST is set to an empty value when Boost is found. I don't know
# how to test for a set vs unset variable.
AS_IF([test "x$BOOST_CPPFLAGS" = "x"],
[AC_MSG_ERROR([Could not find Boost])],
[AC_MSG_NOTICE([Boost CPPFLAGS: $BOOST_CPPFLAGS])
CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS"
LDFLAGS="$BOOST_LDFLAGS $LDFLAGS"])
AX_BOOST_BASE([1.35],
[AC_MSG_NOTICE([Boost CPPFLAGS: "$BOOST_CPPFLAGS"
Boost LDFLAGS: "$BOOST_LDFLAGS"])],
[AC_MSG_ERROR([Could not find Boost])])
CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS"
LDFLAGS="$BOOST_LDFLAGS $LDFLAGS"
AX_BOOST_SYSTEM()
# HAVE_BOOST_SYSTEM is set to an empty value when Boost.System is found.
# I don't know how to test for a set vs unset variable.
AS_IF([test "x$BOOST_SYSTEM_LIB" = "x"],
[AC_MSG_ERROR([Could not find Boost.System])],
[AC_MSG_NOTICE([Boost.System LIB: $BOOST_SYSTEM_LIB])
LIBS="$BOOST_SYSTEM_LIB $LIBS"])
AC_MSG_NOTICE([Boost.System LIB: "$BOOST_SYSTEM_LIB"])
LIBS="$BOOST_SYSTEM_LIB $LIBS"
AC_MSG_CHECKING([which qtsingleapplication to use])
AS_CASE(["x$with_qtsingleapplication"],
@@ -190,7 +213,7 @@ extract() {
new_line='
'
# Convert " -" to "\n" if not between quotes and remove possible leading white spaces
string=$(echo " $*" | $SED -e "s: -:\\${new_line}:g" -e 's:"\(.*\)\n\(.*\)":\"\1 -\2":g' -e "s:'\(.*\)\n\(.*\)':\'\1 -\2':g" -e 's/^[[:space:]]*//')
string=$(echo " $*" | $SED -e "s: -:\\${new_line}:g" -e 's:"\(.*\)\n\(.*\)":\"\1 -\2":g' -e "s:'\(.*\)\n\(.*\)':\'\1 -\2':g" -e 's/^[[[:space:]]]*//')
SAVEIFS=$IFS
IFS=$(printf "\n\b")
for i in $string; do
@@ -204,9 +227,8 @@ extract() {
IFS=$SAVEIFS
}
extract $CPPFLAGS
extract "$CFLAGS $CPPFLAGS $CXXFLAGS"
QBT_ADD_DEFINES="$QBT_ADD_DEFINES $QBT_CONF_DEFINES"
QBT_CONF_EXTRA_CFLAGS="$QBT_CONF_EXTRA_CFLAGS $CXXFLAGS"
# Substitute the values of these vars in conf.pri.in
AC_SUBST(QBT_CONF_INCLUDES)
@@ -234,4 +256,3 @@ AS_IF([test "x$ret" = "x0"],
[AC_MSG_NOTICE([Good, your configure finished.])],
[AC_MSG_ERROR([Failed running $QT_QMAKE to generate the makefile])])
AS_ECHO()

4
dist/mac/Info.plist vendored
View File

@@ -45,7 +45,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>3.4.0</string>
<string>4.1.0</string>
<key>CFBundleSignature</key>
<string>qBit</string>
<key>CFBundleExecutable</key>
@@ -59,7 +59,7 @@
<key>NSAppleScriptEnabled</key>
<string>YES</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2006-2017 The qBittorrent project</string>
<string>Copyright © 2006-2018 The qBittorrent project</string>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>

Binary file not shown.

Binary file not shown.

View File

@@ -25,10 +25,6 @@ if (GUI)
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor
FILES_MATCHING PATTERN "*.png")
install(FILES ${qBittorrent_SOURCE_DIR}/src/icons/qbittorrent.png
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps/
COMPONENT data)
install(FILES ${qBittorrent_SOURCE_DIR}/src/icons/qbittorrent.desktop
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications/
COMPONENT data)
@@ -38,6 +34,7 @@ if (GUI)
COMPONENT data)
install(FILES
${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray.svg
${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray-dark.svg
${qBittorrent_SOURCE_DIR}/src/icons/skin/qbittorrent-tray-light.svg
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/status

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 893 B

After

Width:  |  Height:  |  Size: 986 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 893 B

After

Width:  |  Height:  |  Size: 986 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

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