Movie list view: optionally show date
authorPhilipp Zabel <philipp.zabel@gmail.com>
Sun, 11 Jul 2010 13:06:32 +0000 (15:06 +0200)
committerPhilipp Zabel <philipp.zabel@gmail.com>
Sun, 11 Jul 2010 13:06:32 +0000 (15:06 +0200)
src/movie-list-view.vala

index a84654a..205f5ce 100644 (file)
@@ -32,7 +32,7 @@ public class MovieListView : PannableArea {
 
        public signal void movie_activated (Movie movie);
 
-       public MovieListView (Gtk.Window window) {
+       public MovieListView (Gtk.Window window, bool show_date = false) {
                store = new MovieListStore ();
 
                // Add filter wrapper
@@ -81,7 +81,7 @@ public class MovieListView : PannableArea {
                secondary_renderer = new CellRendererText ();
                secondary_renderer.yalign = 0;
                secondary_renderer.ellipsize = Pango.EllipsizeMode.END;
-               secondary_renderer.attributes = get_attributes (window, "SmallSystemFont", "SecondaryColor");
+               secondary_renderer.attributes = get_attributes (window, "SmallSystemFont", "SecondaryTextColor");
 
                vbox_renderer.append (secondary_renderer, true);
 
@@ -110,20 +110,23 @@ public class MovieListView : PannableArea {
                rating_column.set_sort_column_id (MovieListStore.Columns.RATING);
                rating_column.set_reorderable (false);
                rating_column.set_sort_order (SortType.DESCENDING);
-               rating_column.xalign = (float) 1.0;
+               rating_column.xalign = 1.0f;
 
                vbox_renderer = new CellRendererVBox ();
 
                rating_renderer = new CellRendererText ();
-       //      rating_renderer.yalign = 1.0f;
+               rating_renderer.xalign = 1.0f;
+               if (show_date)
+                       rating_renderer.yalign = 1.0f;
 
                vbox_renderer.append (rating_renderer, true);
 
                date_renderer = new CellRendererText ();
                date_renderer.yalign = 0;
-               date_renderer.attributes = get_attributes (window, "SmallSystemFont", "SecondaryColor");
+               date_renderer.attributes = get_attributes (window, "SmallSystemFont", "SecondaryTextColor");
 
-       //      vbox_renderer.append (date_renderer, true);
+               if (show_date)
+                       vbox_renderer.append (date_renderer, true);
 
                rating_column.pack_start (vbox_renderer, true);
                rating_column.set_cell_data_func (vbox_renderer, rating_data_func);
@@ -217,6 +220,14 @@ public class MovieListView : PannableArea {
                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) : "";
-               date_renderer.text = "%u".printf (movie.julian_date);
+               if (movie.julian_date != 0) {
+                       var date = Date ();
+                       date.set_julian (movie.julian_date);
+                       var s = new char[64];
+                       date.strftime (s, "%x");
+                       date_renderer.text = (string) s;
+               } else {
+                       date_renderer.text = "";
+               }
        }
 }