X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fposter%2Fmovie-poster-factory.vala;h=20e223b34f5d4424cf3dc3b86eb532119fe2ed6b;hb=89fc8a7f40f8aa0f3f99a0ff06f79666febb180d;hp=4c74c00799a6062483d08760286bbb7193d437cd;hpb=d234cebff2d54ca3357cd2e59aa696c4632f2df9;p=cinaest diff --git a/src/poster/movie-poster-factory.vala b/src/poster/movie-poster-factory.vala index 4c74c00..20e223b 100644 --- a/src/poster/movie-poster-factory.vala +++ b/src/poster/movie-poster-factory.vala @@ -33,12 +33,12 @@ namespace MoviePoster { construct { try { var conn = DBus.Bus.get (DBus.BusType.SESSION); - server = conn.get_object ("org.maemo.movieposter.GoogleImages", - "/org/maemo/movieposter/GoogleImages", + server = conn.get_object ("org.maemo.movieposter.IMDb", + "/org/maemo/movieposter/IMDb", "org.maemo.movieposter.Provider"); server.Fetched.connect (this.on_poster_fetched); } catch (Error e) { - warning ("Couldn't connect to Google image downloader: %s\n", e.message); + warning ("Couldn't connect to IMDb poster downloader: %s\n", e.message); } gc = GConf.Client.get_default (); @@ -84,14 +84,19 @@ namespace MoviePoster { public int queue_thumbnail (Movie movie, uint width, uint height, bool cropped, RequestCallback callback) throws Error { string path = get_path_thumbnail (movie); + foreach (Request request in requests) + if (request.movie == movie) + return 0; + if (FileUtils.test (path, FileTest.IS_REGULAR)) { // TODO: make this async? - var pixbuf = new Gdk.Pixbuf.from_file_at_size (path, (int) width, (int) height); + var pixbuf = new Gdk.Pixbuf.from_file_at_scale (path, (int) width, (int) height, true); + callback (pixbuf, movie); } else if (server != null && download_posters) { var request = new Request (); - request.handle = server.FetchThumbnail (movie.title.down (), movie.year.to_string (), "movie"); + request.handle = server.FetchThumbnail (movie.title, movie.year.to_string (), "movie"); request.movie = movie; request.callback = callback; request.width = (int) width;