public MovieListView (Gtk.Window window, bool show_date = false) {
store = new MovieListStore ();
+ Gdk.Color color;
+ window.ensure_style ();
+ if (window.style.lookup_color ("SecondaryTextColor", out color)) {
+ store.year_markup = "<span size=\"small\" fgcolor=\"%s\">(%%d)</span>".printf (color.to_string ());
+ }
+
// Add filter wrapper
var filtered_store = new TreeModelFilter (store, null);
sorted_store.set_sort_column_id (MovieListStore.Columns.TITLE, SortType.ASCENDING);
// Year column
- var renderer = new CellRendererText ();
var year_column = new TreeViewColumn ();
- year_column.set_title (_("Rating"));
+ year_column.set_title (_("Year"));
year_column.set_sort_column_id (MovieListStore.Columns.YEAR);
year_column.set_reorderable (false);
year_column.set_sort_order (SortType.DESCENDING);
- year_column.pack_start (renderer, true);
- year_column.set_cell_data_func (renderer, year_data_func);
tree.append_column (year_column);
// Rating column
private void title_data_func (CellLayout cell_layout, CellRenderer cell, TreeModel model, TreeIter iter) {
Movie movie;
+ string markup;
- model.get (iter, MovieListStore.Columns.MOVIE, out movie);
- title_renderer.text = movie.title;
+ model.get (iter, MovieListStore.Columns.MOVIE, out movie,
+ MovieListStore.Columns.MARKUP, out markup);
+ title_renderer.markup = markup;
secondary_renderer.text = movie.secondary;
}
- private void year_data_func (CellLayout cell_layout, CellRenderer cell, TreeModel model, TreeIter iter) {
- int year;
-
- model.get (iter, MovieListStore.Columns.YEAR, out year);
- ((CellRendererText) cell).text = (year > 0) ? year.to_string () : "";
- }
-
private void rating_data_func (CellLayout cell_layout, CellRenderer cell, TreeModel model, TreeIter iter) {
- int rating;
+ string rating;
Movie movie;
model.get (iter, MovieListStore.Columns.RATING, out rating,
MovieListStore.Columns.MOVIE, out movie);
- rating_renderer.text = (rating > 0) ? "%d.%d".printf (rating / 10, rating % 10) : "";
+ rating_renderer.text = rating;
if (movie.julian_date != 0) {
var date = Date ();
date.set_julian (movie.julian_date);