From b23608ec359f8dede80bb252df6beecf06cf5876 Mon Sep 17 00:00:00 2001 From: ngosang Date: Sun, 28 Jun 2015 15:24:26 +0200 Subject: [PATCH] Fix column sort in search engine. Closes #2621 --- src/searchengine/searchengine.cpp | 4 ++-- src/searchengine/searchlistdelegate.h | 8 ++++++++ src/searchengine/searchtab.cpp | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/searchengine/searchengine.cpp b/src/searchengine/searchengine.cpp index 876346bde..fca7318df 100644 --- a/src/searchengine/searchengine.cpp +++ b/src/searchengine/searchengine.cpp @@ -475,13 +475,13 @@ void SearchEngine::appendSearchResult(const QString &line) { bool ok = false; qlonglong nb_seeders = parts.at(PL_SEEDS).trimmed().toLongLong(&ok); if (!ok || nb_seeders < 0) { - cur_model->setData(cur_model->index(row, SearchSortModel::SEEDS), tr("Unknown")); // Seeders + cur_model->setData(cur_model->index(row, SearchSortModel::SEEDS), -1); // Seeders } else { cur_model->setData(cur_model->index(row, SearchSortModel::SEEDS), nb_seeders); // Seeders } qlonglong nb_leechers = parts.at(PL_LEECHS).trimmed().toLongLong(&ok); if (!ok || nb_leechers < 0) { - cur_model->setData(cur_model->index(row, SearchSortModel::LEECHS), tr("Unknown")); // Leechers + cur_model->setData(cur_model->index(row, SearchSortModel::LEECHS), -1); // Leechers } else { cur_model->setData(cur_model->index(row, SearchSortModel::LEECHS), nb_leechers); // Leechers } diff --git a/src/searchengine/searchlistdelegate.h b/src/searchengine/searchlistdelegate.h index 8f6c4c37c..d2c3a538b 100644 --- a/src/searchengine/searchlistdelegate.h +++ b/src/searchengine/searchlistdelegate.h @@ -55,6 +55,14 @@ class SearchListDelegate: public QItemDelegate { QItemDelegate::drawBackground(painter, opt, index); QItemDelegate::drawDisplay(painter, opt, option.rect, Utils::Misc::friendlyUnit(index.data().toLongLong())); break; + case SearchSortModel::SEEDS: + QItemDelegate::drawBackground(painter, opt, index); + QItemDelegate::drawDisplay(painter, opt, option.rect, (index.data().toLongLong() >= 0) ? index.data().toString() : tr("Unknown")); + break; + case SearchSortModel::LEECHS: + QItemDelegate::drawBackground(painter, opt, index); + QItemDelegate::drawDisplay(painter, opt, option.rect, (index.data().toLongLong() >= 0) ? index.data().toString() : tr("Unknown")); + break; default: QItemDelegate::paint(painter, option, index); } diff --git a/src/searchengine/searchtab.cpp b/src/searchengine/searchtab.cpp index 6b3805063..d95043d46 100644 --- a/src/searchengine/searchtab.cpp +++ b/src/searchengine/searchtab.cpp @@ -88,7 +88,7 @@ SearchTab::SearchTab(SearchEngine *parent) : QWidget(), parent(parent) void SearchTab::downloadSelectedItem(const QModelIndex& index) { QString engine_url = proxyModel->data(proxyModel->index(index.row(), SearchSortModel::ENGINE_URL)).toString(); QString torrent_url = proxyModel->data(proxyModel->index(index.row(), SearchSortModel::DL_LINK)).toString(); - setRowColor(index.row(), "red"); + setRowColor(index.row(), "blue"); parent->downloadTorrent(engine_url, torrent_url); }