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.
This commit is contained in:
Benjamin Otte 2022-06-21 02:33:20 +02:00
parent 3da3cb35a6
commit 18c2ba9b71
2 changed files with 41 additions and 2 deletions

View File

@ -29,6 +29,7 @@
#include "gtkadjustment.h" #include "gtkadjustment.h"
#include "gtkbox.h" #include "gtkbox.h"
#include "gtkbutton.h"
#include "gtkdropdown.h" #include "gtkdropdown.h"
#include "gtkcssproviderprivate.h" #include "gtkcssproviderprivate.h"
#include "gtkdebug.h" #include "gtkdebug.h"
@ -1060,13 +1061,23 @@ update_gl_flag (GtkSwitch *sw,
} }
static void static void
software_gl_activate (GtkSwitch *sw, software_gl_activate (GtkSwitch *sw,
GParamSpec *pspec, GParamSpec *pspec,
GtkInspectorVisual *vis) GtkInspectorVisual *vis)
{ {
update_gl_flag (sw, GDK_DEBUG_GL_SOFTWARE, 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 static void
gtk_inspector_visual_init (GtkInspectorVisual *vis) gtk_inspector_visual_init (GtkInspectorVisual *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, layout_activate);
gtk_widget_class_bind_template_callback (widget_class, focus_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, 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); gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
} }

View File

@ -697,6 +697,32 @@
</child> </child>
</object> </object>
</child> </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> </object>
</child> </child>
</object> </object>
@ -744,6 +770,7 @@
<widget name="visual_frame"/> <widget name="visual_frame"/>
<widget name="debug_frame"/> <widget name="debug_frame"/>
<widget name="misc_frame"/> <widget name="misc_frame"/>
<widget name="inspector_frame"/>
</widgets> </widgets>
</object> </object>
</interface> </interface>