inspector: Show app ID and resource path in the General tab

This makes it easier to figure out those values (which are mentioned in
the GtkApplication documentation) rather than working that out from the
way they're generated (or documented as being generated).
This commit is contained in:
Bastien Nocera 2022-02-17 12:24:51 +01:00
parent 67a5120b5b
commit 1877bb8a27
2 changed files with 95 additions and 0 deletions

View File

@ -97,6 +97,9 @@ struct _GtkInspectorGeneral
GtkWidget *vk_device;
GtkWidget *vk_api_version;
GtkWidget *vk_driver_version;
GtkWidget *app_id_frame;
GtkWidget *app_id;
GtkWidget *resource_path;
GtkWidget *prefix;
GtkWidget *xdg_data_home;
GtkWidget *xdg_data_dirs;
@ -174,6 +177,24 @@ init_version (GtkInspectorGeneral *gen)
gtk_label_set_text (GTK_LABEL (gen->gsk_renderer), renderer);
}
static void
init_app_id (GtkInspectorGeneral *gen)
{
GApplication *app;
app = g_application_get_default ();
if (!app)
{
gtk_widget_hide (gen->app_id_frame);
return;
}
gtk_label_set_text (GTK_LABEL (gen->app_id),
g_application_get_application_id (app));
gtk_label_set_text (GTK_LABEL (gen->resource_path),
g_application_get_resource_base_path (app));
}
static G_GNUC_UNUSED void
add_check_row (GtkInspectorGeneral *gen,
GtkListBox *list,
@ -1112,6 +1133,9 @@ gtk_inspector_general_class_init (GtkInspectorGeneralClass *klass)
gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, vk_device);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, vk_api_version);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, vk_driver_version);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, app_id_frame);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, app_id);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, resource_path);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, prefix);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, xdg_data_home);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorGeneral, xdg_data_dirs);
@ -1136,6 +1160,7 @@ gtk_inspector_general_set_display (GtkInspectorGeneral *gen,
init_version (gen);
init_env (gen);
init_app_id (gen);
init_display (gen);
init_pango (gen);
init_media (gen);

View File

@ -181,6 +181,73 @@
</child>
</object>
</child>
<child>
<object class="GtkFrame" id="app_id_frame">
<property name="halign">center</property>
<child>
<object class="GtkListBox" id="app_id_box">
<property name="selection-mode">none</property>
<style>
<class name="rich-list"/>
</style>
<child>
<object class="GtkListBoxRow">
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<property name="spacing">40</property>
<child>
<object class="GtkLabel" id="app_id_label">
<property name="label" translatable="yes">Application ID</property>
<property name="halign">start</property>
<property name="valign">baseline</property>
<property name="xalign">0.0</property>
</object>
</child>
<child>
<object class="GtkLabel" id="app_id">
<property name="selectable">1</property>
<property name="halign">end</property>
<property name="valign">baseline</property>
<property name="hexpand">1</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkListBoxRow">
<property name="activatable">0</property>
<child>
<object class="GtkBox">
<property name="spacing">40</property>
<child>
<object class="GtkLabel" id="resource_path_label">
<property name="label" translatable="yes">Resource Path</property>
<property name="halign">start</property>
<property name="valign">baseline</property>
<property name="xalign">0.0</property>
</object>
</child>
<child>
<object class="GtkLabel" id="resource_path">
<property name="selectable">1</property>
<property name="halign">end</property>
<property name="valign">baseline</property>
<property name="hexpand">1</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkFrame" id="env_frame">
<property name="halign">center</property>
@ -702,6 +769,8 @@
<widget name="vk_device_label"/>
<widget name="vk_api_version_label"/>
<widget name="vk_driver_version_label"/>
<widget name="app_id_label"/>
<widget name="resource_path_label"/>
<widget name="prefix_label"/>
<widget name="xdg_data_home_label"/>
<widget name="xdg_data_dirs_label"/>
@ -717,6 +786,7 @@
<object class="GtkSizeGroup">
<widgets>
<widget name="version_frame"/>
<widget name="app_id_frame"/>
<widget name="gl_frame"/>
<widget name="monitor_frame"/>
<widget name="vulkan_frame"/>