[rhythmbox] property-view: allow visibility of property column to be changed
- From: Jonathan Matthew <jmatthew src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rhythmbox] property-view: allow visibility of property column to be changed
- Date: Sat, 16 Aug 2014 23:45:52 +0000 (UTC)
commit 630d689be0ef18e7f82777574743bd0d0ab4e50f
Author: Jonathan Matthew <jonathan d14n org>
Date: Sun Aug 17 09:44:09 2014 +1000
property-view: allow visibility of property column to be changed
Custom property views (like the podcast feed view) may want to hide
the column that contains the grouping property value.
widgets/rb-property-view.c | 28 +++++++++++++++++++++-------
widgets/rb-property-view.h | 2 ++
2 files changed, 23 insertions(+), 7 deletions(-)
---
diff --git a/widgets/rb-property-view.c b/widgets/rb-property-view.c
index 48f972a..9834130 100644
--- a/widgets/rb-property-view.c
+++ b/widgets/rb-property-view.c
@@ -83,6 +83,7 @@ struct RBPropertyViewPrivate
char *title;
GtkWidget *treeview;
+ GtkTreeViewColumn *column;
GtkTreeSelection *selection;
gboolean draggable;
@@ -685,7 +686,6 @@ rb_property_view_cell_data_func (GtkTreeViewColumn *column,
static void
rb_property_view_constructed (GObject *object)
{
- GtkTreeViewColumn *column;
GtkCellRenderer *renderer;
RBPropertyView *view;
@@ -730,16 +730,16 @@ rb_property_view_constructed (GObject *object)
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (view->priv->treeview), TRUE);
gtk_tree_selection_set_mode (view->priv->selection, GTK_SELECTION_SINGLE);
- column = gtk_tree_view_column_new ();
+ view->priv->column = gtk_tree_view_column_new ();
renderer = gtk_cell_renderer_text_new ();
- gtk_tree_view_column_pack_start (column, renderer, TRUE);
- gtk_tree_view_column_set_cell_data_func (column, renderer,
+ gtk_tree_view_column_pack_start (view->priv->column, renderer, TRUE);
+ gtk_tree_view_column_set_cell_data_func (view->priv->column, renderer,
(GtkTreeCellDataFunc) rb_property_view_cell_data_func,
view, NULL);
- gtk_tree_view_column_set_title (column, view->priv->title);
- gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_FIXED);
+ gtk_tree_view_column_set_title (view->priv->column, view->priv->title);
+ gtk_tree_view_column_set_sizing (view->priv->column, GTK_TREE_VIEW_COLUMN_FIXED);
gtk_tree_view_append_column (GTK_TREE_VIEW (view->priv->treeview),
- column);
+ view->priv->column);
}
static void
@@ -935,6 +935,20 @@ rb_property_view_append_column_custom (RBPropertyView *view,
gtk_tree_view_append_column (GTK_TREE_VIEW (view->priv->treeview), column);
}
+/**
+ * rb_property_view_set_column_visible:
+ * @view: a #RBPropertyView
+ * @visible: whether the property column should be visible
+ *
+ * Sets the visibility of the property column.
+ */
+void
+rb_property_view_set_column_visible (RBPropertyView *view, gboolean visible)
+{
+ g_return_if_fail (RB_IS_PROPERTY_VIEW (view));
+ gtk_tree_view_column_set_visible (view->priv->column, visible);
+}
+
static gboolean
rb_property_view_button_press_cb (GtkTreeView *tree,
GdkEventButton *event,
diff --git a/widgets/rb-property-view.h b/widgets/rb-property-view.h
index 850c25b..e2a5023 100644
--- a/widgets/rb-property-view.h
+++ b/widgets/rb-property-view.h
@@ -73,6 +73,8 @@ RBPropertyView *rb_property_view_new (RhythmDB *db, guint propid,
const char *title);
void rb_property_view_append_column_custom (RBPropertyView *view,
GtkTreeViewColumn *column);
+void rb_property_view_set_column_visible (RBPropertyView *view,
+ gboolean visible);
void rb_property_view_set_selection_mode (RBPropertyView *view,
GtkSelectionMode mode);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]