Commit graph

370 commits

Author SHA1 Message Date
brvphoenix
aebb9f89d1
Remove the lockfile on exit (#14997) 2021-05-23 14:29:41 +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
Vladimir Golovnev (Glassez)
9565b695ef
Unify custom exceptions 2021-05-18 08:40:05 +03:00
Chocobo1
fdc186c92f
Revise tag related implementations
Fix #12690.
2021-04-27 11:47:52 +08:00
Nick Korotysh
28ef33b0a0
Improve Info.plist generation with CMake
- drop configure_file() and file(GENERATE) calls
- fill missed MACOSX_DEPLOYMENT_TARGET variable
2021-04-23 20:59:09 +03:00
Nick Korotysh
29e6b229ac
Don't use executable name as CFBundleName value 2021-04-20 01:49:32 +03:00
Chocobo1
a64bb1a990
Simplify natural sort classes interface
Now the comparison function/class should be constructed before usage.
This change also make it easier to plug in into various containers which
will require a compare function type (such as std::set).
2021-04-10 14:18:18 +08:00
Vladimir Golovnev (Glassez)
135cad576c
Don't use removed QApplication attribute 2021-03-27 19:28:00 +03:00
Vladimir Golovnev (Glassez)
561fbf2cca
Don't use removed QTextStream::setCodec()
QTextStream encodes as UTF-8 by default.
2021-03-27 19:25:32 +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
Vladimir Golovnev
a8ae97ba91
Merge pull request #14427 from glassez/qt-5.12
Raise minimum Qt version to 5.12
2021-03-14 20:43:39 +03:00
Chocobo1
d74df935f4
Replace parameters in one step
This would avoid the unwanted effect of replacing parameter coming from
another parameter.
2021-03-14 14:03:42 +08: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 (Glassez)
166ec74ff9
Look for qbittorrent.pdb in installation directory
Pass application directory as PDB search path in SymInitialize.
Otherwise it searches in application working directory so when you
run qBittorrent with working directory other than its installation
one it can't find qbittorent.pdb file and produces broken stacktrace.
2021-03-07 17:41:51 +03:00
Vladimir Golovnev (Glassez)
8cfd803222
Drop implicit conversions between InfoHash and QString 2021-03-06 12:35:42 +03:00
Michał Kopeć
614376ed64 Add an option to disable icons in menus 2021-02-20 18:12:02 +01: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
Vladimir Golovnev (Glassez)
531ae501ad
Use std::optional<bool> instead of custom TriStateBool 2021-01-04 23:10:24 +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
Chocobo1
be5af2796d
Revise SettingsStorage store/load value interface 2021-01-02 12:48:26 +08:00
Chocobo1
e6cf186c23
Use function-pointer based signal-slot connection 2020-12-31 13:28:48 +08:00
Vladimir Golovnev (Glassez)
1d5dc283fe
Allow to add root folder to torrent content 2020-12-23 13:07:33 +03:00
FranciscoPombal
6152b83405 Use #pragma once instead of include guards 2020-12-12 19:41:32 +00:00
Chocobo1
498da509db
Use Qt provided forward declaration header 2020-12-09 18:21:02 +08:00
Vladimir Golovnev (Glassez)
c41df9ffbd
Improve coding style 2020-11-17 21:02:37 +03:00
Chocobo1
7e258bfe38
Fix typos 2020-10-20 18:56:30 +08:00
FranciscoPombal
776c1f1546 Always use multi-arg arg() overload when possible
Fixed clazy-qstring-arg Clazy warnings
2020-10-07 15:34:26 +01:00
Vladimir Golovnev (Glassez)
3d0543c444
Fix static build with Qt < 5.14 2020-09-28 07:10:49 +03:00
Vladimir Golovnev (Glassez)
aef8f4f465
Set target property before it is used 2020-09-27 22:17:50 +03:00
Chocobo1
da2a26fa01
Use silent flag when invoking lrelease via cmake 2020-09-21 12:16:47 +08:00
FranciscoPombal
46123b9989 CMake: overhaul and improve scripts
- Bump minimum required version and
make use of more modern language features
- Rely more on target_...() commands to establish dependency
relationships between targets rather than directory property commands
- Improve libtorrent package discovery
- Enable and handle application features more explicitly
- Improve user-facing output
- Fix various compilation issues on Windows (MSVC and MinGW) and macOS
- Improve handling of translations
- Add explanatory comments where relevant
- Make CMake scripts fully independent of qmake files/details
- Remove old functions/macros
2020-09-17 13:13:26 +01:00
jagannatharjun
5b4a940842 Load custom theme before initializing main window
Improves debug build startup time with custom themes
2020-08-02 14:02:18 +05:30
FranciscoPombal
8f8f7ebd15 Remove DISABLE_COUNTRIES_RESOLUTION define 2020-07-08 01:07:50 +01:00
Chocobo1
8ebb6dc559
Initialize variable at better place 2020-06-26 17:17:29 +08:00
Chocobo1
a1ea7a111e
Don't use deprecated QProcess::startDetached() overload 2020-06-04 20:20:50 +08:00
Chocobo1
c239568658
Don't use deprecated QTextStreamFunctions::flush()
Qt doc states: "If QTextStream operates on a string, this function does
nothing". So remove it.
2020-06-04 15:29:32 +08:00
jagannatharjun
ab91d546e5 Move all icon resources to icon folder root 2020-05-18 20:30:51 +05:30
Vladimir Golovnev (Glassez)
a22f921941
CMake: Fix optional features handling 2020-05-02 20:59:26 +03:00
Vladimir Golovnev (Glassez)
ad0ee0cd36
CMake: Enable/disable GUI application via option 2020-05-01 17:03:01 +03:00
Vladimir Golovnev (Glassez)
fb42434946
CMake: Put executable into top-level directory 2020-05-01 17:03:01 +03:00
Vladimir Golovnev (Glassez)
642bf7b8a6
CMake: Don't split GUI code into several libraries 2020-05-01 17:03:00 +03:00
Vladimir Golovnev (Glassez)
4a2d25b03b
Clean up header inclusion 2020-05-01 17:02:49 +03:00
Chocobo1
d3d3f7dbb3
Add final specifier to classes
This allow compilers to generate more efficient code.
2020-04-17 13:18:40 +08:00
Vladimir Golovnev
2681093d27
Merge pull request #12513 from glassez/torrent-impl
Split TorrentHandle interface and implementation
2020-04-17 07:40:28 +03:00
Mike Tzou
a5fe96f793
Merge pull request #12458 from jagannatharjun/log
Convert the Log widget to use custom View/Model
2020-04-17 11:27:35 +08:00
Vladimir Golovnev (Glassez)
1132b84548
Split TorrentHandle interface and implementation 2020-04-16 20:22:26 +03:00
jagannatharjun
fd89717330 Convert the Log widget to use custom View/Model
Co-authored-by: sledgehammer999 <hammered999@gmail.com>
2020-04-15 22:18:00 +05:30
Vladimir Golovnev (Glassez)
4e6790dfbb
Prevent multiple instances for the same app config 2020-03-31 17:16:47 +03:00