Update of /cvsroot/qooxdoo/qooxdoo/source/script/managers
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31891/source/script/managers
Modified Files:
Tag: renderer
QxImageManager.js
Log Message:
Reduced buildURI calls for image handling
Index: QxImageManager.js
===================================================================
RCS file: /cvsroot/qooxdoo/qooxdoo/source/script/managers/QxImageManager.js,v
retrieving revision 1.3.2.24
retrieving revision 1.3.2.25
diff -u -d -r1.3.2.24 -r1.3.2.25
--- QxImageManager.js 16 Jan 2006 16:11:56 -0000 1.3.2.24
+++ QxImageManager.js 23 Jan 2006 12:04:34 -0000 1.3.2.25
@@ -56,6 +56,11 @@
Preload images
*/
this._preloadList = {};
+
+ /*!
+ Image URIs
+ */
+ this._uris = {};
// Add default icon themes
this.addIconTheme("Crystal Clear", "crystalclear");
@@ -108,6 +113,17 @@
proto.buildURI = function(vPath)
{
+ var vUri = this._uris[vPath];
+
+ if (typeof vUri == QxConst.TYPEOF_UNDEFINED) {
+ vUri = this._uris[vPath] = this._buildURI(vPath);
+ };
+
+ return vUri;
+};
+
+proto._buildURI = function(vPath, vForce)
+{
switch(vPath.charAt(0))
{
case QxConst.CORE_SLASH:
@@ -120,6 +136,7 @@
case QxConst.PROTOCOL_HTTP:
case QxConst.PROTOCOL_HTTPS:
case QxConst.PROTOCOL_FTP:
+ case QxConst.PROTOCOL_FILE:
return vPath;
};
@@ -141,10 +158,13 @@
{
var o;
+ // reset cache
+ this._uris = {};
+
for (var i in this._objects)
{
o = this._objects[i];
- o.setPreloader(new QxImagePreloader(this.buildURI(o.getSource())));
+ o.setPreloader(new QxImagePreloader(this.buildURI(o.getSource(), true)));
};
return true;
|