Page Menu
Home
GnuPG
Search
Configure Global Search
Log In
Files
F34307296
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Size
23 KB
Subscribers
None
View Options
diff --git a/Makefile.am b/Makefile.am
index 91d34ac5..2432b541 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,159 +1,160 @@
# Makefile.am - Installer for GnuPG 4 Windows Makefile.
# Copyright (C) 2005, 2008, 2012 g10 Code GmbH
#
# This file is part of GPG4Win.
#
# GPG4Win is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# GPG4Win is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
ACLOCAL_AMFLAGS = -I m4
AUTOMAKE_OPTIONS = dist-xz no-dist-gzip
DISTCHECK_CONFIGURE_FLAGS = --host=i686-w64-mingw32
if BUILD_GPG4WIN
po = po
else
po =
endif
if BUILD_GPG4WIN
doc = doc
else
doc =
endif
SUBDIRS = ${po} packages ${doc} src
# find patches -type f | sort | sed 's/$/ \\/' | sed 's/^/ /'
# find patches-appimage -type f | sort | sed 's/$/ \\/' | sed 's/^/ /'
EXTRA_DIST = autogen.rc autogen.sh README.GIT ONEWS \
doc/license-page doc/GPLv3 \
build-aux/git-log-footer build-aux/git-log-fix \
build-aux/authenticode-sign.sh \
docker/appimage/Dockerfile \
docker/build-appimage-docker-image.sh \
docker/build-gpg4win-docker-image.sh \
docker/gpg4win-bullseye/Dockerfile \
docker/run-appimage-build.sh \
docker/run-gpg4win-build.sh \
patches/breeze-icons/0001-Add-folder-edit-sign-encrypt-icon.patch \
patches/breeze-icons/add-the-nose.patch \
patches/breeze-icons/azz-Make-all-breeze-icons-available-in-breeze-dark.patch \
patches/breeze-icons/subset-crossbuild.patch \
patches/extra-cmake-modules/0001-Use-BIN_INSTALL_DIR-data-for-DATAROOTDIR-on-Windows.patch \
patches/gpgme-1.24.2/0002-cpp-Validate-the-transition-map.patch \
patches/gpgme-1.24.2/0001-cpp-Ensure-that-all-transitions-go-from-one-state-to.patch \
patches/gpgme-1.24.2/0003-cpp-Add-missing-transition-remove-two-ignored.patch \
patches/gpgol-2.6.0/0001-Fix-fixing-T6646.patch \
patches/jpeg/fix-redefine.patch \
patches/kconfig/0001-Read-defaults-from-Windows-registry.patch \
patches/kconfigwidgets/0001-Fix-crash-on-exit-on-Windows.patch \
patches/kconfigwidgets/0001-Make-QDbus-optional.patch \
patches/kcoreaddons/0001-Fix-MINGW-build.patch \
patches/kguiaddons/0001-DRAFT-There-is-no-dark-mode-on-old-Windows.patch \
patches/ki18n/0001-Undef-snprintf-for-windows.patch \
patches/kiconthemes/0001-Make-DBus-optional.patch \
patches/kiconthemes/dark-mode-detection.patch \
patches/kio/0001-WIP-Remove-dependency-to-dbus.patch \
patches/kio/FileManagerWindowJob.patch \
+ patches/kleopatra/0001-Revert-change-of-selection-of-own-keys-to-selection-.patch \
patches/kleopatra/set-windows-registry.patch \
patches/kparts/0001-Apply-implicit-android-DBUS-fix-for-Win.patch \
patches/kparts/disable-jobuidelegate.patch \
patches/kwidgetsaddons/0001-Set-the-modes-on-the-date-picker.patch \
patches/kwidgetsaddons/0002-Remove-No-date-option-from-date-picker-popup-used-by.patch \
patches/kwidgetsaddons/fix-height-of-text-after-update.patch \
patches/kxmlgui/0001-make-qdbus-optional.patch \
patches/kxmlgui/0002-stretch-aboutpage.patch \
patches/kxmlgui/0004-Cruedly-disable-KSendbugmail.patch \
patches/libical/workaround-weird-mingw-10.0.0-issue.patch \
patches/okular/0001-Add-GnuPG-specific-manifest-to-okular.patch \
patches/okular/0001-Add-support-to-customize-about-data.patch \
patches/okular/lower-cmake-requirement.patch \
patches/qtbase/0001-Gpg4win-qstandardpaths-patch.patch \
patches/qtbase/0002-Gpg4win-theme-names-and-relpaths.patch \
patches/qtbase/add-kleopatras-mime-types.patch \
patches/qtbase/CVE-2023-32763-qtbase-5.15.patch \
patches/qtbase/CVE-2023-37369-qtbase-5.15.patch \
patches/qtbase/CVE-2023-43114-5.15.patch \
patches/qtbase/fix-high-contrast-item-view-selection-color.patch \
patches/qtbase/fix-tooltip-text-color-with-dark-theme.patch \
patches/qtsvg/CVE-2023-32573-qtsvg-5.15.patch \
patches/qttools/disable-most-tools.patch \
patches/sonnet/0001-W32-Force-ispellchecker-for-sonnet.patch \
patches-appimage/gpgme-1.24.2/0002-cpp-Validate-the-transition-map.patch \
patches-appimage/gpgme-1.24.2/0001-cpp-Ensure-that-all-transitions-go-from-one-state-to.patch \
patches-appimage/gpgme-1.24.2/0003-cpp-Add-missing-transition-remove-two-ignored.patch \
patches-appimage/kwidgetsaddons/0001-Set-the-modes-on-the-date-picker.patch \
patches-appimage/kwidgetsaddons/0002-Remove-No-date-option-from-date-picker-popup-used-by.patch \
patches-appimage/kwidgetsaddons/fix-height-of-text-after-update.patch \
patches-appimage/okular/0001-Make-KF5Pty-dependency-optional.patch \
patches-appimage/okular/0001-Add-support-to-customize-about-data.patch \
patches-appimage/okular/lower-cmake-requirement.patch \
patches-appimage/poppler/fix-gpg-error-include.patch \
patches-appimage/qtbase/CVE-2023-32763-qtbase-5.15.patch \
patches-appimage/qtbase/CVE-2023-37369-qtbase-5.15.patch \
patches-appimage/qtbase/CVE-2023-43114-5.15.patch \
patches-appimage/qtbase/add-kleopatras-mime-types.patch \
patches-appimage/qtsvg/CVE-2023-32573-qtsvg-5.15.patch \
patches-appimage/qtwayland-5.15.0/00-disable-wayland-server.patch
copy-news:
cp NEWS doc/website/NEWS.last
copy-release: gpg4win-$(VERSION).tar.bz2 installers/gpg4win-$(VERSION).exe \
installers/gpg4win-light-$(VERSION).exe \
installers/gpg4win-vanilla-$(VERSION).exe
@echo Copying $(VERSION) to $(RELEASEHOST) >&2
@set -e;\
if ssh "$$(echo $(RELEASEHOST)|cut -d: -f -1)" \
test -f "$$(echo $(RELEASEHOST)/gpg4win-$(VERSION).exe|cut -d: -f2-)";\
then echo "This release has already been copied to the server" >&2 ;\
else scp gpg4win-$(VERSION).tar.bz2 \
installers/gpg4win-$(VERSION).exe \
installers/gpg4win-light-$(VERSION).exe \
installers/gpg4win-vanilla-$(VERSION).exe \
installers/gpg4win-src-$(VERSION).exe $(RELEASEHOST)/ ;\
for f in en de ; do \
scp src/README.$$f.txt \
$(RELEASEHOST)/README-$(VERSION).$$f.txt; \
done;\
fi
dist-hook: gen-ChangeLog
gen_start_date = 2012-03-26T00:00:00
.PHONY: gen-ChangeLog
gen-ChangeLog:
set -e; \
if test -d $(top_srcdir)/.git; then \
(cd $(top_srcdir) && \
$(GITLOG_TO_CHANGELOG) --append-dot --tear-off \
--amend=build-aux/git-log-fix \
--since=$(gen_start_date) ) > $(distdir)/cl-t; \
cat $(top_srcdir)/build-aux/git-log-footer >> $(distdir)/cl-t;\
rm -f $(distdir)/ChangeLog; \
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
fi
download: packages/packages.common packages/packages.4 packages/packages.3
(cd packages; ./download.sh)
msi:
$(MAKE) $(AM_MAKEFLAGS) -C src msi
msi-signed:
$(MAKE) $(AM_MAKEFLAGS) -C src msi-signed
msi-upload:
$(MAKE) $(AM_MAKEFLAGS) -C src msi-upload
diff --git a/patches/kleopatra/0001-Revert-change-of-selection-of-own-keys-to-selection-.patch b/patches/kleopatra/0001-Revert-change-of-selection-of-own-keys-to-selection-.patch
new file mode 100755
index 00000000..568895c1
--- /dev/null
+++ b/patches/kleopatra/0001-Revert-change-of-selection-of-own-keys-to-selection-.patch
@@ -0,0 +1,356 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From 548dab68e089a180535b5e8c959c784d16958d49 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= <dev@ingo-kloecker.de>
+Date: Wed, 11 Jun 2025 14:03:33 +0200
+Subject: [PATCH] Revert change of selection of own keys to selection of own
+ user IDs
+
+This reverts the changes related to the selection combo boxes made with
+eb97658052771b9b1fc7e83ab6e46f39cac3a9e6 and
+d95fd12ef65e7ce8d0697a66370736e7c97b2af6.
+
+GnuPG-bug-id: 7678
+---
+ src/crypto/gui/signencryptfileswizard.cpp | 10 +--
+ src/crypto/gui/signencryptwidget.cpp | 103 ++++++++--------------
+ src/crypto/gui/signencryptwidget.h | 9 +-
+ src/view/padwidget.cpp | 2 +-
+ 4 files changed, 47 insertions(+), 77 deletions(-)
+
+diff --git a/src/crypto/gui/signencryptfileswizard.cpp b/src/crypto/gui/signencryptfileswizard.cpp
+index f63c0ad1b..a3e67c5fb 100644
+--- a/src/crypto/gui/signencryptfileswizard.cpp
++++ b/src/crypto/gui/signencryptfileswizard.cpp
+@@ -256,8 +256,8 @@ public:
+ DeVSCompliance::name(true)));
+ return false;
+ }
+- bool sign = !mWidget->signUserId().isNull();
+- bool encrypt = !mWidget->selfUserId().isNull() || !mWidget->recipients().empty();
++ bool sign = !mWidget->signKey().isNull();
++ bool encrypt = !mWidget->selfKey().isNull() || !mWidget->recipients().empty();
+ if (!mWidget->validate()) {
+ return false;
+ }
+@@ -285,7 +285,7 @@ public:
+ return true;
+ }
+
+- if (!mWidget->selfUserId().isNull() || mWidget->encryptSymmetric()) {
++ if (!mWidget->selfKey().isNull() || mWidget->encryptSymmetric()) {
+ return true;
+ }
+ const auto recipientKeys = recipients();
+@@ -319,7 +319,7 @@ public:
+ * signers */
+ std::vector<Key> signers() const
+ {
+- const Key k = mWidget->signUserId().parent();
++ const Key k = mWidget->signKey();
+ if (!k.isNull()) {
+ return {k};
+ }
+@@ -476,7 +476,7 @@ private Q_SLOTS:
+ return;
+ }
+ const std::vector<Key> recipients = mWidget->recipients();
+- const Key sigKey = mWidget->signUserId().parent();
++ const Key sigKey = mWidget->signKey();
+ const bool pgp = mWidget->encryptSymmetric() || std::any_of(std::cbegin(recipients), std::cend(recipients), [](const auto &k) {
+ return k.protocol() == Protocol::OpenPGP;
+ });
+diff --git a/src/crypto/gui/signencryptwidget.cpp b/src/crypto/gui/signencryptwidget.cpp
+index 73bbf658b..ce1990d3c 100644
+--- a/src/crypto/gui/signencryptwidget.cpp
++++ b/src/crypto/gui/signencryptwidget.cpp
+@@ -38,7 +38,7 @@
+ #include <Libkleo/KeyHelpers>
+ #include <Libkleo/KeyListModel>
+ #include <Libkleo/KeyListSortFilterProxyModel>
+-#include <Libkleo/UserIDSelectionCombo>
++#include <Libkleo/KeySelectionCombo>
+
+ #include <Libkleo/GnuPG>
+
+@@ -131,13 +131,14 @@ public:
+ void onProtocolChanged();
+ void updateCheckBoxes();
+ ExpiryChecker *expiryChecker();
++ void updateExpiryMessages(KMessageWidget *w, const GpgME::Key &key, ExpiryChecker::CheckFlags flags);
+ void updateExpiryMessages(KMessageWidget *w, const GpgME::UserID &userID, ExpiryChecker::CheckFlags flags);
+ void updateAllExpiryMessages();
+
+ public:
+- UserIDSelectionCombo *mSigSelect = nullptr;
++ KeySelectionCombo *mSigSelect = nullptr;
+ KMessageWidget *mSignKeyExpiryMessage = nullptr;
+- UserIDSelectionCombo *mSelfSelect = nullptr;
++ KeySelectionCombo *mSelfSelect = nullptr;
+ KMessageWidget *mEncryptToSelfKeyExpiryMessage = nullptr;
+ std::vector<RecipientWidgets> mRecpWidgets;
+ QVector<UnknownRecipientWidget *> mUnknownWidgets;
+@@ -175,20 +176,12 @@ SignEncryptWidget::SignEncryptWidget(QWidget *parent, bool sigEncExclusive)
+ d->mSigChk->setEnabled(haveSecretKeys);
+ d->mSigChk->setChecked(haveSecretKeys);
+
+- d->mSigSelect = new UserIDSelectionCombo{KeyUsage::Sign, this};
++ d->mSigSelect = new KeySelectionCombo{KeyUsage::Sign, this};
+ d->mSigSelect->setEnabled(d->mSigChk->isChecked());
+
+ d->mSignKeyExpiryMessage = new KMessageWidget{this};
+ d->mSignKeyExpiryMessage->setVisible(false);
+
+- connect(d->mSigSelect, &UserIDSelectionCombo::certificateSelectionRequested, this, [this]() {
+- ownCertificateSelectionRequested(CertificateSelectionDialog::SignOnly, d->mSigSelect);
+- });
+- connect(d->mSigSelect, &UserIDSelectionCombo::customItemSelected, this, [this]() {
+- updateOp();
+- d->updateExpiryMessages(d->mSignKeyExpiryMessage, signUserId(), ExpiryChecker::OwnSigningKey);
+- });
+-
+ auto groupLayout = new QGridLayout{sigGrp};
+ groupLayout->setColumnStretch(1, 1);
+ groupLayout->addWidget(d->mSigChk, 0, 0);
+@@ -199,11 +192,11 @@ SignEncryptWidget::SignEncryptWidget(QWidget *parent, bool sigEncExclusive)
+ connect(d->mSigChk, &QCheckBox::toggled, this, [this](bool checked) {
+ d->mSigSelect->setEnabled(checked);
+ updateOp();
+- d->updateExpiryMessages(d->mSignKeyExpiryMessage, signUserId(), ExpiryChecker::OwnSigningKey);
++ d->updateExpiryMessages(d->mSignKeyExpiryMessage, signKey(), ExpiryChecker::OwnSigningKey);
+ });
+- connect(d->mSigSelect, &UserIDSelectionCombo::currentKeyChanged, this, [this]() {
++ connect(d->mSigSelect, &KeySelectionCombo::currentKeyChanged, this, [this]() {
+ updateOp();
+- d->updateExpiryMessages(d->mSignKeyExpiryMessage, signUserId(), ExpiryChecker::OwnSigningKey);
++ d->updateExpiryMessages(d->mSignKeyExpiryMessage, signKey(), ExpiryChecker::OwnSigningKey);
+ });
+ }
+
+@@ -218,17 +211,9 @@ SignEncryptWidget::SignEncryptWidget(QWidget *parent, bool sigEncExclusive)
+ d->mEncSelfChk = new QCheckBox{i18n("Encrypt for me:"), this};
+ d->mEncSelfChk->setEnabled(haveSecretKeys && !symmetricOnly);
+ d->mEncSelfChk->setChecked(haveSecretKeys && !symmetricOnly);
+- d->mSelfSelect = new UserIDSelectionCombo{KeyUsage::Encrypt, this};
++ d->mSelfSelect = new KeySelectionCombo{KeyUsage::Encrypt, this};
+ d->mSelfSelect->setEnabled(d->mEncSelfChk->isChecked());
+
+- connect(d->mSelfSelect, &UserIDSelectionCombo::certificateSelectionRequested, this, [this]() {
+- ownCertificateSelectionRequested(CertificateSelectionDialog::EncryptOnly, d->mSelfSelect);
+- });
+- connect(d->mSelfSelect, &UserIDSelectionCombo::customItemSelected, this, [this]() {
+- updateOp();
+- d->updateExpiryMessages(d->mEncryptToSelfKeyExpiryMessage, selfUserId(), ExpiryChecker::OwnEncryptionKey);
+- });
+-
+ d->mEncryptToSelfKeyExpiryMessage = new KMessageWidget{this};
+ d->mEncryptToSelfKeyExpiryMessage->setVisible(false);
+ recipientGrid->addWidget(d->mEncSelfChk, row, 0);
+@@ -285,11 +270,11 @@ SignEncryptWidget::SignEncryptWidget(QWidget *parent, bool sigEncExclusive)
+ connect(d->mEncSelfChk, &QCheckBox::toggled, this, [this](bool checked) {
+ d->mSelfSelect->setEnabled(checked);
+ updateOp();
+- d->updateExpiryMessages(d->mEncryptToSelfKeyExpiryMessage, selfUserId(), ExpiryChecker::OwnEncryptionKey);
++ d->updateExpiryMessages(d->mEncryptToSelfKeyExpiryMessage, selfKey(), ExpiryChecker::OwnEncryptionKey);
+ });
+- connect(d->mSelfSelect, &UserIDSelectionCombo::currentKeyChanged, this, [this]() {
++ connect(d->mSelfSelect, &KeySelectionCombo::currentKeyChanged, this, [this]() {
+ updateOp();
+- d->updateExpiryMessages(d->mEncryptToSelfKeyExpiryMessage, selfUserId(), ExpiryChecker::OwnEncryptionKey);
++ d->updateExpiryMessages(d->mEncryptToSelfKeyExpiryMessage, selfKey(), ExpiryChecker::OwnEncryptionKey);
+ });
+ connect(d->mSymmetric, &QCheckBox::toggled, this, &SignEncryptWidget::updateOp);
+
+@@ -421,29 +406,6 @@ void SignEncryptWidget::addRecipient(const KeyGroup &group)
+ }
+ }
+
+-void SignEncryptWidget::ownCertificateSelectionRequested(CertificateSelectionDialog::Options options, UserIDSelectionCombo *combo)
+-{
+- CertificateSelectionDialog dialog{this};
+- dialog.setOptions(CertificateSelectionDialog::Options( //
+- CertificateSelectionDialog::SingleSelection | //
+- CertificateSelectionDialog::SecretKeys | //
+- CertificateSelectionDialog::optionsFromProtocol(d->mCurrentProto))
+- | //
+- options);
+-
+- if (dialog.exec()) {
+- auto userId = dialog.selectedUserIDs()[0];
+- auto index = combo->findUserId(userId);
+- if (index == -1) {
+- combo->appendCustomItem(QIcon::fromTheme(QStringLiteral("emblem-error")), Formatting::summaryLine(userId), QVariant::fromValue(userId));
+- index = combo->combo()->count() - 1;
+- }
+- combo->combo()->setCurrentIndex(index);
+- }
+-
+- recipientsChanged();
+-}
+-
+ void SignEncryptWidget::certificateSelectionRequested(CertificateLineEdit *certificateLineEdit)
+ {
+ CertificateSelectionDialog dlg{this};
+@@ -565,20 +527,20 @@ void SignEncryptWidget::recipientsChanged()
+ }
+ }
+
+-UserID SignEncryptWidget::signUserId() const
++Key SignEncryptWidget::signKey() const
+ {
+ if (d->mSigSelect->isEnabled()) {
+- return d->mSigSelect->currentUserID();
++ return d->mSigSelect->currentKey();
+ }
+- return UserID();
++ return Key();
+ }
+
+-UserID SignEncryptWidget::selfUserId() const
++Key SignEncryptWidget::selfKey() const
+ {
+ if (d->mSelfSelect->isEnabled()) {
+- return d->mSelfSelect->currentUserID();
++ return d->mSelfSelect->currentKey();
+ }
+- return UserID();
++ return Key();
+ }
+
+ std::vector<Key> SignEncryptWidget::recipients() const
+@@ -602,7 +564,7 @@ std::vector<Key> SignEncryptWidget::recipients() const
+ ret.push_back(u.parent());
+ }
+ }
+- const Key k = selfUserId().parent();
++ const Key k = selfKey();
+ if (!k.isNull()) {
+ ret.push_back(k);
+ }
+@@ -611,11 +573,11 @@ std::vector<Key> SignEncryptWidget::recipients() const
+
+ bool SignEncryptWidget::isDeVsAndValid() const
+ {
+- if (!signUserId().isNull() && !DeVSCompliance::userIDIsCompliant(signUserId())) {
++ if (!signKey().isNull() && !DeVSCompliance::keyIsCompliant(signKey())) {
+ return false;
+ }
+
+- if (!selfUserId().isNull() && !DeVSCompliance::userIDIsCompliant(selfUserId())) {
++ if (!selfKey().isNull() && !DeVSCompliance::keyIsCompliant(selfKey())) {
+ return false;
+ }
+
+@@ -662,7 +624,7 @@ void SignEncryptWidget::updateOp()
+ const std::vector<Key> recp = recipients();
+
+ Operations op = NoOperation;
+- if (!signUserId().isNull()) {
++ if (!signKey().isNull()) {
+ op |= Sign;
+ }
+ if (!recp.empty() || encryptSymmetric()) {
+@@ -846,11 +808,11 @@ bool SignEncryptWidget::isComplete() const
+ if (currentOp() == NoOperation) {
+ return false;
+ }
+- if ((currentOp() & SignEncryptWidget::Sign) && !Kleo::canBeUsedForSigning(signUserId().parent())) {
++ if ((currentOp() & SignEncryptWidget::Sign) && !Kleo::canBeUsedForSigning(signKey())) {
+ return false;
+ }
+ if (currentOp() & SignEncryptWidget::Encrypt) {
+- if (!selfUserId().isNull() && !Kleo::canBeUsedForEncryption(selfUserId().parent())) {
++ if (!selfKey().isNull() && !Kleo::canBeUsedForEncryption(selfKey())) {
+ return false;
+ }
+ const bool allOtherRecipientsAreOkay = std::ranges::all_of(d->mRecpWidgets, [](const auto &r) {
+@@ -907,6 +869,19 @@ ExpiryChecker *Kleo::SignEncryptWidget::Private::expiryChecker()
+ return mExpiryChecker.get();
+ }
+
++void SignEncryptWidget::Private::updateExpiryMessages(KMessageWidget *messageWidget, const GpgME::Key &key, ExpiryChecker::CheckFlags flags)
++{
++ messageWidget->setCloseButtonVisible(false);
++ if (!Settings{}.showExpiryNotifications() || key.isNull()) {
++ messageWidget->setVisible(false);
++ } else {
++ const auto result = expiryChecker()->checkKey(key, flags);
++ const auto message = expiryMessage(result);
++ messageWidget->setText(message);
++ messageWidget->setVisible(!message.isEmpty());
++ }
++}
++
+ void SignEncryptWidget::Private::updateExpiryMessages(KMessageWidget *messageWidget, const GpgME::UserID &userID, ExpiryChecker::CheckFlags flags)
+ {
+ messageWidget->setCloseButtonVisible(false);
+@@ -931,8 +906,8 @@ void SignEncryptWidget::Private::updateExpiryMessages(KMessageWidget *messageWid
+
+ void SignEncryptWidget::Private::updateAllExpiryMessages()
+ {
+- updateExpiryMessages(mSignKeyExpiryMessage, q->signUserId(), ExpiryChecker::OwnSigningKey);
+- updateExpiryMessages(mEncryptToSelfKeyExpiryMessage, q->selfUserId(), ExpiryChecker::OwnEncryptionKey);
++ updateExpiryMessages(mSignKeyExpiryMessage, q->signKey(), ExpiryChecker::OwnSigningKey);
++ updateExpiryMessages(mEncryptToSelfKeyExpiryMessage, q->selfKey(), ExpiryChecker::OwnEncryptionKey);
+ for (const auto &recipient : std::as_const(mRecpWidgets)) {
+ if (recipient.edit->isEnabled()) {
+ updateExpiryMessages(recipient.expiryMessage, recipient.edit->userID(), ExpiryChecker::EncryptionKey);
+diff --git a/src/crypto/gui/signencryptwidget.h b/src/crypto/gui/signencryptwidget.h
+index 416dc0633..1e0eefb00 100644
+--- a/src/crypto/gui/signencryptwidget.h
++++ b/src/crypto/gui/signencryptwidget.h
+@@ -8,15 +8,11 @@
+ */
+ #pragma once
+
+-#include "dialogs/certificateselectiondialog.h"
+-
+ #include <QVector>
+ #include <QWidget>
+
+ #include <gpgme++/global.h>
+
+-#include <Libkleo/UserIDSelectionCombo>
+-
+ #include <memory>
+
+ namespace GpgME
+@@ -55,11 +51,11 @@ public:
+
+ /** Returns the selected signing key or a null key if signing
+ * is disabled. */
+- GpgME::UserID signUserId() const;
++ GpgME::Key signKey() const;
+
+ /** Returns the selected encrypt to self key or a null key if
+ * encrypt to self is disabled. */
+- GpgME::UserID selfUserId() const;
++ GpgME::Key selfKey() const;
+
+ /** Returns the operation based on the current selection. */
+ Operations currentOp() const;
+@@ -114,7 +110,6 @@ protected Q_SLOTS:
+ void updateOp();
+ void recipientsChanged();
+ void certificateSelectionRequested(CertificateLineEdit *w);
+- void ownCertificateSelectionRequested(Kleo::Dialogs::CertificateSelectionDialog::Options options, UserIDSelectionCombo *combo);
+
+ protected:
+ void loadKeys();
+diff --git a/src/view/padwidget.cpp b/src/view/padwidget.cpp
+index ef99837c9..ff2daea12 100644
+--- a/src/view/padwidget.cpp
++++ b/src/view/padwidget.cpp
+@@ -412,7 +412,7 @@ public:
+ task->setInput(input);
+ task->setOutput(output);
+
+- const auto sigKey = mSigEncWidget->signUserId().parent();
++ const auto sigKey = mSigEncWidget->signKey();
+
+ const std::vector<GpgME::Key> recipients = mSigEncWidget->recipients();
+ const bool encrypt = mSigEncWidget->encryptSymmetric() || !recipients.empty();
+--
+2.49.0
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sun, Dec 28, 10:32 PM (4 h, 38 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
23/7e/98c9d3fee572b810cb563fe7cf62
Attached To
rW Gpg4win
Event Timeline
Log In to Comment