Mark constructors as explicit

This commit is contained in:
Chocobo1 2018-12-16 15:51:36 +08:00
parent 94998b5da0
commit 2a84345835
No known key found for this signature in database
GPG key ID: 210D9C873253A68C
16 changed files with 61 additions and 53 deletions

View file

@ -55,7 +55,7 @@ namespace
class Option
{
protected:
constexpr Option(const char *name, char shortcut = 0)
explicit constexpr Option(const char *name, char shortcut = 0)
: m_name {name}
, m_shortcut {shortcut}
{
@ -102,7 +102,7 @@ namespace
class BoolOption : protected Option
{
public:
constexpr BoolOption(const char *name, char shortcut = 0)
explicit constexpr BoolOption(const char *name, char shortcut = 0)
: Option {name, shortcut}
{
}
@ -139,7 +139,7 @@ namespace
struct StringOption : protected Option
{
public:
constexpr StringOption(const char *name)
explicit constexpr StringOption(const char *name)
: Option {name, 0}
{
}
@ -186,7 +186,7 @@ namespace
class IntOption : protected StringOption
{
public:
constexpr IntOption(const char *name)
explicit constexpr IntOption(const char *name)
: StringOption {name}
{
}
@ -305,25 +305,25 @@ namespace
return o == s;
}
constexpr const BoolOption SHOW_HELP_OPTION = {"help", 'h'};
constexpr const BoolOption SHOW_VERSION_OPTION = {"version", 'v'};
constexpr const BoolOption SHOW_HELP_OPTION {"help", 'h'};
constexpr const BoolOption SHOW_VERSION_OPTION {"version", 'v'};
#ifdef DISABLE_GUI
constexpr const BoolOption DAEMON_OPTION = {"daemon", 'd'};
constexpr const BoolOption DAEMON_OPTION {"daemon", 'd'};
#else
constexpr const BoolOption NO_SPLASH_OPTION = {"no-splash"};
constexpr const BoolOption NO_SPLASH_OPTION {"no-splash"};
#endif
constexpr const IntOption WEBUI_PORT_OPTION = {"webui-port"};
constexpr const StringOption PROFILE_OPTION = {"profile"};
constexpr const StringOption CONFIGURATION_OPTION = {"configuration"};
constexpr const BoolOption PORTABLE_OPTION = {"portable"};
constexpr const BoolOption RELATIVE_FASTRESUME = {"relative-fastresume"};
constexpr const StringOption SAVE_PATH_OPTION = {"save-path"};
constexpr const TriStateBoolOption PAUSED_OPTION = {"add-paused", true};
constexpr const BoolOption SKIP_HASH_CHECK_OPTION = {"skip-hash-check"};
constexpr const StringOption CATEGORY_OPTION = {"category"};
constexpr const BoolOption SEQUENTIAL_OPTION = {"sequential"};
constexpr const BoolOption FIRST_AND_LAST_OPTION = {"first-and-last"};
constexpr const TriStateBoolOption SKIP_DIALOG_OPTION = {"skip-dialog", true};
constexpr const IntOption WEBUI_PORT_OPTION {"webui-port"};
constexpr const StringOption PROFILE_OPTION {"profile"};
constexpr const StringOption CONFIGURATION_OPTION {"configuration"};
constexpr const BoolOption PORTABLE_OPTION {"portable"};
constexpr const BoolOption RELATIVE_FASTRESUME {"relative-fastresume"};
constexpr const StringOption SAVE_PATH_OPTION {"save-path"};
constexpr const TriStateBoolOption PAUSED_OPTION {"add-paused", true};
constexpr const BoolOption SKIP_HASH_CHECK_OPTION {"skip-hash-check"};
constexpr const StringOption CATEGORY_OPTION {"category"};
constexpr const BoolOption SEQUENTIAL_OPTION {"sequential"};
constexpr const BoolOption FIRST_AND_LAST_OPTION {"first-and-last"};
constexpr const TriStateBoolOption SKIP_DIALOG_OPTION {"skip-dialog", true};
}
QBtCommandLineParameters::QBtCommandLineParameters(const QProcessEnvironment &env)

View file

@ -56,14 +56,14 @@ struct QBtCommandLineParameters
QStringList torrents;
QString profileDir, configurationName, savePath, category, unknownParameter;
QBtCommandLineParameters(const QProcessEnvironment&);
explicit QBtCommandLineParameters(const QProcessEnvironment&);
QStringList paramList() const;
};
class CommandLineParameterError : public std::runtime_error
{
public:
CommandLineParameterError(const QString &messageForUser);
explicit CommandLineParameterError(const QString &messageForUser);
const QString &messageForUser() const;
private:

View file

@ -15,7 +15,7 @@ class Statistics : public QObject
Q_DISABLE_COPY(Statistics)
public:
Statistics(BitTorrent::Session *session);
explicit Statistics(BitTorrent::Session *session);
~Statistics();
quint64 getAlltimeDL() const;

View file

@ -1847,14 +1847,15 @@ void Session::handleDownloadFailed(const QString &url, const QString &reason)
void Session::handleRedirectedToMagnet(const QString &url, const QString &magnetUri)
{
addTorrent_impl(m_downloadedTorrents.take(url), MagnetUri(magnetUri));
addTorrent_impl(CreateTorrentParams(m_downloadedTorrents.take(url)), MagnetUri(magnetUri));
}
// Add to BitTorrent session the downloaded torrent file
void Session::handleDownloadFinished(const QString &url, const QByteArray &data)
{
emit downloadFromUrlFinished(url);
addTorrent_impl(m_downloadedTorrents.take(url), MagnetUri(), TorrentInfo::load(data));
addTorrent_impl(CreateTorrentParams(m_downloadedTorrents.take(url))
, MagnetUri(), TorrentInfo::load(data));
}
// Return the torrent handle, given its hash
@ -2094,7 +2095,7 @@ bool Session::addTorrent(QString source, const AddTorrentParams &params)
{
MagnetUri magnetUri(source);
if (magnetUri.isValid())
return addTorrent_impl(params, magnetUri);
return addTorrent_impl(CreateTorrentParams(params), magnetUri);
if (Utils::Misc::isUrl(source)) {
LogMsg(tr("Downloading '%1', please wait...", "e.g: Downloading 'xxx.torrent', please wait...").arg(source));
@ -2110,7 +2111,8 @@ bool Session::addTorrent(QString source, const AddTorrentParams &params)
}
TorrentFileGuard guard(source);
if (addTorrent_impl(params, MagnetUri(), TorrentInfo::loadFromFile(source))) {
if (addTorrent_impl(CreateTorrentParams(params)
, MagnetUri(), TorrentInfo::loadFromFile(source))) {
guard.markAsAddedToSession();
return true;
}
@ -2122,7 +2124,7 @@ bool Session::addTorrent(const TorrentInfo &torrentInfo, const AddTorrentParams
{
if (!torrentInfo.isValid()) return false;
return addTorrent_impl(params, MagnetUri(), torrentInfo);
return addTorrent_impl(CreateTorrentParams(params), MagnetUri(), torrentInfo);
}
// Add a torrent to the BitTorrent session
@ -4280,23 +4282,27 @@ void Session::handleAddTorrentAlert(libt::add_torrent_alert *p)
void Session::handleTorrentRemovedAlert(libt::torrent_removed_alert *p)
{
if (m_loadedMetadata.contains(p->info_hash))
emit metadataLoaded(m_loadedMetadata.take(p->info_hash));
const InfoHash infoHash {p->info_hash};
if (m_removingTorrents.contains(p->info_hash)) {
const RemovingTorrentData tmpRemovingTorrentData = m_removingTorrents[p->info_hash];
if (m_loadedMetadata.contains(infoHash))
emit metadataLoaded(m_loadedMetadata.take(infoHash));
if (m_removingTorrents.contains(infoHash)) {
const RemovingTorrentData tmpRemovingTorrentData = m_removingTorrents[infoHash];
if (!tmpRemovingTorrentData.requestedFileDeletion) {
LogMsg(tr("'%1' was removed from the transfer list.", "'xxx.avi' was removed...").arg(tmpRemovingTorrentData.name));
m_removingTorrents.remove(p->info_hash);
m_removingTorrents.remove(infoHash);
}
}
}
void Session::handleTorrentDeletedAlert(libt::torrent_deleted_alert *p)
{
if (!m_removingTorrents.contains(p->info_hash))
const InfoHash infoHash {p->info_hash};
if (!m_removingTorrents.contains(infoHash))
return;
const RemovingTorrentData tmpRemovingTorrentData = m_removingTorrents.take(p->info_hash);
const RemovingTorrentData tmpRemovingTorrentData = m_removingTorrents.take(infoHash);
Utils::Fs::smartRemoveEmptyFolderTree(tmpRemovingTorrentData.savePathToRemove);
LogMsg(tr("'%1' was removed from the transfer list and hard disk.", "'xxx.avi' was removed...").arg(tmpRemovingTorrentData.name));
@ -4304,9 +4310,11 @@ void Session::handleTorrentDeletedAlert(libt::torrent_deleted_alert *p)
void Session::handleTorrentDeleteFailedAlert(libt::torrent_delete_failed_alert *p)
{
if (!m_removingTorrents.contains(p->info_hash))
const InfoHash infoHash {p->info_hash};
if (!m_removingTorrents.contains(infoHash))
return;
const RemovingTorrentData tmpRemovingTorrentData = m_removingTorrents.take(p->info_hash);
const RemovingTorrentData tmpRemovingTorrentData = m_removingTorrents.take(infoHash);
// libtorrent won't delete the directory if it contains files not listed in the torrent,
// so we remove the directory ourselves
Utils::Fs::smartRemoveEmptyFolderTree(tmpRemovingTorrentData.savePathToRemove);
@ -4318,7 +4326,7 @@ void Session::handleTorrentDeleteFailedAlert(libt::torrent_delete_failed_alert *
void Session::handleMetadataReceivedAlert(libt::metadata_received_alert *p)
{
InfoHash hash = p->handle.info_hash();
const InfoHash hash {p->handle.info_hash()};
if (m_loadedMetadata.contains(hash)) {
--m_extraLimit;

View file

@ -113,7 +113,7 @@ namespace BitTorrent
int seedingTimeLimit;
CreateTorrentParams();
CreateTorrentParams(const AddTorrentParams &params);
explicit CreateTorrentParams(const AddTorrentParams &params);
};
struct TrackerInfo

View file

@ -55,7 +55,7 @@ public:
QString lookup(const QHostAddress &hostAddr) const;
private:
GeoIPDatabase(quint32 size);
explicit GeoIPDatabase(quint32 size);
bool parseMetadata(const QVariantHash &metadata, QString &error);
bool loadDB(QString &error) const;

View file

@ -55,7 +55,7 @@ namespace Private
QString profileName() const;
protected:
Profile(const QString &configurationName);
explicit Profile(const QString &configurationName);
QString configurationSuffix() const;
private:
@ -66,7 +66,7 @@ namespace Private
class DefaultProfile : public Profile
{
public:
DefaultProfile(const QString &configurationName);
explicit DefaultProfile(const QString &configurationName);
QString baseDirectory() const override;
QString cacheLocation() const override;
@ -124,7 +124,7 @@ namespace Private
class Converter : public PathConverter
{
public:
Converter(const QString &basePath);
explicit Converter(const QString &basePath);
QString toPortablePath(const QString &path) const override;
QString fromPortablePath(const QString &portablePath) const override;

View file

@ -131,7 +131,7 @@ void Feed::refresh()
// NOTE: Should we allow manually refreshing for disabled session?
Net::DownloadHandler *handler = Net::DownloadManager::instance()->download({m_url});
Net::DownloadHandler *handler = Net::DownloadManager::instance()->download(m_url);
connect(handler
, static_cast<void (Net::DownloadHandler::*)(const QString &, const QByteArray &)>(&Net::DownloadHandler::downloadFinished)
, this, &Feed::handleDownloadFinished);

View file

@ -46,7 +46,7 @@ namespace
class TransactionalSettings
{
public:
TransactionalSettings(const QString &name)
explicit TransactionalSettings(const QString &name)
: m_name(name)
{
}

View file

@ -38,7 +38,7 @@ template <typename T> class CachedSettingValue;
class FileGuard
{
public:
FileGuard(const QString &path = QString());
explicit FileGuard(const QString &path = QString());
~FileGuard();
/// Cancels or re-enables deferred file deletion
@ -56,7 +56,7 @@ class TorrentFileGuard : private FileGuard
Q_GADGET
public:
TorrentFileGuard(const QString &path = QString());
explicit TorrentFileGuard(const QString &path = QString());
~TorrentFileGuard();
/// marks the torrent file as loaded (added) into the BitTorrent::Session

View file

@ -53,7 +53,7 @@ class PropListDelegate : public QItemDelegate
Q_OBJECT
public:
PropListDelegate(PropertiesWidget *properties);
explicit PropListDelegate(PropertiesWidget *properties);
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
void setEditorData(QWidget *editor, const QModelIndex &index) const override;

View file

@ -59,7 +59,7 @@ class SpeedWidget : public QWidget
Q_OBJECT
public:
SpeedWidget(PropertiesWidget *parent);
explicit SpeedWidget(PropertiesWidget *parent);
~SpeedWidget();
private slots:

View file

@ -63,7 +63,7 @@ public:
COL_COUNT
};
TrackerListWidget(PropertiesWidget *properties);
explicit TrackerListWidget(PropertiesWidget *properties);
~TrackerListWidget();
int visibleColumnsCount() const;

View file

@ -71,7 +71,7 @@ QStringList TrackersAdditionDialog::newTrackers() const
void TrackersAdditionDialog::on_uTorrentListButton_clicked()
{
m_ui->uTorrentListButton->setEnabled(false);
Net::DownloadHandler *handler = Net::DownloadManager::instance()->download({m_ui->lineEditListURL->text()});
Net::DownloadHandler *handler = Net::DownloadManager::instance()->download(m_ui->lineEditListURL->text());
connect(handler, static_cast<void (Net::DownloadHandler::*)(const QString &, const QByteArray &)>(&Net::DownloadHandler::downloadFinished)
, this, &TrackersAdditionDialog::parseUTorrentList);
connect(handler, &Net::DownloadHandler::downloadFailed, this, &TrackersAdditionDialog::getTrackerError);

View file

@ -39,7 +39,7 @@ public:
TorrentContentModelFolder(const QString &name, TorrentContentModelFolder *parent);
// Invisible root item constructor
TorrentContentModelFolder(const QList<QVariant> &data);
explicit TorrentContentModelFolder(const QList<QVariant> &data);
~TorrentContentModelFolder() override;

View file

@ -56,7 +56,7 @@ public:
FolderType
};
TorrentContentModelItem(TorrentContentModelFolder *parent);
explicit TorrentContentModelItem(TorrentContentModelFolder *parent);
virtual ~TorrentContentModelItem();
bool isRootItem() const;