[gtk/wip/hadess/app-id-inspector-4] inspector: Show app ID and resource path in the General tab




commit 1877bb8a270325954e2b0094668a1a864668d5c7
Author: Bastien Nocera <hadess hadess net>
Date:   Thu Feb 17 12:24:51 2022 +0100

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

 gtk/inspector/general.c  | 25 +++++++++++++++++
 gtk/inspector/general.ui | 70 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 95 insertions(+)
---
diff --git a/gtk/inspector/general.c b/gtk/inspector/general.c
index 2eee163a1e..ad52422fa3 100644
--- a/gtk/inspector/general.c
+++ b/gtk/inspector/general.c
@@ -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);
diff --git a/gtk/inspector/general.ui b/gtk/inspector/general.ui
index 9a7369e362..a75e532c3d 100644
--- a/gtk/inspector/general.ui
+++ b/gtk/inspector/general.ui
@@ -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"/>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]