Commit graph

5471 commits

Author SHA1 Message Date
Ivan Sorokin
03b06fbf81 Split src/transferlistdelegate into .h and .cpp 2014-10-25 16:12:17 +04:00
Ivan Sorokin
2d98b8f192 Call TorrentModelItem::state() directly in getTorrentStatusReport
There is no point in wraping/unwraping QVariant.
2014-10-25 14:25:26 +04:00
Ivan Sorokin
80297697dd Remove mutable fields from TorrentModelItem
The querying of TR_STATUS doesn't affect color and icon now.
2014-10-25 14:25:25 +04:00
Ivan Sorokin
ad116edac7 Use Qt::GlobalColor to refer to color instead of string
Qt uses binary search to convert string to QColor, we don't need that
binary search at all. This patch could be considered as optimization, but
in reality creating QColor takes only 0.2% of time. So it should be visible
at all.

This could be considered as cleanup for not calling expensive functions
from non-expensive ones.
2014-10-25 14:25:21 +04:00
sledgehammer999
b0f767e699 Merge pull request #2060 from glassez/fwd_decl_fixes
Fix libtorrent types forward declaration errors/warnings.
2014-10-21 17:25:57 +03:00
sledgehammer999
e750ae3a79 Use boost:bind() as the docs show. Allows compilation with older gcc versions. 2014-10-21 16:28:06 +03:00
Vladimir Golovnev (Glassez)
ab2d506e09 Fix libtorrent types forward declaration errors/warnings. 2014-10-21 16:33:04 +04:00
Ivan Sorokin
637246c1c7 Cleaup includes 2014-10-21 12:13:56 +04:00
Ivan Sorokin
5f0d6f3c6d Fix incorrect ETA calculation 2014-10-21 12:13:52 +04:00
Gabriele
ea1d7afdef Focus transfer list on startup
The torrent list filter will be focused otherwise and its placeholder
text will be hidden on startup.
2014-10-20 19:58:31 +02:00
Gabriele
afb03725ad Add placeholder text to the input to filter the torrent list
Users can mistakenly think the input box is to search for torrents
and not to filter the torrent list. A placeholder text will make things
clear.
2014-10-20 19:58:31 +02:00
Gabriele
1a63f6af1b Show input box to filter torrent list only when the list is shown
It's misleading to show the filter on every tab when it works only
for the torrent list.
2014-10-20 19:57:39 +02:00
sledgehammer999
ce4ef37820 Remove superfluous semicolon(;). 2014-10-20 20:39:13 +03:00
sledgehammer999
c2f2d0a363 Don't show multiple unlock UI dialogs. Closes #2040. 2014-10-20 20:34:46 +03:00
sledgehammer999
2203d0a043 Merge pull request #2041 from sorokin/optimize-natural-sort
Optimize misc::naturalSort()
2014-10-19 18:57:14 +03:00
Ivan Sorokin
a278261806 Optimize misc::naturalSort()
Previous implementation used QRegExp to find a first digit. That is
utterly ineffective.

When torrent list is sorted by name (a column that uses the naturalSort() for
comparison), naturalSort could take 18.6% of the time of the UI thread. Optimize it
so now it takes 1% of the time of the UI thread.
2014-10-19 14:20:16 +04:00
sledgehammer999
9b71e4ffc9 Use the correct character encoding for exceptions coming from libtorrent. 2014-10-18 17:22:50 +03:00
sledgehammer999
89ae72d5c4 Merge pull request #2042 from sorokin/optimize-includes
Optimize includes
2014-10-18 16:42:30 +03:00
sledgehammer999
d02984cbed Merge pull request #2027 from pmzqla/system_icons
Increase maximum size of system icons
2014-10-18 15:10:29 +03:00
sledgehammer999
7c03167cde Merge pull request #2026 from pmzqla/master
Make Windows icons suitable for high dpi screens
2014-10-18 14:27:51 +03:00
sledgehammer999
dd711bf377 Merge pull request #2035 from pmzqla/torrentpath
Allow relative torrent paths when qBittorrent is already running
2014-10-18 14:27:14 +03:00
Gabriele
05929b78c6 Allow relative torrent paths when qBittorrent is already running
Adding new torrents from the command line while qBittorrent was
already running was possible only providing the absolute path to
the file.
2014-10-18 13:04:18 +02:00
sledgehammer999
aca4731145 Merge pull request #2031 from pmzqla/panel
Set minimum width of the left panel in the preferences
2014-10-18 13:43:40 +03:00
sledgehammer999
c2e0baa6a6 Merge pull request #2034 from pmzqla/sections
Don't stretch the last section in the transfer list
2014-10-18 13:31:39 +03:00
Ivan Sorokin
de5f38a160 Speedup compilation speed
libtorrent has a relatively heavy headers, that take lots of time to
process. This commit removes unnecessary includes of libtorrent headers
and replaces them with forward declarations.

I had to move some functions in QBtSession from slots to regular
functions because moc'ed file want to see complete types of all
parameters of slots.

"time make" of full rebuild before this series of commits:

real    13m35.937s
user    12m1.295s
sys     1m25.908s

after:

real    10m54.390s
user    9m31.167s
sys     1m12.580s
2014-10-18 12:19:05 +04:00
Ivan Sorokin
f6732e87f2 Remove inclusion of "qtracker.h" in "qbtsession.h" 2014-10-18 12:19:05 +04:00
Ivan Sorokin
b2e3739da2 Replace include of <libtorrent/session.hpp> with forward declaration 2014-10-18 12:19:05 +04:00
Ivan Sorokin
c9b27e032b Remove inclusion of alertdispatch.h from qbtsession.h 2014-10-18 12:19:04 +04:00
Ivan Sorokin
83dd35dbc9 Make alertdispatcher.h self contained and replace include libtorrent/session with forward declaration 2014-10-18 12:19:04 +04:00
Ivan Sorokin
5ea1a4c3cc Remove inclusion of <QThread> from misc.h 2014-10-18 12:19:04 +04:00
Ivan Sorokin
be338b969c Remove unneccessary includes of libtorrent in misc.h 2014-10-18 12:19:04 +04:00
Gabriele
fc02b11f65 Don't stretch the last section in the transfer list
Since the content of some sections is right aligned, automatically
resizing the width of the last one to fill the header could be
sometimes undesired.

Let the user choose the width of each section and never change his
preference.
2014-10-15 16:22:33 +02:00
Gabriele
93abeb3643 Set minimum width of the left panel in the preferences
Change also the default width and set it to the minimum.
This minimum width prevents the horizontal scrollbar from appearing.

The size of the items in the list depends on the Qt style, so the
left panel could be few pixels larger than required with some of them.
2014-10-14 22:52:30 +02:00
Gabriele
5b7ee14416 Make Windows icons suitable for high dpi screens
The maximum size of the icons is now 256x256 pixels so that
Windows can correctly scale them.

The 256x256 layer for the main icon was created upscaling the
192x192 png available in the source tree. Hence, the icon might
not be perfect at the maximum size.

The icon for the file association was made from scratch and it's
visually similar to the previous icon.
2014-10-14 17:52:22 +02:00
sledgehammer999
f9dc945730 Merge pull request #2025 from BrunoReX/search_term
Fix search inconsistency between Python versions
2014-10-14 17:11:40 +03:00
sledgehammer999
cae032039b Merge pull request #2030 from pmzqla/tooltips
Remove unneeded tooltip
2014-10-14 17:10:35 +03:00
Gabriele
becab3a013 Remove unneeded tooltip 2014-10-14 00:15:31 +02:00
Gabriele
616895b2c9 Increase maximum size of system icons
System icons were limited to a size 24x24 pixels, while the embedded
icons are 32x32 pixels big.
2014-10-13 18:54:05 +02:00
Bruno Barbieri
f288162e99 Fix search inconsistency between Python versions
Closes #2012
2014-10-13 07:42:06 -03:00
sledgehammer999
eab13982a2 Merge pull request #1543 from john-peterson/ssd
adding a save resume data interval option
2014-10-13 02:18:52 +03:00
John S. Peterson
d27bff4df4 adding a save resume data interval option
because some SSD users oppose frequent disk writes
2014-10-12 20:14:09 +02:00
sledgehammer999
d38bff0ca5 Merge pull request #1967 from DoumanAsh/pirateBay_uptade
Pirate bay engine update
2014-10-12 19:23:33 +03:00
DoumanAsh
a62e30ea88 Pirate bay search engine update 2014-10-12 20:15:18 +04:00
sledgehammer999
0e0e8f7c27 Merge pull request #2005 from BrunoReX/python3_utf8
Fix search engine encoding issues with python3 on Windows
2014-10-12 19:06:34 +03:00
sledgehammer999
91e53971b2 Merge pull request #1997 from BrunoReX/torrentreactor_fix
Fix TorrentReactor search plugin
2014-10-12 17:12:22 +03:00
sledgehammer999
f50eac4c15 Merge pull request #2022 from sorokin/for-sledgehammer
a small optimization, a micro optimization and a fix
2014-10-12 17:06:34 +03:00
sledgehammer999
e10e2e1719 Change the program updater's URL for Windows and Mac OS X. Closes #1954. 2014-10-12 16:42:33 +03:00
Ivan Sorokin
b995a9d75e Fix race condition in QAlertDispatcher
It was possible that QAlertDispatcher::dispatch() could access (lock)
mutex that was destroyed by main thread. Fix this by moving mutex into a
tag.
2014-10-12 12:25:56 +04:00
Ivan Sorokin
333978f1ff Use std::vector instead of std::deque in QAlertDispatcher
As we never use {push,pop}_front std::vector works here perfectly.
Also reserve memory for std::vector out of lock.

This could be considered as an optimization, but in reality this is just
using right container in right place. According to my measurements total
speedup is under 0.2%.
2014-10-12 12:25:47 +04:00
Ivan Sorokin
d89d9c2f75 Fewer calls to torrent_handle::info_hash() 2014-10-12 12:09:52 +04:00