aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/widgets/KeyList.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/ui/widgets/KeyList.cpp (renamed from src/ui/KeyList.cpp)37
1 files changed, 33 insertions, 4 deletions
diff --git a/src/ui/KeyList.cpp b/src/ui/widgets/KeyList.cpp
index c21a41ff..337c1fc5 100644
--- a/src/ui/KeyList.cpp
+++ b/src/ui/widgets/KeyList.cpp
@@ -22,12 +22,15 @@
*
*/
-#include "ui/KeyList.h"
+#include "ui/widgets/KeyList.h"
#include <utility>
-KeyList::KeyList(GpgME::GpgContext *ctx, QWidget *parent)
- : QWidget(parent)
+KeyList::KeyList(GpgME::GpgContext *ctx,
+ KeyListRow::KeyType selectType,
+ KeyListColumn::InfoType infoType,
+ QWidget *parent)
+ : QWidget(parent), mSelectType(selectType), mInfoType(infoType)
{
mCtx = ctx;
@@ -47,9 +50,30 @@ KeyList::KeyList(GpgME::GpgContext *ctx, QWidget *parent)
mKeyList->setAlternatingRowColors(true);
+ // Hidden Column For Purpose
+ if(!(mInfoType & KeyListColumn::TYPE)) {
+ mKeyList->setColumnHidden(1, true);
+ }
+ if(!(mInfoType & KeyListColumn::NAME)) {
+ mKeyList->setColumnHidden(2, true);
+ }
+ if(!(mInfoType & KeyListColumn::EmailAddress)) {
+ mKeyList->setColumnHidden(3, true);
+ }
+ if(!(mInfoType & KeyListColumn::Usage)) {
+ mKeyList->setColumnHidden(4, true);
+ }
+ if(!(mInfoType & KeyListColumn::Validity)) {
+ mKeyList->setColumnHidden(5, true);
+ }
+ if(!(mInfoType & KeyListColumn::FingerPrint)) {
+ mKeyList->setColumnHidden(6, true);
+ }
+
QStringList labels;
labels << tr("Select") << tr("Type") << tr("Name") << tr("Email Address")
- << tr("Usage") << tr("Validity") << tr("Finger Print");
+ << tr("Usage") << tr("Validity") << tr("Finger Print");
+
mKeyList->setHorizontalHeaderLabels(labels);
mKeyList->horizontalHeader()->setStretchLastSection(true);
@@ -82,6 +106,11 @@ void KeyList::slotRefresh()
while (it != keys.end()) {
+ if(mSelectType == KeyListRow::ONLY_SECRET_KEY && !it->is_private_key) {
+ it++;
+ continue;
+ }
+
buffered_keys.push_back(*it);
auto *tmp0 = new QTableWidgetItem(QString::number(row));