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

View file

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

View file

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

View file

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

View file

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