[gnome-builder] build-tools: remove configuration selection
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] build-tools: remove configuration selection
- Date: Tue, 28 Jun 2016 00:09:09 +0000 (UTC)
commit ff39f5de6eb2f7a605f63207a5b7b48b1753e896
Author: Christian Hergert <chergert redhat com>
Date: Sun Jun 26 13:55:00 2016 -0700
build-tools: remove configuration selection
Now that we have the omnibar, the configuration selection can go away from
the build panel. It is easier to choose a configuration from there.
plugins/build-tools/gbp-build-panel.c | 131 +++--------------------
plugins/build-tools/gbp-build-panel.ui | 54 ---------
plugins/build-tools/gbp-build-workbench-addin.c | 1 -
3 files changed, 15 insertions(+), 171 deletions(-)
---
diff --git a/plugins/build-tools/gbp-build-panel.c b/plugins/build-tools/gbp-build-panel.c
index 21a2bfb..da2b113 100644
--- a/plugins/build-tools/gbp-build-panel.c
+++ b/plugins/build-tools/gbp-build-panel.c
@@ -22,7 +22,6 @@
#include "egg-binding-group.h"
#include "egg-signal-group.h"
-#include "gbp-build-configuration-row.h"
#include "gbp-build-panel.h"
#include "gbp-build-panel-row.h"
@@ -34,9 +33,6 @@ struct _GbpBuildPanel
EggSignalGroup *signals;
EggBindingGroup *bindings;
- GtkListBox *configurations;
- GtkLabel *configuration_label;
- GtkPopover *configuration_popover;
GtkListBox *diagnostics;
GtkLabel *errors_label;
GtkLabel *running_time_label;
@@ -44,8 +40,6 @@ struct _GbpBuildPanel
GtkLabel *status_label;
GtkLabel *warnings_label;
- guint running_time_source;
-
guint error_count;
guint warning_count;
};
@@ -54,72 +48,12 @@ G_DEFINE_TYPE (GbpBuildPanel, gbp_build_panel, PNL_TYPE_DOCK_WIDGET)
enum {
PROP_0,
- PROP_CONFIGURATION_MANAGER,
PROP_RESULT,
LAST_PROP
};
static GParamSpec *properties [LAST_PROP];
-static gboolean
-map_current_to_bool (GBinding *binding,
- const GValue *from_value,
- GValue *to_value,
- gpointer user_data)
-{
- IdeConfiguration *configuration = user_data;
- IdeConfiguration *current;
-
- g_assert (IDE_IS_CONFIGURATION (configuration));
-
- current = g_value_get_object (from_value);
- g_value_set_boolean (to_value, (configuration == current));
-
- return TRUE;
-}
-
-static GtkWidget *
-create_configuration_row (gpointer item,
- gpointer user_data)
-{
- IdeConfiguration *configuration = item;
- IdeConfigurationManager *manager = user_data;
- GtkWidget *ret;
-
- g_assert (IDE_IS_CONFIGURATION (configuration));
- g_assert (IDE_IS_CONFIGURATION_MANAGER (manager));
-
- ret = g_object_new (GBP_TYPE_BUILD_CONFIGURATION_ROW,
- "configuration", configuration,
- "visible", TRUE,
- NULL);
-
- g_object_bind_property_full (manager, "current", ret, "selected",
- G_BINDING_SYNC_CREATE,
- map_current_to_bool, NULL,
- g_object_ref (configuration), g_object_unref);
-
- return ret;
-}
-
-static void
-gbp_build_panel_set_configuration_manager (GbpBuildPanel *self,
- IdeConfigurationManager *configuration_manager)
-{
- g_assert (GBP_IS_BUILD_PANEL (self));
- g_assert (IDE_IS_CONFIGURATION_MANAGER (configuration_manager));
-
- gtk_list_box_bind_model (self->configurations,
- G_LIST_MODEL (configuration_manager),
- create_configuration_row,
- g_object_ref (configuration_manager),
- g_object_unref);
-
- g_object_bind_property (configuration_manager, "current-display-name",
- self->configuration_label, "label",
- G_BINDING_SYNC_CREATE);
-}
-
void
gbp_build_panel_add_error (GbpBuildPanel *self,
const gchar *message)
@@ -166,7 +100,7 @@ gbp_build_panel_diagnostic (GbpBuildPanel *self,
gtk_container_add (GTK_CONTAINER (self->diagnostics), row);
}
-static gboolean
+static void
gbp_build_panel_update_running_time (GbpBuildPanel *self)
{
g_assert (GBP_IS_BUILD_PANEL (self));
@@ -189,8 +123,10 @@ gbp_build_panel_update_running_time (GbpBuildPanel *self)
gtk_label_set_label (self->running_time_label, text);
g_free (text);
}
-
- return G_SOURCE_CONTINUE;
+ else
+ {
+ gtk_label_set_label (self->running_time_label, NULL);
+ }
}
static void
@@ -211,13 +147,6 @@ gbp_build_panel_connect (GbpBuildPanel *self,
egg_signal_group_set_target (self->signals, result);
egg_binding_group_set_source (self->bindings, result);
- if (ide_build_result_get_running (result))
- {
- gtk_label_set_label (self->running_time_label, NULL);
- self->running_time_source =
- g_timeout_add_seconds (1, (GSourceFunc)gbp_build_panel_update_running_time, self);
- }
-
gtk_revealer_set_reveal_child (self->status_revealer, TRUE);
}
@@ -230,7 +159,6 @@ gbp_build_panel_disconnect (GbpBuildPanel *self)
egg_signal_group_set_target (self->signals, NULL);
egg_binding_group_set_source (self->bindings, NULL);
- ide_clear_source (&self->running_time_source);
g_clear_object (&self->result);
}
@@ -263,33 +191,18 @@ gbp_build_panel_notify_running (GbpBuildPanel *self,
g_assert (GBP_IS_BUILD_PANEL (self));
g_assert (IDE_IS_BUILD_RESULT (result));
- if (!ide_build_result_get_running (result))
- ide_clear_source (&self->running_time_source);
-
gbp_build_panel_update_running_time (self);
}
static void
-gbp_build_panel_configuration_activated (GbpBuildPanel *self,
- GtkListBoxRow *row,
- GtkListBox *list_box)
+gbp_build_panel_notify_running_time (GbpBuildPanel *self,
+ GParamSpec *pspec,
+ IdeBuildResult *result)
{
- IdeConfigurationManager *manager;
- IdeConfiguration *config;
- IdeWorkbench *workbench;
- IdeContext *context;
-
g_assert (GBP_IS_BUILD_PANEL (self));
- g_assert (GTK_IS_LIST_BOX_ROW (row));
- g_assert (GTK_IS_LIST_BOX (list_box));
-
- workbench = ide_widget_get_workbench (GTK_WIDGET (self));
- context = ide_workbench_get_context (workbench);
- manager = ide_context_get_configuration_manager (context);
- config = gbp_build_configuration_row_get_configuration (GBP_BUILD_CONFIGURATION_ROW (row));
- ide_configuration_manager_set_current (manager, config);
+ g_assert (IDE_IS_BUILD_RESULT (result));
- gtk_widget_hide (GTK_WIDGET (self->configuration_popover));
+ gbp_build_panel_update_running_time (self);
}
static void
@@ -367,10 +280,6 @@ gbp_build_panel_set_property (GObject *object,
switch (prop_id)
{
- case PROP_CONFIGURATION_MANAGER:
- gbp_build_panel_set_configuration_manager (self, g_value_get_object (value));
- break;
-
case PROP_RESULT:
gbp_build_panel_set_result (self, g_value_get_object (value));
break;
@@ -391,13 +300,6 @@ gbp_build_panel_class_init (GbpBuildPanelClass *klass)
widget_class->destroy = gbp_build_panel_destroy;
- properties [PROP_CONFIGURATION_MANAGER] =
- g_param_spec_object ("configuration-manager",
- "Configuration Manager",
- "Configuration Manager",
- IDE_TYPE_CONFIGURATION_MANAGER,
- (G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS));
-
properties [PROP_RESULT] =
g_param_spec_object ("result",
"Result",
@@ -409,9 +311,6 @@ gbp_build_panel_class_init (GbpBuildPanelClass *klass)
gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/builder/plugins/build-tools-plugin/gbp-build-panel.ui");
gtk_widget_class_set_css_name (widget_class, "buildpanel");
- gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, configurations);
- gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, configuration_label);
- gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, configuration_popover);
gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, diagnostics);
gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, errors_label);
gtk_widget_class_bind_template_child (widget_class, GbpBuildPanel, running_time_label);
@@ -441,11 +340,11 @@ gbp_build_panel_init (GbpBuildPanel *self)
self,
G_CONNECT_SWAPPED);
- g_signal_connect_object (self->configurations,
- "row-activated",
- G_CALLBACK (gbp_build_panel_configuration_activated),
- self,
- G_CONNECT_SWAPPED);
+ egg_signal_group_connect_object (self->signals,
+ "notify::running-time",
+ G_CALLBACK (gbp_build_panel_notify_running_time),
+ self,
+ G_CONNECT_SWAPPED);
g_signal_connect_object (self->diagnostics,
"row-activated",
diff --git a/plugins/build-tools/gbp-build-panel.ui b/plugins/build-tools/gbp-build-panel.ui
index ef2fa5d..36da151 100644
--- a/plugins/build-tools/gbp-build-panel.ui
+++ b/plugins/build-tools/gbp-build-panel.ui
@@ -5,22 +5,6 @@
<property name="visible">true</property>
<property name="orientation">vertical</property>
<child>
- <object class="GtkMenuButton" id="configuration_button">
- <property name="margin">12</property>
- <property name="popover">configuration_popover</property>
- <property name="visible">true</property>
- <style>
- <class name="flat"/>
- </style>
- <child>
- <object class="GtkLabel" id="configuration_label">
- <property name="ellipsize">middle</property>
- <property name="visible">true</property>
- </object>
- </child>
- </object>
- </child>
- <child>
<object class="GtkBox">
<property name="visible">true</property>
<property name="margin-end">12</property>
@@ -248,42 +232,4 @@
</object>
</child>
</template>
- <object class="GtkPopover" id="device_popover">
- <child>
- <object class="GtkScrolledWindow">
- <property name="min-content-width">100</property>
- <property name="max-content-width">300</property>
- <property name="max-content-height">300</property>
- <property name="visible">true</property>
- <child>
- <object class="GtkListBox" id="devices">
- <property name="selection-mode">none</property>
- <property name="visible">true</property>
- <style>
- <class name="buildpanel"/>
- </style>
- </object>
- </child>
- </object>
- </child>
- </object>
- <object class="GtkPopover" id="configuration_popover">
- <child>
- <object class="GtkScrolledWindow">
- <property name="min-content-width">250</property>
- <property name="max-content-width">300</property>
- <property name="max-content-height">300</property>
- <property name="visible">true</property>
- <child>
- <object class="GtkListBox" id="configurations">
- <property name="selection-mode">none</property>
- <property name="visible">true</property>
- <style>
- <class name="buildpanel"/>
- </style>
- </object>
- </child>
- </object>
- </child>
- </object>
</interface>
diff --git a/plugins/build-tools/gbp-build-workbench-addin.c b/plugins/build-tools/gbp-build-workbench-addin.c
index 9aa73bd..6545032 100644
--- a/plugins/build-tools/gbp-build-workbench-addin.c
+++ b/plugins/build-tools/gbp-build-workbench-addin.c
@@ -300,7 +300,6 @@ gbp_build_workbench_addin_load (IdeWorkbenchAddin *addin,
editor = ide_workbench_get_perspective_by_name (workbench, "editor");
pane = pnl_dock_bin_get_right_edge (PNL_DOCK_BIN (editor));
self->panel = g_object_new (GBP_TYPE_BUILD_PANEL,
- "configuration-manager", configuration_manager,
"visible", TRUE,
NULL);
gtk_container_add (GTK_CONTAINER (pane), GTK_WIDGET (self->panel));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]