diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cmd.cpp | 31 | ||||
-rw-r--r-- | src/core/utils/GpgUtils.cpp | 2 | ||||
-rw-r--r-- | src/main.cpp | 4 | ||||
-rw-r--r-- | src/ui/main_window/MainWindowSlotFunction.cpp | 17 |
4 files changed, 43 insertions, 11 deletions
diff --git a/src/cmd.cpp b/src/cmd.cpp index 2ab0b323..b8de7d4c 100644 --- a/src/cmd.cpp +++ b/src/cmd.cpp @@ -171,18 +171,35 @@ auto PrintEnvInfo() -> int { } auto ParseLogLevel(const QString& log_level) -> int { + // default value + if (log_level == "none") return 0; + if (log_level == "debug") { QLoggingCategory::setFilterRules( - "core.debug=true\nui.debug=true\ntest.debug=true\nmodule.debug=true"); + "core.debug=true\n" + "ui.debug=true\n" + "module.debug=true\n" + "test.debug=true"); } else if (log_level == "info") { QLoggingCategory::setFilterRules( - "*.debug=false\ncore.info=true\nui.info=true\ntest.info=" - "true\nmodule.info=true"); - } else if (log_level == "warning") { - QLoggingCategory::setFilterRules("*.debug=false\n*.info=false\n"); - } else if (log_level == "critical") { + "*.debug=false\n" + "core.info=true\n" + "ui.info=true\n" + "module.info=true\n" + "test.debug=true"); + } else if (log_level == "warn") { + QLoggingCategory::setFilterRules( + "*.debug=false\n" + "*.info=false\n" + "core.warning=true\n" + "ui.warning=true\n" + "module.warning=true\n" + "test.warning=true\n"); + } else if (log_level == "error") { QLoggingCategory::setFilterRules( - "*.debug=false\n*.info=false\n*.warning=false\n"); + "*.debug=false\n" + "*.info=false\n" + "*.warning=false"); } else { qWarning() << "unknown log level: " << log_level; } diff --git a/src/core/utils/GpgUtils.cpp b/src/core/utils/GpgUtils.cpp index 957b8910..29b150bd 100644 --- a/src/core/utils/GpgUtils.cpp +++ b/src/core/utils/GpgUtils.cpp @@ -185,6 +185,8 @@ auto GPGFRONTEND_CORE_EXPORT GetGpgKeyDatabaseInfos() #else gpg_key_database_info_cache.reserve( static_cast<qsizetype>(context_index_list.size())); + std::fill_n(std::back_inserter(gpg_key_database_info_cache), + context_index_list.size(), KeyDatabaseInfo{}); #endif for (auto& context_index : context_index_list) { diff --git a/src/main.cpp b/src/main.cpp index 040269fb..926c15ab 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -81,9 +81,7 @@ auto main(int argc, char* argv[]) -> int { {{"v", "version"}, "show version information"}, {{"t", "test"}, "run all unit test cases"}, {{"e", "environment"}, "show environment information"}, - {{"l", "log-level"}, - "set log level (trace, debug, info, warn, error)", - "debug"}, + {{"l", "log-level"}, "set log level (debug, info, warn, error)", "none"}, }); parser.process(*ctx->GetApp()); diff --git a/src/ui/main_window/MainWindowSlotFunction.cpp b/src/ui/main_window/MainWindowSlotFunction.cpp index b2b73d96..f214efbd 100644 --- a/src/ui/main_window/MainWindowSlotFunction.cpp +++ b/src/ui/main_window/MainWindowSlotFunction.cpp @@ -290,6 +290,8 @@ void MainWindow::SlotOpenFile(const QString& path) { } void MainWindow::slot_version_upgrade_notify() { + if (!Module::IsModuleActivate(kVersionCheckingModuleID)) return; + auto is_loading_done = Module::RetrieveRTValueTypedOrDefault<>( kVersionCheckingModuleID, "version.loading_done", false); if (!is_loading_done) { @@ -323,6 +325,13 @@ void MainWindow::slot_version_upgrade_notify() { statusBar()->showMessage( tr("GpgFrontend Upgradeable (New Version: %1).").arg(latest_version), 30000); + + auto* b = new QToolButton(); + b->setToolButtonStyle(Qt::ToolButtonIconOnly); + b->setIcon(QIcon(":/icons/upgrade.png")); + connect(b, &QPushButton::clicked, + [=]() { (new AboutDialog(tr("Update"), this))->show(); }); + statusBar()->addPermanentWidget(b); } else if (is_current_a_withdrawn_version) { auto response = QMessageBox::warning( this, tr("Withdrawn Version"), @@ -338,13 +347,19 @@ void MainWindow::slot_version_upgrade_notify() { QDesktopServices::openUrl( QUrl("https://github.com/saturneric/GpgFrontend/releases/latest")); } - } else if (!is_current_version_released) { statusBar()->showMessage( tr("This may be a BETA Version (Latest Stable Version: %1).") .arg(latest_version), 30000); + auto* b = new QToolButton(); + b->setToolButtonStyle(Qt::ToolButtonIconOnly); + b->setIcon(QIcon(":/icons/warning-filling.png")); + connect(b, &QPushButton::clicked, + [=]() { (new AboutDialog(tr("Update"), this))->show(); }); + statusBar()->addPermanentWidget(b); + } else if (is_git_commit_hash_mismatch) { QMessageBox::information( this, tr("Commit Hash Mismatch"), |