mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-11 07:18:08 +00:00
Merge pull request #7110 from Chocobo1/plugin_signal
Fix crash when exiting qbt with search plugin update dialog open
This commit is contained in:
commit
5bc3b0138e
@ -141,6 +141,8 @@ void SearchEngine::enablePlugin(const QString &name, bool enabled)
|
|||||||
else if (!disabledPlugins.contains(name))
|
else if (!disabledPlugins.contains(name))
|
||||||
disabledPlugins.append(name);
|
disabledPlugins.append(name);
|
||||||
pref->setSearchEngDisabled(disabledPlugins);
|
pref->setSearchEngDisabled(disabledPlugins);
|
||||||
|
|
||||||
|
emit pluginEnabled(name, enabled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -239,6 +241,7 @@ bool SearchEngine::uninstallPlugin(const QString &name)
|
|||||||
// Remove it from supported engines
|
// Remove it from supported engines
|
||||||
delete m_plugins.take(name);
|
delete m_plugins.take(name);
|
||||||
|
|
||||||
|
emit pluginUninstalled(name);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,8 +103,10 @@ signals:
|
|||||||
void searchFailed();
|
void searchFailed();
|
||||||
void newSearchResults(const QList<SearchResult> &results);
|
void newSearchResults(const QList<SearchResult> &results);
|
||||||
|
|
||||||
|
void pluginEnabled(const QString &name, bool enabled);
|
||||||
void pluginInstalled(const QString &name);
|
void pluginInstalled(const QString &name);
|
||||||
void pluginInstallationFailed(const QString &name, const QString &reason);
|
void pluginInstallationFailed(const QString &name, const QString &reason);
|
||||||
|
void pluginUninstalled(const QString &name);
|
||||||
void pluginUpdated(const QString &name);
|
void pluginUpdated(const QString &name);
|
||||||
void pluginUpdateFailed(const QString &name, const QString &reason);
|
void pluginUpdateFailed(const QString &name, const QString &reason);
|
||||||
|
|
||||||
|
@ -311,7 +311,7 @@ MainWindow::MainWindow(QWidget *parent)
|
|||||||
connect(m_ui->actionDecreasePriority, &QAction::triggered, m_transferListWidget, &TransferListWidget::decreasePrioSelectedTorrents);
|
connect(m_ui->actionDecreasePriority, &QAction::triggered, m_transferListWidget, &TransferListWidget::decreasePrioSelectedTorrents);
|
||||||
connect(m_ui->actionBottomPriority, &QAction::triggered, m_transferListWidget, &TransferListWidget::bottomPrioSelectedTorrents);
|
connect(m_ui->actionBottomPriority, &QAction::triggered, m_transferListWidget, &TransferListWidget::bottomPrioSelectedTorrents);
|
||||||
#ifndef Q_OS_MAC
|
#ifndef Q_OS_MAC
|
||||||
connect(m_ui->actionToggleVisibility, &QAction::triggered, [this](){ toggleVisibility(); });
|
connect(m_ui->actionToggleVisibility, &QAction::triggered, this, [this]() { toggleVisibility(); });
|
||||||
#endif
|
#endif
|
||||||
connect(m_ui->actionMinimize, &QAction::triggered, this, &MainWindow::minimizeWindow);
|
connect(m_ui->actionMinimize, &QAction::triggered, this, &MainWindow::minimizeWindow);
|
||||||
connect(m_ui->actionUseAlternativeSpeedLimits, &QAction::triggered, this, &MainWindow::toggleAlternativeSpeeds);
|
connect(m_ui->actionUseAlternativeSpeedLimits, &QAction::triggered, this, &MainWindow::toggleAlternativeSpeeds);
|
||||||
|
@ -103,7 +103,6 @@ PluginSelectDlg::PluginSelectDlg(SearchEngine *pluginManager, QWidget *parent)
|
|||||||
|
|
||||||
PluginSelectDlg::~PluginSelectDlg()
|
PluginSelectDlg::~PluginSelectDlg()
|
||||||
{
|
{
|
||||||
emit pluginsChanged();
|
|
||||||
delete m_ui;
|
delete m_ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,7 +460,6 @@ void PluginSelectDlg::pluginUpdated(const QString &name)
|
|||||||
item->setText(PLUGIN_VERSION, version);
|
item->setText(PLUGIN_VERSION, version);
|
||||||
m_updatedPlugins.append(name);
|
m_updatedPlugins.append(name);
|
||||||
finishPluginUpdate();
|
finishPluginUpdate();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PluginSelectDlg::pluginUpdateFailed(const QString &name, const QString &reason)
|
void PluginSelectDlg::pluginUpdateFailed(const QString &name, const QString &reason)
|
||||||
|
@ -56,9 +56,6 @@ public:
|
|||||||
QList<QTreeWidgetItem*> findItemsWithUrl(QString url);
|
QList<QTreeWidgetItem*> findItemsWithUrl(QString url);
|
||||||
QTreeWidgetItem* findItemWithID(QString id);
|
QTreeWidgetItem* findItemWithID(QString id);
|
||||||
|
|
||||||
signals:
|
|
||||||
void pluginsChanged();
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void dropEvent(QDropEvent *event);
|
void dropEvent(QDropEvent *event);
|
||||||
void dragEnterEvent(QDragEnterEvent *event);
|
void dragEnterEvent(QDragEnterEvent *event);
|
||||||
|
@ -121,11 +121,19 @@ SearchWidget::SearchWidget(MainWindow *mainWindow)
|
|||||||
connect(m_searchEngine, &SearchEngine::searchFailed, this, &SearchWidget::searchFailed);
|
connect(m_searchEngine, &SearchEngine::searchFailed, this, &SearchWidget::searchFailed);
|
||||||
connect(m_searchEngine, &SearchEngine::torrentFileDownloaded, this, &SearchWidget::addTorrentToSession);
|
connect(m_searchEngine, &SearchEngine::torrentFileDownloaded, this, &SearchWidget::addTorrentToSession);
|
||||||
|
|
||||||
// Fill in category combobox
|
const auto onPluginChanged = [this]()
|
||||||
fillCatCombobox();
|
{
|
||||||
fillPluginComboBox();
|
fillCatCombobox();
|
||||||
|
fillPluginComboBox();
|
||||||
|
selectActivePage();
|
||||||
|
};
|
||||||
|
connect(m_searchEngine, &SearchEngine::pluginInstalled, this, onPluginChanged);
|
||||||
|
connect(m_searchEngine, &SearchEngine::pluginUninstalled, this, onPluginChanged);
|
||||||
|
connect(m_searchEngine, &SearchEngine::pluginUpdated, this, onPluginChanged);
|
||||||
|
connect(m_searchEngine, &SearchEngine::pluginEnabled, this, onPluginChanged);
|
||||||
|
|
||||||
selectActivePage();
|
// Fill in category combobox
|
||||||
|
onPluginChanged();
|
||||||
|
|
||||||
connect(m_ui->m_searchPattern, &LineEdit::returnPressed, m_ui->searchButton, &QPushButton::click);
|
connect(m_ui->m_searchPattern, &LineEdit::returnPressed, m_ui->searchButton, &QPushButton::click);
|
||||||
connect(m_ui->m_searchPattern, &LineEdit::textEdited, this, &SearchWidget::searchTextEdited);
|
connect(m_ui->m_searchPattern, &LineEdit::textEdited, this, &SearchWidget::searchTextEdited);
|
||||||
@ -248,10 +256,7 @@ void SearchWidget::addTorrentToSession(const QString &source)
|
|||||||
|
|
||||||
void SearchWidget::on_pluginsButton_clicked()
|
void SearchWidget::on_pluginsButton_clicked()
|
||||||
{
|
{
|
||||||
PluginSelectDlg *dlg = new PluginSelectDlg(m_searchEngine, this);
|
new PluginSelectDlg(m_searchEngine, this);
|
||||||
connect(dlg, &PluginSelectDlg::pluginsChanged, this, &SearchWidget::fillCatCombobox);
|
|
||||||
connect(dlg, &PluginSelectDlg::pluginsChanged, this, &SearchWidget::fillPluginComboBox);
|
|
||||||
connect(dlg, &PluginSelectDlg::pluginsChanged, this, &SearchWidget::selectActivePage);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SearchWidget::searchTextEdited(QString)
|
void SearchWidget::searchTextEdited(QString)
|
||||||
|
Loading…
Reference in New Issue
Block a user