- Fixed PirateBay search plugin

- Using Download button in search results list now downloads the right torrents
- The search results list is no longer sorted automatically when a row color is updated
This commit is contained in:
Christophe Dumez 2009-10-24 22:49:10 +00:00
parent 966367aff6
commit d8e4732627
5 changed files with 15 additions and 8 deletions

View file

@ -135,16 +135,23 @@ QTreeView* SearchTab::getCurrentTreeView()
return resultsBrowser;
}
QStandardItemModel* SearchTab::getCurrentSearchListModel()
QSortFilterProxyModel* SearchTab::getCurrentSearchListProxy() const
{
return proxyModel;
}
QStandardItemModel* SearchTab::getCurrentSearchListModel() const
{
return SearchListModel;
}
// Set the color of a row in data model
void SearchTab::setRowColor(int row, QString color){
proxyModel->setDynamicSortFilter(false);
for(int i=0; i<proxyModel->columnCount(); ++i){
proxyModel->setData(proxyModel->index(row, i), QVariant(QColor(color)), Qt::ForegroundRole);
}
proxyModel->setDynamicSortFilter(true);
}

View file

@ -63,7 +63,8 @@ public:
~SearchTab();
bool loadColWidthResultsList();
QLabel * getCurrentLabel();
QStandardItemModel * getCurrentSearchListModel();
QStandardItemModel* getCurrentSearchListModel() const;
QSortFilterProxyModel* getCurrentSearchListProxy() const;
QTreeView * getCurrentTreeView();
void setRowColor(int row, QString color);
QHeaderView* header() const;

View file

@ -42,6 +42,7 @@
#include <QMenu>
#include <QClipboard>
#include <QMimeData>
#include <QSortFilterProxyModel>
#include "searchEngine.h"
#include "bittorrent.h"
@ -464,7 +465,7 @@ void SearchEngine::appendSearchResult(QString line){
}
// Add item to search result list
QStandardItemModel *cur_model = currentSearchTab->getCurrentSearchListModel();
QStandardItemModel* cur_model = currentSearchTab->getCurrentSearchListModel();
int row = cur_model->rowCount();
cur_model->insertRow(row);
@ -523,7 +524,7 @@ void SearchEngine::on_download_button_clicked(){
foreach(const QModelIndex &index, selectedIndexes){
if(index.column() == NAME){
// Get Item url
QStandardItemModel *model = all_tab.at(tabWidget->currentIndex())->getCurrentSearchListModel();
QSortFilterProxyModel* model = all_tab.at(tabWidget->currentIndex())->getCurrentSearchListProxy();
QString torrent_url = model->data(model->index(index.row(), URL_COLUMN)).toString();
QString engine_url = model->data(model->index(index.row(), ENGINE_URL_COLUMN)).toString();
downloadTorrent(engine_url, torrent_url);

View file

@ -1,4 +1,4 @@
#VERSION: 1.21
#VERSION: 1.22
#AUTHORS: Fabien Devaux (fab@gnux.info)
#CONTRIBUTORS: Christophe Dumez (chris@qbittorrent.org)
@ -101,8 +101,6 @@ class piratebay(object):
while True and i<11:
results = []
parser = self.SimpleSGMLParser(results, self.url)
print self.url+'/search/%s/%u/99/%s' % (what, i, self.supported_categories[cat])
return
dat = retrieve_url(self.url+'/search/%s/%u/99/%s' % (what, i, self.supported_categories[cat]))
parser.feed(dat)
parser.close()

View file

@ -2,4 +2,4 @@ isohunt: 1.30
torrentreactor: 1.20
btjunkie: 2.21
mininova: 1.31
piratebay: 1.21
piratebay: 1.22