Commit graph

21 commits

Author SHA1 Message Date
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
Eugene Shalygin
e64bb1de8c Drop Qt 4 support 2017-03-05 22:24:59 +01:00
sledgehammer999
a092cb9bda
Remove settings to exchange trackers. It wasn't used by non-libtorrent clients. Also it has a privacy risk and you might be DDoSing someone. DHT makes it obsolete anyway. 2017-01-19 01:13:55 +02:00
sledgehammer999
d88ec48468 Polish previous commit. 2016-12-11 23:24:55 +02:00
sledgehammer999
5a006d5980 Merge pull request #5810 from ghost/macOSpref
Change QSettings to IniFormat on macOS. Closes #5770 #5808
2016-12-11 23:23:22 +02:00
sledgehammer999
f391b24b1d Migrate last setting related to interfaces to the new system. 2016-11-01 03:42:12 +02:00
sledgehammer999
7bf06cd6e6 Fix save/load of interface address setting. 2016-11-01 03:42:07 +02:00
sledgehammer999
f885c6375a Use better variable names for tracker announce IP setting. 2016-11-01 03:42:01 +02:00
sledgehammer999
6053390bf5 Unify and simplify setting to use proxy for torrents only. 2016-11-01 03:41:51 +02:00
sledgehammer999
1757973f88 Misc fixes. 2016-11-01 03:41:40 +02:00
sledgehammer999
a5ae86512a Rename IP filtering functions and settings names. 2016-11-01 03:06:58 +02:00
Yez Ezey
26052802ca Change QSettings to IniFormat on macOS. Closes #5770 #5808
On macOS 10.12 Sierra, Apple changed the behaviour of CFPreferencesSetValue()
truncating data after a null character. https://bugreports.qt.io/browse/QTBUG-56344
Due to this, we have to move from native plist to IniFormat.
2016-10-08 14:05:30 +09:00
Vladimir Golovnev (Glassez)
b5fe749f0b Use new libtorrent-1.1 settings API 2016-06-20 08:30:02 +03:00
Vladimir Golovnev (Glassez)
b2cb473b63 Don't use Preferences in BitTorrent::Session 2016-06-20 08:30:02 +03:00
sledgehammer999
9f31b0ef4d Merge pull request #4959 from evsh/small-fix-for-settings-storage
refactor SettingsStorage class
2016-05-03 10:37:49 -05:00
sledgehammer999
ef6e848756 Display notifications when a torrent is added. Closes #334 and #915. 2016-04-25 20:07:26 +03:00
Eugene Shalygin
cc09e7e834 refactor SettingsStorage class
1. Extract "transaction" support for QSettings into separate class
TransactionalSettings.
2. Define macrto with explicit name for the case when this "transaction"
support is needed.
3. A bit optimize QHash <-> QSettings copying: replace assign with
insert() and remove repetitive key lookups.
4. In save() check dirty status before getting the lock too.

The changes from items 1 and 2 make text more structured and the logic
of the SettingsStorage class gets separated from the implementation level
task of guarding the settings serialization. The changes in 3 and 4 do not
make the app much faster, but neither make any harm to the code readability.
2016-04-05 18:43:00 +02:00
sledgehammer999
d721939d5f Use SettingsStorage instead. 2016-03-26 01:50:13 +02:00
Chocobo1
e7ff5eb6b1 Minor refactor 2016-03-09 14:08:44 +08:00
Vladimir Golovnev (Glassez)
dd34663224 Implement Advanced Saving Management subsystem
Closes #4696
2016-03-04 19:59:53 +03:00
Vladimir Golovnev (Glassez)
d05d5a85a5 Move Preferences backend code into SettingsStorage class
Closes #4764
2016-03-04 08:39:00 +03:00