diff --git a/src/base/rss/rss_article.cpp b/src/base/rss/rss_article.cpp index d50523949..e132d3ad4 100644 --- a/src/base/rss/rss_article.cpp +++ b/src/base/rss/rss_article.cpp @@ -48,16 +48,16 @@ const QString Article::KeyIsRead = u"isRead"_s; Article::Article(Feed *feed, const QVariantHash &varHash) : QObject(feed) - , m_feed(feed) - , m_guid(varHash.value(KeyId).toString()) - , m_date(varHash.value(KeyDate).toDateTime()) - , m_title(varHash.value(KeyTitle).toString()) - , m_author(varHash.value(KeyAuthor).toString()) - , m_description(varHash.value(KeyDescription).toString()) - , m_torrentURL(varHash.value(KeyTorrentURL).toString()) - , m_link(varHash.value(KeyLink).toString()) - , m_isRead(varHash.value(KeyIsRead, false).toBool()) - , m_data(varHash) + , m_feed {feed} + , m_guid {varHash.value(KeyId).toString()} + , m_date {varHash.value(KeyDate).toDateTime()} + , m_title {varHash.value(KeyTitle).toString()} + , m_author {varHash.value(KeyAuthor).toString()} + , m_description {varHash.value(KeyDescription).toString()} + , m_torrentURL {varHash.value(KeyTorrentURL).toString()} + , m_link {varHash.value(KeyLink).toString()} + , m_isRead {varHash.value(KeyIsRead, false).toBool()} + , m_data {varHash} { } diff --git a/src/gui/rss/rsswidget.cpp b/src/gui/rss/rsswidget.cpp index fb764a19c..b2fc2454f 100644 --- a/src/gui/rss/rsswidget.cpp +++ b/src/gui/rss/rsswidget.cpp @@ -441,8 +441,8 @@ void RSSWidget::openSelectedArticlesUrls() // Mark as read article->markAsRead(); - if (!article->link().isEmpty()) - QDesktopServices::openUrl(QUrl(article->link())); + if (const QUrl articleLink {article->link()}; !articleLink.isEmpty() && !articleLink.isLocalFile()) + QDesktopServices::openUrl(articleLink); } } diff --git a/src/gui/search/searchjobwidget.cpp b/src/gui/search/searchjobwidget.cpp index aae330ce4..01e83eec0 100644 --- a/src/gui/search/searchjobwidget.cpp +++ b/src/gui/search/searchjobwidget.cpp @@ -321,13 +321,13 @@ void SearchJobWidget::downloadTorrents(const AddTorrentOption option) void SearchJobWidget::openTorrentPages() const { - const QModelIndexList rows {m_ui->resultsBrowser->selectionModel()->selectedRows()}; + const QModelIndexList rows = m_ui->resultsBrowser->selectionModel()->selectedRows(); for (const QModelIndex &rowIndex : rows) { const QString descrLink = m_proxyModel->data( - m_proxyModel->index(rowIndex.row(), SearchSortModel::DESC_LINK)).toString(); - if (!descrLink.isEmpty()) - QDesktopServices::openUrl(QUrl::fromEncoded(descrLink.toUtf8())); + m_proxyModel->index(rowIndex.row(), SearchSortModel::DESC_LINK)).toString(); + if (const QUrl descrLinkURL {descrLink}; !descrLinkURL.isEmpty() && !descrLinkURL.isLocalFile()) + QDesktopServices::openUrl(descrLinkURL); } }