From f5bb5985ee061bdb7e2d200797c69146ad61e6cf Mon Sep 17 00:00:00 2001 From: xavives <154235477+xavives@users.noreply.github.com> Date: Mon, 13 Jan 2025 00:08:06 +0100 Subject: [PATCH] Add Group Path column choice in entry view * Closes #9574 --- share/translations/keepassxc_en.ts | 4 ++++ src/gui/entry/EntryModel.cpp | 11 ++++++++++- src/gui/entry/EntryModel.h | 3 ++- src/gui/entry/EntryView.cpp | 1 + 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/share/translations/keepassxc_en.ts b/share/translations/keepassxc_en.ts index ed4effabc9..0cf445a864 100644 --- a/share/translations/keepassxc_en.ts +++ b/share/translations/keepassxc_en.ts @@ -4197,6 +4197,10 @@ Would you like to overwrite the existing attachment? Background Color + + Group Path + + EntryPreviewWidget diff --git a/src/gui/entry/EntryModel.cpp b/src/gui/entry/EntryModel.cpp index 1a5e42c173..178d710fc0 100644 --- a/src/gui/entry/EntryModel.cpp +++ b/src/gui/entry/EntryModel.cpp @@ -116,7 +116,7 @@ int EntryModel::columnCount(const QModelIndex& parent) const return 0; } - return 16; + return 17; } QVariant EntryModel::data(const QModelIndex& index, int role) const @@ -136,6 +136,11 @@ QVariant EntryModel::data(const QModelIndex& index, int role) const return entry->group()->name(); } break; + case ParentGroupPath: + if (entry->group()) { + return entry->group()->fullPath(); + } + break; case Title: result = entry->resolveMultiplePlaceholders(entry->title()); if (attr->isReference(EntryAttributes::TitleKey)) { @@ -377,6 +382,8 @@ QVariant EntryModel::headerData(int section, Qt::Orientation orientation, int ro switch (section) { case ParentGroup: return tr("Group"); + case ParentGroupPath: + return tr("Group Path"); case Title: return tr("Title"); case Username: @@ -414,6 +421,8 @@ QVariant EntryModel::headerData(int section, Qt::Orientation orientation, int ro switch (section) { case ParentGroup: return tr("Group name"); + case ParentGroupPath: + return tr("Group Path"); case Title: return tr("Entry title"); case Username: diff --git a/src/gui/entry/EntryModel.h b/src/gui/entry/EntryModel.h index 99f254462c..7b7f17a1f2 100644 --- a/src/gui/entry/EntryModel.h +++ b/src/gui/entry/EntryModel.h @@ -49,7 +49,8 @@ class EntryModel : public QAbstractTableModel Totp = 12, Size = 13, PasswordStrength = 14, - Color = 15 + Color = 15, + ParentGroupPath = 16 }; explicit EntryModel(QObject* parent = nullptr); diff --git a/src/gui/entry/EntryView.cpp b/src/gui/entry/EntryView.cpp index 1d7aa02b64..5fdad83b3c 100644 --- a/src/gui/entry/EntryView.cpp +++ b/src/gui/entry/EntryView.cpp @@ -482,6 +482,7 @@ void EntryView::resetViewToDefaults() header()->hideSection(EntryModel::Size); header()->hideSection(EntryModel::PasswordStrength); header()->hideSection(EntryModel::Color); + header()->hideSection(EntryModel::ParentGroupPath); onHeaderChanged(); // Reset column order to logical indices