Commit graph

194 commits

Author SHA1 Message Date
Vladimir Golovnev
4fee16fafb
Merge pull request #8217 from Piccirello/webui-statusbar-freespace
Free disk space in WebUI status bar
2018-10-28 10:02:49 +03: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
Thomas Piccirello
f2957c721d Use QElapsedTimer 2018-10-22 23:17:46 -04:00
Thomas Piccirello
2aea235e34 Add free disk space to WebUI status bar
Closes #6829.
2018-10-22 22:06:14 -04:00
Thomas Piccirello
6d619e9491 Add categories WebAPI
Closes #5330.
2018-10-07 14:52:34 -04:00
Thomas Piccirello
0b6ae68801 Add WebUI search API controller
Closes #2495.
2018-09-30 20:07:27 -04:00
Thomas Piccirello
63c53766b4 Add save path and editing to WebUI new category dialog 2018-08-31 11:27:05 -04:00
Thomas Piccirello
a0e6007fc1 Include category save path in web api sync data 2018-08-18 22:04:21 -04:00
Thomas Piccirello
d89ef22d85 Require torrent category creation to be explicit 2018-08-18 22:04:21 -04:00
Mike Tzou
8dae7f4a87
Merge pull request #9229 from Piccirello/forceReannounce
Add WebUI Force Reannounce option
2018-07-31 00:19:34 +08:00
Thomas Piccirello
cdad0dc7d3 Add WebUI Force Reannounce option 2018-07-22 20:33:17 -04:00
Chocobo1
0217d5b4c0
Replace single-character string with character literal
Also remove unnecessary dynamic allocation.
2018-07-21 23:26:15 +08:00
Goshik
1daadfc4ec Create non-existing path in setLocationAction()
When using qbittorrent-nox it is not always possible to manually create
the target path for torrent moving. This commit allows automatic path
creation. It also allows to display error messages in the
'Set location' window.
2018-06-19 14:10:11 +03:00
thalieht
4022799881 Fix coding style 2018-06-12 07:17:05 +03:00
Chocobo1
5c72a52ea2
Reset WebUI ban counter on login success 2018-05-31 22:55:54 +08:00
Chocobo1
d782d62b34
Add logging messages in WebUI login action 2018-05-31 22:55:54 +08:00
Chocobo1
9eeef0be97
Add option to control CSRF protection
Some users are using WebUI with simple port-forwarding from their router,
providing an option to control the protection will save them from setting up an
non-trival web proxy.
Closes #7274.
2018-05-22 12:57:03 +08:00
Chocobo1
bad4d94f77
Add option to control WebUI clickjacking protection
Some users actually want embedding WebUI into their custom build iframe.
Closes #7370.
2018-05-22 01:07:25 +08:00
Vladimir Golovnev (Glassez)
98ca274169
Rename RSS properties to follow other names 2018-05-15 16:05:51 +03:00
Vladimir Golovnev (Glassez)
2a0b104e5e
Properly set RSS settings via API
Closes #8925.
2018-05-15 15:59:28 +03:00
Vladimir Golovnev
8906c47798
Merge pull request #8782 from mj-p/filterByHashes
Filter torrent info endpoint by hashes
2018-05-13 13:20:00 +03:00
sledgehammer999
375b15727d
Show rechecking progress
When having big torrents, the rechecking might take a while to
complete. Users need some sort of feedback that progress is being made.
Also, I changed the float to qreal since that's the return type.
2018-05-13 12:32:17 +03:00
sledgehammer999
565ffa7d1e
Add 'Moving' state for torrents being relocated/moved
This is another indication to the user that something is happening
behind the scenes.
Uses the same icon/color as "Checking" status.
Torrents in the `Moving` state are considered as "Active". This should
prevent accidental program exit from the user and inhibit system sleep.
2018-05-12 20:49:33 +03:00
thalieht
20ca90800d Fix coding style 2018-05-09 17:06:22 +03:00
Chocobo1
c0df292567
Remove debug messages 2018-05-08 12:18:18 +08:00
Marcel Petersen
fc58e8a0c6 Filter torrent info endpoint by hashes
Added hashes parameter to info action.
Allows filtering seralized torrents by passing it into the TorrentFilter.
2018-05-02 10:07:48 +02:00
Chocobo1
8b575484e6
Fix path separator in log messages 2018-04-24 01:02:54 +08:00
Thomas Piccirello
9f36b54b04
WebUI Add Limit Share Ratio context menu option
Closes #6815, #7602.
2018-04-11 23:45:54 +08:00
Thomas Piccirello
3f0fbc0810
WebUI rename property to match its definition 2018-04-11 23:45:54 +08:00
Vladimir Golovnev (Glassez)
cb505a07fe
Fix setting preferences via WebAPI
Closes #7335.
2018-04-09 18:54:43 +03: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
Chocobo1
141a2d2856
Prevent detach from containers 2018-03-11 22:25:07 +08:00
Chocobo1
fdf3ebbb6c
Remove usage of deprecated functions
Also use proper type for storing date/time data
2018-03-09 19:20:58 +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
Thomas Piccirello
a8420a43f9 Format Read cache hits as percentage 2018-02-23 14:46:47 -05: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
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
3035184d25
Merge pull request #8445 from glassez/fix-webapi
Fix POST params handling. Closes #8443
2018-02-20 11:11:33 +03: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
Vladimir Golovnev (Glassez)
29042e4841
Fix wrong WebAPI param name 2018-02-18 19:54:08 +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)
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