diff options
-rw-r--r-- | hardinfo/util.c | 8 | ||||
-rw-r--r-- | includes/hardinfo.h | 1 | ||||
-rw-r--r-- | shell/report.c | 9 |
3 files changed, 15 insertions, 3 deletions
diff --git a/hardinfo/util.c b/hardinfo/util.c index 04790dc2..81b7e743 100644 --- a/hardinfo/util.c +++ b/hardinfo/util.c @@ -384,6 +384,7 @@ log_handler(const gchar * log_domain, void parameters_init(int *argc, char ***argv, ProgramParameters * param) { static gboolean create_report = FALSE; + static gboolean force_all_details = FALSE; static gboolean show_version = FALSE; static gboolean list_modules = FALSE; static gboolean autoload_deps = FALSE; @@ -457,6 +458,12 @@ void parameters_init(int *argc, char ***argv, ProgramParameters * param) .arg = G_OPTION_ARG_NONE, .arg_data = &skip_benchmarks, .description = N_("do not run benchmarks")}, + { + .long_name = "very-verbose", + .short_name = 'w', /* like -vv */ + .arg = G_OPTION_ARG_NONE, + .arg_data = &force_all_details, + .description = N_("show all details")}, {NULL} }; GOptionContext *ctx; @@ -486,6 +493,7 @@ void parameters_init(int *argc, char ***argv, ProgramParameters * param) param->autoload_deps = autoload_deps; param->run_xmlrpc_server = run_xmlrpc_server; param->skip_benchmarks = skip_benchmarks; + param->force_all_details = force_all_details; param->argv0 = *(argv)[0]; if (report_format && g_str_equal(report_format, "html")) diff --git a/includes/hardinfo.h b/includes/hardinfo.h index 3412f852..ee886251 100644 --- a/includes/hardinfo.h +++ b/includes/hardinfo.h @@ -46,6 +46,7 @@ typedef struct _ProgramParameters ProgramParameters; struct _ProgramParameters { gboolean create_report; + gboolean force_all_details; /* for create_report, include any "moreinfo" that exists for any item */ gboolean show_version; gboolean gui_running; gboolean list_modules; diff --git a/shell/report.c b/shell/report.c index 8177822a..8a8f8c6b 100644 --- a/shell/report.c +++ b/shell/report.c @@ -299,12 +299,15 @@ void report_table(ReportContext * ctx, gchar * text) if ( key_is_flagged(key) ) { gchar *mi_tag = key_mi_tag(key); gchar *mi_data = NULL; /*const*/ - if (key_wants_details(key)) { + + if (key_wants_details(key) || params.force_all_details) mi_data = ctx->entry->morefunc(mi_tag); + + if (mi_data) report_details(ctx, (gchar*)key_get_name(key), value, key_is_highlighted(key), mi_data); - } else { + else report_key_value(ctx, (gchar*)key_get_name(key), value, key_is_highlighted(key) ); - } + g_free(mi_tag); } else { report_key_value(ctx, key, value, FALSE); |