diff --git a/plugins/bookmarks-by-zaso.user.js b/plugins/bookmarks-by-zaso.user.js index f880efba..4340b374 100644 --- a/plugins/bookmarks-by-zaso.user.js +++ b/plugins/bookmarks-by-zaso.user.js @@ -520,11 +520,6 @@ title: 'Bookmarks Options' }); - if(window.plugin.bookmarks.isAndroid()) { - $('a:contains(\'Save box\'), a:contains(\'Reset box\')').addClass('disabled'); - } else { - $('a:contains(\'Share all\')').addClass('disabled'); - } window.runHooks('pluginBkmrksOpenOpt'); } @@ -534,7 +529,7 @@ } window.plugin.bookmarks.optCopy = function() { - if(typeof android !== 'undefined' && android && android.intentPosLink) { + if(typeof android !== 'undefined' && android && android.shareString) { return android.shareString(localStorage[window.plugin.bookmarks.KEY_STORAGE]); } else { dialog({ @@ -545,10 +540,17 @@ } } + window.plugin.bookmarks.optExport = function() { + if(typeof android !== 'undefined' && android && android.saveFile) { // saveFile only exists on Kitkat+! + android.saveFile("IITC-bookmarks.json", "application/json", localStorage[window.plugin.bookmarks.KEY_STORAGE]); + } + } + window.plugin.bookmarks.optPaste = function() { var promptAction = prompt('Press CTRL+V to paste it.', ''); if(promptAction !== null && promptAction !== '') { try { + JSON.parse(promptAction); // try to parse JSON first localStorage[window.plugin.bookmarks.KEY_STORAGE] = promptAction; window.plugin.bookmarks.refreshBkmrks(); window.runHooks('pluginBkmrksEdit', {"target": "all", "action": "import"}); @@ -561,6 +563,23 @@ } } + window.plugin.bookmarks.optImport = function() { + if (window.requestFile === undefined) return; + window.requestFile(function(filename, content) { + try { + JSON.parse(content); // try to parse JSON first + localStorage[window.plugin.bookmarks.KEY_STORAGE] = content; + window.plugin.bookmarks.refreshBkmrks(); + window.runHooks('pluginBkmrksEdit', {"target": "all", "action": "import"}); + console.log('BOOKMARKS: reset and imported bookmarks'); + window.plugin.bookmarks.optAlert('Successful. '); + } catch(e) { + console.warn('BOOKMARKS: failed to import data: '+e); + window.plugin.bookmarks.optAlert('Import failed '); + } + }); + } + window.plugin.bookmarks.optReset = function() { var promptAction = confirm('All bookmarks will be deleted. Are you sure?', ''); if(promptAction) { @@ -919,13 +938,21 @@ plugin.bookmarks.htmlStar = ''; plugin.bookmarks.htmlCalldrawBox = 'Auto draw'; plugin.bookmarks.htmlCallSetBox = 'Bookmarks Opt'; - plugin.bookmarks.htmlSetbox = '