[gnome-builder/wip/gtk4-port] plugins/buildui: remove diagnostics from pane
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/gtk4-port] plugins/buildui: remove diagnostics from pane
- Date: Fri, 20 May 2022 23:00:32 +0000 (UTC)
commit 05aaad6ef2d383119dbaeb15fc9ac09739f152bd
Author: Christian Hergert <chergert redhat com>
Date: Fri May 20 15:59:31 2022 -0700
plugins/buildui: remove diagnostics from pane
Now that we have a popover in the status bar for this, it can be more
accessible while the project tree is viewable and quick from keybindings
to navigate while writing code.
src/plugins/buildui/gbp-buildui-pane.c | 361 +-------------------------------
src/plugins/buildui/gbp-buildui-pane.h | 4 +-
src/plugins/buildui/gbp-buildui-pane.ui | 210 +++++++------------
3 files changed, 88 insertions(+), 487 deletions(-)
---
diff --git a/src/plugins/buildui/gbp-buildui-pane.c b/src/plugins/buildui/gbp-buildui-pane.c
index 03eec57d0..1daec0197 100644
--- a/src/plugins/buildui/gbp-buildui-pane.c
+++ b/src/plugins/buildui/gbp-buildui-pane.c
@@ -23,6 +23,7 @@
#include "config.h"
#include <glib/gi18n.h>
+
#include <libide-editor.h>
#include <libide-foundry.h>
#include <libide-gtk.h>
@@ -37,34 +38,17 @@ struct _GbpBuilduiPane
IdePane parent_instance;
/* Owned references */
- GHashTable *diags_hash;
- IdePipeline *pipeline;
+ IdePipeline *pipeline;
IdeSignalGroup *pipeline_signals;
/* Template widgets */
GtkLabel *build_status_label;
GtkLabel *time_completed_label;
- GtkNotebook *notebook;
- GtkScrolledWindow *errors_page;
- GtkLabel *errors_page_label;
- IdeFancyTreeView *errors_tree_view;
- GtkScrolledWindow *warnings_page;
- GtkLabel *warnings_page_label;
- IdeFancyTreeView *warnings_tree_view;
- GtkListStore *diagnostics_store;
GtkListBox *stages_list_box;
-
- guint error_count;
- guint warning_count;
};
G_DEFINE_FINAL_TYPE (GbpBuilduiPane, gbp_buildui_pane, IDE_TYPE_PANE)
-enum {
- COLUMN_DIAGNOSTIC,
- LAST_COLUMN
-};
-
enum {
PROP_0,
PROP_PIPELINE,
@@ -73,65 +57,6 @@ enum {
static GParamSpec *properties [N_PROPS];
-static void
-gbp_buildui_pane_diagnostic (GbpBuilduiPane *self,
- IdeDiagnostic *diagnostic,
- IdePipeline *pipeline)
-{
- IdeDiagnosticSeverity severity;
- guint hash;
-
- IDE_ENTRY;
-
- g_assert (GBP_IS_BUILDUI_PANE (self));
- g_assert (diagnostic != NULL);
- g_assert (IDE_IS_PIPELINE (pipeline));
-
- severity = ide_diagnostic_get_severity (diagnostic);
-
- if (severity == IDE_DIAGNOSTIC_WARNING)
- {
- g_autofree gchar *label = NULL;
-
- self->warning_count++;
-
- label = g_strdup_printf ("%s (%u)", _("Warnings"), self->warning_count);
- gtk_label_set_label (self->warnings_page_label, label);
- }
- else if (severity == IDE_DIAGNOSTIC_ERROR || severity == IDE_DIAGNOSTIC_FATAL)
- {
- g_autofree gchar *label = NULL;
-
- self->error_count++;
-
- label = g_strdup_printf ("%s (%u)", _("Errors"), self->error_count);
- gtk_label_set_label (self->errors_page_label, label);
- }
- else
- {
- /* TODO: Figure out design for "Others" Column like Notes? */
- }
-
- hash = ide_diagnostic_hash (diagnostic);
-
- if (g_hash_table_insert (self->diags_hash, GUINT_TO_POINTER (hash), NULL))
- {
- GtkTreeIter iter;
-
- ide_gtk_list_store_insert_sorted (self->diagnostics_store,
- &iter,
- diagnostic,
- COLUMN_DIAGNOSTIC,
- (GCompareDataFunc)ide_diagnostic_compare,
- NULL);
- gtk_list_store_set (self->diagnostics_store, &iter,
- COLUMN_DIAGNOSTIC, diagnostic,
- -1);
- }
-
- IDE_EXIT;
-}
-
static void
gbp_buildui_pane_update_running_time (GbpBuilduiPane *self)
{
@@ -156,34 +81,9 @@ gbp_buildui_pane_update_running_time (GbpBuilduiPane *self)
gtk_label_set_label (self->time_completed_label, "—");
}
-static void
-gbp_buildui_pane_started (GbpBuilduiPane *self,
- IdePipelinePhase phase,
- IdePipeline *pipeline)
-{
- IDE_ENTRY;
-
- g_assert (GBP_IS_BUILDUI_PANE (self));
- g_assert (IDE_IS_PIPELINE (pipeline));
-
- if (phase >= IDE_PIPELINE_PHASE_BUILD)
- {
- self->error_count = 0;
- self->warning_count = 0;
-
- gtk_label_set_label (self->warnings_page_label, _("Warnings"));
- gtk_label_set_label (self->errors_page_label, _("Errors"));
-
- gtk_list_store_clear (self->diagnostics_store);
- g_hash_table_remove_all (self->diags_hash);
- }
-
- IDE_EXIT;
-}
-
static GtkWidget *
gbp_buildui_pane_create_stage_row_cb (gpointer data,
- gpointer user_data)
+ gpointer user_data)
{
IdePipelineStage *stage = data;
@@ -194,9 +94,9 @@ gbp_buildui_pane_create_stage_row_cb (gpointer data,
}
static void
-gbp_buildui_pane_bind_pipeline (GbpBuilduiPane *self,
- IdePipeline *pipeline,
- IdeSignalGroup *signals)
+gbp_buildui_pane_bind_pipeline (GbpBuilduiPane *self,
+ IdePipeline *pipeline,
+ IdeSignalGroup *signals)
{
g_assert (GBP_IS_BUILDUI_PANE (self));
g_assert (IDE_IS_PIPELINE (pipeline));
@@ -205,11 +105,6 @@ gbp_buildui_pane_bind_pipeline (GbpBuilduiPane *self,
g_assert (IDE_IS_SIGNAL_GROUP (signals));
self->pipeline = g_object_ref (pipeline);
- self->error_count = 0;
- self->warning_count = 0;
-
- gtk_label_set_label (self->warnings_page_label, _("Warnings"));
- gtk_label_set_label (self->errors_page_label, _("Errors"));
gtk_label_set_label (self->time_completed_label, "—");
gtk_label_set_label (self->build_status_label, "—");
@@ -235,9 +130,6 @@ gbp_buildui_pane_unbind_pipeline (GbpBuilduiPane *self,
{
GtkWidget *child;
- g_hash_table_remove_all (self->diags_hash);
- gtk_list_store_clear (self->diagnostics_store);
-
while ((child = gtk_widget_get_first_child (GTK_WIDGET (self->stages_list_box))) != NULL)
gtk_list_box_remove (self->stages_list_box, child);
@@ -256,93 +148,6 @@ gbp_buildui_pane_set_pipeline (GbpBuilduiPane *self,
ide_signal_group_set_target (self->pipeline_signals, pipeline);
}
-static void
-gbp_buildui_pane_diagnostic_activated (GbpBuilduiPane *self,
- GtkTreePath *path,
- GtkTreeViewColumn *colun,
- GtkTreeView *tree_view)
-{
- g_autoptr(IdePanelPosition) position = NULL;
- g_autoptr(IdeDiagnostic) diagnostic = NULL;
- IdeWorkspace *workspace;
- IdeLocation *loc;
- GtkTreeModel *model;
- GtkTreeIter iter;
-
- IDE_ENTRY;
-
- g_assert (GBP_IS_BUILDUI_PANE (self));
- g_assert (path != NULL);
- g_assert (GTK_IS_TREE_VIEW_COLUMN (colun));
- g_assert (GTK_IS_TREE_VIEW (tree_view));
-
- model = gtk_tree_view_get_model (tree_view);
- if (!gtk_tree_model_get_iter (model, &iter, path))
- IDE_EXIT;
-
- gtk_tree_model_get (model, &iter,
- COLUMN_DIAGNOSTIC, &diagnostic,
- -1);
-
- if (diagnostic == NULL || !(loc = ide_diagnostic_get_location (diagnostic)))
- IDE_EXIT;
-
- workspace = ide_widget_get_workspace (GTK_WIDGET (self));
- position = ide_panel_position_new ();
- ide_editor_focus_location (workspace, position, loc);
-
- IDE_EXIT;
-}
-
-static void
-gbp_buildui_pane_text_func (GtkCellLayout *layout,
- GtkCellRenderer *renderer,
- GtkTreeModel *model,
- GtkTreeIter *iter,
- gpointer user_data)
-{
- IdeCellRendererFancy *fancy = (IdeCellRendererFancy *)renderer;
- g_autoptr(IdeDiagnostic) diagnostic = NULL;
-
- gtk_tree_model_get (model, iter,
- COLUMN_DIAGNOSTIC, &diagnostic,
- -1);
-
- if G_LIKELY (diagnostic != NULL)
- {
- g_autofree gchar *title = NULL;
- g_autofree gchar *name = NULL;
- IdeLocation *location;
- const gchar *text;
- GFile *file = NULL;
- guint line = 0;
- guint column = 0;
-
- location = ide_diagnostic_get_location (diagnostic);
-
- if (location != NULL)
- {
- if ((file = ide_location_get_file (location)))
- {
- name = g_file_get_basename (file);
- line = ide_location_get_line (location);
- column = ide_location_get_line_offset (location);
- }
- }
-
- title = g_strdup_printf ("%s:%u:%u", name ?: "", line + 1, column + 1);
- ide_cell_renderer_fancy_take_title (fancy, g_steal_pointer (&title));
-
- text = ide_diagnostic_get_text (diagnostic);
- ide_cell_renderer_fancy_set_body (fancy, text);
- }
- else
- {
- ide_cell_renderer_fancy_set_title (fancy, NULL);
- ide_cell_renderer_fancy_set_body (fancy, NULL);
- }
-}
-
static void
gbp_buildui_pane_notify_message (GbpBuilduiPane *self,
GParamSpec *pspec,
@@ -415,86 +220,6 @@ gbp_buildui_pane_context_handler (GtkWidget *widget,
IDE_EXIT;
}
-static gboolean
-gbp_buildui_pane_diagnostic_tooltip (GbpBuilduiPane *self,
- gint x,
- gint y,
- gboolean keyboard_mode,
- GtkTooltip *tooltip,
- GtkTreeView *tree_view)
-{
- g_autoptr(GtkTreePath) path = NULL;
- GtkTreeModel *model = NULL;
-
- g_assert (GBP_IS_BUILDUI_PANE (self));
- g_assert (GTK_IS_TOOLTIP (tooltip));
- g_assert (GTK_IS_TREE_VIEW (tree_view));
-
- if (NULL == (model = gtk_tree_view_get_model (tree_view)))
- return FALSE;
-
- if (gtk_tree_view_get_path_at_pos (tree_view, x, y, &path, NULL, NULL, NULL))
- {
- GtkTreeIter iter;
-
- if (gtk_tree_model_get_iter (model, &iter, path))
- {
- g_autoptr(IdeDiagnostic) diag = NULL;
-
- gtk_tree_model_get (model, &iter,
- COLUMN_DIAGNOSTIC, &diag,
- -1);
-
- if (diag != NULL)
- {
- g_autofree gchar *text = ide_diagnostic_get_text_for_display (diag);
-
- gtk_tree_view_set_tooltip_row (tree_view, tooltip, path);
- gtk_tooltip_set_text (tooltip, text);
- return TRUE;
- }
- }
- }
-
- return FALSE;
-}
-
-static gboolean
-diagnostic_is_warning (GtkTreeModel *model,
- GtkTreeIter *iter,
- gpointer user_data)
-{
- g_autoptr(IdeDiagnostic) diag = NULL;
- IdeDiagnosticSeverity severity = 0;
-
- gtk_tree_model_get (model, iter,
- COLUMN_DIAGNOSTIC, &diag,
- -1);
-
- if (diag != NULL)
- severity = ide_diagnostic_get_severity (diag);
-
- return severity <= IDE_DIAGNOSTIC_WARNING;
-}
-
-static gboolean
-diagnostic_is_error (GtkTreeModel *model,
- GtkTreeIter *iter,
- gpointer user_data)
-{
- g_autoptr(IdeDiagnostic) diag = NULL;
- IdeDiagnosticSeverity severity = 0;
-
- gtk_tree_model_get (model, iter,
- COLUMN_DIAGNOSTIC, &diag,
- -1);
-
- if (diag != NULL)
- severity = ide_diagnostic_get_severity (diag);
-
- return severity > IDE_DIAGNOSTIC_WARNING;
-}
-
static void
gbp_buildui_pane_stage_row_activated (GbpBuilduiPane *self,
GbpBuilduiStageRow *row,
@@ -516,8 +241,8 @@ gbp_buildui_pane_stage_row_activated (GbpBuilduiPane *self,
phase = _ide_pipeline_stage_get_phase (stage);
ide_pipeline_build_async (self->pipeline,
- phase & IDE_PIPELINE_PHASE_MASK,
- NULL, NULL, NULL);
+ phase & IDE_PIPELINE_PHASE_MASK,
+ NULL, NULL, NULL);
}
static void
@@ -528,8 +253,6 @@ gbp_buildui_pane_dispose (GObject *object)
if (self->pipeline_signals != NULL)
ide_signal_group_set_target (self->pipeline_signals, NULL);
- g_clear_pointer (&self->diags_hash, g_hash_table_unref);
-
g_clear_object (&self->pipeline_signals);
g_clear_object (&self->pipeline);
@@ -597,98 +320,32 @@ gbp_buildui_pane_class_init (GbpBuilduiPaneClass *klass)
gtk_widget_class_set_css_name (widget_class, "buildpanel");
gtk_widget_class_bind_template_child (widget_class, GbpBuilduiPane, build_status_label);
gtk_widget_class_bind_template_child (widget_class, GbpBuilduiPane, time_completed_label);
- gtk_widget_class_bind_template_child (widget_class, GbpBuilduiPane, notebook);
- gtk_widget_class_bind_template_child (widget_class, GbpBuilduiPane, errors_page);
- gtk_widget_class_bind_template_child (widget_class, GbpBuilduiPane, errors_page_label);
- gtk_widget_class_bind_template_child (widget_class, GbpBuilduiPane, errors_tree_view);
- gtk_widget_class_bind_template_child (widget_class, GbpBuilduiPane, warnings_page);
- gtk_widget_class_bind_template_child (widget_class, GbpBuilduiPane, warnings_page_label);
- gtk_widget_class_bind_template_child (widget_class, GbpBuilduiPane, warnings_tree_view);
- gtk_widget_class_bind_template_child (widget_class, GbpBuilduiPane, diagnostics_store);
gtk_widget_class_bind_template_child (widget_class, GbpBuilduiPane, stages_list_box);
- g_type_ensure (IDE_TYPE_CELL_RENDERER_FANCY);
g_type_ensure (IDE_TYPE_DIAGNOSTIC);
- g_type_ensure (IDE_TYPE_FANCY_TREE_VIEW);
}
static void
gbp_buildui_pane_init (GbpBuilduiPane *self)
{
- GtkTreeModel *filter;
-
gtk_widget_init_template (GTK_WIDGET (self));
self->pipeline_signals = ide_signal_group_new (IDE_TYPE_PIPELINE);
-
g_signal_connect_object (self->pipeline_signals,
"bind",
G_CALLBACK (gbp_buildui_pane_bind_pipeline),
self,
G_CONNECT_SWAPPED);
-
g_signal_connect_object (self->pipeline_signals,
"unbind",
G_CALLBACK (gbp_buildui_pane_unbind_pipeline),
self,
G_CONNECT_SWAPPED);
- ide_signal_group_connect_object (self->pipeline_signals,
- "diagnostic",
- G_CALLBACK (gbp_buildui_pane_diagnostic),
- self,
- G_CONNECT_SWAPPED);
-
- ide_signal_group_connect_object (self->pipeline_signals,
- "started",
- G_CALLBACK (gbp_buildui_pane_started),
- self,
- G_CONNECT_SWAPPED);
-
- self->diags_hash = g_hash_table_new (NULL, NULL);
-
- g_object_set (self, "title", _("Build Issues"), NULL);
+ panel_widget_set_title (PANEL_WIDGET (self), _("Build Pipeline"));
ide_widget_set_context_handler (self, gbp_buildui_pane_context_handler);
- g_signal_connect_swapped (self->warnings_tree_view,
- "row-activated",
- G_CALLBACK (gbp_buildui_pane_diagnostic_activated),
- self);
-
- g_signal_connect_swapped (self->warnings_tree_view,
- "query-tooltip",
- G_CALLBACK (gbp_buildui_pane_diagnostic_tooltip),
- self);
-
- g_signal_connect_swapped (self->errors_tree_view,
- "row-activated",
- G_CALLBACK (gbp_buildui_pane_diagnostic_activated),
- self);
-
- g_signal_connect_swapped (self->errors_tree_view,
- "query-tooltip",
- G_CALLBACK (gbp_buildui_pane_diagnostic_tooltip),
- self);
-
- filter = gtk_tree_model_filter_new (GTK_TREE_MODEL (self->diagnostics_store), NULL);
- gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (filter),
- diagnostic_is_warning, NULL, NULL);
- gtk_tree_view_set_model (GTK_TREE_VIEW (self->warnings_tree_view), GTK_TREE_MODEL (filter));
- g_object_unref (filter);
-
- filter = gtk_tree_model_filter_new (GTK_TREE_MODEL (self->diagnostics_store), NULL);
- gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (filter),
- diagnostic_is_error, NULL, NULL);
- gtk_tree_view_set_model (GTK_TREE_VIEW (self->errors_tree_view), GTK_TREE_MODEL (filter));
- g_object_unref (filter);
-
- ide_fancy_tree_view_set_data_func (IDE_FANCY_TREE_VIEW (self->warnings_tree_view),
- gbp_buildui_pane_text_func, self, NULL);
-
- ide_fancy_tree_view_set_data_func (IDE_FANCY_TREE_VIEW (self->errors_tree_view),
- gbp_buildui_pane_text_func, self, NULL);
-
g_signal_connect_swapped (self->stages_list_box,
"row-activated",
G_CALLBACK (gbp_buildui_pane_stage_row_activated),
diff --git a/src/plugins/buildui/gbp-buildui-pane.h b/src/plugins/buildui/gbp-buildui-pane.h
index 0db43563b..fff271afd 100644
--- a/src/plugins/buildui/gbp-buildui-pane.h
+++ b/src/plugins/buildui/gbp-buildui-pane.h
@@ -29,7 +29,7 @@ G_BEGIN_DECLS
G_DECLARE_FINAL_TYPE (GbpBuilduiPane, gbp_buildui_pane, GBP, BUILDUI_PANE, IdePane)
-void gbp_buildui_pane_set_pipeline (GbpBuilduiPane *self,
- IdePipeline *pipeline);
+void gbp_buildui_pane_set_pipeline (GbpBuilduiPane *self,
+ IdePipeline *pipeline);
G_END_DECLS
diff --git a/src/plugins/buildui/gbp-buildui-pane.ui b/src/plugins/buildui/gbp-buildui-pane.ui
index ae937ddea..c025b32f0 100644
--- a/src/plugins/buildui/gbp-buildui-pane.ui
+++ b/src/plugins/buildui/gbp-buildui-pane.ui
@@ -4,158 +4,102 @@
<property name="title" translatable="yes">Build Issues</property>
<property name="icon-name">builder-build-issues-symbolic</property>
<child>
- <object class="PanelPaned">
- <property name="orientation">vertical</property>
+ <object class="GtkScrolledWindow">
+ <property name="propagate-natural-height">true</property>
<child>
- <object class="GtkScrolledWindow">
- <property name="propagate-natural-height">true</property>
+ <object class="GtkGrid">
+ <property name="margin-top">6</property>
+ <property name="margin-bottom">6</property>
+ <property name="margin-start">6</property>
+ <property name="margin-end">6</property>
+ <property name="column-spacing">6</property>
+ <property name="row-spacing">6</property>
+ <property name="hexpand">false</property>
+ <property name="vexpand">false</property>
<child>
- <object class="GtkGrid">
- <property name="margin-top">6</property>
- <property name="margin-bottom">6</property>
- <property name="margin-start">6</property>
- <property name="margin-end">6</property>
- <property name="column-spacing">6</property>
- <property name="row-spacing">6</property>
- <property name="hexpand">false</property>
- <property name="vexpand">false</property>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Build status:</property>
- <property name="xalign">1.0</property>
- <style>
- <class name="dim-label"/>
- </style>
- <attributes>
- <attribute name="scale" value="0.8333"/>
- </attributes>
- <layout>
- <property name="row">0</property>
- <property name="column">0</property>
- </layout>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="label" translatable="yes">Time completed:</property>
- <property name="xalign">1.0</property>
- <style>
- <class name="dim-label"/>
- </style>
- <attributes>
- <attribute name="scale" value="0.8333"/>
- </attributes>
- <layout>
- <property name="row">1</property>
- <property name="column">0</property>
- </layout>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="build_status_label">
- <property name="label" translatable="yes">—</property>
- <property name="hexpand">true</property>
- <property name="xalign">0.0</property>
- <attributes>
- <attribute name="scale" value="0.8333"/>
- </attributes>
- <layout>
- <property name="row">0</property>
- <property name="column">1</property>
- </layout>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="time_completed_label">
- <property name="label" translatable="yes">—</property>
- <property name="hexpand">true</property>
- <property name="xalign">0.0</property>
- <attributes>
- <attribute name="scale" value="0.8333"/>
- </attributes>
- <layout>
- <property name="row">1</property>
- <property name="column">1</property>
- </layout>
- </object>
- </child>
- <child>
- <object class="AdwPreferencesGroup">
- <property name="title" translatable="yes">Build Pipeline</property>
- <layout>
- <property name="row">2</property>
- <property name="column">0</property>
- <property name="column-span">2</property>
- </layout>
- <child>
- <object class="GtkListBox" id="stages_list_box">
- <property name="margin-bottom">6</property>
- <property name="margin-start">6</property>
- <property name="margin-end">6</property>
- <property name="selection-mode">none</property>
- <style>
- <class name="boxed-list"/>
- </style>
- </object>
- </child>
- </object>
- </child>
+ <object class="GtkLabel">
+ <property name="label" translatable="yes">Build status:</property>
+ <property name="xalign">1.0</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ <attributes>
+ <attribute name="scale" value="0.8333"/>
+ </attributes>
+ <layout>
+ <property name="row">0</property>
+ <property name="column">0</property>
+ </layout>
</object>
</child>
- </object>
- </child>
- <child>
- <object class="GtkNotebook" id="notebook">
- <property name="show-border">false</property>
- <property name="vexpand">true</property>
<child>
- <object class="GtkScrolledWindow" id="warnings_page">
- <child>
- <object class="IdeFancyTreeView" id="warnings_tree_view">
- <property name="has-tooltip">true</property>
- <child internal-child="selection">
- <object class="GtkTreeSelection">
- <property name="mode">none</property>
- </object>
- </child>
- </object>
- </child>
+ <object class="GtkLabel">
+ <property name="label" translatable="yes">Time completed:</property>
+ <property name="xalign">1.0</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ <attributes>
+ <attribute name="scale" value="0.8333"/>
+ </attributes>
+ <layout>
+ <property name="row">1</property>
+ <property name="column">0</property>
+ </layout>
</object>
</child>
- <child type="tab">
- <object class="GtkLabel" id="warnings_page_label">
+ <child>
+ <object class="GtkLabel" id="build_status_label">
+ <property name="label" translatable="yes">—</property>
<property name="hexpand">true</property>
- <property name="label" translatable="yes">Warnings</property>
+ <property name="xalign">0.0</property>
+ <attributes>
+ <attribute name="scale" value="0.8333"/>
+ </attributes>
+ <layout>
+ <property name="row">0</property>
+ <property name="column">1</property>
+ </layout>
</object>
</child>
<child>
- <object class="GtkScrolledWindow" id="errors_page">
+ <object class="GtkLabel" id="time_completed_label">
+ <property name="label" translatable="yes">—</property>
+ <property name="hexpand">true</property>
+ <property name="xalign">0.0</property>
+ <attributes>
+ <attribute name="scale" value="0.8333"/>
+ </attributes>
+ <layout>
+ <property name="row">1</property>
+ <property name="column">1</property>
+ </layout>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup">
+ <property name="title" translatable="yes">Build Pipeline</property>
+ <layout>
+ <property name="row">2</property>
+ <property name="column">0</property>
+ <property name="column-span">2</property>
+ </layout>
<child>
- <object class="IdeFancyTreeView" id="errors_tree_view">
- <property name="has-tooltip">true</property>
- <child internal-child="selection">
- <object class="GtkTreeSelection">
- <property name="mode">none</property>
- </object>
- </child>
+ <object class="GtkListBox" id="stages_list_box">
+ <property name="margin-bottom">6</property>
+ <property name="margin-start">6</property>
+ <property name="margin-end">6</property>
+ <property name="selection-mode">none</property>
+ <style>
+ <class name="boxed-list"/>
+ </style>
</object>
</child>
</object>
</child>
- <child type="tab">
- <object class="GtkLabel" id="errors_page_label">
- <property name="hexpand">true</property>
- <property name="label" translatable="yes">Errors</property>
- </object>
- </child>
</object>
</child>
</object>
</child>
</template>
- <object class="GtkListStore" id="diagnostics_store">
- <columns>
- <column type="IdeDiagnostic"/>
- </columns>
- </object>
</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]