Prevent opening local files if web page is expected

This commit is contained in:
Vladimir Golovnev (Glassez) 2025-06-23 13:14:37 +03:00
parent 71af105a89
commit d379fa3035
No known key found for this signature in database
GPG key ID: 52A2C7DEE2DFA6F7
3 changed files with 16 additions and 16 deletions

View file

@ -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}
{
}

View file

@ -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);
}
}

View file

@ -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()));
if (const QUrl descrLinkURL {descrLink}; !descrLinkURL.isEmpty() && !descrLinkURL.isLocalFile())
QDesktopServices::openUrl(descrLinkURL);
}
}