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