aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-01-22 16:38:22 +0000
committersaturneric <[email protected]>2024-01-22 16:38:22 +0000
commit89d0f9b3d6ff1783722bacaa28a2071db5b6a6c8 (patch)
treeb265e642fba70f9580147671e97a6d6b1082a8ff
parentfix: ExecuteContext should be marked as export (diff)
downloadGpgFrontend-89d0f9b3d6ff1783722bacaa28a2071db5b6a6c8.tar.gz
GpgFrontend-89d0f9b3d6ff1783722bacaa28a2071db5b6a6c8.zip
feat: add gnupg directories infos to gnupg tab
-rw-r--r--src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp16
-rw-r--r--src/ui/dialog/help/GnupgTab.cpp96
-rw-r--r--ui/GnuPGInfo.ui17
3 files changed, 93 insertions, 36 deletions
diff --git a/src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp b/src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp
index c974ec2a..c965ed30 100644
--- a/src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp
+++ b/src/module/integrated/gnupg_info_gathering_module/GnuPGInfoGatheringModule.cpp
@@ -213,24 +213,14 @@ auto GnuPGInfoGatheringModule::Exec(EventRefrernce event) -> int {
exec_contexts.emplace_back(GpgCommandExecutor::ExecuteContext{
gpgconf_path, QStringList{"--list-dirs"},
[this](int exit_code, const QString &p_out, const QString &p_err) {
- MODULE_LOG_DEBUG(
- "gpgconf configurations exit_code: {} process stdout size: {}",
- exit_code, p_out.size());
-
- if (exit_code != 0) {
- MODULE_LOG_ERROR(
- "gpgconf execute error, process stderr: {} process stdout: "
- "{}",
- p_err, p_out);
- return;
- }
+ if (exit_code != 0) return;
auto line_split_list = p_out.split("\n");
for (const auto &line : line_split_list) {
auto info_split_list = line.split(":");
- MODULE_LOG_DEBUG("gpgconf info line: {} info size: {}", line,
- info_split_list.size());
+ MODULE_LOG_DEBUG("gpgconf direcrotries info line: {} info size: {}",
+ line, info_split_list.size());
if (info_split_list.size() != 2) continue;
diff --git a/src/ui/dialog/help/GnupgTab.cpp b/src/ui/dialog/help/GnupgTab.cpp
index 28f1acfe..1aceed1a 100644
--- a/src/ui/dialog/help/GnupgTab.cpp
+++ b/src/ui/dialog/help/GnupgTab.cpp
@@ -45,7 +45,8 @@ GpgFrontend::UI::GnupgTab::GnupgTab(QWidget* parent)
<< tr("Checksum") << tr("Binary Path");
ui_->tabWidget->setTabText(0, tr("Components"));
- ui_->tabWidget->setTabText(1, tr("Configurations"));
+ ui_->tabWidget->setTabText(1, tr("Directories"));
+ ui_->tabWidget->setTabText(2, tr("Options"));
ui_->componentDetailsTable->setColumnCount(components_column_titles.length());
ui_->componentDetailsTable->setHorizontalHeaderLabels(
@@ -54,28 +55,53 @@ GpgFrontend::UI::GnupgTab::GnupgTab(QWidget* parent)
ui_->componentDetailsTable->setSelectionBehavior(
QAbstractItemView::SelectRows);
- QStringList configurations_column_titles;
- configurations_column_titles << tr("Component") << tr("Group") << tr("Key")
- << tr("Description") << tr("Default Value")
- << tr("Value");
+ // tableitems not editable
+ ui_->componentDetailsTable->setEditTriggers(
+ QAbstractItemView::NoEditTriggers);
+
+ // no focus (rectangle around tableitems)
+ // may be it should focus on whole row
+ ui_->componentDetailsTable->setFocusPolicy(Qt::NoFocus);
+ ui_->componentDetailsTable->setAlternatingRowColors(true);
+
+ QStringList directories_column_titles;
+ directories_column_titles << tr("Directory Type") << tr("Path");
- ui_->configurationDetailsTable->setColumnCount(
- configurations_column_titles.length());
- ui_->configurationDetailsTable->setHorizontalHeaderLabels(
- configurations_column_titles);
- ui_->configurationDetailsTable->horizontalHeader()->setStretchLastSection(
+ ui_->directoriesDetailsTable->setColumnCount(
+ directories_column_titles.length());
+ ui_->directoriesDetailsTable->setHorizontalHeaderLabels(
+ directories_column_titles);
+ ui_->directoriesDetailsTable->horizontalHeader()->setStretchLastSection(
false);
- ui_->configurationDetailsTable->setSelectionBehavior(
+ ui_->directoriesDetailsTable->setSelectionBehavior(
QAbstractItemView::SelectRows);
// tableitems not editable
- ui_->componentDetailsTable->setEditTriggers(
+ ui_->directoriesDetailsTable->setEditTriggers(
QAbstractItemView::NoEditTriggers);
// no focus (rectangle around tableitems)
// may be it should focus on whole row
- ui_->componentDetailsTable->setFocusPolicy(Qt::NoFocus);
- ui_->componentDetailsTable->setAlternatingRowColors(true);
+ ui_->directoriesDetailsTable->setFocusPolicy(Qt::NoFocus);
+ ui_->directoriesDetailsTable->setAlternatingRowColors(true);
+
+ QStringList options_column_titles;
+ options_column_titles << tr("Component") << tr("Group") << tr("Key")
+ << tr("Description") << tr("Default Value")
+ << tr("Value");
+
+ ui_->optionDetailsTable->setColumnCount(options_column_titles.length());
+ ui_->optionDetailsTable->setHorizontalHeaderLabels(options_column_titles);
+ ui_->optionDetailsTable->horizontalHeader()->setStretchLastSection(false);
+ ui_->optionDetailsTable->setSelectionBehavior(QAbstractItemView::SelectRows);
+
+ // tableitems not editable
+ ui_->optionDetailsTable->setEditTriggers(QAbstractItemView::NoEditTriggers);
+
+ // no focus (rectangle around tableitems)
+ // may be it should focus on whole row
+ ui_->optionDetailsTable->setFocusPolicy(Qt::NoFocus);
+ ui_->optionDetailsTable->setAlternatingRowColors(true);
process_software_info();
}
@@ -144,6 +170,33 @@ void GpgFrontend::UI::GnupgTab::process_software_info() {
ui_->componentDetailsTable->resizeColumnsToContents();
+ auto directories = Module::ListRTChildKeys(
+ "com.bktus.gpgfrontend.module.integrated.gnupg-info-gathering",
+ QString("gnupg.dirs"));
+
+ ui_->directoriesDetailsTable->setRowCount(directories.size());
+
+ row = 0;
+ for (auto& dir : directories) {
+ const auto dir_path = Module::RetrieveRTValueTypedOrDefault(
+ "com.bktus.gpgfrontend.module.integrated.gnupg-info-gathering",
+ QString("gnupg.dirs.%1").arg(dir), QString{});
+
+ if (dir_path.isEmpty()) continue;
+
+ auto* tmp0 = new QTableWidgetItem(dir);
+ tmp0->setTextAlignment(Qt::AlignCenter);
+ ui_->directoriesDetailsTable->setItem(row, 0, tmp0);
+
+ auto* tmp1 = new QTableWidgetItem(dir_path);
+ tmp1->setTextAlignment(Qt::AlignCenter);
+ ui_->directoriesDetailsTable->setItem(row, 1, tmp1);
+
+ row++;
+ }
+
+ ui_->directoriesDetailsTable->resizeColumnsToContents();
+
// calcualte the total row number of configuration table
row = 0;
for (auto& component : components) {
@@ -168,7 +221,8 @@ void GpgFrontend::UI::GnupgTab::process_software_info() {
row++;
}
}
- ui_->configurationDetailsTable->setRowCount(row);
+
+ ui_->optionDetailsTable->setRowCount(row);
row = 0;
QString configuration_group;
@@ -208,29 +262,29 @@ void GpgFrontend::UI::GnupgTab::process_software_info() {
auto* tmp0 = new QTableWidgetItem(component);
tmp0->setTextAlignment(Qt::AlignCenter);
- ui_->configurationDetailsTable->setItem(row, 0, tmp0);
+ ui_->optionDetailsTable->setItem(row, 0, tmp0);
auto* tmp1 = new QTableWidgetItem(configuration_group);
tmp1->setTextAlignment(Qt::AlignCenter);
- ui_->configurationDetailsTable->setItem(row, 1, tmp1);
+ ui_->optionDetailsTable->setItem(row, 1, tmp1);
auto* tmp2 = new QTableWidgetItem(option_info["name"].toString());
tmp2->setTextAlignment(Qt::AlignCenter);
- ui_->configurationDetailsTable->setItem(row, 2, tmp2);
+ ui_->optionDetailsTable->setItem(row, 2, tmp2);
auto* tmp3 = new QTableWidgetItem(option_info["description"].toString());
tmp3->setTextAlignment(Qt::AlignLeft);
- ui_->configurationDetailsTable->setItem(row, 3, tmp3);
+ ui_->optionDetailsTable->setItem(row, 3, tmp3);
auto* tmp4 =
new QTableWidgetItem(option_info["default_value"].toString());
tmp4->setTextAlignment(Qt::AlignLeft);
- ui_->configurationDetailsTable->setItem(row, 4, tmp4);
+ ui_->optionDetailsTable->setItem(row, 4, tmp4);
auto* tmp5 = new QTableWidgetItem(option_info["value"].toString());
tmp5->setTextAlignment(Qt::AlignLeft);
- ui_->configurationDetailsTable->setItem(row, 5, tmp5);
+ ui_->optionDetailsTable->setItem(row, 5, tmp5);
row++;
}
diff --git a/ui/GnuPGInfo.ui b/ui/GnuPGInfo.ui
index 0ea5385f..19479a77 100644
--- a/ui/GnuPGInfo.ui
+++ b/ui/GnuPGInfo.ui
@@ -87,6 +87,9 @@
<property name="currentIndex">
<number>0</number>
</property>
+ <property name="tabBarAutoHide">
+ <bool>false</bool>
+ </property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Components</string>
@@ -109,11 +112,11 @@
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
- <string>Configurations</string>
+ <string>Directories</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
- <widget class="QTableWidget" name="configurationDetailsTable">
+ <widget class="QTableWidget" name="directoriesDetailsTable">
<property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::AdjustToContents</enum>
</property>
@@ -124,6 +127,16 @@
</item>
</layout>
</widget>
+ <widget class="QWidget" name="tab_3">
+ <attribute name="title">
+ <string>Options</string>
+ </attribute>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QTableWidget" name="optionDetailsTable"/>
+ </item>
+ </layout>
+ </widget>
</widget>
</item>
</layout>