mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-23 21:14:33 +00:00
- Moved all_tab to parent class
- Fixed memory leak for all_tab
This commit is contained in:
parent
95bad03321
commit
dca80c3006
@ -36,7 +36,6 @@
|
|||||||
#define SEARCH_LEECHERS 3
|
#define SEARCH_LEECHERS 3
|
||||||
#define SEARCH_ENGINE 4
|
#define SEARCH_ENGINE 4
|
||||||
|
|
||||||
QList<SearchTab*>* SearchTab::all_tab = new QList<SearchTab*>();
|
|
||||||
SearchTab::SearchTab(SearchEngine *parent) : QWidget()
|
SearchTab::SearchTab(SearchEngine *parent) : QWidget()
|
||||||
{
|
{
|
||||||
box=new QVBoxLayout();
|
box=new QVBoxLayout();
|
||||||
@ -68,7 +67,6 @@ SearchTab::SearchTab(SearchEngine *parent) : QWidget()
|
|||||||
if(!loadColWidthSearchList()){
|
if(!loadColWidthSearchList()){
|
||||||
resultsBrowser->header()->resizeSection(0, 275);
|
resultsBrowser->header()->resizeSection(0, 275);
|
||||||
}
|
}
|
||||||
all_tab->append(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SearchTab::~SearchTab()
|
SearchTab::~SearchTab()
|
||||||
|
@ -40,7 +40,6 @@ class SearchTab : public QWidget, public Ui::search_engine
|
|||||||
QStandardItemModel *SearchListModel;
|
QStandardItemModel *SearchListModel;
|
||||||
SearchListDelegate *SearchDelegate;
|
SearchListDelegate *SearchDelegate;
|
||||||
public:
|
public:
|
||||||
static QList<SearchTab*> *all_tab; // To store all tabs
|
|
||||||
SearchTab(SearchEngine *parent);
|
SearchTab(SearchEngine *parent);
|
||||||
~SearchTab();
|
~SearchTab();
|
||||||
bool loadColWidthSearchList();
|
bool loadColWidthSearchList();
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
SearchEngine::SearchEngine(bittorrent *BTSession, QSystemTrayIcon *myTrayIcon, bool systrayIntegration) : QWidget(), BTSession(BTSession), myTrayIcon(myTrayIcon), systrayIntegration(systrayIntegration){
|
SearchEngine::SearchEngine(bittorrent *BTSession, QSystemTrayIcon *myTrayIcon, bool systrayIntegration) : QWidget(), BTSession(BTSession), myTrayIcon(myTrayIcon), systrayIntegration(systrayIntegration){
|
||||||
setupUi(this);
|
setupUi(this);
|
||||||
downloader = new downloadThread(this);
|
downloader = new downloadThread(this);
|
||||||
|
all_tab = new QList<SearchTab*>();
|
||||||
// new qCompleter to the search pattern
|
// new qCompleter to the search pattern
|
||||||
startSearchHistory();
|
startSearchHistory();
|
||||||
searchCompleter = new QCompleter(searchHistory, this);
|
searchCompleter = new QCompleter(searchHistory, this);
|
||||||
@ -76,6 +76,7 @@ SearchEngine::~SearchEngine(){
|
|||||||
delete searchProcess;
|
delete searchProcess;
|
||||||
delete searchCompleter;
|
delete searchCompleter;
|
||||||
delete downloader;
|
delete downloader;
|
||||||
|
delete all_tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SearchEngine::on_enginesButton_clicked() {
|
void SearchEngine::on_enginesButton_clicked() {
|
||||||
@ -136,6 +137,7 @@ void SearchEngine::on_search_button_clicked(){
|
|||||||
// Tab Addition
|
// Tab Addition
|
||||||
tab_search=new SearchTab(this);
|
tab_search=new SearchTab(this);
|
||||||
tabWidget->addTab(tab_search, pattern);
|
tabWidget->addTab(tab_search, pattern);
|
||||||
|
all_tab->append(tab_search);
|
||||||
closeTab_button->setEnabled(true);
|
closeTab_button->setEnabled(true);
|
||||||
// if the pattern is not in the pattern
|
// if the pattern is not in the pattern
|
||||||
if(searchHistory.indexOf(pattern) == -1){
|
if(searchHistory.indexOf(pattern) == -1){
|
||||||
@ -185,11 +187,11 @@ void SearchEngine::searchStarted(){
|
|||||||
void SearchEngine::downloadSelectedItem(const QModelIndex& index){
|
void SearchEngine::downloadSelectedItem(const QModelIndex& index){
|
||||||
int row = index.row();
|
int row = index.row();
|
||||||
// Get Item url
|
// Get Item url
|
||||||
QString url = searchResultsUrls.value(SearchTab::all_tab->at(tabWidget->currentIndex())->getCurrentSearchListModel()->data(SearchTab::all_tab->at(tabWidget->currentIndex())->getCurrentSearchListModel()->index(row, NAME)).toString());
|
QString url = searchResultsUrls.value(all_tab->at(tabWidget->currentIndex())->getCurrentSearchListModel()->data(all_tab->at(tabWidget->currentIndex())->getCurrentSearchListModel()->index(row, NAME)).toString());
|
||||||
// Download from url
|
// Download from url
|
||||||
BTSession->downloadFromUrl(url);
|
BTSession->downloadFromUrl(url);
|
||||||
// Set item color to RED
|
// Set item color to RED
|
||||||
SearchTab::all_tab->at(tabWidget->currentIndex())->setRowColor(row, "red");
|
all_tab->at(tabWidget->currentIndex())->setRowColor(row, "red");
|
||||||
}
|
}
|
||||||
|
|
||||||
// search Qprocess return output as soon as it gets new
|
// search Qprocess return output as soon as it gets new
|
||||||
@ -365,14 +367,14 @@ void SearchEngine::on_clearPatternButton_clicked() {
|
|||||||
// Download selected items in search results list
|
// Download selected items in search results list
|
||||||
void SearchEngine::on_download_button_clicked(){
|
void SearchEngine::on_download_button_clicked(){
|
||||||
//QModelIndexList selectedIndexes = tab_search->getCurrentTreeView()->selectionModel()->selectedIndexes();
|
//QModelIndexList selectedIndexes = tab_search->getCurrentTreeView()->selectionModel()->selectedIndexes();
|
||||||
QModelIndexList selectedIndexes = SearchTab::all_tab->at(tabWidget->currentIndex())->getCurrentTreeView()->selectionModel()->selectedIndexes();
|
QModelIndexList selectedIndexes = all_tab->at(tabWidget->currentIndex())->getCurrentTreeView()->selectionModel()->selectedIndexes();
|
||||||
QModelIndex index;
|
QModelIndex index;
|
||||||
foreach(index, selectedIndexes){
|
foreach(index, selectedIndexes){
|
||||||
if(index.column() == NAME){
|
if(index.column() == NAME){
|
||||||
// Get Item url
|
// Get Item url
|
||||||
QString url = searchResultsUrls.value(index.data().toString());
|
QString url = searchResultsUrls.value(index.data().toString());
|
||||||
BTSession->downloadFromUrl(url);
|
BTSession->downloadFromUrl(url);
|
||||||
SearchTab::all_tab->at(tabWidget->currentIndex())->setRowColor(index.row(), "red");
|
all_tab->at(tabWidget->currentIndex())->setRowColor(index.row(), "red");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,6 +56,7 @@ class SearchEngine : public QWidget, public Ui::search_engine{
|
|||||||
QStringList enabled_engines;
|
QStringList enabled_engines;
|
||||||
QTimer *searchTimeout;
|
QTimer *searchTimeout;
|
||||||
SearchTab *tab_search;
|
SearchTab *tab_search;
|
||||||
|
QList<SearchTab*> *all_tab; // To store all tabs
|
||||||
public:
|
public:
|
||||||
SearchEngine(bittorrent *BTSession, QSystemTrayIcon *myTrayIcon, bool systrayIntegration);
|
SearchEngine(bittorrent *BTSession, QSystemTrayIcon *myTrayIcon, bool systrayIntegration);
|
||||||
~SearchEngine();
|
~SearchEngine();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user