Commit graph

1869 commits

Author SHA1 Message Date
Chocobo1
aa6b29fe7e
Set HTTP method restriction on WebAPI actions
PR #17548.
2022-08-15 11:56:59 +08:00
Chocobo1
33e6ca6778
Redesign Version class
PR #17484.
2022-08-06 11:06:16 +08:00
Nowshed H. Imran
748226be29
Rename Icons according to the actions
Fixes #17357.
PR #17366.
2022-07-31 13:31:38 +08:00
Chocobo1
5d1115f591
Remove compile-time conditional
This checking should be universally applied and not limited to certain OS.
2022-07-25 01:18:42 +08:00
summer
3f7376f26b
Add transfer list refresh interval settings to WebUI
Specially useful for qbt-nox users
PR #16713.

Co-authored-by: An0n <79678786+an0n666@users.noreply.github.com>
2022-07-19 11:14:45 +08:00
Chocobo1
e95066a37c
Merge pull request #17367 from Chocobo1/pr_17005
Split the OS cache settings into Disk IO read/write modes
2022-07-17 16:14:58 +08:00
summer
4cda5d89fb
Clean up WebUI preferences
PR #17319.
2022-07-15 12:07:09 +08:00
summer
5b730ffb72
Split the OS cache settings into Disk IO read/write modes
Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2022-07-14 18:37:38 +08:00
Chocobo1
dba711d099
Use helper function for logging messages 2022-07-07 12:17:52 +08:00
luzpaz
8736c9ec4c
Fix various typos
Found via `codespell -q 3 -S *.ts,*.desktop,./src/base/3rdparty,./dist/windows/installer-translations -L ba,doas,ist,ro,ths`

PR #17317.
2022-07-06 13:11:11 +08:00
summer
cc0a0b56ed
Make working set limit available only on libtorrent 2.0.x builds
You can already control the cache size in libtorrent 1.2.x so it doesn't make sense to implement this limit for all use cases. Also there are some downsides to using working set size to limit memory usage such as unresponsive GUI when limit gets hit.

PR #17275.
2022-06-30 11:23:48 +08:00
sledgehammer999
0e989185ce
Merge pull request #15769 from now-im/flow
Implement new icon/color theme
2022-06-28 23:23:25 +03:00
Vladimir Golovnev
f8a304abdc
Implement base classes for application components
PR #17219.
2022-06-25 15:46:55 +03:00
Chocobo1
41a38428fc
Merge pull request #17259 from Chocobo1/cleanup
Make use of chrono literals from std library
2022-06-25 13:23:27 +08:00
Mike Lei
d3850cf98f
Improve WebUI progress bar rendering
PR #17258.
2022-06-24 13:18:33 +08:00
Chocobo1
6de72ecc77
Make use of chrono literals from std library 2022-06-23 21:31:16 +08:00
Vladimir Golovnev
7d97905716
WebAPI: Add endpoint to set speed limit mode 2022-06-18 06:12:43 +03:00
Chocobo1
3dd616f6ff
Use proper method for manipulating text
`innerText` is too powerful for the job here, use a more
restricted/secure way to manipulate text.

Related: #17211.
PR #17212.
2022-06-17 13:00:32 +08:00
thalieht
d1515456bc
Add checkbox for "Excluded file names"
PR #17206.
2022-06-15 13:16:01 +08:00
mxtsdev
5e6174c087
Add file name filter/blacklist
Blacklist filtered file names from being downloaded from torrent(s).
Files matching any of the filters in this list will have their priority automatically set to "Do not download".
See Options > Downloads >Do not download.

Closes #3369.
PR #17106.
2022-06-10 13:37:46 +08:00
Nowshed H. Imran
199d770e15
Implement new icon/color theme
Co-authored-by: xavier2k6 <42386382+xavier2k6@users.noreply.github.com>
2022-06-09 18:18:14 +06:00
sledgehammer999
cbf9c8ec1a
Sync translations from Transifex and run lupdate 2022-05-25 00:16:57 +03:00
Priit Uring
494593c745
Update clipboard.js to v2.0.11
https://github.com/zenorocha/clipboard.js/releases

PR #17073.
2022-05-24 12:55:30 +08:00
sledgehammer999
3af832ec18
Sync translations from Transifex and run lupdate 2022-05-22 19:14:00 +03:00
Vladimir Golovnev
7e0cd223fd
Revamp tracker entries handling
PR #17017.
2022-05-22 09:09:11 +03:00
Chocobo1
dbfd6a2368
WebUI: enforce coding style
Actually, not all of them but some that can be enforced by eslint.
The changes are made by eslint with minor manual tweaking.

PR #17046.
2022-05-18 11:37:05 +08:00
Coda
e698c09298
Allow to use POSIX-compliant disk IO type
This patch allows user to switch disk IO type between memory mapped files based type (default in libtorrent 2, and seems causing memory issues) and POSIX-compliant type which is more conservative on memory usage.

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
Co-authored-by: Vladimir Golovnev (Glassez) <glassez@yandex.ru>

PR #16895.
2022-05-11 21:28:06 +03:00
Tom Piccirello
fb7f7d0c75
Add support for exporting .torrent from WebUI
PR #16968.
2022-05-04 12:13:24 +08:00
Chocobo1
e9d3928fe0
Store WebUI port setting in human readable number
Previously it was wrapped in QVariant type.

PR #16977.
2022-05-04 12:11:17 +08:00
Chocobo1
2a6f02fa29
Fix empty selection in WebUI language combobox
This mostly happens with a clean install.

PR #16978.
2022-05-04 12:10:06 +08:00
xavier2k6
0b86eb9b4c
Update clipboard.js to v2.0.10
PR #16918.
2022-04-23 12:39:06 +08:00
Chocobo1
bc937d38a2
Allow to set "working set limit" on non-Windows OS
PR #16874.
2022-04-16 11:36:58 +08:00
Requi
669b67e666
WebAPI: return correct status
Fix web API returning Not Found instead of Forbidden.

When not having a session the API would return "Not Found" instead of "Forbidden" when trying to access a non-public endpoint.

PR #16866.
2022-04-14 08:26:19 +03:00
Vladimir Golovnev
4471a6377e
Have separate API controller instances per session
PR #16848.
2022-04-12 13:39:35 +03:00
Chocobo1
b9b2ed64f9
Assign temporary data to a variable
This is mainly to avoid dangerous code pattern: getting an iterator on a
temporary object. Previously `data()` returns a const reference so the
code wasn't doing any harm.
2022-04-05 11:49:32 +08:00
Chocobo1
2854630b1c
Use signed integer type for counters 2022-04-03 13:33:55 +08:00
Chocobo1
af7c32d3aa
WebUI: remove temporary element 2022-04-02 17:26:26 +08:00
Chocobo1
0d334369f0
WebUI: show correct location path
The `path` might contains '&' (delimit character) so it must be
encoded.
Closes #15976.
2022-04-02 17:26:26 +08:00
Chocobo1
08f3630f01
WebUI: make various dialog resizable
And enlarge dialog default width.
2022-04-02 17:26:24 +08:00
Chocobo1
7c1a986e61
Implement stringable interface for Version type 2022-03-26 13:58:25 +08:00
An0n
11cfe38d1c
Fix WebUI crash due to missing tags from config
Tags can be missing from config but set inside .fastresume. May happen due to corrupted/deleted config.
Closes #11906.
PR #16711.
2022-03-26 11:56:18 +08:00
Chocobo1
4ca6de2b54
Revise string literal usage
PR #16703.
2022-03-26 11:53:50 +08:00
An0n
bf8d993743
Change Downloaded to Times Downloaded in trackers tab
PR #16677.
2022-03-23 12:57:45 +08:00
sledgehammer999
b7c098c5e6
Sync translations from Transifex and run lupdate 2022-03-22 15:47:05 +02:00
Vladimir Golovnev (Glassez)
a4b606c6e9
Fix compilation issues due to inappropriate QString usage 2022-03-21 11:50:32 +03:00
AbeniMatteo
baa8d2c326
Add option to toggle filters sidebar
PR #15409.
2022-03-21 12:41:06 +08:00
Chocobo1
efc04645b7
Use QString literals
It covers src/webui and enables `QT_NO_CAST_FROM_ASCII`.
2022-03-20 13:33:40 +08:00
An0n
801cfdbc24
Allow setting the number of maximum active checking torrents
This is to allow re-checking of multiple torrents simultaneously. This will benefit users who
have multiple disks or SSD.
Closes #15296.

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2022-03-08 13:24:12 +08:00
Chocobo1
fad954df18
Add option for enable/disable performance warnings from libtorrent 2022-03-06 21:05:17 +08:00
Chocobo1
ab64ee872b
Use QString literals
The plan is to define `QT_NO_CAST_FROM_ASCII` eventually.
PR #16561.
2022-03-04 13:25:22 +08:00
Chocobo1
ac97ed685f
Add tuning options related to performance warnings
Related: #16462.
PR #16538.
2022-03-01 12:44:48 +08:00
Aleksandr Cupacenko
d2aad3a3ca
Rename content tab "Size" column to "Total Size"
Closes #7348.
PR #16526.
2022-02-27 12:48:11 +08:00
Vladimir Golovnev
2d3ff6a97c
Use std::optional to represent "any value" filters
PR #16460.
2022-02-20 13:17:34 +03:00
Kevin Cox
37e6a9ebc2
Fix UI crash when torrent is in non-existent category.
This checks that `category_list[categoryHash].torrents` is truthy before dereferencing it. In some cases the API response will have a torrent in a category that doesn't exist resulting in the check to return `undefined` which is not `null`. This broadens the check so that it will create the category even if null.
PR #16432.
2022-02-17 12:20:54 +08:00
sledgehammer999
a3a8c19dc2
Sync translations from Transifex and run lupdate 2022-02-14 19:28:07 +02:00
Chocobo1
f12ce78b5c
Remove hack for outdated IE 6 browser
The `mask()` isn't valid in CSS.
2022-02-09 19:00:28 +08:00
Vladimir Golovnev
dd1bd8ad10
Implement class for handling filesystem paths
PR #15915.
2022-02-08 06:03:48 +03:00
Vladimir Golovnev
facfa26eed
Allow to use Category paths in "Manual" mode
If the option is enabled any relative save path will be resolved against an appropriate Category path instead of Global default one.

PR #16330.
2022-02-02 09:24:09 +03:00
Chocobo1
d6e0164766
WebAPI: fix wrong key used for categories
Regression from 1c0f8b4289.
Closes #15969.
PR #15988.
2022-01-10 13:31:15 +08:00
Vladimir Golovnev
f44341a8e2
Handle .!qB extension behind the scenes
PR #15920.
2022-01-08 08:45:50 +03:00
thalieht
d3bdeaab3f
Replace "seeding_duration" with "finished_duration" everywhere
Closes #10223.
PR #13601.
2022-01-07 15:22:51 +08:00
sledgehammer999
74dc000ac1
Sync translations from Transifex and run lupdate 2022-01-06 20:35:45 +02:00
sledgehammer999
e8c65388eb
Bump copyright year 2022-01-04 01:39:00 +02:00
sledgehammer999
f2cbb61d49
Sync translations from Transifex and run lupdate 2022-01-04 00:39:43 +02:00
Vladimir Golovnev (Glassez)
1c0f8b4289
Redesign "Incomplete folder" feature
Change "Incomplete/temp folder" term with "download folder".
Allow to set "download folder" per torrent (in manual mode) and per category (in automatic mode).
2022-01-01 20:58:49 +03:00
Vladimir Golovnev
5347897b7d
Merge pull request #15852 from glassez/torrent-info
Improve torrent content handling
2021-12-20 08:54:46 +03:00
Vladimir Golovnev (Glassez)
62b50d1475
Make TorrentInfo immutable 2021-12-19 16:16:16 +03:00
Chocobo1
261f08b90e
Sort WebUI language selection values 2021-12-11 01:45:49 +08:00
Chocobo1
6ccc92020c
Disable "add peers" menu items instead of hiding it
Menu item in disabled state can show tool tip to help user understand
why it is unavailable.
Related issue: #15785.
PR #15787.
2021-12-06 13:54:38 +08:00
Chocobo1
e3fe66d3ec
Store enum type in settings directly
Affected settings will be migrated to new keys so nothing should break.

PR #15800.
2021-12-06 13:53:52 +08:00
OctopusET
ab5605d54b
Use proper string for Korean language
PR #15799.
2021-12-01 12:06:05 +08:00
Chocobo1
dc13eaed1f
Revert "Use percentage notation for alpha-values in CSS"
This reverts commit 864dca1b67.
Upstream change: https://github.com/stylelint/stylelint-config-standard/pull/212
PR #15745.
2021-11-18 00:19:27 +08:00
Chocobo1
13a49866a7
WebUI: Revise about page
Follow GUI more closely.
2021-11-09 13:17:55 +08:00
Chocobo1
7e2aea92b0
WebUI: Remove IRC in about page
This follows the GUI change in 65a30bab3f.
2021-11-09 13:17:41 +08:00
Andrei Stepanov
51d754a53e
Optimize PNG images losslessly with FileOptimizer
PR #15662.
2021-11-05 12:59:25 +08:00
sledgehammer999
e370cbb06b
Sync translations from Transifex and run lupdate 2021-10-31 02:52:52 +03:00
Likol Tung
cb0c2e3b9c
Fix WebUI reverse proxy section doesn't work
As title. because load with incorrect key.
Also moving proxy list label to left, screenshot: https://imgur.com/Rz038uW
PR #15634.
2021-10-29 11:50:09 +08:00
Chocobo1
8b60baea99
Remove unused CSS properties 2021-10-22 14:45:37 +08:00
Chocobo1
ac61c33d1c
Use modern color notation in CSS 2021-10-22 14:43:13 +08:00
Chocobo1
3088f04e6f
Use standard CSS properties instead of vendor specifics 2021-10-22 14:43:13 +08:00
Chocobo1
864dca1b67
Use percentage notation for alpha-values in CSS 2021-10-22 14:43:12 +08:00
Chocobo1
15320018f0
Use shorthand for CSS properties 2021-10-22 14:43:05 +08:00
Chocobo1
6226dd5b80
Add quotes to URL in CSS files
Better add quotes: https://stackoverflow.com/a/34383157
2021-10-22 14:43:05 +08:00
Chocobo1
aafc1064d9
Disable CSS selector naming rule 2021-10-22 14:42:12 +08:00
Chocobo1
7087565d92
Fix typo 2021-10-11 22:17:17 +08:00
Chocobo1
70a11a12b3
Merge pull request #15549 from Chocobo1/api
WebAPI: Use specific number to represent non-existing values
2021-10-11 12:38:38 +08:00
Vladimir Golovnev
5d5b0d572e
Merge pull request #15536 from glassez/expected
Don't use output parameters for error handling
2021-10-10 15:04:55 +03:00
Chocobo1
7c8eadfddf
Revert "WebUI: group trackers by hostname"
This functionality wasn't ever correctly implemented and couldn't be
done without considerable effort, so revert it for now.
This reverts commit 4ac25a50ed.
PR #15542.
2021-10-10 11:00:21 +08:00
Vladimir Golovnev (Glassez)
41fc0fd084
Don't use output parameters for error handling 2021-10-09 08:54:03 +03:00
Chocobo1
5c9655abc3
WebAPI: Use specific number to represent non-existing values
Closes #15545.
2021-10-09 12:31:15 +08:00
Daniel Aleksandersen
eb5e1d34df
WebUI: Add meta application name
Used for installable/pinned app installs.
PR #15539.
2021-10-09 12:06:44 +08:00
Daniel Aleksandersen
9e92e5995f
WebUI: Set icon sizes attribute
Gives browsers more information to pick the best icon.
PR #15540.
2021-10-09 11:59:37 +08:00
Chocobo1
97a8d865dc
WebUI: revise hash function
In benchmark, using `Math.imul()` is about ~20% faster than floating
point multiplication.

PR #15475.
2021-09-27 13:54:28 +08:00
Chocobo1
fc86034fab
WebUI: update authors page 2021-09-18 12:59:07 +08:00
Chocobo1
03012cc175
Revise description wordings 2021-09-18 12:59:07 +08:00
Jesse Smick
6229b81730
WebUI: Add pieces progress bar to General tab
Closes #15292.
PR #15418.
2021-09-12 12:55:41 +08:00
Chocobo1
08f33d7e9e
Fix WebUI crash when tracker URL is invalid
Closes #15391.
PR #15395.
2021-08-31 11:53:42 +08:00
sledgehammer999
ea986a1f1b
Sync translations from Transifex and run lupdate 2021-08-29 01:51:47 +03:00
Chocobo1
8d822f2cb4
Improve "last activity" calculation in WebAPI (#15339)
Co-authored-by: 秦风 <mayli.he@gmail.com>

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
2021-08-19 11:16:34 +08:00
Chocobo1
526ee9c9db
Add tooltip to listening port spinbox 2021-08-10 12:24:50 +08:00
Mengyang Li
4ac25a50ed
WebUI: group trackers by hostname (#15264)
Closes #13608.
2021-08-07 12:25:07 +08:00
Chocobo1
567848e94f
Work around missing function error
The fix comes from older version of MochaUI.
2021-08-05 16:03:18 +08:00
Chocobo1
221cbcc1ac
Update MochaUI to v0.9.7
Upstream: https://github.com/cdotyone/mochaui/blob/develop-0.9.8/Build/mocha.js
2021-08-05 16:03:07 +08:00
Chocobo1
dc2086dab4
Update clipboard.js to v2.0.8 2021-08-05 15:24:03 +08:00
Chocobo1
7be2a03c86
Update mootools to v1.6.0 2021-08-05 15:24:01 +08:00
Sylvain Finot
e87f8f5b93
Expose SSRF mitigation (#15247) 2021-08-04 11:28:36 +08:00
sledgehammer999
8a09558ed8
Sync translations from Transifex and run lupdate 2021-08-03 23:14:08 +03:00
Daniel Aleksandersen
60b1e692b9
Disconnect comment links fom the WebUI (#15251) 2021-08-03 16:26:04 +08:00
Chocobo1
49aab492e0
Use spinbox special value to represent "Use any available port"
WebAPI functionality is preserved (deprecated) for now and should be
removed in the future.
2021-07-29 11:50:52 +08:00
Chocobo1
09e558ae0b
Revise checkbox label for "Use any available ports" functionality
Also reorder the checkboxes a bit.
2021-07-27 13:35:18 +08:00
Vladimir Golovnev
1eb246c98b
Merge pull request #15181 from glassez/qt5
Raise minimum Qt version to 5.15.2
2021-07-23 06:22:57 +03:00
Tom Piccirello
7974b5a95c
Support sorting Web UI tables via touch (#15205) 2021-07-19 14:28:04 +08:00
AbeniMatteo
01d851440b
Add "Forced metadata downloading" state (#15185) 2021-07-17 21:33:14 +03:00
AbeniMatteo
e5943b64c1
Add filter "Checking" to side panel (#15166) 2021-07-16 14:08:10 +03:00
Kristof Mattei
140e73be4e
Use the URI's setData to set query data (#15187)
This allows the system to properly encode the '|', instead of passing
the '|' on in the URL, which is not allowed and breaks proxies such as
Authelia.

Then, for the purpose of generalization, I pushed this pattern through
to all places where we join items with a '|'.

This comes with the caveat that when we have individual components which
contain a '|' or any other character that is not allowed per the
HTTP standard, we still like to encode the individual components,
for example in the case of 3 strings, separated by a '|'.
If we don't do this we run into the risk that upon decoding URI finds
'|' in our original strings, which is something we don't want.

For example:
Sender:
````javascript
const arr = ["foo|1", "bar|2"];
const uri = new URI("test.html").setData(arr.join("|"));
````
Then on the receiving window, when it receives the uri and splits it, it
looks like this:
````javascript
const arr = new URI().getData('hashes').split('|');
// arr is now ["foo", "1", "bar", "2"]
````

This is why when we want to send a literal "|" we need to do
`encodeURIComponent` and `decodeURIComponent` manually on each item,
and THEN we join.

For example:
Sender:
````javascript
const arr = ["foo|1", "bar|2"];
const uri = new URI("test.html").setData(arr.map(encodeURIComponent).join("|"));
````

Receiver:
````javascript
const arr = new URI().getData('hashes').split('|').map(decodeURIComponent);
// arr is now ["foo|1", "bar|2"]
````

We don't need to with hashes as they are HEX, so no risk of any weird
characters in there.
2021-07-16 12:53:47 +08:00
Vladimir Golovnev (Glassez)
399d3ad85a
Replace QStringRef with QStringView 2021-07-15 10:56:49 +03:00
Thomas Piccirello
32f29e72c6 Support expanding/collapsing Web UI folders with arrow keys 2021-07-11 03:01:31 -07:00
Thomas Piccirello
e76bac4131 Support navigating Web UI tables with arrow keys
This allows navigating rows via up/down arrow keys.
2021-07-11 03:01:31 -07:00
Thomas Piccirello
8b94642ab1 Always set Web UI row id as a string
This helps ensure consistent behavior when performing rowId comparisons against strings.
2021-07-10 11:50:48 -07:00
Chocobo1
4dbf6af733
Simplify initialization statement 2021-07-07 13:20:13 +08:00
AbeniMatteo
9bfc74a1bc
Filter torrent info endpoint by tag (#15152) 2021-07-05 13:55:49 +08:00
Chocobo1
70d1cb86fd
Disable move constructor where it is sensible 2021-06-29 14:49:45 +08:00
sledgehammer999
665ab34f25
Sync translations from Transifex and run lupdate 2021-06-26 21:03:43 +03:00
Vladimir Golovnev
37f227ae74
Provide v1 and v2 infohashes in UI (#15097) 2021-06-25 20:44:23 +03:00
HiFiPhile
f5315d9ba7
Add WebUI reverse proxy source IP resolution (#15047)
Co-authored-by: qix67
Co-authored-by: HiFiPhile <admin@hifiphile.com>
2021-06-23 09:01:36 +03:00
Vladimir Golovnev
5c0378a684
Merge pull request #15029 from glassez/qt-5.14
Raise minimum Qt version to 5.14
2021-06-14 16:48:15 +03:00
Vladimir Golovnev (Glassez)
97c7f3bc67
Raise minimum Qt version to 5.14 2021-06-03 08:56:41 +03:00
Chocobo1
3b4bf90a13
Merge pull request #15017 from Chocobo1/css_formatting
Format and lint CSS code
2021-05-27 14:36:57 +08:00
Chocobo1
af49a4dd5a
Sort CSS properties 2021-05-25 13:20:38 +08:00
Chocobo1
b2081faf87
Remove redundant empty line 2021-05-25 13:20:37 +08:00
Chocobo1
f960934eb9
Merge same selector 2021-05-25 13:20:37 +08:00
Chocobo1
5522725f5d
Remove duplicate property 2021-05-25 13:20:37 +08:00
Chocobo1
9f3d36bab0
Remove useless property
The `padding` will override the former `padding-top`.
2021-05-25 13:20:37 +08:00
Chocobo1
87e7085c22
Remove empty block 2021-05-25 13:20:37 +08:00
Chocobo1
d8eac56f5e
Use stylelint for CSS linting 2021-05-25 13:20:37 +08:00
Chocobo1
65bdc4cf43
Format CSS code with prettier 2021-05-25 11:26:58 +08:00
Chocobo1
ee79c196df
Use prettier for formatting CSS code 2021-05-25 11:21:39 +08:00
sledgehammer999
34be8c9213
Merge pull request #14934 from sledgehammer999/translations
Update Qt translations and add new qbt translations
2021-05-23 21:59:29 +03:00
Chocobo1
40f6201509
Merge pull request #14976 from Chocobo1/options
Add `connection_speed` to advanced settings
2021-05-23 14:27:34 +08:00
zhuangzi926
2e8e2b04a1
Announce to all trackers if IP changed (#15001)
Closes #14545.
2021-05-23 14:26:54 +08:00
Chocobo1
e21f46d824
Avoid data duplication 2021-05-21 14:38:06 +08:00
Chocobo1
ef79546508
Add connection_speed to advanced settings
Now we follow libtorrent current default value 30.
Closes #6973.

Also bump WebAPI version.
2021-05-21 14:37:57 +08:00
Vladimir Golovnev (Glassez)
2993fdb169
Improve "Watched folders" feature
Make "file system watcher" an application core component
and separate it from its presentation model.
2021-05-19 15:42:41 +03:00
sledgehammer999
2c47cfbe25
Add new languages
* Mongolian
* Persian
* Thai
2021-05-07 22:53:13 +03:00
thalieht
e86916a7f9 Make some strings in WebUI translatable
Closes #14920
2021-05-06 20:49:35 +03:00
sledgehammer999
94195d5339
Sync translations from Transifex and run lupdate 2021-05-02 18:32:42 +03:00
Chocobo1
fdc186c92f
Revise tag related implementations
Fix #12690.
2021-04-27 11:47:52 +08:00
Vladimir Golovnev
376dedebb1
Merge pull request #14816 from glassez/tracker-entry
Improve "tracker entries" handling
2021-04-22 19:03:49 +03:00
Vladimir Golovnev (Glassez)
75e0990eb3
Provide tracker peers count via TrackerEntry
Don't expose additional accessor in Torrent interface.
2021-04-21 08:46:05 +03:00
Vladimir Golovnev (Glassez)
62a6c725d6
Don't overwrite tracker message
Use one of the tracker endpoint messages.
2021-04-21 08:45:09 +03:00
Chocobo1
6864e13e6f
Show "last activity" value under all circumstances 2021-04-20 10:03:25 +08:00
Vladimir Golovnev (Glassez)
6cf99cd0f2
Allow to specify file indexes in torrents/files API 2021-04-16 09:30:07 +03:00
sledgehammer999
21b3c61162
Merge pull request #14575 from sledgehammer999/license_clarification
Clarify that the license is GPLv2+
2021-04-07 14:02:59 +03:00
brvphoenix
bb9ca7f418 WebUI: Fix magnet url from the browser 2021-04-03 19:26:17 +08:00
Chocobo1
9b8bddf7b2
Revise folder monitoring functions in WebUI
Closes #14241.
2021-03-31 12:04:22 +08:00
Chocobo1
8a087a876e
Clean up code 2021-03-31 11:27:57 +08:00
sledgehammer999
f6336a6056
Clarify that the license is GPLv2+
Regarding this license clarification there are 3 commits of interest
(commits A, B, C). Before commit A the COPYING file contained only the
text of the GPLv2 license, while all source files had a license block
at the top saying that they are under the terms of "GPLv2 or later". With
commit A there was a temporary change to GPLv3. The COPYING file contained
only the text of the GPLv3 license, while all source files had a license
block at the top saying that they are under the terms of "GPLv3 or later".
Then with commit B the COPYING file and the license block of the source
files was reverted to their state before commit A. Afterwards, with
commit C a license summary(or clarification) block was put at the top of
the COPYING file. This block indicated that the license was GPLv2 without
having the "or later" clause and it also included the OpenSSL exception.
However, the license block of each source file continued to contain the
"or later" clause which was not removed. The same license block continues
to exist in all current source files. Thus it is concluded that the ommision
of the "or later" clause with commit C in the COPYING file was accidental.
OR ALTERNATIVELY (OR IN ADDITION)
At the time commit C was made Christophe Dumez was not the sole contributor.
There is no record that the other contributors agreed with the supposed
GPLv2 only change or that there was a Contributor License Agreement,
transfering their rights to him. Thus making his license change decision
invalid/void/illegal.

Commit A: 54f9375b32
Commit B: 8df61db644
Commit C: 9835af4962
2021-03-29 00:08:14 +03:00
Chocobo1
98e02a8fed
Remove unnecessary URL encoding
Fix #14635.
2021-03-28 13:16:34 +08:00
Chocobo1
121ff2b7be
Apply code formatting 2021-03-26 00:27:52 +08:00
Chocobo1
af85a8a340
Add necessary curly brackets 2021-03-26 00:27:52 +08:00
Chocobo1
5fe0e9395f
Don't use Object.prototypes builtins directly
See: https://eslint.org/docs/rules/no-prototype-builtins
2021-03-26 00:27:52 +08:00
Chocobo1
1f1cabd144
Remove unnecessary escape character 2021-03-26 00:27:51 +08:00
Chocobo1
c3bab70434
Remove extra semicolon 2021-03-26 00:27:51 +08:00
Chocobo1
1d6af22813
Add tools for js code formatting and linting
Due to eslint couldn't correctly resolve the context for the variables,
two eslint rules are disabled for now.
2021-03-26 00:27:12 +08:00
Mike Tzou
45c0d5a823
Merge pull request #14587 from Chocobo1/monitor
Remove wrong parentheses in WebUI
2021-03-24 12:47:11 +08:00
sledgehammer999
fda6def384
Sync translations from Transifex and run lupdate 2021-03-23 22:57:07 +02:00
Mike Tzou
4e8eb2c996
Merge pull request #14570 from brvphoenix/decode
WebUI: Avoid decoding strings repeatedly
2021-03-23 18:58:01 +08:00
Chocobo1
e43a9de2f3
Make global functions immutable 2021-03-23 18:53:56 +08:00
Chocobo1
901fca2d12
Remove wrong parentheses
Fix up 87ad8a1495.
2021-03-23 17:09:24 +08:00
Vladimir Golovnev
b9676ac3eb
Merge pull request #14546 from glassez/regexp
Use QRegularExpression instead of deprecated QRegExp
2021-03-22 10:14:02 +03:00
Vladimir Golovnev (Glassez)
61d2ff359b
Use QRegularExpression instead of deprecated QRegExp
Now it follows closely the definition of wildcard for glob patterns.
The backslash (\) character is not an escape char in this context.
In order to match one of the special characters, place it in square
brackets (for example, [?]).
2021-03-22 07:50:47 +03:00
Mike Tzou
87ad8a1495
Merge pull request #14554 from thalieht/seeding_time_webui
Seeding time in WebUI
2021-03-22 12:08:18 +08:00
brvphoenix
5beb1b2cd0 WebUI: Avoid decoding strings repeatedly
Fix #14553
2021-03-21 02:09:53 -07:00
thalieht
d124041726 Allow >100 days in WebUI function "friendlyDuration"
Because it's not only used for ETA.
2021-03-20 15:36:08 +02:00
thalieht
9f30aba2b3 Fix incorrect seeding time string in WebUI General tab 2021-03-19 15:29:08 +02:00
thalieht
560ecbc6c3 Add seeding time to the active time column in WebUI
Closes #14526
2021-03-19 15:29:08 +02:00
Vladimir Golovnev (Glassez)
f022458383
Raise minimum supported Qt version to 5.12 2021-03-13 15:33:58 +03:00
Vladimir Golovnev (Glassez)
561b597031
Improve "info hash" handling
Define "torrent ID" concept, which is either a SHA1 hash for torrents of version 1,
or a SHA256 hash (truncated to SHA1 hash length) for torrents of version 2.
Add support for native libtorrent2 info hashes.
2021-03-12 12:43:14 +03:00
Vladimir Golovnev
4da4fb0676
Merge pull request #14479 from glassez/trackerentry
Improve tracker entries handling
2021-03-11 18:51:19 +03:00
Vladimir Golovnev (Glassez)
7a8c05dc7c
Improve tracker entries handling 2021-03-10 19:54:34 +03:00
Vladimir Golovnev (Glassez)
e2c785b2d5
Accept "share limits" when adding torrent using WebAPI 2021-03-09 20:01:15 +03:00
Mike Tzou
f3435c5e35
Merge pull request #14493 from Chocobo1/tos
Expose ToS setting from libtorrent
2021-03-08 10:24:42 +08:00
Chocobo1
5161758193
Expose ToS setting from libtorrent
Closes #14420.
2021-03-07 15:32:07 +08:00
Vladimir Golovnev (Glassez)
8cfd803222
Drop implicit conversions between InfoHash and QString 2021-03-06 12:35:42 +03:00
Chocobo1
9a567721a8
Add missing semicolon 2021-03-06 14:44:10 +08:00
brvphoenix
59f0961594
WebUI: Properly decode strings 2021-02-24 21:48:21 +03:00
Chocobo1
e46c88580a
Revise getter function for torrrent queue position
This addresses https://github.com/qbittorrent/qBittorrent/pull/14335#issuecomment-774667836

The WebAPI is not affected as a workaround is added.
2021-02-08 14:24:16 +08:00
Si Yong Kim
74a5c6e745 Add hyperlink to Transifex on translator list
Closes #12609
2021-01-30 15:45:13 -08:00
Si Yong Kim
cfafe90fe0 Remove Hungarian translator email 2021-01-29 08:44:47 -08:00
Vladimir Golovnev (Glassez)
5b495e2f51
Bump WebAPI version 2021-01-23 13:55:09 +03:00
sledgehammer999
d1aba56096
Sync translations from Transifex and run lupdate 2021-01-17 23:20:45 +02:00
Vladimir Golovnev (Glassez)
710c5e2c31
WebUI: Correctly represent torrent content structure 2021-01-12 16:13:48 +03:00
Vladimir Golovnev (Glassez)
0b4fef19f6
Remove redundant suffix from TorrentHandle class
Originally, it was just a wrapper for libtorrent::torrent_handle class, so it mimicked its name.
It was then transformed into a more complex aggregate, but the name was retained (just by inertia).
Unlike libtorrent::torrent_handle class in whose name "handle" means the pattern used,
it does not matter for qBittorrent classes and just eats up space in the source code.
2021-01-06 16:28:17 +03:00
Mike Tzou
b79a1b5755
Merge pull request #14145 from Chocobo1/define
Generate version header when configuring project
2021-01-06 11:38:55 +08:00
sledgehammer999
1561f6f09f
Merge pull request #14156 from sledgehammer999/copyright_2021
Bump copyright year
2021-01-06 01:40:46 +02:00
sledgehammer999
b8d6058b28
Bump copyright year 2021-01-05 14:27:09 +02:00
Vladimir Golovnev (Glassez)
531ae501ad
Use std::optional<bool> instead of custom TriStateBool 2021-01-04 23:10:24 +03:00
Vladimir Golovnev (Glassez)
d0cac421bb
Change parseBool() to return optional bool value 2021-01-04 23:10:24 +03:00
Vladimir Golovnev (Glassez)
4429a16ca8
Use std::optional instead of boost::optional 2021-01-04 23:10:03 +03:00
Chocobo1
c669401767
Generate version header when configuring project
The basic idea is we create a version header template at
"src/base/version.h.in" and the build systems are expected to replace
strings that are enclosed with @ symbols and generate
"src/base/version.h" for other source files to consume/include.
2021-01-04 22:28:41 +08:00