private MovieListStore store;
private Label no_movies;
private bool search_bar_visible;
+ private MovieWindow movie_window;
+ private Alignment alignment;
public MovieListWindow (MovieSource source) {
set_title (source.get_description ());
search_field_item.set_expand (true);
search_field_item.add (search_field);
- var close_image = new Image.from_file("/usr/share/icons/hicolor/48x48/hildon/general_close.png");
+ var icon_theme = Gtk.IconTheme.get_default ();
+ var pixbuf = icon_theme.load_icon ("general_close",
+ 48,
+ Gtk.IconLookupFlags.NO_SVG);
+ var close_image = new Image.from_pixbuf (pixbuf);
var close_button = new ToolButton (close_image, _("Close"));
search_bar = new Toolbar ();
search_bar.insert (search_field_item, 0);
search_bar.insert (close_button, 1);
+ search_bar.show_all ();
add_toolbar (search_bar);
vbox.pack_start (movie_list, true, true, 0);
vbox.pack_start (no_movies, false, false, 0);
- add (vbox);
+ alignment = new Alignment (0.0f, 0.0f, 1.0f, 1.0f);
+ alignment.top_padding = MARGIN_HALF;
+ alignment.left_padding = MARGIN_DOUBLE;
+ alignment.right_padding = MARGIN_DOUBLE;
+
+ alignment.add (vbox);
+ add (alignment);
edit_toolbar = new Hildon.EditToolbar.with_text (_("Select movies"), _("Delete"));
set_edit_toolbar (edit_toolbar);
close_button.clicked.connect (on_close_button_clicked);
key_press_event.connect (on_key_press_event);
movie_list.movie_activated.connect (on_movie_activated);
+ store.search_finished.connect (on_search_finished);
store.notify["update-running"].connect (on_update_running_changed);
search_field.set_flags (WidgetFlags.CAN_DEFAULT);
search_field.grab_default ();
- show_all ();
+ alignment.show_all ();
edit_toolbar.hide ();
search_bar_visible = false;
search_bar.hide ();
return false;
}
+ private void on_search_finished (int movies) {
+ if (movies > 6)
+ alignment.right_padding = MARGIN_DEFAULT;
+ else
+ alignment.right_padding = MARGIN_DOUBLE;
+ if (movies > 100) {
+ Banner.show_information (this, null, _("More results available - refine search to reduce the dataset"));
+ }
+ }
+
private void on_movie_activated (Movie movie) {
- var window = new MovieWindow.with_movie (movie, store);
- window.show_all ();
+ if (movie_window != null)
+ return;
+ movie_window = new MovieWindow.with_movie (movie, store);
+ movie_window.destroy.connect (() => { movie_window = null; });
+ movie_window.show ();
}
private void on_update_running_changed (GLib.Object source, ParamSpec spec) {