diff options
author | Saturneric <[email protected]> | 2021-05-27 19:51:18 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2021-05-27 19:51:18 +0000 |
commit | ad4c0c1e140de2ffdd2f803a643bdfe4c0fb07bc (patch) | |
tree | f01ad3ec20f85a17d433502e169eab99f2719b92 /src/ui/keypair_details/KeyPairUIDTab.cpp | |
parent | Fix the wrong use of the signing key interface. (diff) | |
download | GpgFrontend-ad4c0c1e140de2ffdd2f803a643bdfe4c0fb07bc.tar.gz GpgFrontend-ad4c0c1e140de2ffdd2f803a643bdfe4c0fb07bc.zip |
Adjust part of the text of the UI interface of the UID operation tab.
Write an interface to increase UID.
Write logic to adapt and increase UID.
Adjust the UI of KeygenDialog.
Delete the Close button of KeyDetailTab and its logic.
Adjust the KeyDetailTab fingerprint and its copy button UI.
Fix the problem of refreshing the order of the KeyPairUIDTab list.
Signed-off-by: Saturneric <[email protected]>
Diffstat (limited to 'src/ui/keypair_details/KeyPairUIDTab.cpp')
-rw-r--r-- | src/ui/keypair_details/KeyPairUIDTab.cpp | 72 |
1 files changed, 43 insertions, 29 deletions
diff --git a/src/ui/keypair_details/KeyPairUIDTab.cpp b/src/ui/keypair_details/KeyPairUIDTab.cpp index ce4256b8..82d27262 100644 --- a/src/ui/keypair_details/KeyPairUIDTab.cpp +++ b/src/ui/keypair_details/KeyPairUIDTab.cpp @@ -15,42 +15,35 @@ KeyPairUIDTab::KeyPairUIDTab(GpgME::GpgContext *ctx, const GpgKey &key, QWidget auto uidButtonsLayout = new QGridLayout(); auto addUIDButton = new QPushButton(tr("New UID")); - auto manageUIDButton = new QPushButton(tr("Manage UID")); + auto manageUIDButton = new QPushButton(tr("UID Management")); manageUIDButton->setMenu(manageUIDMenu); uidButtonsLayout->addWidget(addUIDButton, 0, 1); uidButtonsLayout->addWidget(manageUIDButton, 0, 2); - -// auto sigButtonsLayout = new QGridLayout(); -// auto manageSigButton = new QPushButton(tr("Manage Signature")); -// -// sigButtonsLayout->addWidget(addSigButton, 0, 1); -// sigButtonsLayout->addWidget(manageSigButton, 0, 2); - auto gridLayout = new QGridLayout(); gridLayout->addWidget(uidList, 0, 0); gridLayout->addLayout(uidButtonsLayout, 1, 0); gridLayout->addWidget(sigList, 2, 0); -// gridLayout->addLayout(sigButtonsLayout, 3, 0); setLayout(gridLayout); + connect(addUIDButton, SIGNAL(clicked(bool)), this, SLOT(slotAddUID())); + connect(mCtx, SIGNAL(signalKeyInfoChanged()), this, SLOT(slotRefreshUIDList())); - connect(mCtx, SIGNAL(signalKeyInfoChanged()), this, SLOT(slotRefreshSigList())); connect(uidList, SIGNAL(itemSelectionChanged()), this, SLOT(slotRefreshSigList())); slotRefreshUIDList(); - slotRefreshSigList(); setAttribute(Qt::WA_DeleteOnClose, true); } void KeyPairUIDTab::createUIDList() { + uidList = new QTableWidget(this); - uidList->setColumnCount(3); + uidList->setColumnCount(4); uidList->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); uidList->verticalHeader()->hide(); uidList->setShowGrid(false); @@ -66,14 +59,15 @@ void KeyPairUIDTab::createUIDList() { uidList->setAlternatingRowColors(true); QStringList labels; - labels << tr("Operate") << tr("Name") << tr("Email") << tr("Comment"); + labels << tr("Select") << tr("Name") << tr("Email") << tr("Comment"); uidList->setHorizontalHeaderLabels(labels); uidList->horizontalHeader()->setStretchLastSection(true); } void KeyPairUIDTab::createSignList() { + sigList = new QTableWidget(this); - sigList->setColumnCount(4); + sigList->setColumnCount(5); sigList->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); sigList->verticalHeader()->hide(); sigList->setShowGrid(false); @@ -88,7 +82,7 @@ void KeyPairUIDTab::createSignList() { sigList->setAlternatingRowColors(true); QStringList labels; - labels << tr("Type") << tr("Pubkey Id") << tr("Create Time") << tr("Valid Time"); + labels << tr("Type") << tr("Name") << tr("Email") << tr("Create Time") << tr("Valid Time"); sigList->setHorizontalHeaderLabels(labels); sigList->horizontalHeader()->setStretchLastSection(true); @@ -98,7 +92,6 @@ void KeyPairUIDTab::slotRefreshUIDList() { int row = 0; - uidList->clearContents(); uidList->setRowCount(mKey.uids.size()); uidList->setSelectionMode(QAbstractItemView::SingleSelection); @@ -121,39 +114,41 @@ void KeyPairUIDTab::slotRefreshUIDList() { row++; } + slotRefreshSigList(); } void KeyPairUIDTab::slotRefreshSigList() { - sigList->clearContents(); - - int row = 0; + int uidRow = 0, sigRow = 0; for(const auto& uid : mKey.uids) { // Only Show Selected UID's Signatures - if(!uidList->item(row, 0)->isSelected()) + if(!uidList->item(uidRow++, 0)->isSelected()) { continue; + } sigList->setRowCount(uid.signatures.size()); for(const auto &sig : uid.signatures) { auto *tmp0 = new QTableWidgetItem(sig.pubkey_algo); - sigList->setItem(row, 0, tmp0); + sigList->setItem(sigRow, 0, tmp0); + + auto *tmp2 = new QTableWidgetItem(sig.name); + sigList->setItem(sigRow, 1, tmp2); - auto *tmp2 = new QTableWidgetItem(sig.uid); - sigList->setItem(row, 1, tmp2); + auto *tmp3 = new QTableWidgetItem(sig.email); + sigList->setItem(sigRow, 2, tmp3); - auto *tmp3 = new QTableWidgetItem(sig.create_time.toString()); - sigList->setItem(row, 2, tmp3); + auto *tmp4 = new QTableWidgetItem(sig.create_time.toString()); + sigList->setItem(sigRow, 3, tmp4); - auto *tmp4 = new QTableWidgetItem(sig.expire_time.toString()); - sigList->setItem(row, 3, tmp4); + auto *tmp5 = new QTableWidgetItem(sig.expire_time.toString()); + sigList->setItem(sigRow, 4, tmp5); - row++; + sigRow++; } break; - } } @@ -194,3 +189,22 @@ void KeyPairUIDTab::createManageUIDMenu() { manageUIDMenu->addAction(signUIDAct); } + +void KeyPairUIDTab::slotAddUID() { + auto keyNewUIDDialog = new KeyNewUIDDialog(mCtx, mKey, this); + connect(keyNewUIDDialog, SIGNAL(finished(int)), this, SLOT(slotAddUIDResult(int))); + connect(keyNewUIDDialog, SIGNAL(finished(int)), keyNewUIDDialog, SLOT(deleteLater())); + keyNewUIDDialog->show(); +} + +void KeyPairUIDTab::slotAddUIDResult(int result) { + if(result) { + QMessageBox::information(nullptr, + tr("Successful Operation"), + tr("Successfully added a new UID.")); + } else { + QMessageBox::critical(nullptr, + tr("Operation Failed"), + tr("An error occurred during the operation.")); + } +} |