Commit graph

39 commits

Author SHA1 Message Date
Vladimir Golovnev
299f981441
Allow to limit max memory working set size
PR #16485.
2022-03-01 16:42:25 +03:00
Vladimir Golovnev
dd1bd8ad10
Implement class for handling filesystem paths
PR #15915.
2022-02-08 06:03:48 +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
70d1cb86fd
Disable move constructor where it is sensible 2021-06-29 14:49:45 +08: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
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 (Glassez)
38e54206d5
Allow single app instance per configuration 2020-03-06 08:59:59 +03: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
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
47b9d8dbc6
Clean up Application class constructor 2019-08-30 14:51:07 +08:00
Vladimir Golovnev (Glassez)
c7f3693ad1
Implement "Application instances manager" 2019-06-30 20:02:46 +03: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
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
thalieht
356d6a6589 Fix coding style 2018-05-31 19:45:09 +03:00
Nick Korotysh
0b8c620fd3
Add missing "override" 2018-05-08 08:33:07 +03:00
Chocobo1
88881de8c6
Add Tags parameter to "Run External Program"
Closes #8586.
Also sort headers.
2018-03-14 10:12:32 +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
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
Vladimir Golovnev (Glassez)
71bb6538db
Fix WebUI error handling 2017-11-19 19:10:04 +02:00
Chocobo1
fc0628d35b
Allow SMTP sender to be set. Closes #7575. 2017-10-26 17:57:32 +08:00
sledgehammer999
9f98f9f7ac
Rename cmd options source files. 2017-05-07 16:20:18 +03:00
Vladimir Golovnev (Glassez)
989a70fe60 Redesign RSS subsystem 2017-04-23 09:03:46 +03:00
Eugene Shalygin
0f746ffd5a Add support for different configurations. Partially closes #465
It may be useful to have different configurations either for portable
versions or for debugging purposes. To implement this we add two
options, avaliable via command line switches
1. An option to change configuration name ("--configuration"). The name
supplied via this option is appended to
QCoreApplication::applicationName() to form "qBittorrent_<conf_name>"
name for the configuration files.
2. An option to provide a path do directory where all the settings are
stored (kind of profile directory). There is a shortcut "--portable"
which means "use directory 'profile' near the executable location".

In order to implement that we have to perform initialisation of the
profile directories before the SettingStorage and Preferences singletones
are initialised. Thus, options parsing shall be performed without defaults
read from preferences.
2017-04-12 00:50:28 +02:00
Chocobo1
df95efe33e Improve usability of "Run External Program"
Users can write (platform dependent) shell scripts now.
2016-06-07 00:39:27 +08:00
sledgehammer999
ef6e848756 Display notifications when a torrent is added. Closes #334 and #915. 2016-04-25 20:07:26 +03:00
Chocobo1
fbc002f212 Enable access to shutdown functions when configured with --disable-gui option 2016-04-18 00:45:37 +08:00
Chocobo1
6a11056b60 Rename enum
Change identifier from ShutdownAction to ShutdownDialogAction
Change enum value from None to Exit
2016-04-14 14:50:59 +08:00
sledgehammer999
d721939d5f Use SettingsStorage instead. 2016-03-26 01:50:13 +02:00
sledgehammer999
1058572c8a Implement file logger. 2016-03-26 01:39:13 +02:00
Vladimir Golovnev (Glassez)
9db93e5d8f Rename Core to Base (Closes #3733). 2015-12-06 14:27:00 +03:00
Vladimir Golovnev (Glassez)
191cdc2849 Move utilities to core/utils folder.
Also move the names to Utils namespace.
2015-06-09 21:30:56 +03:00
Vladimir Golovnev (Glassez)
d16d1fdb3a Redesign main core classes. 2015-06-09 21:30:42 +03:00
sledgehammer999
6644fe0714 Tell Windows to wait during shutdown by creating a ShutdownBlockReason.
Huge thanks to paolo-sz for bringing this to my attention, for the various patches he tried to submit and for testing.
See issue #1984 for complete history.
Closes #1535.
2015-05-02 23:55:58 +03:00
Vladimir Golovnev (Glassez)
2707f5205f Fix prefjson::setPreferences() doesn't actually save. 2015-02-08 19:44:56 +03:00
Vladimir Golovnev (Glassez)
458b216b74 MainWindow cleanups.
All MainWindow child widgets use constructors with 'parent' parameter
that allows parent widget to delete them at its destruction.
Some other MainWindow cleanup code replaced to destructor.
Application manages MainWindow instance and remove it when aboutToQuit()
signal emitted.
2015-02-08 19:36:52 +03:00
Vladimir Golovnev (Glassez)
0c50a8b98b Put all application logic into Application class.
Application process message and split it into params list itself (this
prevents code duplication).
Application store params unless other components ready to process them.
Application incapsulate all QMacApplication and SessionApplication logic
(this is too small to have separate classes).
2015-02-08 19:33:18 +03:00
Vladimir Golovnev (Glassez)
2dd473eb28 Use unmodified QtSingleApplication on Windows.
Get running application instance PID without QtSingleApplication
modification.
2015-02-08 19:27:45 +03:00
Vladimir Golovnev (Glassez)
ff9a281b72 Change project directory structure.
Change project directory structure according to application structure.
Change 'nox' configuration option to something more meaningful 'nogui'.
Rename 'Icons' folder to 'icons' (similar to other folders).
Partially add 'nowebui' option support.
Remove QConf project file.
2015-02-05 19:10:26 +03:00
Renamed from src/application.h (Browse further)