summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2022-06-21 02:33:20 +0200
committerBenjamin Otte <otte@redhat.com>2022-06-21 02:35:02 +0200
commit18c2ba9b717bdece2e429019d2e6740a45449825 (patch)
treefa9f203bf2e7f705108e8b717f24c4a713c73538 /gtk
parent3da3cb35a65ae5352cdc430e481e3e77ac9c8e3c (diff)
downloadgtk+-18c2ba9b717bdece2e429019d2e6740a45449825.tar.gz
inspector: Add an "inspect inspector" button
And launch a new inspector. The location of that button is rather random - I had no idea where to put it.
Diffstat (limited to 'gtk')
-rw-r--r--gtk/inspector/visual.c16
-rw-r--r--gtk/inspector/visual.ui27
2 files changed, 41 insertions, 2 deletions
diff --git a/gtk/inspector/visual.c b/gtk/inspector/visual.c
index 9a2e445354..c3b53bf56d 100644
--- a/gtk/inspector/visual.c
+++ b/gtk/inspector/visual.c
@@ -29,6 +29,7 @@
#include "gtkadjustment.h"
#include "gtkbox.h"
+#include "gtkbutton.h"
#include "gtkdropdown.h"
#include "gtkcssproviderprivate.h"
#include "gtkdebug.h"
@@ -1060,14 +1061,24 @@ update_gl_flag (GtkSwitch *sw,
}
static void
-software_gl_activate (GtkSwitch *sw,
- GParamSpec *pspec,
+software_gl_activate (GtkSwitch *sw,
+ GParamSpec *pspec,
GtkInspectorVisual *vis)
{
update_gl_flag (sw, GDK_DEBUG_GL_SOFTWARE, vis);
}
static void
+inspect_inspector (GtkButton *button,
+ GtkInspectorVisual *vis)
+{
+ GtkWidget *inspector_window;
+
+ inspector_window = gtk_inspector_window_get (gtk_widget_get_display (GTK_WIDGET (button)));
+ gtk_window_present (GTK_WINDOW (inspector_window));
+}
+
+static void
gtk_inspector_visual_init (GtkInspectorVisual *vis)
{
gtk_widget_init_template (GTK_WIDGET (vis));
@@ -1177,6 +1188,7 @@ gtk_inspector_visual_class_init (GtkInspectorVisualClass *klass)
gtk_widget_class_bind_template_callback (widget_class, layout_activate);
gtk_widget_class_bind_template_callback (widget_class, focus_activate);
gtk_widget_class_bind_template_callback (widget_class, software_gl_activate);
+ gtk_widget_class_bind_template_callback (widget_class, inspect_inspector);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
}
diff --git a/gtk/inspector/visual.ui b/gtk/inspector/visual.ui
index a7ce8fed2e..2915a3685d 100644
--- a/gtk/inspector/visual.ui
+++ b/gtk/inspector/visual.ui
@@ -697,6 +697,32 @@
</child>
</object>
</child>
+ <child>
+ <object class="GtkFrame" id="inspector_frame">
+ <property name="halign">center</property>
+ <child>
+ <object class="GtkListBox">
+ <property name="selection-mode">none</property>
+ <property name="show-separators">1</property>
+ <style>
+ <class name="rich-list"/>
+ </style>
+ <child>
+ <object class="GtkListBoxRow">
+ <child>
+ <object class="GtkButton">
+ <property name="label" translatable="yes">Inspect Inspector</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <signal name="clicked" handler="inspect_inspector"/>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
</child>
</object>
@@ -744,6 +770,7 @@
<widget name="visual_frame"/>
<widget name="debug_frame"/>
<widget name="misc_frame"/>
+ <widget name="inspector_frame"/>
</widgets>
</object>
</interface>