Revision dd00c000

b/javascriptzip/filelist.js
27 27
'../../../ictu/ictu/odfquality/ah-tk-20092010-2140/ah-tk-20092010-2140.odt',
28 28
'../../../ictu/ictu/odfquality/kv-tk-2010Z06142/kv-tk-2010Z06142.odt',
29 29
'../../../ictu/ictu/odfquality/stb-2010-161/stb-2010-161.odt',
30
'./kofficetests/odf/charts/Areacharts.odp'
30 31
];
b/javascriptzip/gui.js
86 86
      if (typeof f == 'string') {
87 87
        var parentNode = getParentNode(root, f);
88 88
        var qtip = f;
89
        var thumbdataurl = getThumbUrl(f);
90
        if (thumbdataurl) {
91
          qtip += '<img src="' + thumbdataurl + '"/>';
92
        }
93
        parentNode.appendChild({
89
        var node = parentNode.appendChild({
94 90
          id: f,
95 91
          qtip: qtip,
96 92
          text: f.substr(f.lastIndexOf('/')+1),
......
101 97
            click: function(node) { loadODF(node.id, tabpanel, node.text); }
102 98
          }
103 99
        });
100
        addThumbnail(node);
104 101
      }
105 102
    }
106 103
  }
......
108 105
  }
109 106

  
110 107
  // put data in the tree
111
  listFiles('kofficetests/', /\.od[tps]$/i, listFilesCallback,
108
  listFiles('./kofficetests/', /\.od[tps]$/i, listFilesCallback,
112 109
    listFilesDoneCallback);
113 110
});
114 111

  
115
function getThumbUrl(url) {
116
  // return null;
117
  var data;
118
  try {
119
    var zip = new Zip(url);
120
    data = zip.load('Thumbnails/thumbnail.png');
121
  } catch (e) {
122
    return null;
123
  }
124
  if (data) {
125
      return 'data:;base64,' + Base64.toBase64(data); // window.atob(data)
126
  }
127
  return null;
112
function addThumbnail(node) {
113
  var url = node.id;
114
  var zip = new Zip(url, function(zip) {
115
    zip.load('Thumbnails/thumbnail.png', function(data) {
116
      if (data == null) return;
117
      var url = 'data:;base64,' + Base64.toBase64(data);
118
      node.attributes.qtip += '<img src="' + url + '"/>';
119
    });
120
  });
128 121
}
129 122

  
130 123
function loadODF(url, panel, title) {
b/javascriptzip/zip.js
125 125
  if (job.callback) {
126 126
    job.callback(data);
127 127
  }
128
  if (this.queue.length && !this.busy()) {
129
    this.doNextRequest();
130
  }
128 131
  return data;
129 132
}
130 133
RemoteFileReader.prototype.getFileLengthFromResponseHeader = function() {
......
240 243
    var zip = this;
241 244
    callback = function(size) {
242 245
      zip.filesize = size;
243
      zip.readCentralDirectoryEnd(entriesReadCallback); 
246
      zip.readCentralDirectoryEnd(entriesReadCallback);
244 247
    }
245 248
  }
246 249
  this.filesize = remotefilereader.getFileSize(url, callback);
......
251 254
}
252 255
Zip.prototype.readCentralDirectoryEnd = function(callback) {
253 256
  if (this.filesize <= 0) {
254
    throw "File must be non-zero size, but has size " + this.filesize + '.';
257
    throw "File '" + this.url + "' must be non-zero size, but has size " + this.filesize + '.';
255 258
  }
256 259
  var f = null;
257 260
  if (callback) {

Also available in: Unified diff