diff --git a/src/gui/addnewtorrentdialog.cpp b/src/gui/addnewtorrentdialog.cpp
index 7b553e091ae7..ebdba875c16a 100644
--- a/src/gui/addnewtorrentdialog.cpp
+++ b/src/gui/addnewtorrentdialog.cpp
@@ -373,7 +373,7 @@ AddNewTorrentDialog::AddNewTorrentDialog(const BitTorrent::TorrentDescriptor &to
});
dlg->open();
});
- connect(m_filterLine, &LineEdit::textChanged, this, &AddNewTorrentDialog::setContentFilterPattern);
+ connect(m_filterLine, &LineEdit::textUpdated, this, &AddNewTorrentDialog::setContentFilterPattern);
connect(m_ui->buttonSelectAll, &QPushButton::clicked, m_ui->contentTreeView, &TorrentContentWidget::checkAll);
connect(m_ui->buttonSelectNone, &QPushButton::clicked, m_ui->contentTreeView, &TorrentContentWidget::checkNone);
connect(Preferences::instance(), &Preferences::changed, this, []
diff --git a/src/gui/addnewtorrentdialog.ui b/src/gui/addnewtorrentdialog.ui
index 7e17af2d6453..dc606b667bbf 100644
--- a/src/gui/addnewtorrentdialog.ui
+++ b/src/gui/addnewtorrentdialog.ui
@@ -484,7 +484,7 @@
true
- Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse
+ Qt::TextInteractionFlag::LinksAccessibleByKeyboard|Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse
diff --git a/src/gui/lineedit.cpp b/src/gui/lineedit.cpp
index 08a5aeea58f2..0a11d2e794f0 100644
--- a/src/gui/lineedit.cpp
+++ b/src/gui/lineedit.cpp
@@ -58,7 +58,7 @@ LineEdit::LineEdit(QWidget *parent)
m_delayedTextChangedTimer->setSingleShot(true);
connect(m_delayedTextChangedTimer, &QTimer::timeout, this, [this]
{
- emit textChanged(text());
+ emit textUpdated(text());
});
connect(this, &QLineEdit::textChanged, this, [this]
{
diff --git a/src/gui/lineedit.h b/src/gui/lineedit.h
index 459740f86946..7613c282f261 100644
--- a/src/gui/lineedit.h
+++ b/src/gui/lineedit.h
@@ -43,7 +43,7 @@ class LineEdit final : public QLineEdit
explicit LineEdit(QWidget *parent = nullptr);
signals:
- void textChanged(const QString &text);
+ void textUpdated(const QString &text);
private:
void keyPressEvent(QKeyEvent *event) override;
diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp
index aba2f953c207..681d8a54edbf 100644
--- a/src/gui/mainwindow.cpp
+++ b/src/gui/mainwindow.cpp
@@ -271,7 +271,7 @@ MainWindow::MainWindow(IGUIApplication *app, const WindowState initialState, con
m_columnFilterComboBox->addItem(typeName, type);
}
connect(m_columnFilterComboBox, &QComboBox::currentIndexChanged, this, &MainWindow::applyTransferListFilter);
- connect(m_columnFilterEdit, &LineEdit::textChanged, this, &MainWindow::applyTransferListFilter);
+ connect(m_columnFilterEdit, &LineEdit::textUpdated, this, &MainWindow::applyTransferListFilter);
connect(hSplitter, &QSplitter::splitterMoved, this, &MainWindow::saveSettings);
connect(m_splitter, &QSplitter::splitterMoved, this, &MainWindow::saveSplitterSettings);
diff --git a/src/gui/properties/propertieswidget.cpp b/src/gui/properties/propertieswidget.cpp
index a885b1cff6dd..15640f40ff82 100644
--- a/src/gui/properties/propertieswidget.cpp
+++ b/src/gui/properties/propertieswidget.cpp
@@ -83,7 +83,7 @@ PropertiesWidget::PropertiesWidget(QWidget *parent)
m_contentFilterLine->setFixedWidth(300);
m_contentFilterLine->setContextMenuPolicy(Qt::CustomContextMenu);
connect(m_contentFilterLine, &QWidget::customContextMenuRequested, this, &PropertiesWidget::showContentFilterContextMenu);
- connect(m_contentFilterLine, &LineEdit::textChanged, this, &PropertiesWidget::setContentFilterPattern);
+ connect(m_contentFilterLine, &LineEdit::textUpdated, this, &PropertiesWidget::setContentFilterPattern);
m_ui->contentFilterLayout->insertWidget(3, m_contentFilterLine);
m_ui->filesList->setContentDragAllowed(true);
diff --git a/src/gui/search/searchjobwidget.cpp b/src/gui/search/searchjobwidget.cpp
index a77561b693d0..ad11e6a52053 100644
--- a/src/gui/search/searchjobwidget.cpp
+++ b/src/gui/search/searchjobwidget.cpp
@@ -169,7 +169,7 @@ SearchJobWidget::SearchJobWidget(const QString &id, IGUIApplication *app, QWidge
m_lineEditSearchResultsFilter->setPlaceholderText(tr("Filter search results..."));
m_lineEditSearchResultsFilter->setContextMenuPolicy(Qt::CustomContextMenu);
connect(m_lineEditSearchResultsFilter, &QWidget::customContextMenuRequested, this, &SearchJobWidget::showFilterContextMenu);
- connect(m_lineEditSearchResultsFilter, &LineEdit::textChanged, this, &SearchJobWidget::filterSearchResults);
+ connect(m_lineEditSearchResultsFilter, &LineEdit::textUpdated, this, &SearchJobWidget::filterSearchResults);
m_ui->horizontalLayout->insertWidget(0, m_lineEditSearchResultsFilter);
connect(m_ui->filterMode, qOverload(&QComboBox::currentIndexChanged), this, &SearchJobWidget::updateNameFilter);
diff --git a/src/gui/torrentcreatordialog.cpp b/src/gui/torrentcreatordialog.cpp
index 15f86034d867..1c5da261767d 100644
--- a/src/gui/torrentcreatordialog.cpp
+++ b/src/gui/torrentcreatordialog.cpp
@@ -39,6 +39,7 @@
#include
#include
#include
+#include
#include
#include "base/bittorrent/session.h"
@@ -99,7 +100,7 @@ namespace
TorrentCreatorDialog::TorrentCreatorDialog(QWidget *parent, const Path &defaultPath)
: QDialog(parent)
, m_ui(new Ui::TorrentCreatorDialog)
- , m_threadPool(this)
+ , m_threadPool {new QThreadPool(this)}
, m_storeDialogSize(SETTINGS_KEY(u"Size"_s))
, m_storePieceSize(SETTINGS_KEY(u"PieceSize"_s))
, m_storePrivateTorrent(SETTINGS_KEY(u"PrivateTorrent"_s))
@@ -141,8 +142,8 @@ TorrentCreatorDialog::TorrentCreatorDialog(QWidget *parent, const Path &defaultP
loadSettings();
updateInputPath(defaultPath);
- m_threadPool.setMaxThreadCount(1);
- m_threadPool.setObjectName("TorrentCreatorDialog m_threadPool");
+ m_threadPool->setMaxThreadCount(1);
+ m_threadPool->setObjectName("TorrentCreatorDialog m_threadPool");
#ifdef QBT_USES_LIBTORRENT2
m_ui->checkOptimizeAlignment->hide();
@@ -155,6 +156,7 @@ TorrentCreatorDialog::~TorrentCreatorDialog()
{
saveSettings();
+ delete m_threadPool;
delete m_ui;
}
@@ -321,7 +323,7 @@ void TorrentCreatorDialog::onCreateButtonClicked()
connect(torrentCreator, &BitTorrent::TorrentCreator::progressUpdated, this, &TorrentCreatorDialog::updateProgressBar);
// run the torrentCreator in a thread
- m_threadPool.start(torrentCreator);
+ m_threadPool->start(torrentCreator);
}
void TorrentCreatorDialog::handleCreationFailure(const QString &msg)
@@ -371,7 +373,7 @@ void TorrentCreatorDialog::handleCreationSuccess(const BitTorrent::TorrentCreato
}
}
-void TorrentCreatorDialog::updateProgressBar(int progress)
+void TorrentCreatorDialog::updateProgressBar(const int progress)
{
m_ui->progressBar->setValue(progress);
}
diff --git a/src/gui/torrentcreatordialog.h b/src/gui/torrentcreatordialog.h
index bca27b2765f6..80c1f658448e 100644
--- a/src/gui/torrentcreatordialog.h
+++ b/src/gui/torrentcreatordialog.h
@@ -31,11 +31,12 @@
#pragma once
#include
-#include
#include "base/path.h"
#include "base/settingvalue.h"
+class QThreadPool;
+
namespace BitTorrent
{
enum class TorrentFormat;
@@ -82,7 +83,7 @@ private slots:
#endif
Ui::TorrentCreatorDialog *m_ui = nullptr;
- QThreadPool m_threadPool;
+ QThreadPool *m_threadPool = nullptr;
// settings
SettingValue m_storeDialogSize;
diff --git a/src/gui/uithememanager.cpp b/src/gui/uithememanager.cpp
index c79ccfec0359..73571961f493 100644
--- a/src/gui/uithememanager.cpp
+++ b/src/gui/uithememanager.cpp
@@ -55,7 +55,7 @@ namespace
Path resolveThemePath(const Path &themePath)
{
- return (themePath.isAbsolute() ? themePath : (Profile::instance()->rootPath() / themePath));
+ return (themePath.isAbsolute() ? themePath : (Profile::instance()->location(SpecialFolder::Config) / themePath));
}
}