Commit graph

450 commits

Author SHA1 Message Date
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
sledgehammer999
7626ebe7a6
Delete non-commited fastresume files
Old v3.3.x format had a number at the end indicating the queue position.
The naming scheme was '<infohash>.fastresume.<queueposition>'.
However, QSaveFile, which uses QTemporaryFile internally, might leave
non-commited files behind eg after a crash. These files have the
naming scheme '<infohash>.fastresume.XXXXXX' where each X is a random
character. We try to detect the latter and remove it without "migrating"
the fastresume to the new saving system.
2018-05-13 15:50:10 +03:00
sledgehammer999
bde736c18a
Merge pull request #8900 from sledgehammer999/fix_delete_logs
Fix deletion of old logs
2018-05-13 15:00:39 +03:00
sledgehammer999
7484889836
Fix deletion of old logs 2018-05-13 12:11:19 +03:00
Chocobo1
263524e856
Improve "Run External Program" behavior
This follows utorrent behavior: they don't append backslash character at
the end of path variables.
Closes #8836.
2018-05-13 15:21:27 +08:00
thalieht
4cfa163bbd Use qt5 syntax for a few remaining SLOT() 2018-05-11 08:19:41 +03:00
thalieht
6b4455e13d Use qt5 connect() syntax 2018-05-09 16:08:22 +03:00
Nick Korotysh
0b8c620fd3
Add missing "override" 2018-05-08 08:33:07 +03:00
Nick Korotysh
7712d0ada0
Allow to disable Stacktrace support
Enable backtrace stuff only if GNU C library used, because current
backtrace implementation based  on  <execinfo.h> , which is not a
part of standard C library, it is a GNU extension.

This will be usefull when building  with  custom POSIX-compilant C
library (like musl) and no <execinfo.h> available.

Note: configure script will detect presence of  <execinfo.h>  and
enable/disable feature depending on it.

Feature is enabled by default.
2018-04-10 20:51:11 +03:00
Chocobo1
b0e3d77975
Add helper for loading Windows system functions 2018-04-09 21:18:04 +08:00
Mike Tzou
e4fc8e4156
Merge pull request #8669 from Chocobo1/runext
Split args manually in runExternalProgram()
2018-04-03 22:19:29 +08:00
Chocobo1
c07cd440cd
Split args manually in runExternalProgram()
Need to split arguments manually because QProcess::startDetached(QString)
will strip off empty parameters.
E.g. `python.exe "1" "" "3"` will become `python.exe "1" "3"`.
Closes #8454.
2018-04-01 18:42:42 +08:00
Chocobo1
37ea01bd44
Use lightweight printf instead of iostream
Using iostream usually adds a lot of other operators (<<, endl), whereas
*printf takes only 1 function call.

Also use qUtf8Printable whenever possible.
2018-03-31 03:21:53 +08:00
Vladimir Golovnev
a5294e1e08
Merge pull request #8558 from luis-pereira/containter-anti-pattern
Don't create temporary containers just to iterate over them
2018-03-19 13:06:01 +03:00
Luís Pereira
ac42ccb5e4
Don't create temporary containers just to iterate over them
Stops temporary containers being created needlessly due to API misuse.
For example, it’s common for developers to assume QHash::values() and
QHash::keys() are free and abuse them, failing to realize their
implementation internally actually iterates the whole container, allocates
memory, and fills a new QList.

Added a removeIf generic algorithm, similar to std ones. We can't use std
algorithms with Qt dictionaries because Qt iterators have different
behavior from the std ones.

Found using clazy.
2018-03-18 16:22:12 +03:00
Mike Tzou
68ca95faf0
Merge pull request #8603 from Chocobo1/typo
Fix typo
2018-03-17 00:49:41 +08:00
Chocobo1
423511765a
Fix typo 2018-03-14 23:37:08 +08:00
Chocobo1
88881de8c6
Add Tags parameter to "Run External Program"
Closes #8586.
Also sort headers.
2018-03-14 10:12:32 +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
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
Vladimir Golovnev
7cb6100c9c
Merge pull request #8471 from luis-pereira/use-qstring-ref
Don't create temporary substrings
2018-02-28 10:44:59 +03:00
Andrei Stepanov
817aadd52d
Fix typo in filelogger.cpp message 2018-02-27 02:00:43 +04:00
Luís Pereira
0e421ae415 Don't create temporary substrings
Avoid temporary string allocations. They are only used to convert to
something else.
QString::xxxRef() returns a QStringRef. QStringRef avoids the memory
allocation and reference counting overhead of a standard QString by simply
referencing a part of the original string.
2018-02-26 11:39:36 +00:00
Luís Pereira
2114817890 Use qEnvironmentVariableIsEmpty
Instead of qgetenv("QT_AUTO_SCREEN_SCALE_FACTOR").isEmpty().
It's faster (don't allocate memory) and don't throw exceptions.
2018-02-19 21:35:23 +00:00
sledgehammer999
e487b31877
Merge pull request #8319 from sledgehammer999/saner_log_settings
Set default file log size to 65 KiB and delete backup logs older than…
2018-01-27 15:26:03 +02: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
Luís Pereira
5154d431f6 Don't set application name twice
It's an artifact introduced by commit b3c73b7868.
2018-01-25 16:30:11 +00:00
Mike Tzou
11f26bfefd
Merge pull request #7878 from Chocobo1/runExt
Revert "Run external program" function
2017-12-28 21:26:53 +08:00
Chocobo1
22b0ebb5a8
Disable the "?" help button in all dialogs on Windows. Closes #7365. 2017-12-08 12:51:06 +08:00
Chocobo1
76c95d8c6c Revert "Run external program" function
This revert df95efe33e partially
2017-11-25 15:48:29 +08:00
Heiko Becker
af898e9117
Fix build with --disable-webui
"app/application.cpp:108:7: error: class 'Application' does not have
any field named 'm_webui'"
2017-11-23 01:52:38 +02:00
sledgehammer999
81f5fdda15
Correctly check if torrent passed during application start already exists. 2017-11-22 00:42:26 +02:00
Chocobo1
27090f0cfb
Remove superfluous QString::fromUtf8() 2017-11-21 22:48:00 +08:00
sledgehammer999
22add258ae
Merge pull request #7753 from luigino/master
qtsingleapplication should always be built statically to avoid depend…
2017-11-20 22:31:46 +02:00
luigino
32a686a037 qtsingleapplication should always be built statically to avoid dependency problems 2017-11-20 17:23:22 +01:00
sledgehammer999
236abcf3f1
Fix crash on opening torrent/magnet (uninitialized pointer). Closes #7739 #7723. 2017-11-20 17:46:31 +02:00
sledgehammer999
af5a02d971
Merge pull request #7673 from sledgehammer999/webui_clean_exit
WebUI: Correctly exit depending if mainloop is running.
2017-11-19 19:12:30 +02:00
Vladimir Golovnev (Glassez)
71bb6538db
Fix WebUI error handling 2017-11-19 19:10:04 +02:00
Mike Tzou
04cec39277
Merge pull request #7667 from Chocobo1/stackdump
Include & print caught signal in stackdump
2017-11-04 11:10:49 +08:00
Chocobo1
21bc08d643
Include/print caught signal in stackdump 2017-11-03 14:13:17 +08:00
Chocobo1
fc0628d35b
Allow SMTP sender to be set. Closes #7575. 2017-10-26 17:57:32 +08:00
sledgehammer999
50471ec8c8
String fixes and optimizations mentioned by translators on Transifex. 2017-10-24 03:32:56 +03:00
thalieht
0717f0d60c Save ratio limits as int instead of string 2017-10-08 10:22:40 +03:00
Chocobo1
e3da17caa8
Update qtsingleapplication
To upstream version a8dda66d7738cde9042b87db27993f710ae3eeeb
2017-09-23 00:27:00 +08:00
Vladimir Golovnev (qlassez)
cff6a64e9f
Use qUtf8Printable() for logging strings
qDebug(), qInfo(), qWarning(), qCritical(), qFatal() expect %s arguments
to be UTF-8 encoded, while qPrintable() converts to local 8-bit encoding.
Therefore qUtf8Printable() should be used for logging strings instead of
qPrintable().
2017-08-13 16:14:57 +03:00
sledgehammer999
08aa827366
Fix some more strings. 2017-08-06 01:47:05 +03:00
Allan Nordhøy
af9c0cca23 display, URLs, esc ' 2017-07-28 02:42:35 +02:00
vit9696
d25467d3e6 Various macOS UI improvements 2017-07-15 20:49:40 +03:00
Eugene Shalygin
c614c66535 Install required plugins into bundle
Install platform and svg plugins into bundle. Update dependencies in
Travis.
2017-07-14 17:42:02 +02:00
Eugene Shalygin
72cb868224 cmake: disable warnings for bundled QtSingleApplication 2017-06-01 10:14:09 +02:00
Eugene Shalygin
74cecb1b6c Replace C-style casts with C++ ones 2017-05-29 17:25:42 +02:00
Chocobo1
712e6a0e5c Refactor out helper function Utils::String::unquote
Remove redundant include
2017-05-25 18:44:35 +08:00
Eugene Shalygin
a18b3bea03 cmake: include searchengine resources 2017-05-16 18:06:56 +02:00
Chocobo1
42c17ea5ce Fix argument name differ in definition & declaration 2017-05-09 14:12:36 +08:00
Eugene Shalygin
5b59b18606 Fix crash when entering daemon mode. Closes #6759.
We stored reference to parameters object in main(), but that object gets
deleted when we reset Application object upon entering daemon mode.
Change reference to copy to fix that.
2017-05-08 18:01:38 +02:00
sledgehammer999
d61fc7e820 Merge pull request #3858 from Chocobo1/screen_center
Fix dialogs didn't position on the correct screen
2017-05-07 22:17:55 +03:00
sledgehammer999
9f98f9f7ac
Rename cmd options source files. 2017-05-07 16:20:18 +03:00
sledgehammer999
1a099fa742
Don't enforce an explicit value for TriState cmd options.
Most code from Brian Kendall <guygizmo@gmail.com> (@briankendall)
2017-05-07 14:47:37 +03:00
Eugene Shalygin
6540dfa528 Fix release CMake build
write() is declared with __attribute__ ((__warn_unused_result__)) and as
such we shall check its return value. Took opportunity and adjusted
error reporting a bit: if writing to stderr fails, try to write to
stdout.
2017-05-03 02:52:10 +02:00
Chocobo1
6f6fe626a1 Fix shutdownconfirm position 2017-05-01 15:32:08 +08:00
Chocobo1
de54fa2c30 Fix addnewtorrentdialog position
Fix messageBox position
2017-05-01 14:48:10 +08:00
sledgehammer999
4ea9a2f07e Merge pull request #5532 from briankendall/torrent_command_line_arguments
Command line arguments for specifying options when adding torrents
2017-04-30 22:25:21 +03:00
Brian Kendall
eba41978b0 Added command line arguments for specifying options when adding torrents
Arguments include adding torrents as paused/started, skiping hash check, setting category, downloading in sequential order, downloading first and last pieces first, and skipping the 'add new torrent' dialog. Added TriStateBoolOption class for specifying options that don't have a default value when unused (e.g. add-paused). Also improved command line usage text to include more information, have better organization, and not exceed 80 columns in width. Also also added firstLastPiecePriority field to BitTorrent::AddTorrentData, and modified TorrentHandle so that if first/last piece priority should be on, it will be toggled on after the torrent's metadata has loaded.
2017-04-30 14:22:30 -04:00
Chocobo1
6bcb07649e Setup DPI at startup 2017-05-01 02:21:44 +08:00
Chocobo1
893ce32f1d Remove curly braces 2017-05-01 00:45:27 +08:00
Chocobo1
a1cad86bbf Remove workaround
Upstream confirmed bug fixed in Qt 5.2
2017-05-01 00:45:09 +08:00
Chocobo1
b3c73b7868 Refactor 2017-05-01 00:37:47 +08:00
Eugene Shalygin
71cf25ae99 Replace variable length array with std::vector in print_stacktrace()
The function does memory allocation from heap anyway, so should not be
a problem to use STL container.
2017-04-27 14:32:02 +02:00
sledgehammer999
74fb070e78 Merge pull request #6693 from glassez/drop-qt4
Drop rest of qt4 support code
2017-04-26 15:12:55 +03:00
Vladimir Golovnev (Glassez)
335443e6a0 Drop QThread::msleep wrapper 2017-04-26 10:44:47 +03:00
sledgehammer999
f53dab8ad4
Output log messages for ip filter parsing errors. 2017-04-25 04:43:29 +03:00
Vladimir Golovnev (Glassez)
989a70fe60 Redesign RSS subsystem 2017-04-23 09:03:46 +03:00
Eugene Shalygin
f99ba03177 cmake: fix typo in the manifest file name 2017-04-19 17:06:44 +02:00
Eugene Shalygin
21a72c651f Start up torrents after UI was created. Fixes #6454.
Commit dd0537d changed torrents startup code adding alerts processing
into it. Therefore alerts were processed before UI code subscribed to
signals and therefore part of alerts was not reflected in the UI.

Thus here we do not start torrents in Session constructor, but do that
from Application::exec() after UI was constructed and is ready to process
signals.
2017-04-14 00:58:43 +02:00
Eugene Shalygin
a8d95dd8bd Save relative paths in fastresume files
Conditionally change absolute paths to relative in the fastresume data files.
The condition is specified by user via a command line parameter and
paths are relative to the profile dir.

On Windows the convertion to relative path is performed if the path and
the profile are on the same drive only.
2017-04-12 00:51:37 +02:00
Eugene Shalygin
0710a59bf5 Refactor parameters parsing
Introduce classes that encapsulate parameter names and parsing schemes
from command line and from environment variables.
2017-04-12 00:50:33 +02:00
Eugene Shalygin
0bf7fa15c1 Replace wrappers in base/utils/fs.h with Profile::SpecialFolders::location() 2017-04-12 00:50:33 +02:00
Eugene Shalygin
44b6cb28f6 Add environment variables usage description to the help text 2017-04-12 00:50:33 +02:00
Eugene Shalygin
d5414631c3 Initialise QBtCommandLineParameters members from environment
This allows to pass options via environment variables. The variable name
is constructed from parameter name by transforming the name to upper
case and prefixing "QBT_".
2017-04-12 00:50:33 +02: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
Eugene Shalygin
b2ff058bc0 cmake: fix OSX bundle creation 2017-03-20 19:47:21 +01:00
Eugene Shalygin
5c0bf86405 cmake: remove qt4 leftover 2017-03-20 19:07:52 +01:00
sledgehammer999
bc910798da
Indicate bitness in stackstrace and about dialog. Closes #6172. 2017-03-08 01:01:17 +02:00
sledgehammer999
147f4d76e2 Merge pull request #6445 from Chocobo1/fix
Follow http user-agent format
2017-03-07 23:38:14 +02:00
sledgehammer999
7a6da3d3ce
Merge pull request #6479 from Chocobo1/qt4
Remove remainings of Qt4
2017-03-07 23:28:56 +02:00
sledgehammer999
b69b6d1f55
Revert "Set default locale". Closes #6436 and #6459.
This reverts commit 75ef6356d3.
2017-03-07 15:35:42 +02:00
Chocobo1
ffdcfe9686 Replace Utils::String::toStdString() by QString::toStdString() 2017-03-06 23:58:38 +08:00
Chocobo1
cb1646be32 Prepend QBT_ for preprocessor variables 2017-03-06 13:41:58 +08:00
Eugene Shalygin
e64bb1de8c Drop Qt 4 support 2017-03-05 22:24:59 +01:00
Chocobo1
7da29f7654 Embed manifest when compiling with MSVC
Update manifest
2017-03-04 13:09:32 +08:00
Chocobo1
511796f74e Replace rand() by a true uniform distribution generator 2017-02-16 12:21:26 +08:00
Tim Delaney
cecff159a0 Move old RSS items to separate config file. Closes #6167.
--HG--
branch : magao-dev
2016-11-06 12:00:09 +11:00
sledgehammer999
1376d8fa7b Merge pull request #6084 from Chocobo1/set_locale
Set default locale
2017-01-20 20:14:20 +02:00
sledgehammer999
f1942bc0e0 Merge pull request #6104 from okeatime/mac_nox
Build qbittorrent-nox for macOS
2017-01-19 15:49:47 +02:00
Chocobo1
75ef6356d3 Set default locale 2017-01-19 13:33:34 +08:00
Chocobo1
e37a696e7d Refactor
Move default value to preference class
Rename variable
Reorder headers
Remove extra parentheses
2017-01-19 13:33:34 +08:00
sledgehammer999
ba03fb30f3 Merge pull request #5987 from Chocobo1/temp_dir
Put temp files in .qBittorrent directory
2017-01-19 01:33:57 +02:00
Oke Atime
5f767b96f6 Build qbittorrent-nox for macOS 2016-12-22 23:23:21 +09:00
Eugene Shalygin
05dbea390b Print warning to the user if stacktrace contains no function names
Count matched function names, and if there are no, point out to the user
that the stacktrace is useless. If not all stactrace elements contain
function names, suggest user that installing debug packages may improve
the stacktrace usefulness.
2016-12-17 17:46:05 +01:00
Eugene Shalygin
514de7edc4 Follow project coding style. Issue #2192. 2016-12-17 17:29:43 +01:00
sledgehammer999
b2827702e5 Correctly migrate settings/rss/usage stats in macOS. Closes #6041. 2016-12-14 17:51:49 +02:00