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
Mike Tzou
2408ce98e6
Merge pull request #12285 from Chocobo1/log
...
Save log file in UTF-8 encoding
2020-03-27 09:39:54 +08:00
Mike Tzou
6b5b5df90c
Merge pull request #12283 from Chocobo1/qtTr
...
Include translation resources with file globbing
2020-03-27 09:38:46 +08:00
Mike Tzou
185d8c97c1
Merge pull request #12273 from Kolcha/hidpif
...
Don't round scaling factor
2020-03-27 01:06:08 +08:00
Chocobo1
c52737e07c
Avoid log file excessive flushing
...
Excessive flushing could happen when a lot of logging happens in a short
time interval.
2020-03-26 16:12:24 +08:00
Chocobo1
12396a7582
Save log file in UTF-8 encoding
...
Otherwise it uses sytem defaults: usually UTF-8 on Linux and local 8-bit
encoding on Windows.
2020-03-26 16:00:57 +08:00
Chocobo1
d179c6d5a1
Rename variable
2020-03-26 15:49:14 +08:00
Chocobo1
1466c562e5
Include translation resources with file globbing
...
This will include all qtbase_*.qm files and only explicitly listed
qt_*.qm files will be included.
2020-03-26 14:10:20 +08:00
Nick Korotysh
a9b0d84df9
Don't round scaling factor
...
Qt 5.14 introduced new feature related to HighDPI screens support,
this parameter is called "scale factor rounding policy", and it is
intended to improve fractional scale factor support (like 150%).
Qt::PassThrough value guarantee that no any rounding will applied to
scale factor, and will be used as is.
2020-03-25 18:36:34 +03:00
Chocobo1
7de8a4d6e0
Construct QString more efficiently
2020-03-25 12:00:11 +08:00
Chocobo1
b7e7d8019c
Use helper function to construct QString
...
This is shorter and avoids the need of 2 constructors.
2020-03-16 21:27:42 +08:00
Mike Tzou
f80b7affd9
Merge pull request #12138 from Chocobo1/dist
...
Update Qt translations
2020-03-10 01:29:08 +08:00
Vladimir Golovnev
a7b342edcb
Merge pull request #12083 from glassez/app-instances
...
Allow single app instance per configuration
2020-03-09 07:40:48 +03:00
Chocobo1
7b25dd24d0
Update Qt translation files
2020-03-09 09:48:15 +08:00
Mike Tzou
095ef67e30
Merge pull request #12102 from Kolcha/hidpi
...
Delegate GUI scaling work to Qt
2020-03-07 10:05:21 +08:00
Nick Korotysh
d49d7c1d82
Delegate GUI scaling work to Qt
...
Set Qt::AA_EnableHighDpiScaling application attribute when Qt 5.14.x or
newer is used. This fixes a lot of scaling issues on HiDPI displays.
Unfortunately, this flag must be set only before QApllication object
creation, so the only one place where it can be done is main().
2020-03-06 12:04:57 +03:00
Vladimir Golovnev (Glassez)
38e54206d5
Allow single app instance per configuration
2020-03-06 08:59:59 +03:00
Chocobo1
2157e500ef
Use helper functions to construct smart pointers
2020-03-05 19:32:28 +08:00
FranciscoPombal
dc6a56afcb
Revert using random port by default
...
Revert change introduced in https://github.com/qbittorrent/qBittorrent/pull/11637 and also revert the associated follow-up https://github.com/qbittorrent/qBittorrent/pull/12000 .
Reason: https://github.com/arvidn/libtorrent/pull/4335
2020-02-21 14:47:37 +00:00
Mike Tzou
882978c80a
Merge pull request #12000 from an0n666/legacy-default-no-random-port
...
Keep legacy default for random port
2020-02-13 12:24:45 +08:00
Mike Tzou
316f34cbf5
Merge pull request #11994 from Chocobo1/profile
...
Unify singleton pattern in Profile class
2020-02-12 23:59:47 +08:00
an0n666
41d8585932
Keep legacy default for random port
2020-02-12 12:28:13 +00: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
Vladimir Golovnev (Glassez)
0c6c65f6f8
Keep legacy defaults for existing users
2020-02-11 09:53:12 +03:00
Vladimir Golovnev (Glassez)
86c95db91d
Perform settings upgrade for existing user only
2020-02-11 09:40:57 +03:00
Chocobo1
a6cdba17f0
Fix singleton class ownership
...
We shouldn't allow Qt parent ownership in here.
2020-02-07 15:34:04 +08:00
NotTsunami
b21ed0063b
CMake: Fix WebUI checks
...
When the CMake system was last revamped, the configure variable was
changed from WEBUI to DISABLE_WEBUI, but we are still checking
against WEBUI. This behavior was changed in fa770871e9
2020-01-19 15:08:45 -05:00
sledgehammer999
8fa6e372a2
Option to show console when external program is run
...
Windows only.
Closes #9592
2019-12-19 19:13:01 +02:00
sledgehammer999
4ae8e176dc
Use modern unique_ptr practices
2019-12-19 16:25:45 +02:00
Tester798
053ee48692
Enable portable mode if "profile" directory exists
...
Enable portable mode if "profile" directory exists in the app dir.
Remove "--portable" command line argument.
Add logging of current profile config directory.
Closes #9445 .
2019-12-16 05:12:47 +02:00
Chocobo1
6fd678195c
Replace deprecated Qt functions
...
QSet::toList() is replaced by QSet::values()
2019-10-31 12:40:24 +08:00
Chocobo1
7276a79cef
Call Windows API directly
...
We already bumped the OS requirement to Windows 7 and those functions
can be called directly without the need to load them first.
2019-09-29 09:52:13 +08:00
Chocobo1
17e4902519
Don't define variable when not building GUI
2019-09-05 20:40:47 +08:00
Chocobo1
0d5b0b9542
Replace deprecated macro
...
Q_OS_MAC is deprecated and the replacement is Q_OS_MACOS.
2019-09-05 20:16:18 +08:00
Chocobo1
7e0daf1663
Setup pixmap cache in a proper place
...
There is no need to reset the cache limit to previous value as
QPixmapCache is an application wide cache.
Also raise the cache size to 64MB.
2019-08-30 14:51:27 +08:00
Chocobo1
47b9d8dbc6
Clean up Application class constructor
2019-08-30 14:51:07 +08:00
Chocobo1
e3483c62ca
Remove explicit conversion to QVariant
2019-08-18 20:00:43 +08:00
Vladimir Golovnev (Glassez)
6bfa4370b7
CMake: Fix Windows build
2019-08-06 21:50:39 +03:00
Chocobo1
25c56d3b66
Make use of Utils::Misc::loadWinAPI
2019-07-31 02:10:22 +08:00
Chocobo1
5c015d573b
Forward declare types as much as possible
2019-07-31 02:10:22 +08:00
Mike Tzou
4f06c091c9
Merge pull request #10949 from Chocobo1/inject
...
Prevent command injection via "Run external program" function
2019-07-21 12:05:02 +08:00
Chocobo1
a610c8567e
Prevent command injection via "Run external program" function
...
Closes #10925 .
2019-07-20 17:42:09 +08:00
Chocobo1
4a90716843
Add override keyword to functions
2019-07-19 11:58:56 +08:00
Chocobo1
07263d2d70
Move implementation to its own file
2019-07-18 00:30:44 +08:00
Prince Gupta
8267a4fef9
Incorporate GuiIconProvider inside UIThemeManager
2019-07-16 09:31:33 +05:30
Chocobo1
7b568b07e6
Clean up CMakeLists.txt
2019-07-13 19:55:13 +08:00
Prince Gupta
a24925c858
Allow styling with QSS stylesheets
2019-07-09 19:56:55 +05:30
Mike Tzou
4b25f87859
Merge pull request #10874 from Chocobo1/qt
...
Replace obsoleted Qt functions
2019-07-02 10:57:06 +08:00
Chocobo1
4eff268095
Replace obsoleted QFontMetrics::width()
...
Qt 5.13 marked QFontMetrics::width() obsolete.
2019-07-01 14:48:53 +08:00
Vladimir Golovnev (Glassez)
c7f3693ad1
Implement "Application instances manager"
2019-06-30 20:02:46 +03:00
Chocobo1
46ee193cd8
Restrict QLocalServer access
...
The default is world access which means even even unprivileged local
accounts can connect to it too.
2019-06-28 09:40:21 +08:00
Chocobo1
6119cb370f
Drop suspiciously large data
...
This is to avoid exhausting system memory.
2019-06-27 20:29:02 +08:00
Chocobo1
d0bfe9a661
Adjust open file descriptor limit on startup
...
This raises qbt's open file descriptor limit to the available maximum
(within user privileges) and thus users don't need to adjust it
manually anymore.
2019-06-26 14:08:43 +08:00
silverqx
4f4f435e76
Add zlib version to GUI & stackdump
2019-06-12 08:02:24 +02:00
Chocobo1
6738cdd715
Constify exception references
2019-05-19 12:06:18 +08:00
sledgehammer999
f403fdb2e8
Remove wrong ifdef
2019-03-17 14:15:50 +02:00
Chocobo1
b7d739ab3f
Fix build error
...
Apparently the function is not available on Windows platforms.
2019-03-15 14:29:54 +08:00
Chocobo1
874bc84efc
Remove excessive usage of pointer
2019-03-15 14:29:06 +08:00
Chocobo1
a3019f56b0
Clean up code
2019-03-15 14:29:06 +08:00
Vladimir Golovnev
36f6e9b288
Merge pull request #9702 from knackebrot/master
...
Fix building qbittorrent-nox on Windows
2019-03-13 18:35:44 +03:00
sledgehammer999
c2d1af9853
Merge pull request #10338 from sledgehammer999/raise_qt5_ver
...
Raise minimum Qt version to 5.9.0
2019-03-08 00:42:26 +02:00
knackebrot
c7b451b18f
Allow headless builds on Windows
...
Daemonizing is disabled because no direct equivalent exists in win32.
2019-03-07 13:59:10 +01:00
Mike Tzou
ccd8f3e0f1
Merge pull request #10340 from Chocobo1/move
...
Move helper functions to Utils::Gui namespace
2019-03-07 15:11:58 +08:00
Chocobo1
adbd34c795
Move helper functions to Utils::Gui namespace
2019-03-05 14:55:22 +08:00
sledgehammer999
5c63ad3b95
Raise minimum Qt version to 5.9.0
2019-03-04 16:48:49 +02:00
Mike Tzou
4ce3cda676
Merge pull request #10319 from eszlari/patch-1
...
Linux/Wayland: make window title bar icon work
2019-03-03 12:40:59 +08:00
Mike Tzou
0f1fc7be9d
Merge pull request #10302 from Chocobo1/uptr
...
Replace QScopedPointer with std::unqiue_ptr
2019-03-02 12:26:14 +08:00
Peter Eszlari
9f250713d2
Linux/Wayland: make window title bar icon work
2019-02-28 22:41:08 +01:00
Mike Tzou
46bc1d12b9
Merge pull request #10314 from thalieht/const2
...
More const
2019-02-28 11:33:35 +08:00
thalieht
89dce36e98
Use uniform initialization on some default arguments
2019-02-25 17:05:15 +02:00
Chocobo1
e5dca50025
Convert to use private pointer for ui object
2019-02-25 01:22:40 +08:00
Chocobo1
5e3fddf456
Replace QScopedPointer with std::unqiue_ptr
...
These 2 types are very similar and we should prefer the one from C++
standard library, this reduces the number of types in our code base.
Also see:
https://stackoverflow.com/questions/40346393/should-i-use-qscopedpointer-or-stdunique-ptr#comment67966940_40346991
2019-02-18 16:06:40 +08:00
thalieht
9959a901fe
Replace deprecated header 'signal.h' with 'csignal'
2019-02-16 18:54:17 +02:00
thalieht
d8cbc9266a
Use 'auto' to avoid duplicating the type name
2019-02-16 18:54:17 +02:00
thalieht
8a3f942385
Don't use 'else' after return/break
2019-02-13 18:23:25 +02:00
Mike Tzou
78ab0e4ba9
Merge pull request #10220 from thalieht/const
...
Add const to many vars and arguments
2019-02-13 12:11:00 +08:00
thalieht
ca3ce87e06
Add const to many vars and arguments
...
Also remove const in declarations' arguments that are passed by value
2019-02-11 20:19:41 +02:00
Chocobo1
52de31ac79
Add migration code for WebUI https related change
2019-01-29 12:52:42 +08:00
Chocobo1
48d358872f
Cleanup header inclusion
2019-01-28 14:34:13 +08:00
Chocobo1
04227f5a41
Add QBT_APP_64BIT define
...
Now we use QT_POINTER_SIZE to detect CPU bitness, it has the advantage of applicable to all CPU
architectures not limiting to x86 arch.
2019-01-19 10:14:10 +08:00
Chocobo1
6d7e5f82ae
Include the correct header
...
And remove the unused ones
2019-01-19 10:06:33 +08:00
Chocobo1
cf4db1b418
Remove useless exception handling
2019-01-19 10:06:31 +08:00
sledgehammer999
6b2a382ab8
Merge pull request #10066 from sledgehammer999/drop_migration_code
...
Drop upgrade code
2019-01-02 21:42:31 +02:00
sledgehammer999
d322e10a83
Merge pull request #10027 from glassez/compile-ts
...
Compile translations at build time
2018-12-31 11:31:45 +02:00
sledgehammer999
1fff760722
Drop upgrade code
2018-12-31 00:41:17 +02:00
Chocobo1
2a84345835
Mark constructors as explicit
2018-12-26 12:04:40 +08:00
Vladimir Golovnev (Glassez)
7b3eed323b
QMake: Compile translations at build time
2018-12-22 16:02:17 +03:00
Vladimir Golovnev
fc08091765
Merge pull request #9940 from glassez/error-msg
...
Show error message when Session failed to start
2018-12-09 11:16:17 +03:00
Chocobo1
f13bcbd772
Add OpenSSL version to GUI & stackdump
2018-12-08 12:46:50 +08:00
Mike Tzou
6bb4eb825b
Merge pull request #9942 from Chocobo1/pbkdf2
...
Do password hashing properly
2018-12-06 16:22:22 +08:00
Vladimir Golovnev (Glassez)
89deccd9b5
Show error message when Session failed to start
2018-12-05 19:57:44 +03:00
Chocobo1
593052dd93
Revise startup message in nox version
...
Only print the WebUI username when password is still the default.
2018-12-05 13:28:43 +08:00
Chocobo1
05d6a29416
Apply PBKDF2 when storing passwords
2018-12-05 13:28:42 +08: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
Thomas Piccirello
4885fe6b4c
Only instantiate SearchPluginManager as needed
2018-11-21 16:59:38 -05:00
Vladimir Golovnev
7e36cc746f
Merge pull request #8584 from Piccirello/new-search-api-2
...
WebUI search API. Closes #2495
2018-10-24 13:13:16 +03:00
Eugene Shalygin
e590fff2fe
cmake: restore out-of-source build
...
Qt translations have to be compiled in a shared library or executable,
and since we use static libraries for the components, webui translation
files have to be compiled into the main executable.
2018-10-14 11:06:20 +02:00
Chocobo1
79dae55a61
Fix GUI scaling issue on Linux
...
It seems `QT_AUTO_SCREEN_SCALE_FACTOR` doesn't work as expected.
Closes #6935 .
2018-09-05 12:17:30 +08:00
Chocobo1
0217d5b4c0
Replace single-character string with character literal
...
Also remove unnecessary dynamic allocation.
2018-07-21 23:26:15 +08:00
Thomas Piccirello
b2ffd6e03b
Instantiate SearchPluginManager with other application components
2018-07-11 20:11:33 -04:00
sledgehammer999
de8050701d
Revert email address changes in copyright notices
2018-07-10 00:37:44 +03:00
thalieht
456270bbb1
Delete several unused #include
2018-07-03 08:38:32 +03:00
Mike Tzou
40f4223d02
Merge pull request #9083 from Chocobo1/qrc
...
Move files to where it belongs
2018-06-18 00:51:19 +08:00
thalieht
d34ddb2e3c
Change file names and classes names to match them
2018-06-15 20:12:59 +03:00
thalieht
4022799881
Fix coding style
2018-06-12 07:17:05 +03:00
Chocobo1
5b7c089dd2
Move qm_gen.pri
2018-06-11 21:02:45 +08:00
Chocobo1
26a4703398
Move .qrc files into its own directory
2018-06-11 20:01:33 +08:00
Eugene Shalygin
04aea413ba
Merge pull request #9055 from zeule/cmake
...
Update CMake build scripts
2018-06-07 21:31:09 +02:00
Eugene Shalygin
fa770871e9
Refactor CMake build scripts
...
1. Use FeatureSummary module to show configuration results.
2. Invert option()/find_package() relationship: instead of
calling find_package(... REQUIRED) when option is set, rely on optional
find package call and PackageName_FOUND variable.
3. Refactor handling options that result in simple preprocessor defines
(actually copy the snippet from libtorrent) so that everything is done
in a single function call.
4. Populate target properties in order to get rid of
include_directories() calls.
2018-06-05 11:39:11 +02:00
Vladimir Golovnev
e61c882fee
Merge pull request #9015 from thalieht/style
...
Fix coding style
2018-06-03 14:48:04 +03:00
thalieht
356d6a6589
Fix coding style
2018-05-31 19:45:09 +03:00
Chocobo1
09f759355f
Replace QRegExp with QRegularExpression
...
Revise `static` keyword usage, static is added to frequently used
instances.
2018-05-31 22:56:49 +08:00
Chocobo1
c22e6b4502
Cleanup header include order
...
Add missing header.
Cleanup license.
2018-05-31 22:56:25 +08:00
Chocobo1
4751b79f42
Initialize variables properly
...
The warnings are emitted when compiling on msys2, mingw
The warning was:
gui/torrentcontentmodel.cpp:135:33: warning: missing initializer for
member '_SHFILEINFOW::iIcon' [-Wmissing-field-initializers]
..\..\qBittorrent\src\app\stacktrace_win.h:141:30: warning: missing
initializer for member '_IMAGEHLP_LINE64::Key'
[-Wmissing-field-initializers]
2018-05-25 21:22:31 +08:00
Mike Tzou
84df2794dc
Merge pull request #8944 from Chocobo1/literal
...
Make use of QStringLiteral
2018-05-23 13:23:41 +08:00
Mike Tzou
07c15127ba
Merge pull request #8915 from Chocobo1/runext4
...
Improve "Run External Program" behavior
2018-05-19 14:58:45 +08:00
Chocobo1
ceaf755ac6
Make use of QStringLiteral
...
Only changed instances that are initialized at program start.
2018-05-18 02:14:49 +08:00
sledgehammer999
e3ce9b2645
Merge pull request #8903 from sledgehammer999/fix_upgrade_artifacts
...
Delete non-commited fastresume files
2018-05-13 17:24:47 +03:00
sledgehammer999
35eee0b590
Don't migrate torrents that have newer fastresumes
2018-05-13 15:50:10 +03:00