From 8c457c7d51370bfa8c55a69fd3e95e153e9dd61b Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Thu, 24 Sep 2009 12:27:26 +0200 Subject: [PATCH] Add movie-activated signal to movie list view This signal triggers on a row-activated signal from the contained treeview. --- src/movie-list-view.vala | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/movie-list-view.vala b/src/movie-list-view.vala index fb54aea..bfaa8a7 100644 --- a/src/movie-list-view.vala +++ b/src/movie-list-view.vala @@ -24,6 +24,8 @@ public class MovieListView : PannableArea { TreeView tree; public TreeSortable sorted_store; + public signal void movie_activated (Movie movie); + construct { store = new MovieListStore (); @@ -118,6 +120,21 @@ public class MovieListView : PannableArea { rating_column.set_cell_data_func (renderer, rating_data_func); rating_column.xalign = (float) 1.0; tree.append_column (rating_column); + + // Connect signals + tree.row_activated.connect (on_row_activated); + } + + private void on_row_activated (TreeView tree, TreePath path_, TreeViewColumn column) { + TreePath path = path_.copy (); // FIXME - calling model.get_iter with path_ directly causes a C qualifier warning + TreeModel model = tree.model; + TreeIter iter; + + if (model.get_iter (out iter, path)) { + Movie movie; + model.get (iter, MovieListStore.Columns.MOVIE, out movie); + movie_activated (movie); + } } private void vbox_data_func (CellLayout cell_layout, CellRenderer cell, TreeModel model, TreeIter iter) { -- 1.7.9.5