partially replaced obsolete qregexp - still stome places remain
This commit is contained in:
parent
45b29b8e33
commit
54ce2d6cf6
@ -15,9 +15,8 @@
|
||||
#include <QThreadPool>
|
||||
|
||||
FeedDownloader::FeedDownloader(QObject* parent)
|
||||
: QObject(parent), m_feeds(QList<Feed*>()), m_mutex(new QMutex()), m_threadPool(new QThreadPool(this)),
|
||||
m_results(FeedDownloadResults()), m_feedsUpdated(0),
|
||||
m_feedsUpdating(0), m_feedsOriginalCount(0) {
|
||||
: QObject(parent), m_mutex(new QMutex()), m_threadPool(new QThreadPool(this)),
|
||||
m_feedsUpdated(0), m_feedsUpdating(0), m_feedsOriginalCount(0) {
|
||||
qRegisterMetaType<FeedDownloadResults>("FeedDownloadResults");
|
||||
m_threadPool->setMaxThreadCount(2);
|
||||
}
|
||||
@ -35,7 +34,7 @@ bool FeedDownloader::isUpdateRunning() const {
|
||||
|
||||
void FeedDownloader::updateAvailableFeeds() {
|
||||
foreach (const Feed* feed, m_feeds) {
|
||||
CacheForServiceRoot* cache = dynamic_cast<CacheForServiceRoot*>(feed->getParentServiceRoot());
|
||||
auto* cache = dynamic_cast<CacheForServiceRoot*>(feed->getParentServiceRoot());
|
||||
|
||||
if (cache != nullptr) {
|
||||
qDebug("Saving cache for feed with DB ID %d and title '%s'.", feed->id(), qPrintable(feed->title()));
|
||||
@ -130,8 +129,6 @@ void FeedDownloader::finalizeUpdate() {
|
||||
emit updateFinished(m_results);
|
||||
}
|
||||
|
||||
FeedDownloadResults::FeedDownloadResults() : m_updatedFeeds(QList<QPair<QString, int>>()) {}
|
||||
|
||||
QString FeedDownloadResults::overview(int how_many_feeds) const {
|
||||
QStringList result;
|
||||
|
||||
@ -142,7 +139,7 @@ QString FeedDownloadResults::overview(int how_many_feeds) const {
|
||||
QString res_str = result.join(QSL("\n"));
|
||||
|
||||
if (m_updatedFeeds.size() > how_many_feeds) {
|
||||
res_str += QObject::tr("\n\n+ %n other feeds.", 0, m_updatedFeeds.size() - how_many_feeds);
|
||||
res_str += QObject::tr("\n\n+ %n other feeds.", nullptr, m_updatedFeeds.size() - how_many_feeds);
|
||||
}
|
||||
|
||||
return res_str;
|
||||
|
@ -16,8 +16,6 @@ class QMutex;
|
||||
// Represents results of batch feed updates.
|
||||
class FeedDownloadResults {
|
||||
public:
|
||||
explicit FeedDownloadResults();
|
||||
|
||||
QList<QPair<QString, int>> updatedFeeds() const;
|
||||
QString overview(int how_many_feeds) const;
|
||||
|
||||
|
@ -56,7 +56,7 @@ FeedsModel::~FeedsModel() {
|
||||
}
|
||||
|
||||
QMimeData* FeedsModel::mimeData(const QModelIndexList& indexes) const {
|
||||
QMimeData* mime_data = new QMimeData();
|
||||
auto* mime_data = new QMimeData();
|
||||
QByteArray encoded_data;
|
||||
QDataStream stream(&encoded_data, QIODevice::WriteOnly);
|
||||
|
||||
@ -68,7 +68,7 @@ QMimeData* FeedsModel::mimeData(const QModelIndexList& indexes) const {
|
||||
RootItem* item_for_index = itemForIndex(index);
|
||||
|
||||
if (item_for_index->kind() != RootItemKind::Root) {
|
||||
stream << (quintptr) item_for_index;
|
||||
stream << quintptr(item_for_index);
|
||||
}
|
||||
}
|
||||
|
||||
@ -81,6 +81,7 @@ QStringList FeedsModel::mimeTypes() const {
|
||||
return QStringList() << QSL(MIME_TYPE_ITEM_POINTER);
|
||||
}
|
||||
|
||||
typedef RootItem* RootItemPtr;
|
||||
bool FeedsModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column,
|
||||
const QModelIndex& parent) {
|
||||
Q_UNUSED(row)
|
||||
@ -105,7 +106,7 @@ bool FeedsModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int
|
||||
quintptr pointer_to_item; stream >> pointer_to_item;
|
||||
|
||||
// We have item we want to drag, we also determine the target item.
|
||||
RootItem* dragged_item = (RootItem*) pointer_to_item;
|
||||
auto* dragged_item = RootItemPtr(pointer_to_item);
|
||||
RootItem* target_item = itemForIndex(parent);
|
||||
ServiceRoot* dragged_item_root = dragged_item->getParentServiceRoot();
|
||||
ServiceRoot* target_item_root = target_item->getParentServiceRoot();
|
||||
@ -190,7 +191,7 @@ QModelIndex FeedsModel::index(int row, int column, const QModelIndex& parent) co
|
||||
RootItem* parent_item = itemForIndex(parent);
|
||||
RootItem* child_item = parent_item->child(row);
|
||||
|
||||
if (child_item) {
|
||||
if (child_item != nullptr) {
|
||||
return createIndex(row, column, child_item);
|
||||
}
|
||||
else {
|
||||
|
@ -10,8 +10,7 @@
|
||||
#include <QTimer>
|
||||
|
||||
FeedsProxyModel::FeedsProxyModel(FeedsModel* source_model, QObject* parent)
|
||||
: QSortFilterProxyModel(parent), m_sourceModel(source_model), m_selectedItem(nullptr),
|
||||
m_showUnreadOnly(false), m_hiddenIndices(QList<QPair<int, QModelIndex>>()) {
|
||||
: QSortFilterProxyModel(parent), m_sourceModel(source_model), m_selectedItem(nullptr), m_showUnreadOnly(false) {
|
||||
setObjectName(QSL("FeedsProxyModel"));
|
||||
setSortRole(Qt::EditRole);
|
||||
setSortCaseSensitivity(Qt::CaseInsensitive);
|
||||
@ -28,10 +27,10 @@ FeedsProxyModel::~FeedsProxyModel() {
|
||||
|
||||
QModelIndexList FeedsProxyModel::match(const QModelIndex& start, int role, const QVariant& value, int hits, Qt::MatchFlags flags) const {
|
||||
QModelIndexList result;
|
||||
const uint match_type = flags & 0x0F;
|
||||
const int match_type = flags & 0x0F;
|
||||
const Qt::CaseSensitivity cs = Qt::CaseInsensitive;
|
||||
const bool recurse = flags & Qt::MatchRecursive;
|
||||
const bool wrap = flags & Qt::MatchWrap;
|
||||
const bool recurse = (flags& Qt::MatchRecursive) > 0;
|
||||
const bool wrap = (flags& Qt::MatchWrap) > 0;
|
||||
const bool all_hits = (hits == -1);
|
||||
QString entered_text;
|
||||
const QModelIndex p = parent(start);
|
||||
@ -66,14 +65,18 @@ QModelIndexList FeedsProxyModel::match(const QModelIndex& start, int role, const
|
||||
|
||||
switch (match_type) {
|
||||
case Qt::MatchRegExp:
|
||||
if (QRegExp(entered_text, cs).exactMatch(item_text)) {
|
||||
if (QRegularExpression(entered_text,
|
||||
QRegularExpression::PatternOption::CaseInsensitiveOption |
|
||||
QRegularExpression::PatternOption::UseUnicodePropertiesOption).match(item_text).hasMatch()) {
|
||||
result.append(idx);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case Qt::MatchWildcard:
|
||||
if (QRegExp(entered_text, cs, QRegExp::Wildcard).exactMatch(item_text)) {
|
||||
if (QRegularExpression(QRegularExpression::wildcardToRegularExpression(entered_text),
|
||||
QRegularExpression::PatternOption::CaseInsensitiveOption |
|
||||
QRegularExpression::PatternOption::UseUnicodePropertiesOption).match(item_text).hasMatch()) {
|
||||
result.append(idx);
|
||||
}
|
||||
|
||||
@ -112,8 +115,8 @@ QModelIndexList FeedsProxyModel::match(const QModelIndex& start, int role, const
|
||||
|
||||
if (recurse && hasChildren(idx)) {
|
||||
result +=
|
||||
match(index(0, idx.column(), idx), role, (entered_text.isEmpty() ? value : entered_text), (all_hits ? -1 : hits - result.count()),
|
||||
flags);
|
||||
match(index(0, idx.column(), idx), role, (entered_text.isEmpty() ? value : entered_text),
|
||||
(all_hits ? -1 : hits - result.count()), flags);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
#include <QVariant>
|
||||
|
||||
Enclosure::Enclosure(const QString& url, const QString& mime) : m_url(url), m_mimeType(mime) {}
|
||||
Enclosure::Enclosure(QString url, QString mime) : m_url(std::move(url)), m_mimeType(std::move(mime)) {}
|
||||
|
||||
QList<Enclosure> Enclosures::decodeEnclosuresFromString(const QString& enclosures_data) {
|
||||
QList<Enclosure> enclosures;
|
||||
|
@ -13,7 +13,7 @@
|
||||
// Represents single enclosure.
|
||||
struct Enclosure {
|
||||
public:
|
||||
explicit Enclosure(const QString& url = QString(), const QString& mime = QString());
|
||||
explicit Enclosure(QString url = QString(), QString mime = QString());
|
||||
|
||||
QString m_url;
|
||||
QString m_mimeType;
|
||||
@ -51,7 +51,7 @@ class Message {
|
||||
|
||||
// Is true if "created" date was obtained directly
|
||||
// from the feed, otherwise is false
|
||||
bool m_createdFromFeed;
|
||||
bool m_createdFromFeed = false;
|
||||
|
||||
friend inline bool operator==(const Message& lhs, const Message& rhs) {
|
||||
return lhs.m_accountId == rhs.m_accountId && lhs.m_id == rhs.m_id;
|
||||
|
@ -78,7 +78,7 @@ QModelIndexList MessagesProxyModel::mapListFromSource(const QModelIndexList& ind
|
||||
QModelIndexList MessagesProxyModel::match(const QModelIndex& start, int role,
|
||||
const QVariant& entered_value, int hits, Qt::MatchFlags flags) const {
|
||||
QModelIndexList result;
|
||||
const uint match_type = flags & 0x0F;
|
||||
const int match_type = flags & 0x0F;
|
||||
const Qt::CaseSensitivity case_sensitivity = Qt::CaseInsensitive;
|
||||
const bool wrap = flags & Qt::MatchWrap;
|
||||
const bool all_hits = (hits == -1);
|
||||
@ -113,14 +113,18 @@ QModelIndexList MessagesProxyModel::match(const QModelIndex& start, int role,
|
||||
|
||||
switch (match_type) {
|
||||
case Qt::MatchRegExp:
|
||||
if (QRegExp(entered_text, case_sensitivity).exactMatch(item_text)) {
|
||||
if (QRegularExpression(entered_text,
|
||||
QRegularExpression::PatternOption::CaseInsensitiveOption |
|
||||
QRegularExpression::PatternOption::UseUnicodePropertiesOption).match(item_text).hasMatch()) {
|
||||
result.append(idx);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case Qt::MatchWildcard:
|
||||
if (QRegExp(entered_text, case_sensitivity, QRegExp::Wildcard).exactMatch(item_text)) {
|
||||
if (QRegularExpression(QRegularExpression::wildcardToRegularExpression(entered_text),
|
||||
QRegularExpression::PatternOption::CaseInsensitiveOption |
|
||||
QRegularExpression::PatternOption::UseUnicodePropertiesOption).match(item_text).hasMatch()) {
|
||||
result.append(idx);
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,8 @@ void FormSettings::applySettings() {
|
||||
}
|
||||
|
||||
if (!panels_for_restart.isEmpty()) {
|
||||
const QStringList changed_settings_description = panels_for_restart.replaceInStrings(QRegExp(QSL("^")), QString::fromUtf8(" • "));
|
||||
const QStringList changed_settings_description = panels_for_restart.replaceInStrings(QRegularExpression(QSL("^")),
|
||||
QString::fromUtf8(" • "));
|
||||
const QMessageBox::StandardButton clicked_button = MessageBox::show(this,
|
||||
QMessageBox::Question,
|
||||
tr("Critical settings were changed"),
|
||||
@ -101,7 +102,8 @@ void FormSettings::cancelSettings() {
|
||||
reject();
|
||||
}
|
||||
else {
|
||||
const QStringList changed_settings_description = changed_panels.replaceInStrings(QRegExp(QSL("^")), QString::fromUtf8(" • "));
|
||||
const QStringList changed_settings_description = changed_panels.replaceInStrings(QRegularExpression(QSL("^")),
|
||||
QString::fromUtf8(" • "));
|
||||
|
||||
if (MessageBox::show(this,
|
||||
QMessageBox::Critical,
|
||||
|
@ -241,15 +241,16 @@ QString MessagePreviewer::prepareHtmlForMessage(const Message& message) {
|
||||
html += QString("[%2] <a href=\"%1\">%1</a><br/>").arg(enc_url, enc.m_mimeType);
|
||||
}
|
||||
|
||||
int offset = 0;
|
||||
QRegExp imgTagRegex("\\<img[^\\>]*src\\s*=\\s*\"([^\"]*)\"[^\\>]*\\>", Qt::CaseInsensitive);
|
||||
QRegularExpression imgTagRegex("\\<img[^\\>]*src\\s*=\\s*\"([^\"]*)\"[^\\>]*\\>",
|
||||
QRegularExpression::PatternOption::CaseInsensitiveOption |
|
||||
QRegularExpression::PatternOption::InvertedGreedinessOption);
|
||||
QRegularExpressionMatchIterator i = imgTagRegex.globalMatch(message.m_contents);
|
||||
|
||||
imgTagRegex.setMinimal(true);
|
||||
while (i.hasNext()) {
|
||||
QRegularExpressionMatch match = i.next();
|
||||
|
||||
while ((offset = imgTagRegex.indexIn(message.m_contents, offset)) != -1) {
|
||||
m_pictures.append(imgTagRegex.cap(1));
|
||||
offset += imgTagRegex.matchedLength();
|
||||
html += QString("[%2] <a href=\"%1\">%1</a><br/>").arg(imgTagRegex.cap(1), tr("image"));
|
||||
m_pictures.append(match.captured(1));
|
||||
html += QString("[%1] <a href=\"%2\">%2</a><br/>").arg(tr("image"), match.captured(1));
|
||||
}
|
||||
|
||||
html += "<br/>";
|
||||
|
@ -21,13 +21,14 @@ double TimeSpinBox::valueFromText(const QString& text) const {
|
||||
return value;
|
||||
}
|
||||
else {
|
||||
QRegExp rx("\\b[0-9]{1,}\\b");
|
||||
QRegularExpression rx("\\b[0-9]{1,}\\b");
|
||||
QStringList numbers;
|
||||
int pos = 0;
|
||||
int count = 0;
|
||||
QRegularExpressionMatchIterator i = rx.globalMatch(text);
|
||||
|
||||
while ((pos = rx.indexIn(text, pos)) != -1) {
|
||||
numbers.append(rx.cap(0));
|
||||
while (i.hasNext()) {
|
||||
numbers.append(i.next().captured());
|
||||
|
||||
if (pos >= 0) {
|
||||
++pos;
|
||||
@ -45,7 +46,7 @@ double TimeSpinBox::valueFromText(const QString& text) const {
|
||||
}
|
||||
|
||||
QString TimeSpinBox::textFromValue(double val) const {
|
||||
int minutes_total = (int)val;
|
||||
int minutes_total = int(val);
|
||||
int minutes_val = minutes_total % 60;
|
||||
int hours_val = (minutes_total - minutes_val) / 60;
|
||||
QString hours = tr("%n hour(s)", "", hours_val);
|
||||
|
@ -55,8 +55,8 @@ void IconFactory::setupSearchPaths() {
|
||||
QIcon::setThemeSearchPaths(QIcon::themeSearchPaths() << APP_THEME_PATH);
|
||||
qDebug("Available icon theme paths: %s.",
|
||||
qPrintable(QIcon::themeSearchPaths()
|
||||
.replaceInStrings(QRegExp(QSL("^|$")), QSL("\'"))
|
||||
.replaceInStrings(QRegExp(QSL("/")), QDir::separator()).join(QSL(", "))));
|
||||
.replaceInStrings(QRegularExpression(QSL("^|$")), QSL("\'"))
|
||||
.replaceInStrings(QRegularExpression(QSL("/")), QDir::separator()).join(QSL(", "))));
|
||||
}
|
||||
|
||||
void IconFactory::setCurrentIconTheme(const QString& theme_name) {
|
||||
@ -75,8 +75,8 @@ void IconFactory::loadCurrentIconTheme() {
|
||||
// Display list of installed themes.
|
||||
qDebug("Installed icon themes are: %s.",
|
||||
qPrintable(QStringList(installed_themes)
|
||||
.replaceInStrings(QRegExp(QSL("^|$")), QSL("\'"))
|
||||
.replaceInStrings(QRegExp(QSL("^\\'$")), QSL("\'\'")).join(QSL(", "))));
|
||||
.replaceInStrings(QRegularExpression(QSL("^|$")), QSL("\'"))
|
||||
.replaceInStrings(QRegularExpression(QSL("^\\'$")), QSL("\'\'")).join(QSL(", "))));
|
||||
|
||||
if (installed_themes.contains(theme_name_from_settings)) {
|
||||
// Desired icon theme is installed and can be loaded.
|
||||
|
@ -70,7 +70,7 @@ void Downloader::manipulateData(const QString& url,
|
||||
|
||||
if (non_const_url.startsWith(URI_SCHEME_FEED)) {
|
||||
qDebug("Replacing URI schemes for '%s'.", qPrintable(non_const_url));
|
||||
request.setUrl(non_const_url.replace(QRegExp(QString('^') + URI_SCHEME_FEED), QString(URI_SCHEME_HTTP)));
|
||||
request.setUrl(non_const_url.replace(QRegularExpression(QString('^') + URI_SCHEME_FEED), QString(URI_SCHEME_HTTP)));
|
||||
}
|
||||
else {
|
||||
request.setUrl(non_const_url);
|
||||
|
@ -7,7 +7,6 @@
|
||||
|
||||
#include <QDesktopServices>
|
||||
#include <QProcess>
|
||||
#include <QRegExp>
|
||||
#include <QUrl>
|
||||
|
||||
#if defined (USE_WEBENGINE)
|
||||
@ -67,7 +66,7 @@ bool WebFactory::openUrlInExternalBrowser(const QString& url) const {
|
||||
}
|
||||
|
||||
QString WebFactory::stripTags(QString text) {
|
||||
return text.remove(QRegExp(QSL("<[^>]*>")));
|
||||
return text.remove(QRegularExpression(QSL("<[^>]*>")));
|
||||
}
|
||||
|
||||
QString WebFactory::escapeHtml(const QString& html) {
|
||||
|
@ -41,6 +41,7 @@
|
||||
#include "qtlocalpeer.h"
|
||||
#include <QCoreApplication>
|
||||
#include <QDataStream>
|
||||
#include <QRegularExpression>
|
||||
#include <QTime>
|
||||
|
||||
#if defined(Q_OS_WIN)
|
||||
@ -81,7 +82,7 @@ QtLocalPeer::QtLocalPeer(QObject* parent, const QString& appId)
|
||||
prefix = id.section(QLatin1Char('/'), -1);
|
||||
}
|
||||
|
||||
prefix.remove(QRegExp("[^a-zA-Z]"));
|
||||
prefix.remove(QRegularExpression("[^a-zA-Z]"));
|
||||
prefix.truncate(6);
|
||||
QByteArray idc = id.toUtf8();
|
||||
quint16 idNum = qChecksum(idc.constData(), idc.size());
|
||||
|
@ -185,10 +185,10 @@ void Feed::run() {
|
||||
msgs[i].m_title = QUrl::fromPercentEncoding(msgs[i].m_title.toUtf8())
|
||||
|
||||
// Replace all continuous white space.
|
||||
.replace(QRegExp(QSL("[\\s]{2,}")), QSL(" "))
|
||||
.replace(QRegularExpression(QSL("[\\s]{2,}")), QSL(" "))
|
||||
|
||||
// Remove all newlines and leading white space.
|
||||
.remove(QRegExp(QSL("([\\n\\r])|(^\\s)")));
|
||||
.remove(QRegularExpression(QSL("([\\n\\r])|(^\\s)")));
|
||||
}
|
||||
|
||||
emit messagesObtained(msgs, error_during_obtaining);
|
||||
|
@ -107,7 +107,7 @@ void FormFeedDetails::onDescriptionChanged(const QString& new_description) {
|
||||
}
|
||||
|
||||
void FormFeedDetails::onUrlChanged(const QString& new_url) {
|
||||
if (QRegExp(URL_REGEXP).exactMatch(new_url)) {
|
||||
if (QRegularExpression(URL_REGEXP).match(new_url).hasMatch()) {
|
||||
// New url is well-formed.
|
||||
m_ui->m_txtUrl->setStatus(LineEditWithStatus::Ok, tr("The URL is ok."));
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ void FormEditGmailAccount::onAuthError(const QString& error, const QString& deta
|
||||
|
||||
void FormEditGmailAccount::onAuthGranted() {
|
||||
m_ui.m_lblTestResult->setStatus(WidgetWithStatus::StatusType::Ok,
|
||||
tr("Tested successfully.You may be prompted to login once more."),
|
||||
tr("Tested successfully. You may be prompted to login once more."),
|
||||
tr("Your access was approved."));
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user