GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
UserInterfaceUtils.h
1 
29 #ifndef GPGFRONTEND_USER_INTERFACE_UTILS_H
30 #define GPGFRONTEND_USER_INTERFACE_UTILS_H
31 
32 #include "core/GpgModel.h"
33 #include "core/function/result_analyse/GpgVerifyResultAnalyse.h"
34 #include "ui/GpgFrontendUI.h"
35 
36 namespace GpgFrontend {
37 class GpgResultAnalyse;
38 }
39 
40 namespace GpgFrontend::UI {
41 
42 class InfoBoardWidget;
43 class TextEdit;
44 
53 void show_verify_details(QWidget* parent, InfoBoardWidget* info_board,
54  GpgError error, const GpgVerifyResult& verify_result);
55 
63  QWidget* parent, const GpgVerifyResultAnalyse& verify_res);
64 
72 void refresh_info_board(InfoBoardWidget* info_board, int status,
73  const std::string& report_text);
74 
82 void process_result_analyse(TextEdit* edit, InfoBoardWidget* info_board,
83  const GpgResultAnalyse& result_analyse);
84 
93 void process_result_analyse(TextEdit* edit, InfoBoardWidget* info_board,
94  const GpgResultAnalyse& result_analyse_a,
95  const GpgResultAnalyse& result_analyse_b);
96 
104 void process_operation(
105  QWidget* parent, const std::string& waiting_title,
106  GpgFrontend::Thread::Task::TaskRunnable func,
107  GpgFrontend::Thread::Task::TaskCallback callback = nullptr,
108  Thread::Task::DataObjectPtr data_object = nullptr);
109 
117 void import_key_from_keyserver(QWidget* parent, const std::string& key_id,
118  const std::string& key_server);
119 
124 class CommonUtils : public QWidget {
125  Q_OBJECT
126  public:
131  using ImportCallbackFunctiopn = std::function<void(
132  const std::string&, const std::string&, size_t, size_t)>;
133 
138  CommonUtils();
139 
145  static CommonUtils* GetInstance();
146 
147  signals:
152  void SignalKeyStatusUpdated();
153 
158  void SignalGnupgNotInstall();
159 
165 
166  public slots:
173  void SlotImportKeys(QWidget* parent, const std::string& in_buffer);
174 
180  void SlotImportKeyFromFile(QWidget* parent);
181 
187  void SlotImportKeyFromKeyServer(QWidget* parent);
188 
194  void SlotImportKeyFromClipboard(QWidget* parent);
195 
203  static void SlotImportKeyFromKeyServer(
204  const GpgFrontend::KeyIdArgsList& key_ids,
205  const GpgFrontend::UI::CommonUtils::ImportCallbackFunctiopn& callback);
206 
214  const QStringList& arguments,
215  const std::function<void(QProcess*)>& interact_func);
216 
217  private slots:
218 
223  void slot_update_key_status();
224 
225  private:
226  static std::unique_ptr<CommonUtils> instance_;
227 };
228 
229 } // namespace GpgFrontend::UI
230 
231 #endif // GPGFRONTEND_USER_INTERFACE_UTILS_H
GpgFrontend::CoreCommonUtil::GetInstance
static CoreCommonUtil * GetInstance()
Construct a new Core Common Util object.
Definition: CoreCommonUtil.cpp:33
GpgFrontend::FileOperator::ReadFile
static bool ReadFile(const QString &file_name, QByteArray &data)
read file content
Definition: FileOperator.cpp:31
GpgFrontend::UI::WaitingDialog
Definition: WaitingDialog.h:40
GpgFrontend::UI
Definition: FileReadTask.cpp:31
GpgFrontend::UI::refresh_info_board
void refresh_info_board(InfoBoardWidget *info_board, int status, const std::string &report_text)
Definition: UserInterfaceUtils.cpp:84
GpgFrontend::UI::process_operation
void process_operation(QWidget *parent, const std::string &waiting_title, const Thread::Task::TaskRunnable func, const Thread::Task::TaskCallback callback, Thread::Task::DataObjectPtr data_object)
Definition: UserInterfaceUtils.cpp:116
GpgFrontend::GpgResultAnalyse::GetStatus
int GetStatus() const
Get the Status object.
Definition: GpgResultAnalyse.cpp:35
GpgFrontend::UI::import_key_from_keyserver
void import_key_from_keyserver(QWidget *parent, const std::string &key_id, const std::string &key_server)
GpgFrontend::UI::VerifyDetailsDialog
Definition: VerifyDetailsDialog.h:41
GpgFrontend
Definition: CoreCommonUtil.cpp:29
GpgFrontend::UI::CommonUtils
Definition: UserInterfaceUtils.h:124
GpgFrontend::GpgResultAnalyse::GetResultReport
const std::string GetResultReport() const
Get the Result Report object.
Definition: GpgResultAnalyse.cpp:31
GpgFrontend::SingletonFunctionObject< TaskRunnerGetter >::GetInstance
static TaskRunnerGetter & GetInstance(int channel=GpgFrontend::GPGFRONTEND_DEFAULT_CHANNEL)
Get the Instance object.
Definition: GpgFunctionObject.h:170
GpgFrontend::UI::InfoBoardWidget::AddOptionalAction
void AddOptionalAction(const QString &name, const std::function< void()> &action)
Definition: InfoBoardWidget.cpp:115
GpgFrontend::GpgInfo::AppPath
std::string AppPath
executable binary path of gnupg
Definition: GpgInfo.h:41
GpgFrontend::UI::InfoBoardWidget::ResetOptionActionsMenu
void ResetOptionActionsMenu()
Definition: InfoBoardWidget.cpp:131
GpgFrontend::UI::import_unknown_key_from_keyserver
void import_unknown_key_from_keyserver(QWidget *parent, const GpgVerifyResultAnalyse &verify_res)
Definition: UserInterfaceUtils.cpp:61
GpgFrontend::GlobalSettingStation::GetUISettings
libconfig::Setting & GetUISettings() noexcept
Definition: GlobalSettingStation.h:63
GpgFrontend::UI::CommonUtils::SlotImportKeys
void SlotImportKeys(QWidget *parent, const std::string &in_buffer)
Definition: UserInterfaceUtils.cpp:180
GpgFrontend::GpgContext::GetInfo
const GpgInfo & GetInfo() const
Get the Info object.
Definition: GpgContext.h:95
GpgFrontend::UI::TextEdit
TextEdit class.
Definition: TextEdit.h:41
GpgFrontend::GpgVerifyResultAnalyse
Definition: GpgVerifyResultAnalyse.h:40
GpgFrontend::UI::KeyServerImportDialog
Definition: KeyServerImportDialog.h:46
GpgFrontend::GpgKeyGetter::FlushKeyCache
void FlushKeyCache()
flush the keys in the cache
Definition: GpgKeyGetter.cpp:100
GpgFrontend::UI::SettingsObject::Check
nlohmann::json & Check(const std::string &key, const nlohmann::json &default_value)
Definition: SettingsObject.cpp:31
GpgFrontend::UI::InfoBoardWidget::SlotRefresh
void SlotRefresh(const QString &text, GpgFrontend::UI::InfoBoardStatus status)
Definition: InfoBoardWidget.cpp:91
GpgFrontend::UI::KeyImportDetailDialog
Definition: KeyImportDetailDialog.h:43
GpgFrontend::UI::CommonUtils::slot_update_key_status
void slot_update_key_status()
update the key status when signal is emitted
Definition: UserInterfaceUtils.cpp:361
GpgFrontend::UI::SettingsObject
The SettingsObject class This class is used to store settings for the application securely.
Definition: SettingsObject.h:43
GpgFrontend::GpgResultAnalyse
Definition: GpgResultAnalyse.h:37
GpgFrontend::SingletonFunctionObject< GpgKeyGetter >::GetAllChannelId
static std::vector< int > GetAllChannelId()
Get all the channel ids.
Definition: GpgFunctionObject.h:246
GpgFrontend::UI::CommonUtils::SlotImportKeyFromFile
void SlotImportKeyFromFile(QWidget *parent)
Definition: UserInterfaceUtils.cpp:188
GpgFrontend::UI::CommonUtils::SlotImportKeyFromKeyServer
void SlotImportKeyFromKeyServer(QWidget *parent)
Definition: UserInterfaceUtils.cpp:204
GpgFrontend::UI::InfoBoardWidget::AssociateTabWidget
void AssociateTabWidget(QTabWidget *tab)
Definition: InfoBoardWidget.cpp:105
GpgFrontend::GpgVerifyResultAnalyse::GetSignatures
gpgme_signature_t GetSignatures() const
Get the Signatures object.
Definition: GpgVerifyResultAnalyse.cpp:206
GpgFrontend::UI::SignalStation::GetInstance
static SignalStation * GetInstance()
Get the Instance object.
Definition: SignalStation.cpp:37
GpgFrontend::UI::CommonUtils::SignalKeyDatabaseRefreshDone
void SignalKeyDatabaseRefreshDone()
emit when the key database is refreshed
GpgFrontend::UI::CommonUtils::SlotImportKeyFromClipboard
void SlotImportKeyFromClipboard(QWidget *parent)
Definition: UserInterfaceUtils.cpp:209
GpgFrontend::UI::CommonUtils::CommonUtils
CommonUtils()
Construct a new Common Utils object.
Definition: UserInterfaceUtils.cpp:150
GpgFrontend::GpgKeyImportExporter::ImportKey
GpgImportInformation ImportKey(StdBypeArrayPtr inBuffer)
Definition: GpgKeyImportExporter.cpp:42
GpgFrontend::UI::CommonUtils::SlotExecuteGpgCommand
void SlotExecuteGpgCommand(const QStringList &arguments, const std::function< void(QProcess *)> &interact_func)
Definition: UserInterfaceUtils.cpp:215
GpgFrontend::Thread::Task
Definition: Task.h:45
GpgFrontend::UI::show_verify_details
void show_verify_details(QWidget *parent, InfoBoardWidget *info_board, GpgError error, const GpgVerifyResult &verify_result)
Definition: UserInterfaceUtils.cpp:52
GpgFrontend::UI::process_result_analyse
void process_result_analyse(TextEdit *edit, InfoBoardWidget *info_board, const GpgResultAnalyse &result_analyse)
Definition: UserInterfaceUtils.cpp:96
GpgFrontend::GpgImportInformation
Definition: GpgKeyImportExporter.h:57
GpgFrontend::UI::CommonUtils::GetInstance
static CommonUtils * GetInstance()
Get the Instance object.
Definition: UserInterfaceUtils.cpp:143
GpgFrontend::UI::InfoBoardWidget
Class for handling the verify label shown at bottom of a textedit-page.
Definition: InfoBoardWidget.h:53