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); | 
