[sysprof] libsysprof-ui: use AdwPreferencesPage for memprof page
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [sysprof] libsysprof-ui: use AdwPreferencesPage for memprof page
- Date: Fri, 22 Jul 2022 21:50:29 +0000 (UTC)
commit cd4a22ed4b8fa3685e96370154fd790462081409
Author: Christian Hergert <chergert redhat com>
Date: Fri Jul 22 14:46:59 2022 -0700
libsysprof-ui: use AdwPreferencesPage for memprof page
src/libsysprof-ui/sysprof-memprof-page.c | 13 ++-
src/libsysprof-ui/sysprof-memprof-page.ui | 164 ++++++++----------------------
2 files changed, 49 insertions(+), 128 deletions(-)
---
diff --git a/src/libsysprof-ui/sysprof-memprof-page.c b/src/libsysprof-ui/sysprof-memprof-page.c
index 58f3079e..00e98961 100644
--- a/src/libsysprof-ui/sysprof-memprof-page.c
+++ b/src/libsysprof-ui/sysprof-memprof-page.c
@@ -44,7 +44,6 @@
#include "../stackstash.h"
#include "egg-paned-private.h"
-#include "egg-three-grid.h"
#include "sysprof-cell-renderer-percent.h"
#include "sysprof-memprof-page.h"
@@ -68,7 +67,6 @@ typedef struct
GtkLabel *temp_allocs_count;
GtkLabel *num_allocs;
GtkLabel *leaked_allocs;
- GtkLabel *peak_allocs;
GtkListBox *by_size;
GtkWidget *callgraph;
GtkWidget *summary_page;
@@ -226,7 +224,14 @@ update_summary (SysprofMemprofPage *self,
title = gtk_label_new (NULL);
subtitle = gtk_label_new (NULL);
prog = gtk_level_bar_new_for_interval (0, stats.n_allocs);
- box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
+ box = g_object_new (GTK_TYPE_BOX,
+ "orientation", GTK_ORIENTATION_VERTICAL,
+ "spacing", 6,
+ "margin-top", 6,
+ "margin-start", 6,
+ "margin-bottom", 6,
+ "margin-end", 6,
+ NULL);
sizestr = g_format_size_full (stats.by_size[i].bucket, G_FORMAT_SIZE_IEC_UNITS);
if (i == 0)
@@ -1155,7 +1160,6 @@ sysprof_memprof_page_class_init (SysprofMemprofPageClass *klass)
gtk_widget_class_bind_template_child_private (widget_class, SysprofMemprofPage, num_allocs);
gtk_widget_class_bind_template_child_private (widget_class, SysprofMemprofPage, leaked_allocs);
gtk_widget_class_bind_template_child_private (widget_class, SysprofMemprofPage, leaked_allocs_button);
- gtk_widget_class_bind_template_child_private (widget_class, SysprofMemprofPage, peak_allocs);
gtk_widget_class_bind_template_child_private (widget_class, SysprofMemprofPage, loading_state);
gtk_widget_class_bind_template_child_private (widget_class, SysprofMemprofPage, empty_state);
gtk_widget_class_bind_template_child_private (widget_class, SysprofMemprofPage, summary_page);
@@ -1167,7 +1171,6 @@ sysprof_memprof_page_class_init (SysprofMemprofPageClass *klass)
gtk_widget_class_add_binding_signal (widget_class, GDK_KEY_Left, GDK_ALT_MASK, "go-previous", NULL);
g_type_ensure (EGG_TYPE_PANED);
- g_type_ensure (EGG_TYPE_THREE_GRID);
g_type_ensure (SYSPROF_TYPE_CELL_RENDERER_PERCENT);
}
diff --git a/src/libsysprof-ui/sysprof-memprof-page.ui b/src/libsysprof-ui/sysprof-memprof-page.ui
index 1fbc12ee..30a98348 100644
--- a/src/libsysprof-ui/sysprof-memprof-page.ui
+++ b/src/libsysprof-ui/sysprof-memprof-page.ui
@@ -55,147 +55,65 @@
<child>
<object class="GtkStack" id="stack">
<child>
- <object class="GtkScrolledWindow" id="summary_page">
- <property name="hscrollbar-policy">never</property>
+ <object class="AdwPreferencesPage" id="summary_page">
<child>
- <object class="GtkBox">
- <property name="margin-top">16</property>
- <property name="margin-bottom">16</property>
- <property name="margin-start">16</property>
- <property name="margin-end">16</property>
- <property name="orientation">vertical</property>
+ <object class="AdwPreferencesGroup">
<child>
- <object class="EggThreeGrid">
- <property name="hexpand">true</property>
- <property name="row-spacing">6</property>
- <property name="column-spacing">18</property>
- <child>
- <object class="GtkLabel">
- <property name="label">Peak Allocation</property>
- <property name="halign">end</property>
- <property name="visible">false</property>
- <style>
- <class name="dim-label"/>
- </style>
- <layout>
- <property name="column">left</property>
- <property name="row">0</property>
- </layout>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="peak_allocs">
- <property name="xalign">0</property>
- <property name="selectable">true</property>
- <property name="visible">false</property>
- <layout>
- <property name="column">center</property>
- <property name="row">0</property>
- </layout>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label">Number of Allocations</property>
- <property name="halign">end</property>
- <style>
- <class name="dim-label"/>
- </style>
- <layout>
- <property name="column">left</property>
- <property name="row">1</property>
- </layout>
- </object>
- </child>
- <child>
+ <object class="AdwActionRow">
+ <property name="activatable">false</property>
+ <property name="title" translatable="yes">Number of Allocations</property>
+ <property name="subtitle" translatable="yes">Total number of allocation and free
records</property>
+ <child type="suffix">
<object class="GtkLabel" id="num_allocs">
- <property name="xalign">0</property>
+ <property name="hexpand">true</property>
+ <property name="xalign">1</property>
<property name="selectable">true</property>
- <layout>
- <property name="column">center</property>
- <property name="row">1</property>
- </layout>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label">Leaked Allocations</property>
- <property name="halign">end</property>
- <property name="visible">false</property>
- <style>
- <class name="dim-label"/>
- </style>
- <layout>
- <property name="column">left</property>
- <property name="row">2</property>
- </layout>
</object>
</child>
- <child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="activatable">false</property>
+ <property name="title" translatable="yes">Leaked Allocations</property>
+ <property name="subtitle" translatable="yes">Number of allocations without a free
record</property>
+ <child type="suffix">
<object class="GtkLabel" id="leaked_allocs">
- <property name="xalign">0</property>
+ <property name="hexpand">true</property>
+ <property name="xalign">1</property>
<property name="selectable">true</property>
- <property name="visible">false</property>
- <layout>
- <property name="column">center</property>
- <property name="row">2</property>
- </layout>
</object>
</child>
- <child>
- <object class="GtkLabel">
- <property name="label">Temporary Allocations</property>
- <property name="halign">end</property>
- <style>
- <class name="dim-label"/>
- </style>
- <layout>
- <property name="column">left</property>
- <property name="row">3</property>
- </layout>
- </object>
- </child>
- <child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwActionRow">
+ <property name="activatable">false</property>
+ <property name="title" translatable="yes">Temporary Allocations</property>
+ <property name="subtitle" translatable="yes">Number of allocations freed from
similar stack trace</property>
+ <child type="suffix">
<object class="GtkLabel" id="temp_allocs_count">
- <property name="xalign">0</property>
+ <property name="hexpand">true</property>
+ <property name="xalign">1</property>
<property name="selectable">true</property>
- <property name="width-chars">50</property>
- <layout>
- <property name="column">center</property>
- <property name="row">3</property>
- </layout>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label">Allocations by Size</property>
- <property name="halign">end</property>
- <property name="valign">start</property>
- <style>
- <class name="dim-label"/>
- </style>
- <layout>
- <property name="column">left</property>
- <property name="row">4</property>
- </layout>
- </object>
- </child>
- <child>
- <object class="GtkFrame">
- <child>
- <object class="GtkListBox" id="by_size">
- </object>
- </child>
- <layout>
- <property name="column">center</property>
- <property name="row">4</property>
- </layout>
</object>
</child>
</object>
</child>
</object>
</child>
+ <child>
+ <object class="AdwPreferencesGroup">
+ <property name="title" translatable="yes">Allocations by Size</property>
+ <child>
+ <object class="GtkListBox" id="by_size">
+ <style>
+ <class name="boxed-list"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
</child>
<child>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]