1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-10-06 09:37:12 +02:00
This commit is contained in:
gorhill 2016-01-08 11:08:53 -05:00
parent b01301143d
commit 50cee5dfe5
4 changed files with 53 additions and 30 deletions

View File

@ -627,6 +627,10 @@
"message": "Import from cloud storage",
"description": "tooltip"
},
"cloudPullAndMerge": {
"message": "Import from cloud storage and merge with current settings",
"description": "tooltip"
},
"cloudNoData": {
"message": "...\n...",
"description": ""

View File

@ -9,32 +9,32 @@
display: none;
}
#cloudWidget > button {
font-size: 160%;
padding: 0.1em 0.2em;
}
#cloudPull[disabled] {
visibility: hidden;
}
#cloudPush:after ,
#cloudPull:before {
display: inline-block;
font-family: FontAwesome;
font-size: 160%;
font-style: normal;
font-weight: normal;
line-height: 1;
padding: 0.2em 0.25em 0.1em 0.25em;
position: relative;
vertical-align: baseline;
display: inline-block;
}
body[dir="ltr"] #cloudPush:after {
#cloudWidget > button[disabled] {
visibility: hidden;
}
#cloudPush:after {
content: '\f0ee';
}
body[dir="rtl"] #cloudPush:after {
content: '\f0ee';
}
body[dir="ltr"] #cloudPull:before {
content: '\f0ed';
}
body[dir="rtl"] #cloudPull:before {
#cloudPull:before,
#cloudPullAndMerge:before {
content: '\f0ed';
}
#cloudPullAndMerge:after {
content: '\f067';
font-size: 50%;
position: absolute;
right: 0;
top: 10%;
}
#cloudWidget > span {
color: gray;

View File

@ -501,7 +501,7 @@ var renderExternalLists = function() {
var externalListsChangeHandler = function() {
uDom.nodeFromId('externalListsApply').disabled =
uDom.nodeFromId('externalLists').value.trim() === externalLists;
uDom.nodeFromId('externalLists').value.trim() === externalLists.trim();
};
/******************************************************************************/
@ -551,27 +551,35 @@ var getCloudData = function() {
return bin;
};
var setCloudData = function(data) {
var setCloudData = function(data, append) {
if ( typeof data !== 'object' || data === null ) {
return;
}
var checked = data.parseCosmeticFilters === true;
uDom.nodeFromId('parseCosmeticFilters').checked = checked;
listDetails.cosmetic = checked;
var elem, checked;
var lis = uDom('#lists .listEntry'), li, input, listKey;
elem = uDom.nodeFromId('parseCosmeticFilters');
checked = data.parseCosmeticFilters === true ||
append && elem.checked;
elem.checked = listDetails.cosmetic = checked;
var lis = uDom('#lists .listEntry'), li, listKey;
var i = lis.length;
while ( i-- ) {
li = lis.at(i);
input = li.descendants('input');
elem = li.descendants('input');
listKey = li.descendants('a').attr('data-listkey');
checked = data.selectedLists.indexOf(listKey) !== -1;
input.prop('checked', checked);
checked = data.selectedLists.indexOf(listKey) !== -1 ||
append && elem.prop('checked');
elem.prop('checked', checked);
listDetails.available[listKey].off = !checked;
}
uDom.nodeFromId('externalLists').value = data.externalLists || '';
elem = uDom.nodeFromId('externalLists');
if ( !append ) {
elem.value = '';
}
elem.value += data.externalLists || '';
renderWidgets();
externalListsChangeHandler();

View File

@ -62,6 +62,7 @@ var onCloudDataReceived = function(entry) {
self.cloud.data = entry.data;
uDom.nodeFromId('cloudPull').removeAttribute('disabled');
uDom.nodeFromId('cloudPullAndMerge').removeAttribute('disabled');
var timeOptions = {
weekday: 'short',
@ -110,9 +111,17 @@ var pushData = function() {
/******************************************************************************/
var pullData = function(ev) {
var pullData = function() {
if ( typeof self.cloud.onPull === 'function' ) {
self.cloud.onPull(self.cloud.data, ev.shiftKey);
self.cloud.onPull(self.cloud.data, false);
}
};
/******************************************************************************/
var pullAndMergeData = function() {
if ( typeof self.cloud.onPull === 'function' ) {
self.cloud.onPull(self.cloud.data, true);
}
};
@ -171,7 +180,8 @@ var onInitialize = function(options) {
var html = [
'<button id="cloudPush" type="button" title="cloudPush"></button>',
'<span data-i18n="cloudNoData"></span>',
'<button id="cloudPull" type="button" title="cloudPull" disabled></button>',
'<button id="cloudPull" type="button" title="cloudPull" disabled></button>&nbsp;',
'<button id="cloudPullAndMerge" type="button" title="cloudPullAndMerge" disabled></button>',
'<span id="cloudCog" class="fa">&#xf013;</span>',
'<div id="cloudOptions">',
' <div>',
@ -187,6 +197,7 @@ var onInitialize = function(options) {
uDom('#cloudPush').on('click', pushData);
uDom('#cloudPull').on('click', pullData);
uDom('#cloudPullAndMerge').on('click', pullAndMergeData);
uDom('#cloudCog').on('click', openOptions);
uDom('#cloudOptions').on('click', closeOptions);
uDom('#cloudOptionsSubmit').on('click', submitOptions);