mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-01-02 21:52:32 -06:00
Allow users to specify Python executable path
Closes #19195. PR #19644.
This commit is contained in:
@@ -99,6 +99,7 @@ namespace
|
||||
TRACKER_STATUS,
|
||||
TRACKER_PORT,
|
||||
TRACKER_PORT_FORWARDING,
|
||||
PYTHON_EXECUTABLE_PATH,
|
||||
// libtorrent section
|
||||
LIBTORRENT_HEADER,
|
||||
BDECODE_DEPTH_LIMIT,
|
||||
@@ -316,7 +317,8 @@ void AdvancedSettings::saveAdvancedSettings() const
|
||||
pref->setTrackerPort(m_spinBoxTrackerPort.value());
|
||||
pref->setTrackerPortForwardingEnabled(m_checkBoxTrackerPortForwarding.isChecked());
|
||||
session->setTrackerEnabled(m_checkBoxTrackerStatus.isChecked());
|
||||
|
||||
// Python executable path
|
||||
pref->setPythonExecutablePath(Path(m_pythonExecutablePath.text().trimmed()));
|
||||
// Choking algorithm
|
||||
session->setChokingAlgorithm(m_comboBoxChokingAlgorithm.currentData().value<BitTorrent::ChokingAlgorithm>());
|
||||
// Seed choking algorithm
|
||||
@@ -810,6 +812,10 @@ void AdvancedSettings::loadAdvancedSettings()
|
||||
// Tracker port forwarding
|
||||
m_checkBoxTrackerPortForwarding.setChecked(pref->isTrackerPortForwardingEnabled());
|
||||
addRow(TRACKER_PORT_FORWARDING, tr("Enable port forwarding for embedded tracker"), &m_checkBoxTrackerPortForwarding);
|
||||
// Python executable path
|
||||
m_pythonExecutablePath.setPlaceholderText(tr("(Auto detect if empty)"));
|
||||
m_pythonExecutablePath.setText(pref->getPythonExecutablePath().toString());
|
||||
addRow(PYTHON_EXECUTABLE_PATH, tr("Python executable path (may require restart)"), &m_pythonExecutablePath);
|
||||
// Choking algorithm
|
||||
m_comboBoxChokingAlgorithm.addItem(tr("Fixed slots"), QVariant::fromValue(BitTorrent::ChokingAlgorithm::FixedSlots));
|
||||
m_comboBoxChokingAlgorithm.addItem(tr("Upload rate based"), QVariant::fromValue(BitTorrent::ChokingAlgorithm::RateBased));
|
||||
|
||||
@@ -81,7 +81,7 @@ private:
|
||||
m_checkBoxSuggestMode, m_checkBoxSpeedWidgetEnabled, m_checkBoxIDNSupport;
|
||||
QComboBox m_comboBoxInterface, m_comboBoxInterfaceAddress, m_comboBoxDiskIOReadMode, m_comboBoxDiskIOWriteMode, m_comboBoxUtpMixedMode, m_comboBoxChokingAlgorithm,
|
||||
m_comboBoxSeedChokingAlgorithm, m_comboBoxResumeDataStorage;
|
||||
QLineEdit m_lineEditAnnounceIP, m_lineEditDHTBootstrapNodes;
|
||||
QLineEdit m_pythonExecutablePath, m_lineEditAnnounceIP, m_lineEditDHTBootstrapNodes;
|
||||
|
||||
#ifndef QBT_USES_LIBTORRENT2
|
||||
QSpinBox m_spinBoxCache, m_spinBoxCacheTTL;
|
||||
|
||||
@@ -1635,11 +1635,11 @@ void MainWindow::on_actionRSSReader_triggered()
|
||||
|
||||
void MainWindow::on_actionSearchWidget_triggered()
|
||||
{
|
||||
if (!m_hasPython && m_ui->actionSearchWidget->isChecked())
|
||||
if (m_ui->actionSearchWidget->isChecked())
|
||||
{
|
||||
const Utils::ForeignApps::PythonInfo pyInfo = Utils::ForeignApps::pythonInfo();
|
||||
|
||||
// Not installed
|
||||
// Not found
|
||||
if (!pyInfo.isValid())
|
||||
{
|
||||
m_ui->actionSearchWidget->setChecked(false);
|
||||
@@ -1679,7 +1679,6 @@ void MainWindow::on_actionSearchWidget_triggered()
|
||||
return;
|
||||
}
|
||||
|
||||
m_hasPython = true;
|
||||
m_ui->actionSearchWidget->setChecked(true);
|
||||
Preferences::instance()->setSearchEnabled(true);
|
||||
}
|
||||
|
||||
@@ -233,7 +233,6 @@ private:
|
||||
// Power Management
|
||||
PowerManagement *m_pwr = nullptr;
|
||||
QTimer *m_preventTimer = nullptr;
|
||||
bool m_hasPython = false;
|
||||
QMenu *m_toolbarMenu = nullptr;
|
||||
|
||||
SettingValue<bool> m_storeExecutionLogEnabled;
|
||||
|
||||
Reference in New Issue
Block a user