mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-22 16:37:21 -06:00
Improve drawing speed of transferlist with many torrents.
Conflicts: Changelog
This commit is contained in:
@@ -9,7 +9,8 @@
|
||||
- LIBTORRENT: SOCKS5 fixes (0.16.10)
|
||||
- LIBTORRENT: Fix hanging issue on Windows when closing files (0.16.10)
|
||||
- LIBTORRENT: Cache can now be returned to the OS (0.16.10)
|
||||
|
||||
- PERFORMANCE: Impove drawing speed of tranferlist when there are many torrents(>100)
|
||||
|
||||
* Sat Mar 16 2013 - Christophe Dumez <chris@qbittorrent.org> - v3.0.9
|
||||
- BUGFIX: Raise qBittorrent windows when another instance is launched
|
||||
- BUGFIX: Show human readable names for network interfaces in preferences (Windows)
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
*/
|
||||
|
||||
#include <QDebug>
|
||||
#include <QFontMetrics>
|
||||
|
||||
#include "torrentmodel.h"
|
||||
#include "torrentpersistentdata.h"
|
||||
@@ -297,6 +298,19 @@ QVariant TorrentModel::data(const QModelIndex &index, int role) const
|
||||
if (!index.isValid()) return QVariant();
|
||||
try {
|
||||
if (index.row() >= 0 && index.row() < rowCount() && index.column() >= 0 && index.column() < columnCount())
|
||||
if (role == Qt::SizeHintRole)
|
||||
{
|
||||
QSize size(m_torrents[index.row()]->data(index.column(), role).toSize());
|
||||
QFont font;
|
||||
QFontMetrics fm(font);
|
||||
QIcon icon(":/Icons/skin/downloading.png");
|
||||
int fm_height(fm.height());
|
||||
QList<QSize> ic_sizes(icon.availableSizes());
|
||||
int icon_height(ic_sizes[0].height());
|
||||
size.setHeight(fm_height > icon_height ? fm_height : icon_height);
|
||||
return QVariant(size);
|
||||
}
|
||||
else
|
||||
return m_torrents[index.row()]->data(index.column(), role);
|
||||
} catch(invalid_handle&) {}
|
||||
return QVariant();
|
||||
|
||||
@@ -67,6 +67,7 @@ using namespace libtorrent;
|
||||
TransferListWidget::TransferListWidget(QWidget *parent, MainWindow *main_window, QBtSession *_BTSession):
|
||||
QTreeView(parent), BTSession(_BTSession), main_window(main_window) {
|
||||
|
||||
setUniformRowHeights(true);
|
||||
// Load settings
|
||||
bool column_loaded = loadSettings();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user