"$ margin_top" : 5,
"id" : "+image",
"* args" : "JsRender.JsRender file",
- "* init" : "{\n var pixbuf = new Gdk.Pixbuf.from_file(file.getIconFileName(true));\n var img = new Clutter.Image();\n img.set_data(pixbuf.get_pixels(), \n pixbuf.has_alpha \n ? Cogl.PixelFormat.RGBA_8888\n : Cogl.PixelFormat.RGB_888,\n pixbuf.get_width (),\n pixbuf.get_height (),\n pixbuf.get_rowstride ()\n );\n this.el.set_content(img);\n // should probably do smarter scaling...\n \n \n this.el.set_size(90, 70);\n}\n",
+ "* init" : "{\n Gdk.Pixbuf pixbuf;\n var fname = file.getIconFileName(false);\n\n if (FileUtils.test(fname, FileTest.EXISTS)) {\n pixbuf = new Gdk.Pixbuf.from_file(fname);\n } else {\n var icon_theme = Gtk.IconTheme.get_default ();\n pixbuf = icon_theme.load_icon (\"package-x-generic\", 92, 0);\n\n }\n\n var img = new Clutter.Image();\n img.set_data(pixbuf.get_pixels(), \n pixbuf.has_alpha \n ? Cogl.PixelFormat.RGBA_8888\n : Cogl.PixelFormat.RGB_888,\n pixbuf.get_width (),\n pixbuf.get_height (),\n pixbuf.get_rowstride ()\n );\n this.el.set_content(img);\n // should probably do smarter scaling...\n \n \n this.el.set_size(90, 70);\n}\n",
"$ x_expand" : true,
"* pack" : "add_child",
"xtype" : "Actor",
},
{
"* ctor" : "new Clutter.Text.full(\"Sans 10px\", file.nickType(),new Clutter.Color.from_string(\"#fff\"))",
- "* args" : "JsRender.JsRender file",
"id" : "+typetitle",
+ "* args" : "JsRender.JsRender file",
"$ x_expand" : true,
"* pack" : "add_child",
"xtype" : "Text",
},
{
"* ctor" : "new Clutter.Text.full(\"Sans 10px\", file.nickName(),new Clutter.Color.from_string(\"#fff\"))",
- "* args" : "JsRender.JsRender file",
"id" : "+title",
+ "* args" : "JsRender.JsRender file",
"$ x_expand" : true,
"* pack" : "add_child",
"xtype" : "Text",
// init method
{
- var pixbuf = new Gdk.Pixbuf.from_file(file.getIconFileName(true));
+ Gdk.Pixbuf pixbuf;
+ var fname = file.getIconFileName(false);
+
+ if (FileUtils.test(fname, FileTest.EXISTS)) {
+ pixbuf = new Gdk.Pixbuf.from_file(fname);
+ } else {
+ var icon_theme = Gtk.IconTheme.get_default ();
+ pixbuf = icon_theme.load_icon ("package-x-generic", 92, 0);
+
+ }
+
var img = new Clutter.Image();
img.set_data(pixbuf.get_pixels(),
pixbuf.has_alpha