feat(ui): add tab to show gnupg info
This commit is contained in:
parent
da9494c35e
commit
61cc4ed27f
@ -41,6 +41,7 @@
|
|||||||
<file alias="format-line-spacing-double.png">resource/icons/format-line-spacing-double.png</file>
|
<file alias="format-line-spacing-double.png">resource/icons/format-line-spacing-double.png</file>
|
||||||
<file alias="format-line-spacing-normal.png">resource/icons/format-line-spacing-normal.png</file>
|
<file alias="format-line-spacing-normal.png">resource/icons/format-line-spacing-normal.png</file>
|
||||||
<file alias="format-line-spacing-triple.png">resource/icons/format-line-spacing-triple.png</file>
|
<file alias="format-line-spacing-triple.png">resource/icons/format-line-spacing-triple.png</file>
|
||||||
|
<file alias="gnupg.png">resource/icons/gnupg.png</file>
|
||||||
<file alias="gpgfrontend.png">resource/icons/gpgfrontend.png</file>
|
<file alias="gpgfrontend.png">resource/icons/gpgfrontend.png</file>
|
||||||
<file alias="importance.png">resource/icons/importance.png</file>
|
<file alias="importance.png">resource/icons/importance.png</file>
|
||||||
<file alias="importkey_editor.png">resource/icons/importkey_editor.png</file>
|
<file alias="importkey_editor.png">resource/icons/importkey_editor.png</file>
|
||||||
|
BIN
resource/icons/gnupg.png
Normal file
BIN
resource/icons/gnupg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.0 KiB |
@ -93,7 +93,9 @@ GpgContext::GpgContext(const GpgContextInitArgs &args) : args_(args) {
|
|||||||
: engine_info->file_name)
|
: engine_info->file_name)
|
||||||
<< std::string(engine_info->home_dir == nullptr
|
<< std::string(engine_info->home_dir == nullptr
|
||||||
? "null"
|
? "null"
|
||||||
: engine_info->home_dir);
|
: engine_info->home_dir)
|
||||||
|
<< std::string(engine_info->version ? "null"
|
||||||
|
: engine_info->version);
|
||||||
|
|
||||||
switch (engine_info->protocol) {
|
switch (engine_info->protocol) {
|
||||||
case GPGME_PROTOCOL_OpenPGP:
|
case GPGME_PROTOCOL_OpenPGP:
|
||||||
@ -110,6 +112,7 @@ GpgContext::GpgContext(const GpgContextInitArgs &args) : args_(args) {
|
|||||||
info_.GpgConfPath = engine_info->file_name;
|
info_.GpgConfPath = engine_info->file_name;
|
||||||
break;
|
break;
|
||||||
case GPGME_PROTOCOL_ASSUAN:
|
case GPGME_PROTOCOL_ASSUAN:
|
||||||
|
info_.AssuanPath = engine_info->file_name;
|
||||||
break;
|
break;
|
||||||
case GPGME_PROTOCOL_G13:
|
case GPGME_PROTOCOL_G13:
|
||||||
break;
|
break;
|
||||||
|
@ -42,6 +42,7 @@ class GpgInfo {
|
|||||||
std::string DatabasePath; ///<
|
std::string DatabasePath; ///<
|
||||||
std::string GnupgVersion; ///<
|
std::string GnupgVersion; ///<
|
||||||
std::string GpgConfPath; ///<
|
std::string GpgConfPath; ///<
|
||||||
|
std::string AssuanPath; ///<
|
||||||
std::string CMSPath; ///<
|
std::string CMSPath; ///<
|
||||||
std::string GpgMEVersion; ///<
|
std::string GpgMEVersion; ///<
|
||||||
};
|
};
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
#include "GpgFrontendBuildInfo.h"
|
#include "GpgFrontendBuildInfo.h"
|
||||||
#include "core/function/GlobalSettingStation.h"
|
#include "core/function/GlobalSettingStation.h"
|
||||||
#include "core/thread/TaskRunnerGetter.h"
|
#include "core/thread/TaskRunnerGetter.h"
|
||||||
|
#include "ui/dialog/help/GnupgTab.h"
|
||||||
#include "ui/thread/VersionCheckTask.h"
|
#include "ui/thread/VersionCheckTask.h"
|
||||||
|
|
||||||
namespace GpgFrontend::UI {
|
namespace GpgFrontend::UI {
|
||||||
@ -39,27 +40,29 @@ AboutDialog::AboutDialog(int defaultIndex, QWidget* parent)
|
|||||||
: GeneralDialog(typeid(AboutDialog).name(), parent) {
|
: GeneralDialog(typeid(AboutDialog).name(), parent) {
|
||||||
this->setWindowTitle(QString(_("About")) + " " + qApp->applicationName());
|
this->setWindowTitle(QString(_("About")) + " " + qApp->applicationName());
|
||||||
|
|
||||||
auto* tabWidget = new QTabWidget;
|
auto* tab_widget = new QTabWidget;
|
||||||
auto* infoTab = new InfoTab();
|
auto* info_tab = new InfoTab();
|
||||||
auto* translatorsTab = new TranslatorsTab();
|
auto* gnupg_tab = new GnupgTab();
|
||||||
|
auto* translators_tab = new TranslatorsTab();
|
||||||
update_tab_ = new UpdateTab();
|
update_tab_ = new UpdateTab();
|
||||||
|
|
||||||
tabWidget->addTab(infoTab, _("About Software"));
|
tab_widget->addTab(info_tab, _("About GpgFrontend"));
|
||||||
tabWidget->addTab(translatorsTab, _("Translators"));
|
tab_widget->addTab(gnupg_tab, _("GnuPG"));
|
||||||
tabWidget->addTab(update_tab_, _("Update"));
|
tab_widget->addTab(translators_tab, _("Translators"));
|
||||||
|
tab_widget->addTab(update_tab_, _("Update"));
|
||||||
|
|
||||||
connect(tabWidget, &QTabWidget::currentChanged, this,
|
connect(tab_widget, &QTabWidget::currentChanged, this,
|
||||||
[&](int index) { LOG(INFO) << "Current Index" << index; });
|
[&](int index) { LOG(INFO) << "Current Index" << index; });
|
||||||
|
|
||||||
if (defaultIndex < tabWidget->count() && defaultIndex >= 0) {
|
if (defaultIndex < tab_widget->count() && defaultIndex >= 0) {
|
||||||
tabWidget->setCurrentIndex(defaultIndex);
|
tab_widget->setCurrentIndex(defaultIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok);
|
auto* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok);
|
||||||
connect(buttonBox, &QDialogButtonBox::accepted, this, &AboutDialog::close);
|
connect(buttonBox, &QDialogButtonBox::accepted, this, &AboutDialog::close);
|
||||||
|
|
||||||
auto* mainLayout = new QVBoxLayout;
|
auto* mainLayout = new QVBoxLayout;
|
||||||
mainLayout->addWidget(tabWidget);
|
mainLayout->addWidget(tab_widget);
|
||||||
mainLayout->addWidget(buttonBox);
|
mainLayout->addWidget(buttonBox);
|
||||||
setLayout(mainLayout);
|
setLayout(mainLayout);
|
||||||
|
|
||||||
|
66
src/ui/dialog/help/GnupgTab.cpp
Normal file
66
src/ui/dialog/help/GnupgTab.cpp
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2022. Saturneric
|
||||||
|
*
|
||||||
|
* This file is part of GpgFrontend.
|
||||||
|
*
|
||||||
|
* GpgFrontend 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 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GpgFrontend 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 GpgFrontend. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* The initial version of the source code is inherited from
|
||||||
|
* the gpg4usb project, which is under GPL-3.0-or-later.
|
||||||
|
*
|
||||||
|
* All the source code of GpgFrontend was modified and released by
|
||||||
|
* Saturneric<eric@bktus.com> starting on May 12, 2021.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
*/
|
||||||
|
|
||||||
|
//
|
||||||
|
// Created by eric on 2022/7/23.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "GnupgTab.h"
|
||||||
|
|
||||||
|
GpgFrontend::UI::GnupgTab::GnupgTab(QWidget* parent) : QWidget(parent) {
|
||||||
|
GpgContext& ctx = GpgContext::GetInstance();
|
||||||
|
auto info = ctx.GetInfo();
|
||||||
|
|
||||||
|
auto* pixmap = new QPixmap(":gnupg.png");
|
||||||
|
auto* text = new QString(
|
||||||
|
"<center><h2>" + QString(_("GnuPG")) + "</h2></center>" + "<center><b>" +
|
||||||
|
QString(_("GnuPG Version")) + ": " +
|
||||||
|
QString::fromStdString(info.GnupgVersion) + "</b></center>" +
|
||||||
|
"<center><b>" + +"</b></center>" + "<center>" +
|
||||||
|
QString(_("GpgME Version")) + ": " +
|
||||||
|
QString::fromStdString(info.GpgMEVersion) + "</center><br /><hr />" +
|
||||||
|
"<h3>" + QString(_("PATHs")) + "</h3>" + QString(_("GpgConf")) + ": " +
|
||||||
|
QString::fromStdString(info.GpgConfPath) + "<br />" +
|
||||||
|
QString(_("GnuPG")) + ": " + QString::fromStdString(info.AppPath) +
|
||||||
|
"<br />" + QString(_("CMS")) + ": " +
|
||||||
|
QString::fromStdString(info.CMSPath) + "<br />");
|
||||||
|
|
||||||
|
auto* layout = new QGridLayout();
|
||||||
|
auto* pixmapLabel = new QLabel();
|
||||||
|
pixmapLabel->setPixmap(*pixmap);
|
||||||
|
layout->addWidget(pixmapLabel, 0, 0, 1, -1, Qt::AlignCenter);
|
||||||
|
auto* aboutLabel = new QLabel();
|
||||||
|
aboutLabel->setText(*text);
|
||||||
|
aboutLabel->setWordWrap(true);
|
||||||
|
aboutLabel->setOpenExternalLinks(true);
|
||||||
|
layout->addWidget(aboutLabel, 1, 0, 1, -1);
|
||||||
|
layout->addItem(
|
||||||
|
new QSpacerItem(20, 10, QSizePolicy::Minimum, QSizePolicy::Fixed), 2, 1,
|
||||||
|
1, 1);
|
||||||
|
|
||||||
|
setLayout(layout);
|
||||||
|
}
|
53
src/ui/dialog/help/GnupgTab.h
Normal file
53
src/ui/dialog/help/GnupgTab.h
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2022. Saturneric
|
||||||
|
*
|
||||||
|
* This file is part of GpgFrontend.
|
||||||
|
*
|
||||||
|
* GpgFrontend 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 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GpgFrontend 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 GpgFrontend. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* The initial version of the source code is inherited from
|
||||||
|
* the gpg4usb project, which is under GPL-3.0-or-later.
|
||||||
|
*
|
||||||
|
* All the source code of GpgFrontend was modified and released by
|
||||||
|
* Saturneric<eric@bktus.com> starting on May 12, 2021.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
*/
|
||||||
|
|
||||||
|
//
|
||||||
|
// Created by eric on 2022/7/23.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef GPGFRONTEND_GNUPGTAB_H
|
||||||
|
#define GPGFRONTEND_GNUPGTAB_H
|
||||||
|
|
||||||
|
#include "core/GpgContext.h"
|
||||||
|
#include "ui/GpgFrontendUI.h"
|
||||||
|
|
||||||
|
namespace GpgFrontend::UI{
|
||||||
|
class GnupgTab: public QWidget {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
/**
|
||||||
|
* @brief Construct a new Info Tab object
|
||||||
|
*
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
|
explicit GnupgTab(QWidget* parent = nullptr);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif // GPGFRONTEND_GNUPGTAB_H
|
@ -387,6 +387,7 @@ class MainWindow : public GeneralMainWindow {
|
|||||||
QAction* about_act_{}; ///< Action to open about dialog
|
QAction* about_act_{}; ///< Action to open about dialog
|
||||||
QAction* check_update_act_{}; ///< Action to open about dialog
|
QAction* check_update_act_{}; ///< Action to open about dialog
|
||||||
QAction* translate_act_{}; ///< Action to open about dialog
|
QAction* translate_act_{}; ///< Action to open about dialog
|
||||||
|
QAction* gnupg_act_{}; ///< Action to open about dialog
|
||||||
QAction* open_settings_act_{}; ///< Action to open settings dialog
|
QAction* open_settings_act_{}; ///< Action to open settings dialog
|
||||||
QAction* show_key_details_act_{}; ///< Action to open key-details dialog
|
QAction* show_key_details_act_{}; ///< Action to open key-details dialog
|
||||||
QAction* start_wizard_act_{}; ///< Action to open the wizard
|
QAction* start_wizard_act_{}; ///< Action to open the wizard
|
||||||
|
@ -251,11 +251,17 @@ void MainWindow::create_actions() {
|
|||||||
connect(about_act_, &QAction::triggered, this,
|
connect(about_act_, &QAction::triggered, this,
|
||||||
[=]() { new AboutDialog(0, this); });
|
[=]() { new AboutDialog(0, this); });
|
||||||
|
|
||||||
|
gnupg_act_ = new QAction(_("GnuPG"), this);
|
||||||
|
gnupg_act_->setIcon(QIcon(":help.png"));
|
||||||
|
gnupg_act_->setToolTip(_("Information about Gnupg"));
|
||||||
|
connect(gnupg_act_, &QAction::triggered, this,
|
||||||
|
[=]() { new AboutDialog(1, this); });
|
||||||
|
|
||||||
translate_act_ = new QAction(_("Translate"), this);
|
translate_act_ = new QAction(_("Translate"), this);
|
||||||
translate_act_->setIcon(QIcon(":help.png"));
|
translate_act_->setIcon(QIcon(":help.png"));
|
||||||
translate_act_->setToolTip(_("Information about translation"));
|
translate_act_->setToolTip(_("Information about translation"));
|
||||||
connect(translate_act_, &QAction::triggered, this,
|
connect(translate_act_, &QAction::triggered, this,
|
||||||
[=]() { new AboutDialog(1, this); });
|
[=]() { new AboutDialog(2, this); });
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check Update Menu
|
* Check Update Menu
|
||||||
@ -377,6 +383,7 @@ void MainWindow::create_menus() {
|
|||||||
help_menu_->addSeparator();
|
help_menu_->addSeparator();
|
||||||
help_menu_->addAction(check_update_act_);
|
help_menu_->addAction(check_update_act_);
|
||||||
help_menu_->addAction(translate_act_);
|
help_menu_->addAction(translate_act_);
|
||||||
|
help_menu_->addAction(gnupg_act_);
|
||||||
help_menu_->addAction(about_act_);
|
help_menu_->addAction(about_act_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user