From ad116edac74587ccca88cb64afa445b8ce87f6d7 Mon Sep 17 00:00:00 2001 From: Ivan Sorokin Date: Tue, 21 Oct 2014 12:13:22 +0400 Subject: [PATCH] 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. --- src/qtlibtorrent/torrentmodel.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/qtlibtorrent/torrentmodel.cpp b/src/qtlibtorrent/torrentmodel.cpp index fcaee6bd3..91301e0f2 100644 --- a/src/qtlibtorrent/torrentmodel.cpp +++ b/src/qtlibtorrent/torrentmodel.cpp @@ -102,7 +102,7 @@ TorrentModelItem::State TorrentModelItem::state() const { // Pause or Queued if (m_torrent.is_paused(m_lastStatus)) { m_icon = get_paused_icon(); - m_fgColor = QColor("red"); + m_fgColor = QColor(Qt::red); return m_torrent.is_seed(m_lastStatus) ? STATE_PAUSED_UP : STATE_PAUSED_DL; } if (m_torrent.is_queued(m_lastStatus)) { @@ -110,7 +110,7 @@ TorrentModelItem::State TorrentModelItem::state() const { && m_lastStatus.state != torrent_status::checking_resume_data && m_lastStatus.state != torrent_status::checking_files) { m_icon = get_queued_icon(); - m_fgColor = QColor("grey"); + m_fgColor = QColor(Qt::gray); return m_torrent.is_seed(m_lastStatus) ? STATE_QUEUED_UP : STATE_QUEUED_DL; } } @@ -118,20 +118,20 @@ TorrentModelItem::State TorrentModelItem::state() const { switch(m_lastStatus.state) { case torrent_status::allocating: m_icon = get_stalled_downloading_icon(); - m_fgColor = QColor("grey"); + m_fgColor = QColor(Qt::gray); return STATE_ALLOCATING; case torrent_status::downloading_metadata: m_icon = get_downloading_icon(); - m_fgColor = QColor("green"); + m_fgColor = QColor(Qt::green); return STATE_DOWNLOADING_META; case torrent_status::downloading: { if (m_lastStatus.download_payload_rate > 0) { m_icon = get_downloading_icon(); - m_fgColor = QColor("green"); + m_fgColor = QColor(Qt::green); return STATE_DOWNLOADING; } else { m_icon = get_stalled_downloading_icon(); - m_fgColor = QColor("grey"); + m_fgColor = QColor(Qt::gray); return STATE_STALLED_DL; } } @@ -139,33 +139,33 @@ TorrentModelItem::State TorrentModelItem::state() const { case torrent_status::seeding: if (m_lastStatus.upload_payload_rate > 0) { m_icon = get_uploading_icon(); - m_fgColor = QColor("orange"); + m_fgColor = QColor(255, 165, 0); return STATE_SEEDING; } else { m_icon = get_stalled_uploading_icon(); - m_fgColor = QColor("grey"); + m_fgColor = QColor(Qt::gray); return STATE_STALLED_UP; } case torrent_status::queued_for_checking: m_icon = get_checking_icon(); - m_fgColor = QColor("grey"); + m_fgColor = QColor(Qt::gray); return STATE_QUEUED_CHECK; case torrent_status::checking_resume_data: m_icon = get_checking_icon(); - m_fgColor = QColor("grey"); + m_fgColor = QColor(Qt::gray); return STATE_QUEUED_FASTCHECK; case torrent_status::checking_files: m_icon = get_checking_icon(); - m_fgColor = QColor("grey"); + m_fgColor = QColor(Qt::gray); return m_torrent.is_seed(m_lastStatus) ? STATE_CHECKING_UP : STATE_CHECKING_DL; default: m_icon = get_error_icon(); - m_fgColor = QColor("red"); + m_fgColor = QColor(Qt::red); return STATE_INVALID; } } catch(invalid_handle&) { m_icon = get_error_icon(); - m_fgColor = QColor("red"); + m_fgColor = QColor(Qt::red); return STATE_INVALID; } }