diff --git a/src/core/Entry.cpp b/src/core/Entry.cpp
index edf5b6f24..91d757a91 100644
--- a/src/core/Entry.cpp
+++ b/src/core/Entry.cpp
@@ -247,6 +247,13 @@ QString Entry::webUrl() const
return resolveUrl(url);
}
+QString Entry::displayUrl() const
+{
+ QString url = maskPasswordPlaceholders(m_attributes->value(EntryAttributes::URLKey));
+ url = resolveMultiplePlaceholders(url);
+ return resolveUrl(url);
+}
+
QString Entry::username() const
{
return m_attributes->value(EntryAttributes::UserNameKey);
diff --git a/src/core/Entry.h b/src/core/Entry.h
index 212c8668a..d4d2b9034 100644
--- a/src/core/Entry.h
+++ b/src/core/Entry.h
@@ -79,6 +79,7 @@ public:
QString title() const;
QString url() const;
QString webUrl() const;
+ QString displayUrl() const;
QString username() const;
QString password() const;
QString notes() const;
diff --git a/src/gui/DetailsWidget.cpp b/src/gui/DetailsWidget.cpp
index deb7008ac..b805f9b10 100644
--- a/src/gui/DetailsWidget.cpp
+++ b/src/gui/DetailsWidget.cpp
@@ -114,10 +114,7 @@ void DetailsWidget::getSelectedEntry(Entry* selectedEntry)
// URL is well formed and can be opened in a browser
// create a new display url that masks password placeholders
// the actual link will use the password
- QString displayUrl = m_currentEntry->url();
- displayUrl = m_currentEntry->maskPasswordPlaceholders(displayUrl);
- displayUrl = m_currentEntry->resolveMultiplePlaceholders(displayUrl);
- url = QString("%2").arg(url).arg(shortUrl(displayUrl));
+ url = QString("%2").arg(url).arg(shortUrl(m_currentEntry->displayUrl()));
m_ui->urlLabel->setOpenExternalLinks(true);
} else {
// Fallback to the raw url string
@@ -325,4 +322,4 @@ void DetailsWidget::updateTabIndex(int index) {
} else {
m_selectedTabEntry = index;
}
-}
\ No newline at end of file
+}
diff --git a/src/gui/entry/EntryModel.cpp b/src/gui/entry/EntryModel.cpp
index 2f79f02d9..4d3578069 100644
--- a/src/gui/entry/EntryModel.cpp
+++ b/src/gui/entry/EntryModel.cpp
@@ -151,8 +151,7 @@ QVariant EntryModel::data(const QModelIndex& index, int role) const
}
return result;
case Url:
- result = entry->maskPasswordPlaceholders(entry->url());
- result = entry->resolveMultiplePlaceholders(result);
+ result = entry->displayUrl();
if (attr->isReference(EntryAttributes::URLKey)) {
result.prepend(tr("Ref: ","Reference abbreviation"));
}