Browse Source

Clean up usage of `static` keyword

They are either misused or redundant, so remove it.
adaptive-webui-19844
Chocobo1 2 years ago
parent
commit
73faf67084
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 2
      src/base/bittorrent/session.cpp
  2. 2
      src/base/bittorrent/statistics.cpp
  3. 2
      src/base/rss/rss_item.cpp
  4. 16
      src/base/torrentfileguard.cpp
  5. 9
      src/base/torrentfileguard.h
  6. 2
      src/base/utils/misc.cpp
  7. 14
      src/gui/search/searchjobwidget.cpp
  8. 5
      src/gui/search/searchjobwidget.h
  9. 23
      src/gui/torrentcontentmodel.cpp
  10. 4
      src/gui/torrentcontentmodel.h
  11. 7
      src/gui/transferlistdelegate.cpp
  12. 1
      src/gui/transferlistdelegate.h
  13. 144
      src/gui/transferlistmodel.cpp
  14. 13
      src/gui/transferlistmodel.h

2
src/base/bittorrent/session.cpp

@ -635,7 +635,7 @@ Path Session::downloadPath() const @@ -635,7 +635,7 @@ Path Session::downloadPath() const
bool Session::isValidCategoryName(const QString &name)
{
static const QRegularExpression re(uR"(^([^\\\/]|[^\\\/]([^\\\/]|\/(?=[^\/]))*[^\\\/])$)"_qs);
const QRegularExpression re(uR"(^([^\\\/]|[^\\\/]([^\\\/]|\/(?=[^\/]))*[^\\\/])$)"_qs);
if (!name.isEmpty() && (name.indexOf(re) != 0))
{
qDebug() << "Incorrect category name:" << name;

2
src/base/bittorrent/statistics.cpp

@ -35,7 +35,7 @@ @@ -35,7 +35,7 @@
#include "base/bittorrent/sessionstatus.h"
#include "base/profile.h"
static const qint64 SAVE_INTERVAL = 15 * 60 * 1000;
const qint64 SAVE_INTERVAL = 15 * 60 * 1000;
using namespace BitTorrent;

2
src/base/rss/rss_item.cpp

@ -68,7 +68,7 @@ QString Item::name() const @@ -68,7 +68,7 @@ QString Item::name() const
bool Item::isValidPath(const QString &path)
{
static const QRegularExpression re(
const QRegularExpression re(
uR"(\A[^\%1]+(\%1[^\%1]+)*\z)"_qs.arg(Item::PathSeparator)
, QRegularExpression::DontCaptureOption);

16
src/base/torrentfileguard.cpp

@ -31,6 +31,14 @@ @@ -31,6 +31,14 @@
#include "settingvalue.h"
#include "utils/fs.h"
namespace
{
SettingValue<TorrentFileGuard::AutoDeleteMode> autoDeleteModeSetting()
{
return SettingValue<TorrentFileGuard::AutoDeleteMode> {u"Core/AutoDeleteAddedTorrentFile"_qs};
}
}
FileGuard::FileGuard(const Path &path)
: m_path {path}
, m_remove {true}
@ -76,13 +84,7 @@ TorrentFileGuard::AutoDeleteMode TorrentFileGuard::autoDeleteMode() @@ -76,13 +84,7 @@ TorrentFileGuard::AutoDeleteMode TorrentFileGuard::autoDeleteMode()
return autoDeleteModeSetting().get(AutoDeleteMode::Never);
}
void TorrentFileGuard::setAutoDeleteMode(TorrentFileGuard::AutoDeleteMode mode)
void TorrentFileGuard::setAutoDeleteMode(const TorrentFileGuard::AutoDeleteMode mode)
{
autoDeleteModeSetting() = mode;
}
SettingValue<TorrentFileGuard::AutoDeleteMode> &TorrentFileGuard::autoDeleteModeSetting()
{
static SettingValue<AutoDeleteMode> setting {u"Core/AutoDeleteAddedTorrentFile"_qs};
return setting;
}

9
src/base/torrentfileguard.h

@ -33,8 +33,6 @@ @@ -33,8 +33,6 @@
#include "base/path.h"
template <typename T> class SettingValue;
/// Utility class to defer file deletion
class FileGuard
{
@ -47,7 +45,7 @@ public: @@ -47,7 +45,7 @@ public:
private:
Path m_path;
bool m_remove;
bool m_remove = false;
};
/// Reads settings for .torrent files from preferences
@ -64,7 +62,7 @@ public: @@ -64,7 +62,7 @@ public:
void markAsAddedToSession();
using FileGuard::setAutoRemove;
enum AutoDeleteMode: int // do not change these names: they are stored in config file
enum AutoDeleteMode : int // do not change these names: they are stored in config file
{
Never,
IfAdded,
@ -77,9 +75,8 @@ public: @@ -77,9 +75,8 @@ public:
private:
TorrentFileGuard(const Path &path, AutoDeleteMode mode);
static SettingValue<AutoDeleteMode> &autoDeleteModeSetting();
Q_ENUM(AutoDeleteMode)
AutoDeleteMode m_mode;
bool m_wasAdded;
bool m_wasAdded = false;
};

2
src/base/utils/misc.cpp

@ -457,7 +457,7 @@ QString Utils::Misc::parseHtmlLinks(const QString &rawText) @@ -457,7 +457,7 @@ QString Utils::Misc::parseHtmlLinks(const QString &rawText)
result.replace(reURL, u"\\1<a href=\"\\2\">\\2</a>"_qs);
// Capture links without scheme
static const QRegularExpression reNoScheme(u"<a\\s+href=\"(?!https?)([a-zA-Z0-9\\?%=&/_\\.-:#]+)\\s*\">"_qs);
const QRegularExpression reNoScheme(u"<a\\s+href=\"(?!https?)([a-zA-Z0-9\\?%=&/_\\.-:#]+)\\s*\">"_qs);
result.replace(reNoScheme, u"<a href=\"http://\\1\">"_qs);
// to preserve plain text formatting

14
src/gui/search/searchjobwidget.cpp

@ -44,7 +44,6 @@ @@ -44,7 +44,6 @@
#include "base/search/searchdownloadhandler.h"
#include "base/search/searchhandler.h"
#include "base/search/searchpluginmanager.h"
#include "base/settingvalue.h"
#include "base/utils/misc.h"
#include "gui/addnewtorrentdialog.h"
#include "gui/lineedit.h"
@ -57,6 +56,7 @@ SearchJobWidget::SearchJobWidget(SearchHandler *searchHandler, QWidget *parent) @@ -57,6 +56,7 @@ SearchJobWidget::SearchJobWidget(SearchHandler *searchHandler, QWidget *parent)
: QWidget(parent)
, m_ui(new Ui::SearchJobWidget)
, m_searchHandler(searchHandler)
, m_nameFilteringMode(u"Search/FilteringMode"_qs)
{
m_ui->setupUi(this);
@ -319,7 +319,7 @@ void SearchJobWidget::updateFilter() @@ -319,7 +319,7 @@ void SearchJobWidget::updateFilter()
sizeInBytes(m_ui->minSize->value(), static_cast<SizeUnit>(m_ui->minSizeUnit->currentIndex())),
sizeInBytes(m_ui->maxSize->value(), static_cast<SizeUnit>(m_ui->maxSizeUnit->currentIndex())));
nameFilteringModeSetting() = filteringMode();
m_nameFilteringMode = filteringMode();
m_proxyModel->invalidate();
updateResultsCount();
@ -355,8 +355,8 @@ void SearchJobWidget::fillFilterComboBoxes() @@ -355,8 +355,8 @@ void SearchJobWidget::fillFilterComboBoxes()
m_ui->filterMode->addItem(tr("Torrent names only"), static_cast<int>(NameFilteringMode::OnlyNames));
m_ui->filterMode->addItem(tr("Everywhere"), static_cast<int>(NameFilteringMode::Everywhere));
QVariant selectedMode = static_cast<int>(nameFilteringModeSetting().get(NameFilteringMode::OnlyNames));
int index = m_ui->filterMode->findData(selectedMode);
const QVariant selectedMode = static_cast<int>(m_nameFilteringMode.get(NameFilteringMode::OnlyNames));
const int index = m_ui->filterMode->findData(selectedMode);
m_ui->filterMode->setCurrentIndex((index == -1) ? 0 : index);
}
@ -545,12 +545,6 @@ void SearchJobWidget::appendSearchResults(const QVector<SearchResult> &results) @@ -545,12 +545,6 @@ void SearchJobWidget::appendSearchResults(const QVector<SearchResult> &results)
updateResultsCount();
}
SettingValue<SearchJobWidget::NameFilteringMode> &SearchJobWidget::nameFilteringModeSetting()
{
static SettingValue<NameFilteringMode> setting {u"Search/FilteringMode"_qs};
return setting;
}
void SearchJobWidget::keyPressEvent(QKeyEvent *event)
{
switch (event->key())

5
src/gui/search/searchjobwidget.h

@ -31,6 +31,8 @@ @@ -31,6 +31,8 @@
#include <QWidget>
#include "base/settingvalue.h"
#define ENGINE_URL_COLUMN 4
#define URL_COLUMN 5
@ -127,7 +129,6 @@ private: @@ -127,7 +129,6 @@ private:
void copyField(int column) const;
static QString statusText(Status st);
static SettingValue<NameFilteringMode> &nameFilteringModeSetting();
Ui::SearchJobWidget *m_ui;
SearchHandler *m_searchHandler;
@ -136,6 +137,8 @@ private: @@ -136,6 +137,8 @@ private:
LineEdit *m_lineEditSearchResultsFilter;
Status m_status = Status::Ongoing;
bool m_noSearchResults = true;
SettingValue<NameFilteringMode> m_nameFilteringMode;
};
Q_DECLARE_METATYPE(SearchJobWidget::NameFilteringMode)

23
src/gui/torrentcontentmodel.cpp

@ -69,14 +69,20 @@ namespace @@ -69,14 +69,20 @@ namespace
class UnifiedFileIconProvider : public QFileIconProvider
{
public:
UnifiedFileIconProvider()
: m_textPlainIcon {UIThemeManager::instance()->getIcon(u"text-plain"_qs)}
{
}
using QFileIconProvider::icon;
QIcon icon(const QFileInfo &info) const override
QIcon icon(const QFileInfo &) const override
{
Q_UNUSED(info);
static QIcon cached = UIThemeManager::instance()->getIcon(u"text-plain"_qs);
return cached;
return m_textPlainIcon;
}
private:
QIcon m_textPlainIcon;
};
#ifdef QBT_PIXMAP_CACHE_FOR_FILE_ICONS
@ -185,15 +191,14 @@ namespace @@ -185,15 +191,14 @@ namespace
TorrentContentModel::TorrentContentModel(QObject *parent)
: QAbstractItemModel(parent)
, m_rootItem(new TorrentContentModelFolder(QVector<QString>({ tr("Name"), tr("Total Size"), tr("Progress"), tr("Download Priority"), tr("Remaining"), tr("Availability") })))
{
#if defined(Q_OS_WIN)
m_fileIconProvider = new WinShellFileIconProvider();
, m_fileIconProvider {new WinShellFileIconProvider}
#elif defined(Q_OS_MACOS)
m_fileIconProvider = new MacFileIconProvider();
, m_fileIconProvider {new MacFileIconProvider}
#else
static bool doesBuiltInProviderWork = doesQFileIconProviderWork();
m_fileIconProvider = doesBuiltInProviderWork ? new QFileIconProvider() : new MimeFileIconProvider();
, m_fileIconProvider {doesQFileIconProviderWork() ? new QFileIconProvider : new MimeFileIconProvider}
#endif
{
}
TorrentContentModel::~TorrentContentModel()

4
src/gui/torrentcontentmodel.h

@ -84,7 +84,7 @@ public slots: @@ -84,7 +84,7 @@ public slots:
void selectNone();
private:
TorrentContentModelFolder *m_rootItem;
TorrentContentModelFolder *m_rootItem = nullptr;
QVector<TorrentContentModelFile *> m_filesIndex;
QFileIconProvider *m_fileIconProvider;
QFileIconProvider *m_fileIconProvider = nullptr;
};

7
src/gui/transferlistdelegate.cpp

@ -50,15 +50,14 @@ QSize TransferListDelegate::sizeHint(const QStyleOptionViewItem &option, const Q @@ -50,15 +50,14 @@ QSize TransferListDelegate::sizeHint(const QStyleOptionViewItem &option, const Q
// the rows shrink if the text's height is smaller than the icon's height.
// This happens because icon from the 'name' column is no longer drawn.
static int nameColHeight = -1;
if (nameColHeight == -1)
if (m_nameColHeight == -1)
{
const QModelIndex nameColumn = index.sibling(index.row(), TransferListModel::TR_NAME);
nameColHeight = QStyledItemDelegate::sizeHint(option, nameColumn).height();
m_nameColHeight = QStyledItemDelegate::sizeHint(option, nameColumn).height();
}
QSize size = QStyledItemDelegate::sizeHint(option, index);
size.setHeight(std::max(nameColHeight, size.height()));
size.setHeight(std::max(m_nameColHeight, size.height()));
return size;
}

1
src/gui/transferlistdelegate.h

@ -46,4 +46,5 @@ public: @@ -46,4 +46,5 @@ public:
private:
ProgressBarPainter m_progressBarPainter;
mutable int m_nameColHeight = -1;
};

144
src/gui/transferlistmodel.cpp

@ -32,7 +32,6 @@ @@ -32,7 +32,6 @@
#include <QApplication>
#include <QDateTime>
#include <QDebug>
#include <QIcon>
#include <QPalette>
#include "base/bittorrent/session.h"
@ -47,60 +46,6 @@ @@ -47,60 +46,6 @@
namespace
{
QIcon getPausedIcon()
{
static QIcon cached = UIThemeManager::instance()->getIcon(u"paused"_qs);
return cached;
}
QIcon getQueuedIcon()
{
static QIcon cached = UIThemeManager::instance()->getIcon(u"queued"_qs);
return cached;
}
QIcon getDownloadingIcon()
{
static QIcon cached = UIThemeManager::instance()->getIcon(u"downloading"_qs);
return cached;
}
QIcon getStalledDownloadingIcon()
{
static QIcon cached = UIThemeManager::instance()->getIcon(u"stalledDL"_qs);
return cached;
}
QIcon getUploadingIcon()
{
static QIcon cached = UIThemeManager::instance()->getIcon(u"uploading"_qs);
return cached;
}
QIcon getStalledUploadingIcon()
{
static QIcon cached = UIThemeManager::instance()->getIcon(u"stalledUP"_qs);
return cached;
}
QIcon getCompletedIcon()
{
static QIcon cached = UIThemeManager::instance()->getIcon(u"completed"_qs);
return cached;
}
QIcon getCheckingIcon()
{
static QIcon cached = UIThemeManager::instance()->getIcon(u"checking"_qs);
return cached;
}
QIcon getErrorIcon()
{
static QIcon cached = UIThemeManager::instance()->getIcon(u"error"_qs);
return cached;
}
bool isDarkTheme()
{
const QPalette pal = QApplication::palette();
@ -109,48 +54,10 @@ namespace @@ -109,48 +54,10 @@ namespace
return (color.lightness() < 127);
}
QIcon getIconByState(const BitTorrent::TorrentState state)
{
switch (state)
{
case BitTorrent::TorrentState::Downloading:
case BitTorrent::TorrentState::ForcedDownloading:
case BitTorrent::TorrentState::DownloadingMetadata:
case BitTorrent::TorrentState::ForcedDownloadingMetadata:
return getDownloadingIcon();
case BitTorrent::TorrentState::StalledDownloading:
return getStalledDownloadingIcon();
case BitTorrent::TorrentState::StalledUploading:
return getStalledUploadingIcon();
case BitTorrent::TorrentState::Uploading:
case BitTorrent::TorrentState::ForcedUploading:
return getUploadingIcon();
case BitTorrent::TorrentState::PausedDownloading:
return getPausedIcon();
case BitTorrent::TorrentState::PausedUploading:
return getCompletedIcon();
case BitTorrent::TorrentState::QueuedDownloading:
case BitTorrent::TorrentState::QueuedUploading:
return getQueuedIcon();
case BitTorrent::TorrentState::CheckingDownloading:
case BitTorrent::TorrentState::CheckingUploading:
case BitTorrent::TorrentState::CheckingResumeData:
case BitTorrent::TorrentState::Moving:
return getCheckingIcon();
case BitTorrent::TorrentState::Unknown:
case BitTorrent::TorrentState::MissingFiles:
case BitTorrent::TorrentState::Error:
return getErrorIcon();
default:
Q_ASSERT(false);
return getErrorIcon();
}
}
QColor getDefaultColorByState(const BitTorrent::TorrentState state)
{
// Color names taken from http://cloford.com/resources/colours/500col.htm
bool dark = isDarkTheme();
const bool dark = isDarkTheme();
switch (state)
{
@ -267,8 +174,17 @@ TransferListModel::TransferListModel(QObject *parent) @@ -267,8 +174,17 @@ TransferListModel::TransferListModel(QObject *parent)
{BitTorrent::TorrentState::Moving, tr("Moving", "Torrent local data are being moved/relocated")},
{BitTorrent::TorrentState::MissingFiles, tr("Missing Files")},
{BitTorrent::TorrentState::Error, tr("Errored", "Torrent status, the torrent has an error")}
}
}
, m_stateThemeColors {torrentStateColorsFromUITheme()}
, m_checkingIcon {UIThemeManager::instance()->getIcon(u"checking"_qs)}
, m_completedIcon {UIThemeManager::instance()->getIcon(u"completed"_qs)}
, m_downloadingIcon {UIThemeManager::instance()->getIcon(u"downloading"_qs)}
, m_errorIcon {UIThemeManager::instance()->getIcon(u"error"_qs)}
, m_pausedIcon {UIThemeManager::instance()->getIcon(u"paused"_qs)}
, m_queuedIcon {UIThemeManager::instance()->getIcon(u"queued"_qs)}
, m_stalledDLIcon {UIThemeManager::instance()->getIcon(u"stalledDL"_qs)}
, m_stalledUPIcon {UIThemeManager::instance()->getIcon(u"stalledUP"_qs)}
, m_uploadingIcon {UIThemeManager::instance()->getIcon(u"uploading"_qs)}
{
configure();
connect(Preferences::instance(), &Preferences::changed, this, &TransferListModel::configure);
@ -796,3 +712,41 @@ void TransferListModel::configure() @@ -796,3 +712,41 @@ void TransferListModel::configure()
emit dataChanged(index(0, 0), index((rowCount() - 1), (columnCount() - 1)));
}
}
QIcon TransferListModel::getIconByState(const BitTorrent::TorrentState state) const
{
switch (state)
{
case BitTorrent::TorrentState::Downloading:
case BitTorrent::TorrentState::ForcedDownloading:
case BitTorrent::TorrentState::DownloadingMetadata:
case BitTorrent::TorrentState::ForcedDownloadingMetadata:
return m_downloadingIcon;
case BitTorrent::TorrentState::StalledDownloading:
return m_stalledDLIcon;
case BitTorrent::TorrentState::StalledUploading:
return m_stalledUPIcon;
case BitTorrent::TorrentState::Uploading:
case BitTorrent::TorrentState::ForcedUploading:
return m_uploadingIcon;
case BitTorrent::TorrentState::PausedDownloading:
return m_pausedIcon;
case BitTorrent::TorrentState::PausedUploading:
return m_completedIcon;
case BitTorrent::TorrentState::QueuedDownloading:
case BitTorrent::TorrentState::QueuedUploading:
return m_queuedIcon;
case BitTorrent::TorrentState::CheckingDownloading:
case BitTorrent::TorrentState::CheckingUploading:
case BitTorrent::TorrentState::CheckingResumeData:
case BitTorrent::TorrentState::Moving:
return m_checkingIcon;
case BitTorrent::TorrentState::Unknown:
case BitTorrent::TorrentState::MissingFiles:
case BitTorrent::TorrentState::Error:
return m_errorIcon;
default:
Q_ASSERT(false);
return m_errorIcon;
}
}

13
src/gui/transferlistmodel.h

@ -32,6 +32,7 @@ @@ -32,6 +32,7 @@
#include <QAbstractListModel>
#include <QColor>
#include <QHash>
#include <QIcon>
#include <QList>
#include "base/bittorrent/torrent.h"
@ -111,6 +112,7 @@ private: @@ -111,6 +112,7 @@ private:
void configure();
QString displayValue(const BitTorrent::Torrent *torrent, int column) const;
QVariant internalValue(const BitTorrent::Torrent *torrent, int column, bool alt) const;
QIcon getIconByState(const BitTorrent::TorrentState state) const;
QList<BitTorrent::Torrent *> m_torrentList; // maps row number to torrent handle
QHash<BitTorrent::Torrent *, int> m_torrentMap; // maps torrent handle to row number
@ -126,4 +128,15 @@ private: @@ -126,4 +128,15 @@ private:
};
HideZeroValuesMode m_hideZeroValuesMode = HideZeroValuesMode::Never;
// cached icons
QIcon m_checkingIcon;
QIcon m_completedIcon;
QIcon m_downloadingIcon;
QIcon m_errorIcon;
QIcon m_pausedIcon;
QIcon m_queuedIcon;
QIcon m_stalledDLIcon;
QIcon m_stalledUPIcon;
QIcon m_uploadingIcon;
};

Loading…
Cancel
Save