Commit graph

8407 commits

Author SHA1 Message Date
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
Vladimir Golovnev (Glassez)
ef06485c45
Add Coding Style rules for commit messages 2018-02-27 20:27:58 +03:00
sledgehammer999
1c2d9c1fe4
Merge pull request #8510 from adem4ik/patch-2
Fix typo in filelogger.cpp message
2018-02-27 17:38:52 +02:00
Mike Tzou
6f7f7d87c6
Merge pull request #8218 from Piccirello/webui-selection-bug
Reselect webui torrents after full_update. Temporary fix for #8209.
2018-02-27 13:33:39 +08:00
Andrei Stepanov
817aadd52d
Fix typo in filelogger.cpp message 2018-02-27 02:00:43 +04:00
Luís Pereira
058bad0af3 Make it build when using Clang under CMake
The pair Clang/qmake builds.
CMake compiler settings are more strict and it causes clang build to fail.
2018-02-26 19:53:39 +00: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
Thomas Piccirello
2227c3afc1 Reselect torrents in WebUI after full update
Temp fix for #8209.
2018-02-25 01:09:06 -05:00
Mike Tzou
050af8a793
Merge pull request #7894 from Piccirello/auto-management
Disable options when Force Proxy is enabled
2018-02-25 01:44:58 +08:00
Vladimir Golovnev
6207855f3b
Merge pull request #8372 from thalieht/inactiverate
Expose the libtorrent fields for "dont_count_slow_torrents" to GUI.
Closes #5713.
2018-02-24 14:13:39 +03:00
Vladimir Golovnev
a65a70ab48
Merge pull request #8479 from thalieht/ratioLimitsCrash
Fix possible crash when using both share limits
2018-02-24 14:11:09 +03:00
Thomas Piccirello
4110bb874f Right align stat values 2018-02-23 14:54:31 -05:00
Thomas Piccirello
5c74f374af Re-order and rename stats 2018-02-23 14:54:24 -05:00
Thomas Piccirello
a8420a43f9 Format Read cache hits as percentage 2018-02-23 14:46:47 -05:00
Vladimir Golovnev (Glassez)
279bce2014
Make SearchManager singleton 2018-02-23 20:26:32 +03:00
Vladimir Golovnev (Glassez)
f3d370870d
Improve Search handling
Legacy SearchEngine class really has three roles:
  1. Manage search plugins,
  2. Handle the search job, and
  3. Handle the download of the torrent file using the search plugin.
Now it is splitted into 3 classes: SearchManager, SearchHandler and
SearchDownloadHandler.
Search GUI is also improved.
2018-02-23 20:15:25 +03:00
thalieht
0e30659c26 Fix possible crash when using both share limits
Avoid possible crash in "torrent->name()" when processing seeding time of the torrent that already reached the ratio limit.
2018-02-23 17:13:56 +02:00
Chocobo1
f34dfca5e6
Enable Http/1.1 persistence connection
This enables reusing existing TCP connection instead of opening a new connection
for every request
2018-02-23 14:46:22 +08:00
Chocobo1
cec68c3fd7
Rewrite RequestParser
* Add more checks and also more strict checks for invalid conditions
* Add http version field
* Raise max request size to 64 MB
* Add author in license
* Use Qt5 new connect syntax
2018-02-23 14:46:17 +08:00
Vladimir Golovnev
5c2f698cb4
Merge pull request #8325 from luis-pereira/prevent-c++11-range-loop-detach
Prevent possible c++11 range-loop container detach
2018-02-22 16:28:04 +03:00
Chocobo1
f5fc2d52b8
Fix loading very large torrents. Closes #8449.
`torrent_info` constructor has default limits that can't be changed via
parameters, so we handle the loading process manually and explicitly
specifiy the limits to `bdecode()`.
The token_limit is also changed to 10000000.
2018-02-22 18:52:10 +08:00
Mike Tzou
edef85fa3e
Merge pull request #8456 from vit9696/patch-1
Fix compilation with Qt 5.11 on macOS
2018-02-21 23:00:55 +08:00
Mike Tzou
6244ad5fa8
Merge pull request #8458 from luis-pereira/qgetenv
Use qEnvironmentVariableIsEmpty
2018-02-21 23:00:30 +08:00
Chocobo1
aba23f67a0
Revert back to QLineEdit for "Run external program". Closes #7800
1. Using FileSystemPathEdit is not entirely correct, as it only always
shows false warnings when parameters are present.
2. FileSystemPathEdit::selectedPath() modifies the path to unix format,
in this specific case, we need to faithfully execute what user inputted.
3. Given the above it is reasonable to revert back to QLineEdit, as it
is just sufficient in functionality and doesn't modifiy the inputs.
2018-02-21 10:16:32 +08: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
078982ada6
Merge pull request #8424 from glassez/fix-rss
Disable Auto TMM when RSS rule has save path. Closes #8411
2018-02-20 11:13:15 +03:00
Vladimir Golovnev
3035184d25
Merge pull request #8445 from glassez/fix-webapi
Fix POST params handling. Closes #8443
2018-02-20 11:11:33 +03:00
Thomas Piccirello
fccdc7ebdc Remove extra space 2018-02-20 02:22:40 -05:00
Thomas Piccirello
e0c74c2d39 Remove conditionals 2018-02-20 02:22:40 -05:00
Thomas Piccirello
288f372914 Rename onClick property to onclick 2018-02-20 02:16:16 -05:00
Thomas Piccirello
ba331436fa Add More Information link 2018-02-20 02:16:16 -05:00
Thomas Piccirello
afd4069eb4 Disable options when force proxy is enabled 2018-02-20 02:16:15 -05:00
Vladimir Golovnev
387f9b1230
Merge pull request #8438 from Piccirello/webui-proxy-only
Add "Use proxy only for torrents" option to webui
2018-02-20 09:06:30 +03: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
vit9696
dac2ab5409
Fix compilation with Qt 5.11 on macOS 2018-02-19 22:39:25 +03:00
Mike Tzou
b87ca60c5a
Merge pull request #8134 from Piccirello/webui-show-status-bar
Add option to show/hide webui status bar
2018-02-20 00:09:09 +08:00
Mike Tzou
6d44075662
Merge pull request #8228 from Piccirello/webui-save-window-size
WebUI Save user's resized windows
2018-02-20 00:02:32 +08:00
Thomas Piccirello
69af205094 Use .each(). Refactor conditionals. 2018-02-18 23:54:48 -05:00
Thomas Piccirello
8a2e3f5d93 Add option to show/hide webui status bar 2018-02-18 23:46:27 -05:00
Thomas Piccirello
3f79726ab9 Make download + upload windows resizable 2018-02-18 22:50:21 -05:00
Thomas Piccirello
d1c4b1599a WebUI Save user's resized window sizes 2018-02-18 22:50:21 -05:00
Vladimir Golovnev (Glassez)
a0842a1e68
Don't convert POST parameter names to lower-case 2018-02-18 19:57:48 +03:00
Vladimir Golovnev (Glassez)
29042e4841
Fix wrong WebAPI param name 2018-02-18 19:54:08 +03:00
Vladimir Golovnev
3e2cfb5136
Merge pull request #8409 from luis-pereira/master
Don't implicitly cast iterator to const_iterator
2018-02-18 18:21:50 +03:00
Thomas Piccirello
0d55599e02 Add "Use proxy only for torrents" option to webui 2018-02-17 21:25:42 -05:00
Luís Pereira
ea1b0b26b1 Don't implicitly cast iterator to const_iterator
It prevents detachments:
To illustrate:

QMap<QString, QString> map;
/* code compiles and works fine but find() returns the non-const
   QMap::iterator that detaches!
*/
QMap<QString, QString>::const_iterator it = map.find("girish");

but also some subtle bugs:

QHash<int, int> wrong;
if (wrong.find(1) == wrong.cend()) {
    qDebug() << "Not found";
} else {
    /* find() detached the container before cend() was called, so it
       prints "Found"
    */
    qDebug() << "Found";
}

QHash<int, int> right;
if (right.constFind(1) == right.cend()) {
    qDebug() << "Not found"; // This is correct now !
} else {
    qDebug() << "Found";
}

Enforced by QT_STRICT_ITERATORS definition.
2018-02-17 17:02:52 +00:00
Vladimir Golovnev (Glassez)
176b2eb18b
Disable Auto TMM when RSS rule has save path
Closes #8411.
2018-02-16 14:02:01 +03:00
Vladimir Golovnev
98a1c111b9
Merge pull request #5287 from elFarto/master
Implement RSS Smart Filter
2018-02-16 13:43:38 +03:00
Mike Tzou
47048d8410
Merge pull request #8349 from Chocobo1/stats
Improve stats dialog
2018-02-16 15:31:01 +08:00
Mike Tzou
882fa7ecd4
Merge pull request #8336 from Chocobo1/coalesce
Add "Coalesce reads & writes" checkbox in advanced options
2018-02-16 15:30:17 +08:00