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 ();
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;