thalieht
5f415c292d
Show any multiple connections from the same IP in peer list
...
The uniqueness of peers is now determined by their
IP, port and connection type (uTP etc.) instead of just their IP
2020-01-29 20:40:10 +02:00
sledgehammer999
f672df1cf1
Merge pull request #11278 from Piccirello/country_region
...
Rename Country column to "Country / Region"
2019-12-23 21:54:30 +02:00
Prince Gupta
6258c1e65b
Align Properties tab bar correctly on window resize
2019-12-16 15:42:50 +05:30
Thomas Piccirello
33a3624652
Rename Country column to "Country / Region"
...
Not all flags displayed strictly belong to countries.
2019-12-03 23:05:38 -08:00
warren
b37795d344
Expand single-item folders in torrent content
2019-12-02 21:56:44 +05:00
Chocobo1
4a71b78e2d
Group related code together
...
And also rename local variables.
2019-09-23 19:18:14 +08:00
Chocobo1
2152a81d11
Add ability to open file via keypad Enter
...
Closes #11260 .
2019-09-23 19:18:07 +08:00
Chocobo1
f1243871b0
Remove redundant HTML escaping
...
The text widget is already set to plaintext and doing HTML escaping will
not give us more security but only makes it harder to read.
2019-09-15 14:40:34 +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
2396ef5bd6
Move error logging of adding peers to the proper place
2019-09-04 16:09:24 +08:00
Chocobo1
60df790b82
Initialize pointers
...
Fixup aeabd2d625
.
2019-08-28 13:08:36 +08:00
Chocobo1
aeabd2d625
Clean up PeerListWidget class
2019-08-27 14:30:03 +08:00
Mike Tzou
2427f5d324
Merge pull request #11041 from Chocobo1/splitRef
...
Revise operations in TorrentHandle class
2019-08-09 12:27:44 +08:00
Chocobo1
8d6b9b6181
Revise sort model and delegate code
2019-08-08 22:17:18 +08:00
Chocobo1
061219d0a2
Simplify code
2019-08-08 21:25:28 +08:00
Chocobo1
b5b678c58f
Replace QString::split() by faster alternatives
2019-08-08 18:57:54 +08:00
Chocobo1
e90a2c00a5
Replace QList by QVector
2019-08-05 20:56:15 +08:00
Mike Tzou
c0fc4e6d90
Merge pull request #10993 from Piccirello/adjust-verbiage
...
Adjust wording to sound more natural
2019-07-31 14:24:58 +08:00
Tom Piccirello
eaa700791b
Adjust wording to sound more natural
2019-07-29 00:31:09 -07:00
Chocobo1
7ab3479a34
Replace static_cast by qOverload
2019-07-26 22:32:18 +08:00
Vladimir Golovnev (Glassez)
ad6a40d5f4
Extract PeerAddress class into separate file
2019-07-23 06:27:35 +03:00
Chocobo1
07263d2d70
Move implementation to its own file
2019-07-18 00:30:44 +08:00
Mike Tzou
1e70c52e7a
Merge pull request #10934 from Chocobo1/delete
...
Rely on Qt ownership to delete class members
2019-07-17 12:02:30 +08:00
Chocobo1
e74b984a0a
Rely on Qt ownership to delete class members
2019-07-16 18:42:26 +08:00
Prince Gupta
8267a4fef9
Incorporate GuiIconProvider inside UIThemeManager
2019-07-16 09:31:33 +05:30
Chocobo1
032883e278
Move LineEdit files out of subfolder
2019-07-13 19:46:53 +08:00
Chocobo1
cc663746eb
Forward declare some classes
2019-07-13 19:38:37 +08:00
Chocobo1
599bfc0735
Use Qt object ownership to handle QShortcut deletions
2019-07-13 13:24:27 +08:00
Chocobo1
662e1e6134
Clean up code in TrackerListWidget class
2019-07-13 12:53:26 +08:00
Chocobo1
4eff268095
Replace obsoleted QFontMetrics::width()
...
Qt 5.13 marked QFontMetrics::width() obsolete.
2019-07-01 14:48:53 +08:00
Chocobo1
412e326cf2
Avoid allocating a new menu/action manually
2019-06-24 11:02:35 +08:00
Chocobo1
4880dc812c
Use appropriate type
2019-06-19 18:52:24 +08:00
Chocobo1
516c968373
Support year unit in userFriendlyDuration()
2019-06-19 18:52:24 +08:00
Chocobo1
e83019bdfa
Set wheel event to accepted only if we handle it
2019-06-19 18:52:24 +08:00
Chocobo1
3748b995ff
Avoid creating unnecessary event loops
...
The `exec()` method will create another event loop and transfer
control over there which might introduce unexpected bugs.
2019-06-17 20:44:57 +08:00
Chocobo1
62ccfd37b2
Move renameSelectedFile(BitTorrent::TorrentHandle *)
2019-06-09 19:07:43 +08:00
thalieht
70f8882f87
Group Qt forward declarations separately from the others
2019-06-04 17:48:55 +03:00
thalieht
9995967fbf
Remove some unused #include
2019-06-04 17:48:55 +03:00
thalieht
4370a7eb12
Forward declare in a few places
2019-06-04 17:48:55 +03:00
Chocobo1
ed6bb0efdc
Replace QList by QVector for tracker related operations
2019-05-22 12:57:22 +08:00
Chocobo1
e288de7ec1
Forward declare as much as possible
2019-05-19 12:06:18 +08:00
Chocobo1
c6f3da1097
Improve removeIf() to support set types
...
We can now replace QMutable*Iterator by removeIf() which usage is more consistent with other
algorithm functions.
2019-05-14 01:26:01 +08:00
dzmat
7de0f9abed
Change number of time axis divisions from 5 to 6 for convenience
2019-04-22 00:15:13 +07:00
dzmat
0af17bf7e9
Add 12 hour and 24 hour speed graphs
2019-04-22 00:15:13 +07:00
Vladimir Golovnev (Glassez)
ead078a38e
Add preliminary support of libtorrent v1.2
...
libtorrent v1.2 should be built with deprecated features enabled.
2019-03-18 15:17:03 +03:00
thalieht
bcfa62cc76
Rename "#" column to "Tier" in the tracker list
2019-03-13 21:08:40 +02:00
Vladimir Golovnev
928ce940c9
Merge pull request #10346 from glassez/download-manager
...
Improve "Download manager"
2019-03-10 09:13:07 +03:00
Vladimir Golovnev (Glassez)
746916a963
Use DownloadHandler behind the scenes
2019-03-08 13:00:37 +03:00
Vladimir Golovnev (Glassez)
6cb15706f5
Reduce number of DownloadManager signals
2019-03-05 11:28:29 +03:00
Chocobo1
adbd34c795
Move helper functions to Utils::Gui namespace
2019-03-05 14:55:22 +08:00
Chocobo1
3dd969df64
Replace deprecated QSignalMapper class
2019-02-28 12:03:08 +08:00
thalieht
77aea3c59e
Add const to a few pointer arguments
2019-02-25 17:05:15 +02:00
thalieht
d8cbc9266a
Use 'auto' to avoid duplicating the type name
2019-02-16 18:54:17 +02:00
thalieht
947c7e1d64
Convert to range-based for loop
2019-02-16 16:53:26 +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
445adb0ab4
Convert pass-by-value arguments to const refs where applicable
2019-02-12 02:45:55 +02: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
Vladimir Golovnev (Glassez)
5a86c4ac52
Close context menu when content model is reset
...
Closes #9522 .
2019-02-01 18:44:26 +03:00
Vladimir Golovnev (Glassez)
c631dbdaa1
Improve Properties widget
...
Drop redundant dependencies.
Refresh after BitTorrent session refreshing (instead of using timer).
2019-01-28 12:42:12 +03:00
Nick Korotysh
bd1856594b
Draw progress bar in Fusion style on macOS systems
...
Qt has a bug QTBUG-72558, which leads to incorrect progress bar
position, when drawing it in delegate.
Also, since OS X 10.10 Yosemite macOS default style was changed,
and progress bars became very tiny and without text (percentage).
These two cases make qBittorrent look pretty awful, but drawing
progress bar in Fusion style solves both issues.
2019-01-02 10:01:32 +03:00
Chocobo1
2a84345835
Mark constructors as explicit
2018-12-26 12:04:40 +08:00
Thomas Piccirello
718f66e6a2
Remove condition for unsupported libtorrent version
2018-12-11 01:37:32 -05:00
Thomas Piccirello
c89e9d4354
Reorder and rename Tracker list context menu option
...
Adds an ellipses to indicate that the Edit option opens a dialog. Also moves Edit to top of the list to convey action's prominence.
2018-12-11 00:41:18 -05:00
Thomas Piccirello
b481787574
Rename Tracker List columns
...
"Received" renamed to "Peers", "Peers" renamed to "Leeches".
2018-12-11 00:41:18 -05:00
Thomas Piccirello
f27dc977e9
Replace prio namespace with FilePriority enum class
2018-12-10 23:21:09 -05: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
Chocobo1
d866033a8e
Fix divide-by-zero crash
...
Previously here was using a cheap method to avoid divisor becoming < 0, but from
the crash stacktrace it seems this is not enough, now the divisor is properly
clamped to have 1 as the minimum.
Also it will now display "Unknown" for invalid calculation results.
Closes #9857 .
2018-11-18 13:50:23 +08:00
Mike Tzou
2ce57b97be
Merge pull request #9799 from Chocobo1/removeCheckbox
...
Remove speed limit checkbox in Options dialog
2018-11-07 13:40:43 +08:00
dzmat
6fa64c81b7
Fix speed graph "high speeds" bug
2018-11-06 15:53:20 +03:00
Chocobo1
266ce1d226
Clean up SpeedLimitDialog class
2018-11-05 11:07:52 +08:00
dzmat
fabd7e34f5
Improve scaling of speed graphs
...
Make Y axis scale to fix on predetermined nice looking positions
2018-10-21 16:45:32 +07:00
dzmat
23d924643f
Reduce horizontal graphs resolution
...
Rewrite averaging code and reduce horizontal graphs resolution for
30 minutes and 6 hours graphs to decrease CPU usage.
2018-10-13 18:28:38 +07:00
dzmat
2d0f0cb372
Allow to disable speed graphs
2018-10-08 23:51:02 +07:00
sledgehammer999
bfb1210c43
Merge pull request #9406 from thalieht/preselecttext
...
Preselect name without extension when renaming files
2018-09-11 14:33:25 +03:00
thalieht
94613c2fa2
Fix some warnings
2018-09-07 19:40:08 +03:00
thalieht
e2b46f01bb
Show "N/A" if there is no scrape
...
Disambiguates whether the tracker send a response of 0 peers/seeds/downloaded or didn't send one at all.
2018-09-07 19:39:53 +03:00
thalieht
ffc2193df9
Preselect name without extension when renaming files
...
And preselect the whole string for everything else.
2018-09-05 16:55:42 +03:00
Chocobo1
56766dc08b
Avoid binding constant reference to returned object
...
In such cases, it makes no sense doing so.
2018-07-23 13:40:25 +08:00
Chocobo1
0217d5b4c0
Replace single-character string with character literal
...
Also remove unnecessary dynamic allocation.
2018-07-21 23:26:15 +08:00
thalieht
456270bbb1
Delete several unused #include
2018-07-03 08:38:32 +03:00
thalieht
eb508d67ef
Fix coding style
2018-07-03 08:38:32 +03:00
thalieht
6d4434ad66
Convert the names used in ui and c++ files from snake_case to camelCase
2018-07-03 08:38:32 +03:00
Vladimir Golovnev (Glassez)
112a9bcfa2
Use new DownloadManager interface
2018-06-29 15:48:17 +03: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
Mike Tzou
da87c2d9ae
Merge pull request #9060 from Chocobo1/preinc
...
Replace post-increment with pre-increment
2018-06-09 12:40:30 +08:00
Chocobo1
5ddbf9bba9
Replace post-increment with pre-increment
...
And post-decrement with pre-decrement.
2018-06-08 08:44:06 +08: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
thalieht
586e1a0830
Move some connect() from propertieswidget to their corresponding widget
2018-05-09 16:08:22 +03:00
thalieht
6b4455e13d
Use qt5 connect() syntax
2018-05-09 16:08:22 +03:00
Mike Tzou
99a1343b9d
Merge pull request #8862 from Chocobo1/cleanup
...
Code cleanups
2018-05-09 14:33:49 +08:00
Vladimir Golovnev
3a0e5e51df
Merge pull request #8761 from thalieht/nullptr
...
Replace the zeroing of pointers with nullptr
2018-05-08 17:10:37 +03:00
Chocobo1
defba23d61
Refactor code
...
Remove forward declarations of Qt types.
Fix header include order.
2018-05-08 12:18:18 +08:00
Mike Tzou
d8c14ffe97
Merge pull request #8814 from Chocobo1/tr_fix
...
Fix tr() related issues
2018-05-05 13:48:09 +08:00
Chocobo1
e423314ac2
Work around false-positive warning from lupdate
...
In short, lupdate will get confused when seeing `template <class T>`,
see: QTBUG-55478
2018-05-01 23:28:34 +08:00
Chocobo1
c61f641613
Fix untranslated string
...
Closes #8809 .
2018-05-01 11:49:10 +08:00
thalieht
3e4099fe5b
Replace the zeroing of pointers with nullptr
2018-04-15 13:06:31 +03:00
Chocobo1
898239a42e
Fix renaming completed files
...
Check whether the file is already downloaded before appending QB_EXT to
filename.
Closes #8039 .
2018-04-12 14:13:59 +08:00
Chocobo1
a468c84b30
Fix warnings from unused variables
2018-03-12 14:36:28 +08:00
Chocobo1
08a2439f46
Check directly if container is empty or not
2018-03-11 23:12:16 +08:00
Chocobo1
6767487e40
Remove unused variable
2018-03-11 22:31:17 +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
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
Luís Pereira
44e4b5d238
Don't use qDeleteAll() on temporaries
...
qDeleteAll() is being used on an unnecessary temporary container created
by QHash::values().
Using qDeleteAll(mycontainer) instead.
2018-02-12 16:36:03 +00:00
Chocobo1
ec337a8a84
Sort filename lists in .pri files
2017-12-31 11:53:45 +08:00
Chocobo1
c2c0dd2717
Fix column size too narrow on resize
...
Instead of giving a value, just resize to the content size
2017-12-24 21:54:56 +08:00
Chocobo1
27cf98a962
Resize dialog size on high DPI monitors
2017-12-24 21:54:56 +08: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
Chocobo1
52ae118e3c
Tweak spacing
2017-12-24 21:47:46 +08:00
sledgehammer999
0a35adbdba
Merge pull request #8087 from sledgehammer999/fix_flag_sorting
...
Fix sorting of country flags column in Peers tab.
2017-12-23 19:15:44 +02:00
sledgehammer999
5156399c68
Fix sorting of country flags column in Peers tab.
2017-12-21 15:21:53 +02:00
vit9696
ed154d35ba
Fix Finder reveal in preview and torrent contents
2017-12-17 02:16:36 +03:00
Chocobo1
86c5a8df75
Partial revert eac8838dc2
. Fixes #7952 .
...
mapFromSource() didn't work as expected, when used in lessThan(), it sometimes
returns an invalid QModelIndex.
A crash is observed when filtering source model via filterAcceptsRow() in #7952 ,
the crash is due to endless recursive of filterAcceptsRow() & lessThan() calling
each other and mapFromSource() is the culprit of it.
2017-12-04 17:40:44 +08: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
Mike Tzou
74d281526b
Merge pull request #7647 from thalieht/style
...
Coding style for many files
2017-11-30 17:09:18 +08:00
Chocobo1
27090f0cfb
Remove superfluous QString::fromUtf8()
2017-11-21 22:48:00 +08:00
thalieht
ae1634623e
Coding style for many files
2017-11-20 23:29:59 +02:00
dzmat
9d0ab0ae5f
speedwidget class: excess QtConcurent usage removal
2017-10-12 20:59:13 +07:00
thalieht
525fdd6c2b
Coding style, use nullptr and other minor things
2017-10-08 10:20:54 +03:00
sledgehammer999
7b5730723d
Fix file list expansion on singlefile torrent with folder.
2017-09-06 01:11:49 +03:00
Chocobo1
551ffb88ab
Define QT_USE_QSTRINGBUILDER.
...
The old defines are deprecated.
QT_USE_QSTRINGBUILDER also supports QByteArray which we use extensively
in WebUI.
2017-08-29 13:37:29 +08:00
Chocobo1
ccd3b305c2
Use Qt5 connect syntax
2017-08-24 20:15:25 +08:00
Chocobo1
b47c90f0e0
Setup parent ownership to avoid memory leak
2017-08-24 20:01:39 +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
vit9696
d25467d3e6
Various macOS UI improvements
2017-07-15 20:49:40 +03:00
thalieht
91f528bc96
Fix coding style for several files
...
trackerlist
autoexpandabledialog
previewselect
shutdownconfirmdlg
torrentcontentfiltermodel
torrentcontenttreeview
peerlistsortmodel.h
2017-06-30 23:44:12 +03:00
Eugene Shalygin
74cecb1b6c
Replace C-style casts with C++ ones
2017-05-29 17:25:42 +02:00
Eugene Shalygin
ae5932a573
Merge pull request #6848 from evsh/fix-piecebar-crash
...
Fix crash in download piece bar
2017-05-27 13:24:14 +02:00
Eugene Shalygin
6d9eec0e71
Fix crash in download piece bar
...
When torrent size is smaller than the image width, bytes per pixel was
set to zero and code was crashing. Set it to -1 instead, as we do when
image is empty. This will disable highliting, but our algorithm does not
work in this case anyway.
2017-05-26 21:47:51 +02: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
Mike Tzou
ce36a7ca62
Merge pull request #6498 from thalieht/trackerList
...
Trackerlist: Add toggle columns menu
2017-05-19 15:06:42 +08:00
Chocobo1
08a6c75227
Refactors
...
Rename variables
Refactor to return early instead of introducing a scope
Revise dialog title & messages
Refactor code logic
2017-05-17 21:28:46 +08:00
Vladimir Golovnev
44f8a48d73
Merge pull request #6724 from glassez/libt11
...
Don't use features, deprecated in libtorrent-1.1
2017-05-16 18:54:00 +03:00
Chocobo1
b18bf48014
Improve error message reported to user
...
Should not contain "file" or "folder", because it's not clear which type is selected.
2017-05-13 16:16:59 +08:00
Chocobo1
51e3e5438b
Code formatting
...
Refactor
2017-05-13 16:16:59 +08:00
Chocobo1
0939875ca8
Fix renaming files is not case sensitive on Windows platform. Closes #5128 .
2017-05-13 16:16:59 +08:00
Eugene Shalygin
5c10a24923
Add availability column to torrent properties window
2017-05-12 17:15:00 +02:00
thalieht
73c37cc460
Trackerlist: add "m_" to private members and make them camelCase
2017-05-11 19:15:00 +03:00
thalieht
14f50f1038
Trackerlist: Allow to toggle columns
2017-05-11 19:15:00 +03:00
thalieht
d9555a9e9d
Trackerlist: Set text alignment of columns with numbers to the right
2017-05-11 16:53:31 +03:00
thalieht
5d33399000
TrackerList: Remove unnecessary deletes from the destructor
2017-05-11 16:53:31 +03:00
thalieht
e82a1522c8
Trackerlist: Change 0 to nullptr
2017-05-11 16:53:31 +03:00
thalieht
e00be240b0
PropertiesWidget: Change 0 to nullptr
2017-05-11 16:53:31 +03:00
thalieht
b360c5453b
PropertiesWidget: Some coding style
2017-05-11 16:53:31 +03:00
thalieht
ce77ebdfe1
Coding style of whole trackerlist.h and a little in trackerlist.cpp
2017-05-11 16:53:31 +03:00
Eugene Shalygin
f211b238c4
Do not attempt to show detailed tooltips without torrent metadata. Closes #6768 .
...
Computations for detailed tooltips are not protected against unavailable
metadata, that leads to asserts or crashes. But since those tooltips are
useless in this case, do not show them at all. Inform user that detailed
tooltip becomes available once torrent metadata are fetched.
2017-05-11 01:10:23 +02:00