mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-23 09:47:08 +03:00
Merge pull request #12124 from Chocobo1/rename
Fix crash when renaming torrent contents
This commit is contained in:
commit
92cc2a4f31
5 changed files with 11 additions and 11 deletions
|
@ -640,7 +640,7 @@ void PropertiesWidget::displayFilesListMenu(const QPoint &)
|
||||||
// The selected torrent might have disappeared during exec()
|
// The selected torrent might have disappeared during exec()
|
||||||
// so we just close menu when an appropriate model is reset
|
// so we just close menu when an appropriate model is reset
|
||||||
connect(m_ui->filesList->model(), &QAbstractItemModel::modelAboutToBeReset
|
connect(m_ui->filesList->model(), &QAbstractItemModel::modelAboutToBeReset
|
||||||
, menu, [&menu]()
|
, menu, [menu]()
|
||||||
{
|
{
|
||||||
menu->setActiveAction(nullptr);
|
menu->setActiveAction(nullptr);
|
||||||
menu->close();
|
menu->close();
|
||||||
|
@ -710,7 +710,7 @@ void PropertiesWidget::configure()
|
||||||
|
|
||||||
void PropertiesWidget::askWebSeed()
|
void PropertiesWidget::askWebSeed()
|
||||||
{
|
{
|
||||||
bool ok;
|
bool ok = false;
|
||||||
// Ask user for a new url seed
|
// Ask user for a new url seed
|
||||||
const QString urlSeed = AutoExpandableDialog::getText(this, tr("New URL seed", "New HTTP source"),
|
const QString urlSeed = AutoExpandableDialog::getText(this, tr("New URL seed", "New HTTP source"),
|
||||||
tr("New URL seed:"), QLineEdit::Normal,
|
tr("New URL seed:"), QLineEdit::Normal,
|
||||||
|
|
|
@ -482,7 +482,7 @@ void TrackerListWidget::editSelectedTracker()
|
||||||
// During multi-select only process item selected last
|
// During multi-select only process item selected last
|
||||||
const QUrl trackerURL = selectedTrackerItems.last()->text(COL_URL);
|
const QUrl trackerURL = selectedTrackerItems.last()->text(COL_URL);
|
||||||
|
|
||||||
bool ok;
|
bool ok = false;
|
||||||
const QUrl newTrackerURL = AutoExpandableDialog::getText(this, tr("Tracker editing"), tr("Tracker URL:"),
|
const QUrl newTrackerURL = AutoExpandableDialog::getText(this, tr("Tracker editing"), tr("Tracker URL:"),
|
||||||
QLineEdit::Normal, trackerURL.toString(), &ok).trimmed();
|
QLineEdit::Normal, trackerURL.toString(), &ok).trimmed();
|
||||||
if (!ok) return;
|
if (!ok) return;
|
||||||
|
|
|
@ -216,7 +216,7 @@ void RSSWidget::displayItemsListMenu(const QPoint &)
|
||||||
|
|
||||||
void RSSWidget::askNewFolder()
|
void RSSWidget::askNewFolder()
|
||||||
{
|
{
|
||||||
bool ok;
|
bool ok = false;
|
||||||
QString newName = AutoExpandableDialog::getText(
|
QString newName = AutoExpandableDialog::getText(
|
||||||
this, tr("Please choose a folder name"), tr("Folder name:"), QLineEdit::Normal
|
this, tr("Please choose a folder name"), tr("Folder name:"), QLineEdit::Normal
|
||||||
, tr("New folder"), &ok);
|
, tr("New folder"), &ok);
|
||||||
|
@ -257,7 +257,7 @@ void RSSWidget::on_newFeedButton_clicked()
|
||||||
const QString clipText = qApp->clipboard()->text();
|
const QString clipText = qApp->clipboard()->text();
|
||||||
const QString defaultURL = Net::DownloadManager::hasSupportedScheme(clipText) ? clipText : "http://";
|
const QString defaultURL = Net::DownloadManager::hasSupportedScheme(clipText) ? clipText : "http://";
|
||||||
|
|
||||||
bool ok;
|
bool ok = false;
|
||||||
QString newURL = AutoExpandableDialog::getText(
|
QString newURL = AutoExpandableDialog::getText(
|
||||||
this, tr("Please type a RSS feed URL"), tr("Feed URL:"), QLineEdit::Normal, defaultURL, &ok);
|
this, tr("Please type a RSS feed URL"), tr("Feed URL:"), QLineEdit::Normal, defaultURL, &ok);
|
||||||
if (!ok) return;
|
if (!ok) return;
|
||||||
|
@ -386,7 +386,7 @@ void RSSWidget::renameSelectedRSSItem()
|
||||||
|
|
||||||
RSS::Item *rssItem = m_feedListWidget->getRSSItem(item);
|
RSS::Item *rssItem = m_feedListWidget->getRSSItem(item);
|
||||||
const QString parentPath = RSS::Item::parentPath(rssItem->path());
|
const QString parentPath = RSS::Item::parentPath(rssItem->path());
|
||||||
bool ok;
|
bool ok = false;
|
||||||
do {
|
do {
|
||||||
QString newName = AutoExpandableDialog::getText(
|
QString newName = AutoExpandableDialog::getText(
|
||||||
this, tr("Please choose a new name for this RSS feed"), tr("New feed name:")
|
this, tr("Please choose a new name for this RSS feed"), tr("New feed name:")
|
||||||
|
|
|
@ -94,7 +94,7 @@ void TorrentContentTreeView::renameSelectedFile(BitTorrent::TorrentHandle *torre
|
||||||
const QModelIndexList selectedIndexes = selectionModel()->selectedRows(0);
|
const QModelIndexList selectedIndexes = selectionModel()->selectedRows(0);
|
||||||
if (selectedIndexes.size() != 1) return;
|
if (selectedIndexes.size() != 1) return;
|
||||||
|
|
||||||
const QModelIndex modelIndex = selectedIndexes.first();
|
const QPersistentModelIndex modelIndex = selectedIndexes.first();
|
||||||
if (!modelIndex.isValid()) return;
|
if (!modelIndex.isValid()) return;
|
||||||
|
|
||||||
auto model = dynamic_cast<TorrentContentFilterModel *>(TorrentContentTreeView::model());
|
auto model = dynamic_cast<TorrentContentFilterModel *>(TorrentContentTreeView::model());
|
||||||
|
@ -106,7 +106,7 @@ void TorrentContentTreeView::renameSelectedFile(BitTorrent::TorrentHandle *torre
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
QString newName = AutoExpandableDialog::getText(this, tr("Renaming"), tr("New name:"), QLineEdit::Normal
|
QString newName = AutoExpandableDialog::getText(this, tr("Renaming"), tr("New name:"), QLineEdit::Normal
|
||||||
, modelIndex.data().toString(), &ok, isFile).trimmed();
|
, modelIndex.data().toString(), &ok, isFile).trimmed();
|
||||||
if (!ok) return;
|
if (!ok || !modelIndex.isValid()) return;
|
||||||
|
|
||||||
if (!Utils::Fs::isValidFileSystemName(newName)) {
|
if (!Utils::Fs::isValidFileSystemName(newName)) {
|
||||||
RaisedMessageBox::warning(this, tr("Rename error"),
|
RaisedMessageBox::warning(this, tr("Rename error"),
|
||||||
|
@ -213,7 +213,7 @@ void TorrentContentTreeView::renameSelectedFile(BitTorrent::TorrentInfo &torrent
|
||||||
const QModelIndexList selectedIndexes = selectionModel()->selectedRows(0);
|
const QModelIndexList selectedIndexes = selectionModel()->selectedRows(0);
|
||||||
if (selectedIndexes.size() != 1) return;
|
if (selectedIndexes.size() != 1) return;
|
||||||
|
|
||||||
const QModelIndex modelIndex = selectedIndexes.first();
|
const QPersistentModelIndex modelIndex = selectedIndexes.first();
|
||||||
if (!modelIndex.isValid()) return;
|
if (!modelIndex.isValid()) return;
|
||||||
|
|
||||||
auto model = dynamic_cast<TorrentContentFilterModel *>(TorrentContentTreeView::model());
|
auto model = dynamic_cast<TorrentContentFilterModel *>(TorrentContentTreeView::model());
|
||||||
|
@ -225,7 +225,7 @@ void TorrentContentTreeView::renameSelectedFile(BitTorrent::TorrentInfo &torrent
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
QString newName = AutoExpandableDialog::getText(this, tr("Renaming"), tr("New name:"), QLineEdit::Normal
|
QString newName = AutoExpandableDialog::getText(this, tr("Renaming"), tr("New name:"), QLineEdit::Normal
|
||||||
, modelIndex.data().toString(), &ok, isFile).trimmed();
|
, modelIndex.data().toString(), &ok, isFile).trimmed();
|
||||||
if (!ok) return;
|
if (!ok || !modelIndex.isValid()) return;
|
||||||
|
|
||||||
if (!Utils::Fs::isValidFileSystemName(newName)) {
|
if (!Utils::Fs::isValidFileSystemName(newName)) {
|
||||||
RaisedMessageBox::warning(this, tr("Rename error"),
|
RaisedMessageBox::warning(this, tr("Rename error"),
|
||||||
|
|
|
@ -1003,7 +1003,7 @@ void TransferListWidget::renameSelectedTorrent()
|
||||||
if (!torrent) return;
|
if (!torrent) return;
|
||||||
|
|
||||||
// Ask for a new Name
|
// Ask for a new Name
|
||||||
bool ok;
|
bool ok = false;
|
||||||
QString name = AutoExpandableDialog::getText(this, tr("Rename"), tr("New name:"), QLineEdit::Normal, torrent->name(), &ok);
|
QString name = AutoExpandableDialog::getText(this, tr("Rename"), tr("New name:"), QLineEdit::Normal, torrent->name(), &ok);
|
||||||
if (ok && !name.isEmpty()) {
|
if (ok && !name.isEmpty()) {
|
||||||
name.replace(QRegularExpression("\r?\n|\r"), " ");
|
name.replace(QRegularExpression("\r?\n|\r"), " ");
|
||||||
|
|
Loading…
Reference in a new issue