Thanks, but I couldn't create a working solution so I came up with this one:
Code:
Glib::RefPtr<Gdk::Pixbuf> Info::getPixbuf(File *f) {
//File is a custom class
static Glib::RefPtr<Gtk::IconTheme> iconTheme = Gtk::IconTheme::get_default();
Glib::ustring sPath = Glib::build_filename(f->getDirPath(), f->getName());
Glib::RefPtr<Gio::File> gioFile = Gio::File::create_for_path(sPath);
Glib::RefPtr<Gio::FileInfo> info = gioFile->query_info();
Glib::RefPtr<Gio::Icon> icon = info->get_icon();
//getIconSize() a custom function returning the desired size
Gtk::IconInfo iconInfo = iconTheme->lookup_icon(icon, getIconSize(), Gtk::ICON_LOOKUP_USE_BUILTIN);
return iconInfo.load_icon();
}