[sysprof] libsysprof-ui: use adwaita rows for assistant
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [sysprof] libsysprof-ui: use adwaita rows for assistant
- Date: Mon, 11 Jul 2022 20:11:46 +0000 (UTC)
commit c6ae3221a10fa604be7b4dc29cb47a6453e1ae1f
Author: Christian Hergert <chergert redhat com>
Date: Mon Jul 11 12:55:12 2022 -0700
libsysprof-ui: use adwaita rows for assistant
This isn't exactly ideal in our use, but it's transitionary so that we
can get rid of the EggThreeGrid which is very out of place in a libadwaita
world.
src/libsysprof-ui/sysprof-profiler-assistant.c | 37 +-
src/libsysprof-ui/sysprof-profiler-assistant.ui | 610 +++++++-----------------
2 files changed, 189 insertions(+), 458 deletions(-)
---
diff --git a/src/libsysprof-ui/sysprof-profiler-assistant.c b/src/libsysprof-ui/sysprof-profiler-assistant.c
index 28827544..2dc3d4ed 100644
--- a/src/libsysprof-ui/sysprof-profiler-assistant.c
+++ b/src/libsysprof-ui/sysprof-profiler-assistant.c
@@ -22,6 +22,7 @@
#include "config.h"
+#include <adwaita.h>
#include <sysprof.h>
#include "egg-three-grid.h"
@@ -54,16 +55,14 @@ struct _SysprofProfilerAssistant
/* Template Objects */
GtkSwitch *allow_throttling;
GtkButton *record_button;
- GtkEntry *command_line;
+ AdwEntryRow *command_line;
GtkSearchEntry *search_entry;
- GtkRevealer *process_revealer;
GtkListBox *process_list_box;
SysprofEnvironEditor *environ_editor;
GtkFlowBox *aid_flow_box;
GtkSwitch *whole_system_switch;
GtkSwitch *launch_switch;
GtkSwitch *inherit_switch;
- GtkWidget *scroller;
};
enum {
@@ -114,12 +113,15 @@ create_process_row_cb (gpointer item_,
}
static void
-sysprof_profiler_assistant_notify_reveal_child_cb (SysprofProfilerAssistant *self,
- GParamSpec *pspec,
- GtkRevealer *revealer)
+sysprof_profiler_assistant_notify_active_cb (SysprofProfilerAssistant *self,
+ GParamSpec *pspec,
+ GtkSwitch *switch_)
{
g_assert (SYSPROF_IS_PROFILER_ASSISTANT (self));
- g_assert (GTK_IS_REVEALER (revealer));
+ g_assert (GTK_IS_SWITCH (switch_));
+
+ if (gtk_switch_get_active (switch_))
+ return;
if (self->process_model == NULL)
{
@@ -155,7 +157,7 @@ sysprof_profiler_assistant_command_line_changed_cb (SysprofProfilerAssistant *se
gint argc;
g_assert (SYSPROF_IS_PROFILER_ASSISTANT (self));
- g_assert (GTK_IS_ENTRY (entry));
+ g_assert (ADW_IS_ENTRY_ROW (entry));
style_context = gtk_widget_get_style_context (GTK_WIDGET (entry));
text = gtk_editable_get_text (GTK_EDITABLE (entry));
@@ -314,13 +316,13 @@ filter_by_search_text (GObject *object,
static void
sysprof_profiler_assistant_search_changed_cb (SysprofProfilerAssistant *self,
- GtkSearchEntry *search_entry)
+ GtkEditable *search_entry)
{
g_autoptr(SysprofModelFilter) filter = NULL;
- const gchar *text;
+ const char *text;
g_assert (SYSPROF_IS_PROFILER_ASSISTANT (self));
- g_assert (GTK_IS_SEARCH_ENTRY (search_entry));
+ g_assert (GTK_IS_EDITABLE (search_entry));
if (self->process_model == NULL)
return;
@@ -353,9 +355,12 @@ static void
sysprof_profiler_assistant_dispose (GObject *object)
{
SysprofProfilerAssistant *self = (SysprofProfilerAssistant *)object;
+ GtkWidget *child;
g_clear_object (&self->process_model);
- g_clear_pointer (&self->scroller, gtk_widget_unparent);
+
+ while ((child = gtk_widget_get_first_child (GTK_WIDGET (self))))
+ gtk_widget_unparent (child);
G_OBJECT_CLASS (sysprof_profiler_assistant_parent_class)->dispose (object);
}
@@ -390,13 +395,11 @@ sysprof_profiler_assistant_class_init (SysprofProfilerAssistantClass *klass)
gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, command_line);
gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, environ_editor);
gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, process_list_box);
- gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, process_revealer);
gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, record_button);
gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, whole_system_switch);
gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, launch_switch);
gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, inherit_switch);
gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, search_entry);
- gtk_widget_class_bind_template_child (widget_class, SysprofProfilerAssistant, scroller);
g_type_ensure (EGG_TYPE_THREE_GRID);
@@ -439,9 +442,9 @@ sysprof_profiler_assistant_init (SysprofProfilerAssistant *self)
self,
G_CONNECT_SWAPPED);
- g_signal_connect_object (self->process_revealer,
- "notify::reveal-child",
- G_CALLBACK (sysprof_profiler_assistant_notify_reveal_child_cb),
+ g_signal_connect_object (self->whole_system_switch,
+ "notify::active",
+ G_CALLBACK (sysprof_profiler_assistant_notify_active_cb),
self,
G_CONNECT_SWAPPED);
diff --git a/src/libsysprof-ui/sysprof-profiler-assistant.ui b/src/libsysprof-ui/sysprof-profiler-assistant.ui
index 5ad2c4dc..7a6a9223 100644
--- a/src/libsysprof-ui/sysprof-profiler-assistant.ui
+++ b/src/libsysprof-ui/sysprof-profiler-assistant.ui
@@ -63,489 +63,217 @@
</object>
<template class="SysprofProfilerAssistant" parent="GtkWidget">
<child>
- <object class="GtkScrolledWindow" id="scroller">
- <property name="propagate-natural-width">true</property>
- <property name="propagate-natural-height">true</property>
- <property name="hscrollbar-policy">never</property>
- <property name="visible">true</property>
+ <object class="AdwPreferencesPage">
<child>
- <object class="GtkBox">
- <property name="margin-top">36</property>
- <property name="margin-bottom">36</property>
- <property name="margin-start">36</property>
- <property name="margin-end">36</property>
- <property name="spacing">12</property>
- <property name="orientation">vertical</property>
- <property name="visible">true</property>
+ <object class="AdwPreferencesGroup">
+ <property name="title" translatable="yes">Profiling Target</property>
<child>
- <object class="EggThreeGrid" id="three_grid">
- <property name="column-spacing">12</property>
- <property name="row-spacing">6</property>
- <property name="visible">true</property>
- <child>
- <object class="GtkBox">
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <property name="visible">true</property>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Profilers</property>
- <property name="visible">true</property>
- <style>
- <class name="dim-label"/>
- </style>
- <attributes>
- <attribute name="weight" value="bold"/>
- <attribute name="scale" value="0.83333"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkFlowBox" id="aid_flow_box">
- <property name="activate-on-single-click">true</property>
- <property name="column-spacing">24</property>
- <property name="row-spacing">12</property>
- <property name="max-children-per-line">4</property>
- <property name="min-children-per-line">4</property>
- <property name="halign">fill</property>
- <property name="homogeneous">true</property>
- <property name="selection-mode">single</property>
- <property name="margin-top">12</property>
- <property name="margin-bottom">24</property>
- <property name="visible">true</property>
- <child>
- <object class="SysprofAidIcon">
- <property name="aid">callgraph_aid</property>
- <property name="selected">true</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="SysprofAidIcon">
- <property name="aid">cpu_aid</property>
- <property name="selected">true</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="SysprofAidIcon">
- <property name="aid">memory_aid</property>
- <property name="selected">false</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="SysprofAidIcon">
- <property name="aid">mutter_aid</property>
- <property name="selected">false</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="SysprofAidIcon">
- <property name="aid">gjs_aid</property>
- <property name="selected">false</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="SysprofAidIcon">
- <property name="aid">app_aid</property>
- <property name="selected">true</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="SysprofAidIcon">
- <property name="aid">rapl_aid</property>
- <property name="selected">false</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="SysprofAidIcon">
- <property name="aid">battery_aid</property>
- <property name="selected">false</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="SysprofAidIcon">
- <property name="aid">network_aid</property>
- <property name="selected">false</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="SysprofAidIcon">
- <property name="aid">diskstat_aid</property>
- <property name="selected">false</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="SysprofAidIcon">
- <property name="tooltip-text" translatable="yes">Track application memory
allocations (Sysprof must launch target application)</property>
- <property name="aid">memprof_aid</property>
- <property name="selected">false</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="SysprofAidIcon">
- <property name="tooltip-text" translatable="yes">Track slow operations on your
applications main loop</property>
- <property name="aid">speedtrack_aid</property>
- <property name="selected">false</property>
- <property name="visible">true</property>
- </object>
- </child>
- </object>
- </child>
- <layout>
- <property name="column">center</property>
- <property name="row">5</property>
- </layout>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="label1">
- <property name="label" translatable="yes">All Processes</property>
- <property name="xalign">1.0</property>
- <property name="visible">true</property>
- <style>
- <class name="dim-label"/>
- </style>
- <layout>
- <property name="column">left</property>
- <property name="row">0</property>
- </layout>
- </object>
- </child>
- <child>
+ <object class="AdwExpanderRow" id="whole_system_row">
+ <property name="title" translatable="yes">Profile Entire System</property>
+ <property name="subtitle" translatable="yes">Sysprof can generate callgraphs for one or more
processes on your system.</property>
+ <property name="expanded" bind-source="whole_system_switch" bind-property="active"
bind-flags="invert-boolean|bidirectional|sync-create"/>
+ <child type="action">
<object class="GtkSwitch" id="whole_system_switch">
<property name="active">true</property>
- <property name="halign">start</property>
+ <property name="halign">end</property>
<property name="valign">center</property>
- <property name="visible">true</property>
- <layout>
- <property name="column">center</property>
- <property name="row">0</property>
- </layout>
</object>
</child>
<child>
- <object class="GtkBox">
- <property name="orientation">vertical</property>
- <property name="visible">true</property>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Include all applications and operating
system kernel in callgraph. This may not be possible on some system configurations.</property>
- <property name="margin-bottom">6</property>
- <property name="max-width-chars">10</property>
- <property name="wrap">true</property>
- <property name="visible">true</property>
- <property name="xalign">0.0</property>
- <attributes>
- <attribute name="scale" value="0.8333"/>
- </attributes>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
+ <object class="AdwEntryRow" id="search_entry">
+ <property name="title" translatable="yes">Search Processes</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow">
+ <property name="hscrollbar-policy">never</property>
+ <property name="min-content-height">175</property>
+ <property name="max-content-height">175</property>
<child>
- <object class="GtkRevealer" id="process_revealer">
- <property name="reveal-child" bind-source="whole_system_switch"
bind-property="active" bind-flags="sync-create|invert-boolean"/>
- <property name="visible">true</property>
- <child>
- <object class="GtkBox">
- <property name="margin-bottom">12</property>
- <property name="orientation">vertical</property>
- <property name="visible">true</property>
+ <object class="GtkListBox" id="process_list_box">
+ <property name="selection-mode">none</property>
+ <child type="placeholder">
+ <object class="GtkLabel">
+ <property name="margin-start">12</property>
+ <property name="margin-end">12</property>
+ <property name="label" translatable="yes">Loading Processes…</property>
+ <property name="valign">center</property>
<style>
- <class name="linked"/>
+ <class name="dim-label"/>
</style>
- <child>
- <object class="GtkSearchEntry" id="search_entry">
- <property name="placeholder-text" translatable="yes">Search
Processes…</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="GtkScrolledWindow">
- <property name="hscrollbar-policy">never</property>
- <property name="min-content-height">175</property>
- <property name="max-content-height">175</property>
- <property name="visible">true</property>
- <child>
- <object class="GtkListBox" id="process_list_box">
- <property name="selection-mode">none</property>
- <property name="visible">true</property>
- <child type="placeholder">
- <object class="GtkLabel">
- <property name="margin-start">12</property>
- <property name="margin-end">12</property>
- <property name="label" translatable="yes">Loading
Processes…</property>
- <property name="valign">center</property>
- <property name="visible">true</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
</object>
</child>
</object>
</child>
- <layout>
- <property name="column">center</property>
- <property name="row">1</property>
- </layout>
</object>
</child>
- <child>
- <object class="GtkLabel" id="label2">
- <property name="label" translatable="yes">Launch Application</property>
- <property name="xalign">1.0</property>
- <property name="valign">start</property>
- <property name="visible">true</property>
- <style>
- <class name="dim-label"/>
- </style>
- <layout>
- <property name="column">left</property>
- <property name="row">2</property>
- </layout>
+ </object>
+ </child>
+ <child>
+ <object class="AdwExpanderRow">
+ <property name="title" translatable="yes">Launch Application</property>
+ <property name="subtitle" translatable="yes">Sysprof can launch an application to be
profiled. The profiler will automatically stop when it exits.</property>
+ <property name="expanded" bind-source="launch_switch" bind-property="active"
bind-flags="bidirectional|sync-create"/>
+ <child type="action">
+ <object class="GtkSwitch" id="launch_switch">
+ <property name="active">false</property>
+ <property name="halign">end</property>
+ <property name="valign">center</property>
</object>
</child>
<child>
- <object class="GtkBox">
- <property name="orientation">vertical</property>
- <property name="width-request">500</property>
- <property name="valign">start</property>
- <property name="visible">true</property>
- <child>
- <object class="GtkSwitch" id="launch_switch">
- <property name="active">false</property>
- <property name="halign">start</property>
- <property name="valign">center</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Enable to launch a program of your
choosing before profiling.</property>
- <property name="margin-top">6</property>
- <property name="margin-bottom">6</property>
- <property name="max-width-chars">10</property>
- <property name="wrap">true</property>
- <property name="visible">true</property>
- <property name="xalign">0.0</property>
- <attributes>
- <attribute name="scale" value="0.8333"/>
- </attributes>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkRevealer" id="launch_revealer">
- <property name="reveal-child" bind-source="launch_switch" bind-property="active"
bind-flags="sync-create"/>
- <property name="visible">true</property>
- <child>
- <object class="GtkBox">
- <property name="margin-top">6</property>
- <property name="spacing">6</property>
- <property name="margin-bottom">12</property>
- <property name="orientation">vertical</property>
- <property name="visible">true</property>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Command Line</property>
- <property name="xalign">0.0</property>
- <property name="visible">true</property>
- <attributes>
- <attribute name="scale" value="0.8333"/>
- <attribute name="weight" value="bold"/>
- </attributes>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkEntry" id="command_line">
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Environment</property>
- <property name="margin-top">12</property>
- <property name="xalign">0.0</property>
- <property name="visible">true</property>
- <attributes>
- <attribute name="scale" value="0.8333"/>
- <attribute name="weight" value="bold"/>
- </attributes>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkFrame">
- <property name="visible">true</property>
- <child>
- <object class="SysprofEnvironEditor" id="environ_editor">
- <property name="visible">true</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Inherit Environment</property>
- <property name="margin-top">12</property>
- <property name="max-width-chars">10</property>
- <property name="wrap">true</property>
- <property name="visible">true</property>
- <property name="xalign">0.0</property>
- <attributes>
- <attribute name="scale" value="0.8333"/>
- <attribute name="weight" value="bold"/>
- </attributes>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkSwitch" id="inherit_switch">
- <property name="active">true</property>
- <property name="halign">start</property>
- <property name="visible">true</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Enable to ensure your application
shares the display, message-bus, and other desktop environment settings.</property>
- <property name="margin-bottom">12</property>
- <property name="max-width-chars">10</property>
- <property name="wrap">true</property>
- <property name="visible">true</property>
- <property name="xalign">0.0</property>
- <attributes>
- <attribute name="scale" value="0.8333"/>
- </attributes>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <layout>
- <property name="column">center</property>
- <property name="row">2</property>
- </layout>
+ <object class="AdwEntryRow" id="command_line">
+ <property name="title" translatable="yes">Command Line</property>
</object>
</child>
<child>
- <object class="GtkLabel" id="label3">
- <property name="label" translatable="yes">Allow CPU Throttling</property>
- <property name="xalign">1.0</property>
- <property name="valign">start</property>
- <property name="visible">true</property>
- <style>
- <class name="dim-label"/>
- </style>
- <layout>
- <property name="column">left</property>
- <property name="row">3</property>
- </layout>
+ <object class="SysprofEnvironEditor" id="environ_editor">
</object>
</child>
<child>
- <object class="GtkBox">
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <property name="visible">true</property>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Inherit Environment</property>
+ <property name="subtitle" translatable="yes">Enable to ensure your application shares
the display, message-bus, and other desktop environment settings.</property>
+ <property name="activatable-widget">inherit_switch</property>
<child>
- <object class="GtkSwitch" id="allow_throttling">
+ <object class="GtkSwitch" id="inherit_switch">
<property name="active">true</property>
- <property name="halign">start</property>
+ <property name="halign">end</property>
<property name="valign">center</property>
- <property name="visible">true</property>
</object>
</child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">If disabled, your CPU will be placed in
performance mode. It will be restored after profiling.</property>
- <property name="max-width-chars">10</property>
- <property name="wrap">true</property>
- <property name="visible">true</property>
- <property name="xalign">0.0</property>
- <attributes>
- <attribute name="scale" value="0.8333"/>
- </attributes>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- </child>
- <layout>
- <property name="column">center</property>
- <property name="row">3</property>
- </layout>
</object>
</child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup">
+ <property name="title" translatable="yes">Performance</property>
+ <child>
+ <object class="AdwActionRow">
+ <property name="title" translatable="yes">Allow CPU Throttling</property>
+ <property name="subtitle" translatable="yes">When enabled, your system is allowed to scale
CPU frequency as necessary.</property>
+ <property name="activatable-widget">allow_throttling</property>
<child>
- <object class="GtkButton" id="record_button">
- <property name="label" translatable="yes">_Record</property>
- <property name="use-underline">true</property>
+ <object class="GtkSwitch" id="allow_throttling">
+ <property name="active">true</property>
<property name="halign">end</property>
- <property name="width-request">125</property>
- <property name="visible">true</property>
- <property name="margin-top">24</property>
- <property name="margin-bottom">12</property>
- <style>
- <class name="suggested-action"/>
- </style>
- <layout>
- <property name="column">center</property>
- <property name="row">4</property>
- </layout>
+ <property name="valign">center</property>
</object>
</child>
</object>
</child>
</object>
</child>
+ <child>
+ <object class="AdwPreferencesGroup">
+ <property name="title" translatable="yes">Instruments</property>
+ <child>
+ <object class="GtkFlowBox" id="aid_flow_box">
+ <property name="activate-on-single-click">true</property>
+ <property name="column-spacing">24</property>
+ <property name="row-spacing">12</property>
+ <property name="max-children-per-line">4</property>
+ <property name="min-children-per-line">4</property>
+ <property name="halign">fill</property>
+ <property name="homogeneous">true</property>
+ <property name="selection-mode">single</property>
+ <child>
+ <object class="SysprofAidIcon">
+ <property name="aid">callgraph_aid</property>
+ <property name="selected">true</property>
+ </object>
+ </child>
+ <child>
+ <object class="SysprofAidIcon">
+ <property name="aid">cpu_aid</property>
+ <property name="selected">true</property>
+ </object>
+ </child>
+ <child>
+ <object class="SysprofAidIcon">
+ <property name="aid">memory_aid</property>
+ <property name="selected">false</property>
+ </object>
+ </child>
+ <child>
+ <object class="SysprofAidIcon">
+ <property name="aid">mutter_aid</property>
+ <property name="selected">false</property>
+ </object>
+ </child>
+ <child>
+ <object class="SysprofAidIcon">
+ <property name="aid">gjs_aid</property>
+ <property name="selected">false</property>
+ </object>
+ </child>
+ <child>
+ <object class="SysprofAidIcon">
+ <property name="aid">app_aid</property>
+ <property name="selected">true</property>
+ </object>
+ </child>
+ <child>
+ <object class="SysprofAidIcon">
+ <property name="aid">rapl_aid</property>
+ <property name="selected">false</property>
+ </object>
+ </child>
+ <child>
+ <object class="SysprofAidIcon">
+ <property name="aid">battery_aid</property>
+ <property name="selected">false</property>
+ </object>
+ </child>
+ <child>
+ <object class="SysprofAidIcon">
+ <property name="aid">network_aid</property>
+ <property name="selected">false</property>
+ </object>
+ </child>
+ <child>
+ <object class="SysprofAidIcon">
+ <property name="aid">diskstat_aid</property>
+ <property name="selected">false</property>
+ </object>
+ </child>
+ <child>
+ <object class="SysprofAidIcon">
+ <property name="tooltip-text" translatable="yes">Track application memory allocations
(Sysprof must launch target application)</property>
+ <property name="aid">memprof_aid</property>
+ <property name="selected">false</property>
+ </object>
+ </child>
+ <child>
+ <object class="SysprofAidIcon">
+ <property name="tooltip-text" translatable="yes">Track slow operations on your
applications main loop</property>
+ <property name="aid">speedtrack_aid</property>
+ <property name="selected">false</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup">
+ <child>
+ <object class="GtkButton" id="record_button">
+ <property name="label" translatable="yes">_Record</property>
+ <property name="use-underline">true</property>
+ <property name="halign">end</property>
+ <property name="width-request">125</property>
+ <style>
+ <class name="suggested-action"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
</child>
</template>
- <object class="GtkSizeGroup">
- <property name="mode">vertical</property>
- <widgets>
- <widget name="label1"/>
- <widget name="whole_system_switch"/>
- </widgets>
- </object>
- <object class="GtkSizeGroup">
- <property name="mode">vertical</property>
- <widgets>
- <widget name="label2"/>
- <widget name="label3"/>
- <widget name="allow_throttling"/>
- <widget name="launch_switch"/>
- </widgets>
- </object>
</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]