Commit graph

250 commits

Author SHA1 Message Date
thalieht
3e4099fe5b Replace the zeroing of pointers with nullptr 2018-04-15 13:06:31 +03:00
Chocobo1
5819b6dd39
Use Unicode version of InitiateSystemShutdown 2018-04-09 21:18:07 +08:00
Chocobo1
644e7d0450
Use dynamic linking for SetSuspendState function 2018-04-09 21:18:07 +08:00
Chocobo1
b0e3d77975
Add helper for loading Windows system functions 2018-04-09 21:18:04 +08:00
Chocobo1
643a209812
Sort include headers
Also add anonymous namespace.
2018-04-09 21:16:00 +08:00
Chocobo1
bfbd978d3f
Move helper function to Utils::Fs 2018-03-25 13:26:03 +08:00
Vladimir Golovnev
cea2948593
Merge pull request #8556 from Piccirello/compiler-warnings
Fix missing initializer warning during build
2018-03-12 14:28:38 +03:00
Thomas Piccirello
7b3e692f68 Fix missing initializer warning
This issue occurs when using gcc versions < 5.
2018-03-12 01:21:21 -04:00
Chocobo1
b4f23d8154
Use faster code path
From Qt doc: Using this function is faster than using QFileInfo(file).exists() for
file system access.
2018-03-09 01:34:35 +08:00
Mike Tzou
5261d4375f
Merge pull request #8551 from Chocobo1/override
Fix warnings from linters
2018-03-09 00:36:52 +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
Vladimir Golovnev (Glassez)
34295a78f2
Move ByteArray utils into Utils::ByteArray namespace 2018-03-02 17:23:21 +03:00
Luís Pereira
1a913c502b Prevent possible c++11 range-loop container detach
Explicit or implicit calls to begin() and end() cause a non-const
container to detach from shared data, ie. to perform a deep-copy to gain
a unique copy of the data.
That can be a expensive although unneeded operation.

In order to assist the developer a copyAsConst function is added.
copyAsConst returns a const copy of the object.

For lvalues just use qAsConst. It's only available on Qt 5.7.0. But we
added also for earlier versions. The developer can always use qAsConst.

Intended uses:

    QString s = ...;
    for (const auto &ch : qAsConst(s))
          process(ch);

    for (const auto &ch : copyAsConst(funcReturningQString()))
        process(ch);
2018-02-20 19:28:51 +00:00
Vladimir Golovnev (Glassez)
27d8dbf13b
Redesign Web API
Normalize Web API method names.
Allow to use alternative Web UI.
Switch Web API version to standard form (i.e. "2.0").
Improve Web UI translation code.
Retranslate changed files.
Add Web API for RSS subsystem.
2018-01-28 19:16:24 +03:00
Chocobo1
aaaa67050c
Fix gui issues on high DPI monitor
Fix LineEdit widget size issues
Up-scale the icons on statusbar
Up-scale the icons in options dialog. Closes #7729.
Fix small icons in cookie manager
Fix progress bar height
Fix small icons in confirm delete dialog
Fix small icons in options dialog
Fix small images in about dialog
2017-12-24 21:47:46 +08:00
sledgehammer999
5437974b85
Fix natural sorting when the common part of 2 strings ends partially in a number which continues in the uncommon part.
Closes #8080 #6732.
2017-12-21 17:00:37 +02:00
Mike Tzou
eac8838dc2
[GUI] Implement stable sort (#7703)
* NaturalCompare now returns compare result instead of "less than" result
* Change to stable sort in GUI components
* Add Utils::String::naturalLessThan() helper function
* Use Qt::CaseSensitivity type
2017-11-30 17:10:30 +08:00
Thomas Piccirello
95bf63330e Add ip subnet whitelist for bypassing webui auth 2017-11-08 22:39:49 -05:00
Eugene Shalygin
ef1597e45b Fix ignoring of incorrect version strings in search plugins. Closes #7101.
Printing of Version with all components set to zero was segfaulting due
to underflow in array index. Also add log message for such plugins.
2017-08-20 22:44:20 +02:00
Vladimir Golovnev (qlassez)
59c14801cc
Improve utils/fs.* and fix coding style 2017-08-15 16:17:57 +03:00
sledgehammer999
7a478424cc
Revert "Drop python2 support.". Closes #7005.
This reverts commit 7d030b4cd9.
2017-07-06 01:07:09 +03:00
sledgehammer999
70ae05c3de
Pad shorter python versions. Closes #6877. 2017-06-25 17:20:51 +03:00
sledgehammer999
7d030b4cd9
Drop python2 support. 2017-06-25 17:20:50 +03:00
Eugene Shalygin
74cecb1b6c Replace C-style casts with C++ ones 2017-05-29 17:25:42 +02:00
Mike Tzou
b6080c19c2 Merge pull request #6834 from Chocobo1/cookie
[WebUI] Make cookie parsing robust
2017-05-26 23:56:35 +08:00
Chocobo1
712e6a0e5c Refactor out helper function Utils::String::unquote
Remove redundant include
2017-05-25 18:44:35 +08:00
Mike Tzou
1f9ccb44a3 Merge pull request #5196 from Chocobo1/creator_pr
Revamp Torrent creator
2017-05-24 17:40:10 +08:00
Mike Tzou
92decf83b8 Merge pull request #6330 from Chocobo1/rename
Fix renaming files is not case sensitive on Windows platform
2017-05-24 13:12:30 +08:00
Chocobo1
386b93bb0f Fix the file size sum igonred files starting with a dot: ".name"
Make the computation iterative instead of recurisve to avoid stack overflow.

Enlarge read size to enable better performance.
Remove `QFile::close()` calls, QFile automatically close them in dtor.
2017-05-24 11:54:42 +08:00
Chocobo1
562080de69 Initialize variable
Fixes coverity CID 161628
2017-05-20 11:38:39 +08:00
KingLucius
aea887a30f cross-platform free space on disk 2017-05-15 23:05:23 +02:00
Chocobo1
b9403774e6 Use QBT_EXT in all places
Cleanup headers on the way
2017-05-13 16:20:32 +08: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
Chocobo1
7d1ac06ce2 Fix stack overflow in Utils::Gzip::decompress
Anyway, use std::vector to allocate memory on the heap (in compress() too)
2017-05-02 12:47:07 +08:00
Chocobo1
7eaa5987c8 Fix dialogs didn't position on the correct screen which qBittorrent window is on. Closes #1690, #2474, #3538. 2017-05-01 14:33:25 +08:00
sledgehammer999
0a5bb6685f Merge pull request #6654 from Chocobo1/persistence
Webui server fixes
2017-04-30 16:34:23 +03:00
Vladimir Golovnev
70f1153413 Merge pull request #6694 from glassez/remove-temp
Remove torrent temp folder when it becomes unneeded
2017-04-29 11:44:15 +03:00
Vladimir Golovnev (Glassez)
160b7ff2d3 Remove torrent temp folder when torrent is deleted 2017-04-28 16:52:16 +03:00
Vladimir Golovnev (Glassez)
335443e6a0 Drop QThread::msleep wrapper 2017-04-26 10:44:47 +03:00
Vladimir Golovnev (Glassez)
989a70fe60 Redesign RSS subsystem 2017-04-23 09:03:46 +03:00
Eugene Shalygin
14e168039c Use explicit class for search plugin versions 2017-04-21 09:47:08 +02:00
Chocobo1
617f19e599 Revise Utils::Gzip::decompress
Rename from uncompress to decompress
Change signature
Use proper casting
Use larger buffer for the output of inflate()
Reserve 1 MBytes for output buffer
Change function signature
2017-04-20 22:26:35 +08:00
Chocobo1
302c8ba850 Revise Utils::Gzip::compress code
Change signature
Add ZLIB_CONST define to make  z_stream.next_in const
Cast to zlib defined type Bytef*
Set memLevel to 9 in deflateInit2() for maximum performance
Revise compression loop
On returning false, free memory correctly by calling deflateEnd()
Reserve space by the estimation of deflateBound()
2017-04-20 22:24:50 +08: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
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
sledgehammer999
aa51907387
Merge pull request #6369 from magao/issue6367
Use Perl-compatible regexes for RSS rules. Closes #6367.
2017-03-08 00:04:17 +02:00
sledgehammer999
7a6da3d3ce
Merge pull request #6479 from Chocobo1/qt4
Remove remainings of Qt4
2017-03-07 23:28:56 +02:00
Chocobo1
fa2128cbae Replace Utils::String::fromStdString() by QString::fromStdString() 2017-03-07 19:42:44 +08:00
Chocobo1
87384ca2a2 Replace Utils::String::toHtmlEscaped() by QString::.toHtmlEscaped() 2017-03-07 00:03:53 +08:00
Chocobo1
ffdcfe9686 Replace Utils::String::toStdString() by QString::toStdString() 2017-03-06 23:58:38 +08:00
Chocobo1
7539bee5c5 Remove remaining QBT_USES_QT5 defines.
Fixup of e64bb1de8c.
2017-03-06 23:47:07 +08:00
dzmat
59de1af31b implemented UI for managment of locally banned IP list (Closes #1837 ) 2017-03-06 19:40:34 +07:00
Eugene Shalygin
008d7dbedc Raise minimal Qt version to 5.5.1 2017-03-05 22:24:59 +01:00
Eugene Shalygin
e64bb1de8c Drop Qt 4 support 2017-03-05 22:24:59 +01:00
sledgehammer999
22989a436e Merge pull request #6461 from Chocobo1/rand_fix
Workaround thread_local on osx
2017-03-05 14:43:29 +02:00
Chocobo1
cae2f3059c Workaround thread_local not supported on OSX
Drop back to xcode7.3 on TravisCI
2017-03-04 20:37:48 +08:00
Chocobo1
3b5e7eb0ea Fix compile error: ‘escape’ is not a member of ‘Qt’ 2017-03-04 16:22:00 +08:00
Chocobo1
6ca3e4f094
Add Utils::String::toHtmlEscaped 2017-03-03 21:28:30 +02:00
Chocobo1
511796f74e Replace rand() by a true uniform distribution generator 2017-02-16 12:21:26 +08:00
Tim Delaney
f9abd254f4 Use Perl-compatible regexes for RSS rules. Closes #6367.
--HG--
branch : magao-dev
2017-02-11 16:33:18 +11:00
Chocobo1
4ad541d066 Fix coverity issues
torrentcontentmodel: Use a variable to store filesCount
optionsdlg: add fallthrough comment to suppress warning
speedPlotview: initialize member
misc: fix wrong type used, add spaces
2017-02-08 13:49:47 +08:00
Chocobo1
cab10aa7b4 Use QString::toStdString()
Qt5 utilized the desired toUtf8() instead of toAscii().
2017-02-08 13:21:36 +08:00
sledgehammer999
5b35981c85 Merge pull request #5774 from thalieht/unit_precision
Increase number of digits after the decimal point. Closes #5053
2017-01-21 14:05:26 +02:00
thalieht
f8213f5d56 friendlyUnit: Properly replace spaces with non-breaking spaces 2017-01-21 12:03:05 +02:00
thalieht
311b060c70 Increased number of digits after the decimal point for Gibibytes and above 2017-01-21 12:02:15 +02:00
Chocobo1
0517a3eb63 Fix rss icon too large in rss settings dialog
Give a name to the rss icon (in .ui file)
Add helper function: Utils::Misc::largeIconSize()
Group functions under the same #ifdef
2017-01-20 13:45:50 +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
Chocobo1
bc41e2034c Fix warning: unused parameter ‘action’ [-Wunused-parameter] 2016-12-27 20:19:20 +08:00
Chocobo1
5cf86d3677 Change Utils::Fs::freeDiskSpaceOnPath() signature
refactor the function internals
2016-12-08 15:36:34 +08:00
Chocobo1
0b313e0bc3 Remove unused variable 2016-12-05 20:20:01 +08:00
Chocobo1
7f2f78a816 Simplify #if expression 2016-12-05 20:05:08 +08:00
Chocobo1
e1c9e3b9ed Fix memory leak
call unicode version of the function directly
2016-12-05 20:04:21 +08:00
Chocobo1
5608827429 Simplify function call 2016-12-05 20:04:13 +08:00
Chocobo1
5d2d22a218 Fix warning C4090.
different '__unaligned' qualifiers.
2016-12-02 15:32:27 +08:00
Chocobo1
cffa729ac5 Put temp files in .qBittorrent directory. Closes #4462. 2016-12-01 01:39:27 +08:00
sledgehammer999
025ee32281 Merge pull request #5576 from Chocobo1/msiexec
Call system msiexec.exe directly
2016-08-23 11:29:53 -05:00
Chocobo1
9cb01dedba Avoid spawning a new explorer.exe process when selecting "Open containing
folder". Closes #5564.
2016-08-04 00:50:11 +08:00
Chocobo1
f448587271 Add function windowsSystemPath() 2016-07-23 13:39:13 +08:00
Chocobo1
bb956b8453 Refactor 2016-07-23 11:25:33 +08:00
Chocobo1
8742d7aa45 Uncrustify misc.cpp 2016-07-23 11:23:16 +08:00
sledgehammer999
d060b0d342 Don't use QCollator for sorting on Windows. Closes #5238 and #5240. 2016-06-08 22:53:59 +03:00
sledgehammer999
9c5a5fc83d Merge pull request #3908 from Chocobo1/rm_nsort
Replace `naturalSort()` with `naturalCompare()`.
2016-05-08 11:12:51 -05:00
Chocobo1
5906a4a2de Add case-sensitive & case-insensitive natural sort helper function
Fix helper function not being thread-safe
Use QBT_USES_QT5 define
2016-05-08 23:59:06 +08:00
Chocobo1
d25430f377 Cleanup headers
Move `class NaturalCompare` to .cpp file
2016-05-04 16:35:26 +08:00
Chocobo1
626a224382 Minor code formatting 2016-04-18 14:27:44 +08:00
Chocobo1
d65ff87148 Replace naturalSort() with naturalCompare(). 2016-04-18 14:27:44 +08: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
Eugene Shalygin
1336cb7a61 Implement search filters in the proxy model. Partially closes #972 2016-04-04 02:09:32 +02:00
Chocobo1
851d97d95e Fix "caja" file manager opens the file instead of opens the directory. Closes #5003.
Now it opens the directory correctly.
2016-03-27 16:41:34 +08:00
Chocobo1
09194f8e1b TravisCI: switch to Trusty image. Closes #4953.
Drop workaround for gcc-4.8
2016-03-21 00:24:30 +08:00
sledgehammer999
56605cd0c3 Merge pull request #4865 from Chocobo1/os_name
Shorten crash report on windows
2016-03-04 17:27:48 -06:00
Vladimir Golovnev (Glassez)
dd34663224 Implement Advanced Saving Management subsystem
Closes #4696
2016-03-04 19:59:53 +03:00
Chocobo1
d0e31adaf7 Create helper function to get libtorrent version 2016-02-28 17:47:43 +08:00
Chocobo1
12627bbc10 Create helper function to get boost version 2016-02-28 17:47:42 +08:00
Chocobo1
498f5e3877 Create helper function to get OS name 2016-02-28 13:23:06 +08:00
Vladimir Golovnev (Glassez)
c57aaf0216 Create MagnetUri object from BC link or HASH string 2016-01-31 21:32:41 +03:00
Boris Nagaev
4706733846 convert includes like <Windows.h> to lowercase
There is header file windows.h, not Windows.h.
MinGW on Linux build machine is filename case-sensitive.
2016-01-05 23:29:26 +03:00
Vladimir Golovnev (Glassez)
54979e6b53 Move basic search-related code into Core.
Also use qBittorrent torrent file download routines instead of
nova2dl.py script.
2015-12-20 19:20:59 +03:00
Vladimir Golovnev (Glassez)
9db93e5d8f Rename Core to Base (Closes #3733). 2015-12-06 14:27:00 +03:00