info-overview: Implements usage of os-release to search for the OS logo
By default info-overview panel shows the Gnome logo from a static resource, currently every distro patches this component to show their logos info-overview panel could use `/etc/os-release` file to fetch the OS logo instead this static resource
This commit is contained in:
parent
cbb2d31a38
commit
f39cd5a93b
2 changed files with 20 additions and 2 deletions
|
@ -69,6 +69,7 @@ struct _CcInfoOverviewPanel
|
||||||
CcListRow *hostname_row;
|
CcListRow *hostname_row;
|
||||||
CcListRow *memory_row;
|
CcListRow *memory_row;
|
||||||
GtkListBox *os_box;
|
GtkListBox *os_box;
|
||||||
|
GtkImage *os_logo;
|
||||||
CcListRow *os_name_row;
|
CcListRow *os_name_row;
|
||||||
CcListRow *os_type_row;
|
CcListRow *os_type_row;
|
||||||
CcListRow *processor_row;
|
CcListRow *processor_row;
|
||||||
|
@ -865,6 +866,21 @@ cc_info_panel_row_activated_cb (CcInfoOverviewPanel *self,
|
||||||
open_software_update (self);
|
open_software_update (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
setup_os_logo (CcInfoOverviewPanel *panel)
|
||||||
|
{
|
||||||
|
g_autofree char *logo_name = g_get_os_info ("LOGO");
|
||||||
|
if (logo_name != NULL)
|
||||||
|
{
|
||||||
|
gtk_image_set_from_icon_name (panel->os_logo, logo_name, GTK_ICON_SIZE_INVALID);
|
||||||
|
gtk_image_set_pixel_size (panel->os_logo, 256);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gtk_image_set_from_resource (panel->os_logo, "/org/gnome/control-center/info-overview/GnomeLogoVerticalMedium.svg");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
cc_info_overview_panel_class_init (CcInfoOverviewPanelClass *klass)
|
cc_info_overview_panel_class_init (CcInfoOverviewPanelClass *klass)
|
||||||
{
|
{
|
||||||
|
@ -883,6 +899,7 @@ cc_info_overview_panel_class_init (CcInfoOverviewPanelClass *klass)
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, hostname_row);
|
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, hostname_row);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, memory_row);
|
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, memory_row);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, os_box);
|
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, os_box);
|
||||||
|
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, os_logo);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, os_name_row);
|
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, os_name_row);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, os_type_row);
|
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, os_type_row);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, processor_row);
|
gtk_widget_class_bind_template_child (widget_class, CcInfoOverviewPanel, processor_row);
|
||||||
|
@ -912,6 +929,8 @@ cc_info_overview_panel_init (CcInfoOverviewPanel *self)
|
||||||
|
|
||||||
info_overview_panel_setup_overview (self);
|
info_overview_panel_setup_overview (self);
|
||||||
info_overview_panel_setup_virt (self);
|
info_overview_panel_setup_virt (self);
|
||||||
|
|
||||||
|
setup_os_logo (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkWidget *
|
GtkWidget *
|
||||||
|
|
|
@ -25,10 +25,9 @@
|
||||||
<property name="spacing">30</property>
|
<property name="spacing">30</property>
|
||||||
<property name="orientation">vertical</property>
|
<property name="orientation">vertical</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkImage">
|
<object class="GtkImage" id="os_logo">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="resource">/org/gnome/control-center/info-overview/GnomeLogoVerticalMedium.svg</property>
|
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
|
Loading…
Add table
Reference in a new issue