From: Philipp Zabel Date: Wed, 4 Aug 2010 21:04:55 +0000 (+0200) Subject: Movie list window: add title markup for filtered views X-Git-Url: http://git.maemo.org/git/?p=cinaest;a=commitdiff_plain;h=a0bcf1e4d6b7f4cbba2cd7d16be74c5499194f01 Movie list window: add title markup for filtered views This is similar to the Photos application, but the behaviour is still different. The photo/image viewer opens filtered views in a new StackableWindow so the back arrow can be used to clear the filters. --- diff --git a/src/movie-list-window.vala b/src/movie-list-window.vala index ea37eed..acc9bce 100644 --- a/src/movie-list-window.vala +++ b/src/movie-list-window.vala @@ -33,8 +33,10 @@ public class MovieListWindow : StackableWindow { private MovieWindow movie_window; private Alignment alignment; private int count; + private MovieSource source; - public MovieListWindow (MovieSource source) { + public MovieListWindow (MovieSource source_) { + source = source_; set_title (source.get_description ()); // View menu @@ -92,7 +94,7 @@ public class MovieListWindow : StackableWindow { set_edit_toolbar (edit_toolbar); // Connect signals - menu.filter_changed.connect (() => { start_search (); }); + menu.filter_changed.connect (on_filter_changed); edit_toolbar.button_clicked.connect (on_delete_button_clicked); edit_toolbar.arrow_clicked.connect (leave_edit_mode); search_field.changed.connect (on_search_field_changed); @@ -130,6 +132,30 @@ public class MovieListWindow : StackableWindow { } } + private void on_filter_changed () { + var markup = new StringBuilder (); + if (filter.year_min != 0 || filter.year_max != 0) + markup.append (_(" - years")); + if (filter.rating_min != 0) + markup.append (_(" - rating")); + if (filter.genres.field != 0) + markup.append (_(" - genres")); + if (markup.str.length > 0) { + Gdk.Color color; + this.ensure_style (); + if (this.style.lookup_color ("ActiveTextColor", out color)) { + markup.prepend ("".printf (color.to_string ())); + markup.append (""); + } + markup.prepend (source.get_description ()); + set_markup (markup.str); + } else { + set_markup (source.get_description ()); + } + + start_search (); + } + public void on_delete_movies_clicked () { fullscreen (); edit_toolbar.show ();