[gnome-control-center/info-show-hardware-name] info-overview: Add hardware name (product_family)
- From: Felipe Borges <felipeborges src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/info-show-hardware-name] info-overview: Add hardware name (product_family)
- Date: Wed, 11 Mar 2020 10:33:28 +0000 (UTC)
commit 1fe06d89a4e27083812502968da4d42978335c21
Author: Felipe Borges <felipeborges gnome org>
Date: Wed Mar 11 11:31:21 2020 +0100
info-overview: Add hardware name (product_family)
Showing the product_family helps hardware vendors debug user problems.
See https://teams.fedoraproject.org/project/silverblue/us/127
panels/info-overview/cc-info-overview-panel.c | 21 +++++++++++++++++++++
panels/info-overview/cc-info-overview-panel.ui | 9 +++++++++
2 files changed, 30 insertions(+)
---
diff --git a/panels/info-overview/cc-info-overview-panel.c b/panels/info-overview/cc-info-overview-panel.c
index af04dc660..e1906ef7e 100644
--- a/panels/info-overview/cc-info-overview-panel.c
+++ b/panels/info-overview/cc-info-overview-panel.c
@@ -62,6 +62,7 @@ struct _CcInfoOverviewPanel
CcListRow *disk_row;
CcListRow *gnome_version_row;
CcListRow *graphics_row;
+ CcListRow *hardware_name_row;
GtkListBox *hardware_box;
GtkDialog *hostname_editor;
CcHostnameEntry *hostname_entry;
@@ -408,6 +409,21 @@ get_graphics_hardware_string (void)
return g_strdup (renderer);
}
+static gchar *
+get_hardware_name_string (void)
+{
+ gchar *product_family = NULL;
+ g_autoptr(GError) error = NULL;
+
+ if (!g_file_get_contents ("/sys/devices/virtual/dmi/id/product_family", &product_family, NULL, &error))
+ {
+ if (!g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT))
+ return NULL;
+ }
+
+ return g_strchomp (product_family);
+}
+
static char *
get_os_name (void)
{
@@ -683,6 +699,7 @@ info_overview_panel_setup_overview (CcInfoOverviewPanel *self)
g_autofree char *os_type_text = NULL;
g_autofree char *os_name_text = NULL;
g_autofree gchar *graphics_hardware_string = NULL;
+ g_autofree gchar *hardware_name_string = NULL;
if (load_gnome_version (&gnome_version, NULL, NULL))
cc_list_row_set_secondary_label (self->gnome_version_row, gnome_version);
@@ -708,6 +725,9 @@ info_overview_panel_setup_overview (CcInfoOverviewPanel *self)
graphics_hardware_string = get_graphics_hardware_string ();
cc_list_row_set_secondary_markup (self->graphics_row, graphics_hardware_string);
+
+ hardware_name_string = get_hardware_name_string ();
+ cc_list_row_set_secondary_markup (self->hardware_name_row, hardware_name_string);
}
static gboolean
@@ -811,6 +831,7 @@ cc_info_overview_panel_class_init (CcInfoOverviewPanelClass *klass)
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, gnome_version_row);
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, graphics_row);
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, hardware_box);
+ gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, hardware_name_row);
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, hostname_editor);
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, hostname_entry);
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, hostname_row);
diff --git a/panels/info-overview/cc-info-overview-panel.ui b/panels/info-overview/cc-info-overview-panel.ui
index de377bb69..7a68a5653 100644
--- a/panels/info-overview/cc-info-overview-panel.ui
+++ b/panels/info-overview/cc-info-overview-panel.ui
@@ -68,6 +68,15 @@
<class name="frame" />
</style>
+ <!-- Hardware name -->
+ <child>
+ <object class="CcListRow" id="hardware_name_row">
+ <property name="visible">True</property>
+ <property name="activatable">False</property>
+ <property name="title" translatable="yes">Hardware name</property>
+ </object>
+ </child>
+
<!-- Memory -->
<child>
<object class="CcListRow" id="memory_row">
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]