sysprof-greeter: improve code quality and UI in greeter

Signed-off-by: varun-r-mallya <varunrmallya@gmail.com>
This commit is contained in:
2025-02-20 09:43:08 +05:30
committed by Christian Hergert
parent 78c6a5ad49
commit 6424bd35aa
3 changed files with 17 additions and 25 deletions

View File

@ -175,24 +175,18 @@ static void
on_debug_dir_entry_changed_cb (SysprofGreeter *self, on_debug_dir_entry_changed_cb (SysprofGreeter *self,
SysprofEntryPopover *popover) SysprofEntryPopover *popover)
{ {
const char *errstr = NULL; const char *errstr = NULL;
gboolean valid = FALSE; gboolean valid = FALSE;
const char *text; const char *text;
g_assert (SYSPROF_IS_GREETER (self)); g_assert (SYSPROF_IS_GREETER (self));
g_assert (SYSPROF_IS_ENTRY_POPOVER (popover)); g_assert (SYSPROF_IS_ENTRY_POPOVER (popover));
text = sysprof_entry_popover_get_text (popover); text = sysprof_entry_popover_get_text (popover);
if (g_file_test (text, G_FILE_TEST_IS_DIR)) if (!(valid = g_file_test (text, G_FILE_TEST_IS_DIR)))
valid = TRUE;
else
{
errstr = _("Directory does not exist"); errstr = _("Directory does not exist");
goto failure;
}
failure:
sysprof_entry_popover_set_ready (popover, valid); sysprof_entry_popover_set_ready (popover, valid);
sysprof_entry_popover_set_message (popover, errstr); sysprof_entry_popover_set_message (popover, errstr);
} }

View File

@ -638,12 +638,8 @@
</child> </child>
<child> <child>
<object class="AdwPreferencesGroup"> <object class="AdwPreferencesGroup">
<child> <property name="title" translatable="yes">Debug File Directories</property>
<object class="AdwActionRow"> <property name="description" translatable="yes">Directories to search for debug files</property>
<property name="title" translatable="yes">Debug File Directories</property>
<property name="subtitle" translatable="yes">Directories to search for debug files</property>
</object>
</child>
<child> <child>
<object class="GtkListBox" id="debug_directories"> <object class="GtkListBox" id="debug_directories">
<property name="margin-top">12</property> <property name="margin-top">12</property>
@ -656,9 +652,13 @@
</child> </child>
<child> <child>
<object class="GtkMenuButton"> <object class="GtkMenuButton">
<property name="direction">left</property> <style>
<class name="large-button"/>
<class name="pill"/>
</style>
<property name="direction">up</property>
<property name="margin-top">12</property> <property name="margin-top">12</property>
<property name="halign">end</property> <property name="halign">center</property>
<property name="child"> <property name="child">
<object class="GtkLabel"> <object class="GtkLabel">
<property name="label" translatable="yes">Add _Directory</property> <property name="label" translatable="yes">Add _Directory</property>

View File

@ -105,7 +105,7 @@ sysprof_recording_template_finalize (GObject *object)
g_clear_pointer (&self->cwd, g_free); g_clear_pointer (&self->cwd, g_free);
g_clear_pointer (&self->power_profile, g_free); g_clear_pointer (&self->power_profile, g_free);
g_clear_pointer (&self->environ, g_free); g_clear_pointer (&self->environ, g_free);
g_clear_pointer (&self->debugdirs, g_free); g_clear_pointer (&self->debugdirs, g_strfreev);
G_OBJECT_CLASS (sysprof_recording_template_parent_class)->finalize (object); G_OBJECT_CLASS (sysprof_recording_template_parent_class)->finalize (object);
} }
@ -802,9 +802,7 @@ sysprof_recording_template_create_loader (SysprofRecordingTemplate *self,
elf = SYSPROF_ELF_SYMBOLIZER (sysprof_elf_symbolizer_new ()); elf = SYSPROF_ELF_SYMBOLIZER (sysprof_elf_symbolizer_new ());
if (self->debugdirs) if (self->debugdirs)
{ sysprof_elf_symbolizer_set_external_debug_dirs (elf, (const char * const *)self->debugdirs);
sysprof_elf_symbolizer_set_external_debug_dirs (elf, (const char * const *)self->debugdirs);
}
/* Add in order of priority */ /* Add in order of priority */
sysprof_multi_symbolizer_take (multi, sysprof_bundled_symbolizer_new ()); sysprof_multi_symbolizer_take (multi, sysprof_bundled_symbolizer_new ());