Commit Graph

52 Commits

Author SHA1 Message Date
Victor Chernyakin
34d30ed031 Replace Q_UNUSED with [[maybe_unused]] attribute
PR #19471.
2023-08-18 07:09:40 +03:00
Vladimir Golovnev
dcf3e97291 Implement gateway for adding new torrents
PR #19355.
2023-08-14 18:17:56 +03:00
Vladimir Golovnev
f27f2c20e0 Add unified class to represent parsed torrent metadata
* Add unified class to represent parsed torrent metadata
* Unify startup logic of "Add new torrent dialog"

PR #19301.
2023-07-21 08:40:16 +03:00
Chocobo1
e6d85a468b Rename literal operator
Qt 6.4 introduced `QString operator""_s()` and the previous `""_qs` is
deprecated since Qt 6.8.
2023-06-18 03:32:44 +08:00
Chocobo1
79ca2e145f Don't read unlimited data from files
It now guards against reading infinite files such as `/dev/zero`.
And most readings are bound with a (lax) limit.
As a side effect, more checking are done when reading a file and
overall the reading procedure is more robust.

PR #19095.
2023-06-14 13:38:19 +08:00
Vladimir Golovnev
a5e8af5070 Allow to assign priority to RSS download rule
PR #19000.
2023-06-05 14:55:41 +03:00
Vladimir Golovnev (Glassez)
905f141657 Revamp "Automated RSS downloader" dialog 2023-05-07 16:34:52 +03:00
Chocobo1
8c9b6e2f2d Use reference whenever possible 2023-05-06 16:35:13 +08:00
Vladimir Golovnev
b8cd614775 Allow to edit RSS feed URL
PR #18807.
Closes #5489.
2023-04-07 14:22:50 +03:00
Vladimir Golovnev
ac3ad17a9e Ensure thread is stopped before deleting QThread
PR #18037.
2022-12-08 08:37:14 +03:00
nmariusp
e2b140b8dd Remove meaningless checking for nullptr
Fix PVS-Studio issue "rss_autodownloader.cpp:111: warning: V668
There is no sense in testing the 'm_fileStorage' pointer against null,
as the memory was allocated using the 'new' operator.
The exception will be generated in the case of memory allocation error".

PR #17347.
2022-07-14 13:19:38 +08:00
Vladimir Golovnev
d3e7e8a630 Refactor SettingsStorage implementation
Remove redundant fragmentation of logic.

PR #17354.
2022-07-13 07:09:15 +03:00
Vladimir Golovnev
be7cfb78de Restore BitTorrent session asynchronously
Reduce the total startup time of the application and maintain sufficient responsiveness of the UI during startup due to the following:
1. Load resume data from disk asynchronously in separate thread;
2. Split handling of loaded resume data in chunks;
3. Reduce the number of emitting signals.

PR #16840.
2022-07-04 12:48:21 +03:00
Vladimir Golovnev
a2121f2483 Improve RSS subsystem initialization
PR #17227.
2022-06-18 09:56:49 +03:00
Chocobo1
c6b772da11 Improve function interface
`SettingsStorage` methods require `QString` so make `SettingValue` follow it.
`Path::operator+` can use `QStringView` to accept wider audience.
2022-03-26 12:41:02 +08:00
Chocobo1
4ca6de2b54 Revise string literal usage
PR #16703.
2022-03-26 11:53:50 +08:00
Chocobo1
f0dd7b7dae Use QString literals
This patch covers src/app and src/base folders.
Follow up of ab64ee872b.
2022-03-11 00:11:30 +08:00
Vladimir Golovnev
dd1bd8ad10 Implement class for handling filesystem paths
PR #15915.
2022-02-08 06:03:48 +03:00
Vladimir Golovnev (Glassez)
fdbf8cb0ee Correctly concatenate path components 2022-01-03 19:44:47 +03:00
Chocobo1
32698fe0be Migrate away from low-level SettingsStorage class
Also add `QFlags<T>` support to `SettingsStorage`.
PR #15693.
2021-11-08 13:23:33 +08:00
Chocobo1
21f72baae2 Use QSaveFile wherever applicable
expected.hpp was fetched from:
b803e3c07b/include/nonstd/expected.hpp
2021-09-15 21:54:44 +08:00
Vladimir Golovnev (Glassez)
9565b695ef Unify custom exceptions 2021-05-18 08:40:05 +03:00
Vladimir Golovnev (Glassez)
531ae501ad Use std::optional<bool> instead of custom TriStateBool 2021-01-04 23:10:24 +03:00
Chocobo1
be5af2796d Revise SettingsStorage store/load value interface 2021-01-02 12:48:26 +08:00
Vladimir Golovnev (Glassez)
1d5dc283fe Allow to add root folder to torrent content 2020-12-23 13:07:33 +03:00
Vladimir Golovnev (Glassez)
c41df9ffbd Improve coding style 2020-11-17 21:02:37 +03:00
Vladimir Golovnev (Glassez)
b4f65ca080 Don't modify source URL when wait for download status 2020-06-19 12:16:31 +03:00
Vladimir Golovnev (Glassez)
1b5dd0aa2d Fix renaming RSS autodownload rule 2020-05-15 09:41:40 +03:00
Chocobo1
7de8a4d6e0 Construct QString more efficiently 2020-03-25 12:00:11 +08:00
Chocobo1
5de75eff05 Unify singleton pattern in Profile class
1. Use unified function names `initInstance()` and `freeInstance()` and
make them public.
2. Add `freeInstance()` to avoid noise from memory leak detectors.
3. Let `instance()`return a pointer directly to avoid unnecessary
indirections when invoking functions.
2020-02-11 15:30:59 +08:00
Xegor
325f36fa4f Add create subfolder option to RSS auto-download rules 2019-11-11 12:46:51 +01:00
thalieht
9995967fbf Remove some unused #include 2019-06-04 17:48:55 +03:00
Chocobo1
e288de7ec1 Forward declare as much as possible 2019-05-19 12:06:18 +08:00
thalieht
77aea3c59e Add const to a few pointer arguments 2019-02-25 17:05:15 +02:00
thalieht
70f1537d9f Add const to almost all remaining vars and arguments that qualify 2019-02-25 17:05:15 +02:00
thalieht
1f36b8b89f Combine qAsConst() with copyAsConst() to asConst() 2018-11-28 23:41:23 +02:00
thalieht
6b1d26d555 Convert all foreach() to range-based for() 2018-11-28 23:40:12 +02:00
thalieht
d668a4fe6d Fix coding style for various things 2018-11-28 23:37:35 +02:00
Stephen Dawkins
d8054f9cb3 Allow to disable downloading REPACK/PROPER matches 2018-10-09 08:14:12 +03:00
Vladimir Golovnev (Glassez)
844f76c2ca Make "Ignoring days" to behave like other filters
This prevents confusing in GUI when it shows matched RSS
articles which be really ignored by the rule.
2018-05-19 14:52:24 +03:00
Chocobo1
141a2d2856 Prevent detach from containers 2018-03-11 22:25:07 +08: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
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
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 (Glassez)
176b2eb18b Disable Auto TMM when RSS rule has save path
Closes #8411.
2018-02-16 14:02:01 +03:00
Stephen Dawkins
48cbccff1e Made smart episode filter regular expression configurable 2018-02-05 19:23:11 +00:00
Stephen Dawkins
2845a791d0 Initial implementation of Smart Filter feature 2018-01-27 09:14:36 +00:00
Vladimir Golovnev (Glassez)
22bdf98617 Don't process new/updated RSS rules when disabled 2017-12-27 20:01:40 +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