mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-19 06:57:24 -06:00
Provide correct error description in "upload mode"
This commit is contained in:
committed by
Vladimir Golovnev
parent
063844ed44
commit
33e090cfcb
@@ -4736,8 +4736,9 @@ void Session::handleFileErrorAlert(const lt::file_error_alert *p)
|
|||||||
if (!torrent)
|
if (!torrent)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const TorrentID id = torrent->id();
|
torrent->handleAlert(p);
|
||||||
|
|
||||||
|
const TorrentID id = torrent->id();
|
||||||
if (!m_recentErroredTorrents.contains(id))
|
if (!m_recentErroredTorrents.contains(id))
|
||||||
{
|
{
|
||||||
m_recentErroredTorrents.insert(id);
|
m_recentErroredTorrents.insert(id);
|
||||||
|
|||||||
@@ -970,7 +970,13 @@ QString TorrentImpl::error() const
|
|||||||
return QString::fromStdString(m_nativeStatus.errc.message());
|
return QString::fromStdString(m_nativeStatus.errc.message());
|
||||||
|
|
||||||
if (m_nativeStatus.flags & lt::torrent_flags::upload_mode)
|
if (m_nativeStatus.flags & lt::torrent_flags::upload_mode)
|
||||||
return tr("There's not enough space on disk. Torrent is currently in \"upload only\" mode.");
|
{
|
||||||
|
const QString writeErrorStr = tr("Couldn't write to file.");
|
||||||
|
const QString uploadModeStr = tr("Torrent is currently in \"upload only\" mode.");
|
||||||
|
const QString errorMessage = QString::fromLocal8Bit(m_lastFileError.error.message().c_str());
|
||||||
|
|
||||||
|
return writeErrorStr + QLatin1Char(' ') + errorMessage + QLatin1String(". ") + uploadModeStr;
|
||||||
|
}
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
@@ -1887,6 +1893,11 @@ void TorrentImpl::handleFileCompletedAlert(const lt::file_completed_alert *p)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TorrentImpl::handleFileErrorAlert(const lt::file_error_alert *p)
|
||||||
|
{
|
||||||
|
m_lastFileError = {p->error, p->op};
|
||||||
|
}
|
||||||
|
|
||||||
void TorrentImpl::handleMetadataReceivedAlert(const lt::metadata_received_alert *p)
|
void TorrentImpl::handleMetadataReceivedAlert(const lt::metadata_received_alert *p)
|
||||||
{
|
{
|
||||||
Q_UNUSED(p);
|
Q_UNUSED(p);
|
||||||
@@ -1933,6 +1944,9 @@ void TorrentImpl::handleAlert(const lt::alert *a)
|
|||||||
case lt::file_completed_alert::alert_type:
|
case lt::file_completed_alert::alert_type:
|
||||||
handleFileCompletedAlert(static_cast<const lt::file_completed_alert*>(a));
|
handleFileCompletedAlert(static_cast<const lt::file_completed_alert*>(a));
|
||||||
break;
|
break;
|
||||||
|
case lt::file_error_alert::alert_type:
|
||||||
|
handleFileErrorAlert(static_cast<const lt::file_error_alert*>(a));
|
||||||
|
break;
|
||||||
case lt::torrent_finished_alert::alert_type:
|
case lt::torrent_finished_alert::alert_type:
|
||||||
handleTorrentFinishedAlert(static_cast<const lt::torrent_finished_alert*>(a));
|
handleTorrentFinishedAlert(static_cast<const lt::torrent_finished_alert*>(a));
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -86,6 +86,12 @@ namespace BitTorrent
|
|||||||
HandleMetadata
|
HandleMetadata
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct FileErrorInfo
|
||||||
|
{
|
||||||
|
lt::error_code error;
|
||||||
|
lt::operation_t operation;
|
||||||
|
};
|
||||||
|
|
||||||
class TorrentImpl final : public QObject, public Torrent
|
class TorrentImpl final : public QObject, public Torrent
|
||||||
{
|
{
|
||||||
Q_DISABLE_COPY(TorrentImpl)
|
Q_DISABLE_COPY(TorrentImpl)
|
||||||
@@ -264,6 +270,7 @@ namespace BitTorrent
|
|||||||
|
|
||||||
void handleFastResumeRejectedAlert(const lt::fastresume_rejected_alert *p);
|
void handleFastResumeRejectedAlert(const lt::fastresume_rejected_alert *p);
|
||||||
void handleFileCompletedAlert(const lt::file_completed_alert *p);
|
void handleFileCompletedAlert(const lt::file_completed_alert *p);
|
||||||
|
void handleFileErrorAlert(const lt::file_error_alert *p);
|
||||||
void handleFileRenamedAlert(const lt::file_renamed_alert *p);
|
void handleFileRenamedAlert(const lt::file_renamed_alert *p);
|
||||||
void handleFileRenameFailedAlert(const lt::file_rename_failed_alert *p);
|
void handleFileRenameFailedAlert(const lt::file_rename_failed_alert *p);
|
||||||
void handleMetadataReceivedAlert(const lt::metadata_received_alert *p);
|
void handleMetadataReceivedAlert(const lt::metadata_received_alert *p);
|
||||||
@@ -315,6 +322,7 @@ namespace BitTorrent
|
|||||||
QHash<lt::file_index_t, QVector<QString>> m_oldPath;
|
QHash<lt::file_index_t, QVector<QString>> m_oldPath;
|
||||||
|
|
||||||
QHash<QString, TrackerInfo> m_trackerInfos;
|
QHash<QString, TrackerInfo> m_trackerInfos;
|
||||||
|
FileErrorInfo m_lastFileError;
|
||||||
|
|
||||||
// Persistent data
|
// Persistent data
|
||||||
QString m_name;
|
QString m_name;
|
||||||
|
|||||||
Reference in New Issue
Block a user