From f3d85ae21917feff31806ef1c22bb76833cb914f Mon Sep 17 00:00:00 2001 From: Jonathan White Date: Wed, 25 Oct 2017 23:29:01 -0400 Subject: [PATCH] Cleaned up url display code --- src/core/Entry.cpp | 7 +++++++ src/core/Entry.h | 1 + src/gui/DetailsWidget.cpp | 7 ++----- src/gui/entry/EntryModel.cpp | 3 +-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/core/Entry.cpp b/src/core/Entry.cpp index edf5b6f2..91d757a9 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 212c8668..d4d2b903 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 deb7008a..b805f9b1 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 2f79f02d..4d357806 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")); }