File indexing completed on 2024-06-23 05:13:37

0001 /* -*- mode: c++; c-basic-offset:4 -*-
0002     commands/changepassphrasecommand.h
0003 
0004     This file is part of Kleopatra, the KDE keymanager
0005     SPDX-FileCopyrightText: 2010 Klarälvdalens Datakonsult AB
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #pragma once
0011 
0012 #include <commands/command.h>
0013 
0014 namespace Kleo
0015 {
0016 namespace Commands
0017 {
0018 
0019 class ChangePassphraseCommand : public Command
0020 {
0021     Q_OBJECT
0022 public:
0023     explicit ChangePassphraseCommand(QAbstractItemView *view, KeyListController *parent);
0024     explicit ChangePassphraseCommand(KeyListController *parent);
0025     explicit ChangePassphraseCommand(const GpgME::Key &key);
0026     ~ChangePassphraseCommand() override;
0027 
0028     /* reimp */ static Restrictions restrictions()
0029     {
0030         return OnlyOneKey | NeedSecretKeyData;
0031     }
0032 
0033 private:
0034     void doStart() override;
0035     void doCancel() override;
0036 
0037 private:
0038     class Private;
0039     inline Private *d_func();
0040     inline const Private *d_func() const;
0041 };
0042 
0043 }
0044 }