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: SOCKS5 fixes (0.16.10)
|
||||||
- LIBTORRENT: Fix hanging issue on Windows when closing files (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)
|
- 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
|
* Sat Mar 16 2013 - Christophe Dumez <chris@qbittorrent.org> - v3.0.9
|
||||||
- BUGFIX: Raise qBittorrent windows when another instance is launched
|
- BUGFIX: Raise qBittorrent windows when another instance is launched
|
||||||
- BUGFIX: Show human readable names for network interfaces in preferences (Windows)
|
- BUGFIX: Show human readable names for network interfaces in preferences (Windows)
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <QFontMetrics>
|
||||||
|
|
||||||
#include "torrentmodel.h"
|
#include "torrentmodel.h"
|
||||||
#include "torrentpersistentdata.h"
|
#include "torrentpersistentdata.h"
|
||||||
@@ -297,6 +298,19 @@ QVariant TorrentModel::data(const QModelIndex &index, int role) const
|
|||||||
if (!index.isValid()) return QVariant();
|
if (!index.isValid()) return QVariant();
|
||||||
try {
|
try {
|
||||||
if (index.row() >= 0 && index.row() < rowCount() && index.column() >= 0 && index.column() < columnCount())
|
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);
|
return m_torrents[index.row()]->data(index.column(), role);
|
||||||
} catch(invalid_handle&) {}
|
} catch(invalid_handle&) {}
|
||||||
return QVariant();
|
return QVariant();
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ using namespace libtorrent;
|
|||||||
TransferListWidget::TransferListWidget(QWidget *parent, MainWindow *main_window, QBtSession *_BTSession):
|
TransferListWidget::TransferListWidget(QWidget *parent, MainWindow *main_window, QBtSession *_BTSession):
|
||||||
QTreeView(parent), BTSession(_BTSession), main_window(main_window) {
|
QTreeView(parent), BTSession(_BTSession), main_window(main_window) {
|
||||||
|
|
||||||
|
setUniformRowHeights(true);
|
||||||
// Load settings
|
// Load settings
|
||||||
bool column_loaded = loadSettings();
|
bool column_loaded = loadSettings();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user