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-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="gnupg.png">resource/icons/gnupg.png</file>
|
||||
<file alias="gpgfrontend.png">resource/icons/gpgfrontend.png</file>
|
||||
<file alias="importance.png">resource/icons/importance.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)
|
||||
<< std::string(engine_info->home_dir == nullptr
|
||||
? "null"
|
||||
: engine_info->home_dir);
|
||||
: engine_info->home_dir)
|
||||
<< std::string(engine_info->version ? "null"
|
||||
: engine_info->version);
|
||||
|
||||
switch (engine_info->protocol) {
|
||||
case GPGME_PROTOCOL_OpenPGP:
|
||||
@ -110,6 +112,7 @@ GpgContext::GpgContext(const GpgContextInitArgs &args) : args_(args) {
|
||||
info_.GpgConfPath = engine_info->file_name;
|
||||
break;
|
||||
case GPGME_PROTOCOL_ASSUAN:
|
||||
info_.AssuanPath = engine_info->file_name;
|
||||
break;
|
||||
case GPGME_PROTOCOL_G13:
|
||||
break;
|
||||
|
@ -42,6 +42,7 @@ class GpgInfo {
|
||||
std::string DatabasePath; ///<
|
||||
std::string GnupgVersion; ///<
|
||||
std::string GpgConfPath; ///<
|
||||
std::string AssuanPath; ///<
|
||||
std::string CMSPath; ///<
|
||||
std::string GpgMEVersion; ///<
|
||||
};
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include "GpgFrontendBuildInfo.h"
|
||||
#include "core/function/GlobalSettingStation.h"
|
||||
#include "core/thread/TaskRunnerGetter.h"
|
||||
#include "ui/dialog/help/GnupgTab.h"
|
||||
#include "ui/thread/VersionCheckTask.h"
|
||||
|
||||
namespace GpgFrontend::UI {
|
||||
@ -39,27 +40,29 @@ AboutDialog::AboutDialog(int defaultIndex, QWidget* parent)
|
||||
: GeneralDialog(typeid(AboutDialog).name(), parent) {
|
||||
this->setWindowTitle(QString(_("About")) + " " + qApp->applicationName());
|
||||
|
||||
auto* tabWidget = new QTabWidget;
|
||||
auto* infoTab = new InfoTab();
|
||||
auto* translatorsTab = new TranslatorsTab();
|
||||
auto* tab_widget = new QTabWidget;
|
||||
auto* info_tab = new InfoTab();
|
||||
auto* gnupg_tab = new GnupgTab();
|
||||
auto* translators_tab = new TranslatorsTab();
|
||||
update_tab_ = new UpdateTab();
|
||||
|
||||
tabWidget->addTab(infoTab, _("About Software"));
|
||||
tabWidget->addTab(translatorsTab, _("Translators"));
|
||||
tabWidget->addTab(update_tab_, _("Update"));
|
||||
tab_widget->addTab(info_tab, _("About GpgFrontend"));
|
||||
tab_widget->addTab(gnupg_tab, _("GnuPG"));
|
||||
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; });
|
||||
|
||||
if (defaultIndex < tabWidget->count() && defaultIndex >= 0) {
|
||||
tabWidget->setCurrentIndex(defaultIndex);
|
||||
if (defaultIndex < tab_widget->count() && defaultIndex >= 0) {
|
||||
tab_widget->setCurrentIndex(defaultIndex);
|
||||
}
|
||||
|
||||
auto* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok);
|
||||
connect(buttonBox, &QDialogButtonBox::accepted, this, &AboutDialog::close);
|
||||
|
||||
auto* mainLayout = new QVBoxLayout;
|
||||
mainLayout->addWidget(tabWidget);
|
||||
mainLayout->addWidget(tab_widget);
|
||||
mainLayout->addWidget(buttonBox);
|
||||
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* check_update_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* show_key_details_act_{}; ///< Action to open key-details dialog
|
||||
QAction* start_wizard_act_{}; ///< Action to open the wizard
|
||||
|
@ -251,11 +251,17 @@ void MainWindow::create_actions() {
|
||||
connect(about_act_, &QAction::triggered, 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_->setIcon(QIcon(":help.png"));
|
||||
translate_act_->setToolTip(_("Information about translation"));
|
||||
connect(translate_act_, &QAction::triggered, this,
|
||||
[=]() { new AboutDialog(1, this); });
|
||||
[=]() { new AboutDialog(2, this); });
|
||||
|
||||
/*
|
||||
* Check Update Menu
|
||||
@ -377,6 +383,7 @@ void MainWindow::create_menus() {
|
||||
help_menu_->addSeparator();
|
||||
help_menu_->addAction(check_update_act_);
|
||||
help_menu_->addAction(translate_act_);
|
||||
help_menu_->addAction(gnupg_act_);
|
||||
help_menu_->addAction(about_act_);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user