finish selection options

This commit is contained in:
wareya committed 2019-05-02 09:35:07 -04:00
1 parent b860a18d6f
commit de52468e51
2 files changed
+21 -19

No files matched your search

+1 -1
View File
@@ -133,7 +133,7 @@ function defaults()
id: "only_selection", id: "only_selection",
kind: "checkbox", kind: "checkbox",
default: false, default: false,
label: "Only look up text when mousing over selection" label: "Only look up text when mousing over selection (only when something is selected, setting ignored otherwise)"
}); });
// display // display
+20 -18
View File
@@ -1407,6 +1407,22 @@ function selection_filter_enabled(selection)
return true; return true;
} }
function selection_rejects_node(selection, textNode, offset)
{
if(!selection)
return false;
if(selection + "" == "")
return false;
let range = selection.getRangeAt(0);
try
{
if(!range.isPointInRange(textNode, offset) || !range.isPointInRange(textNode, offset+1))
return true;
}
catch(e){}
return false;
}
function selection_clip_node_with_offsets(node, selection) function selection_clip_node_with_offsets(node, selection)
{ {
if (!selection_filter_enabled(selection)) if (!selection_filter_enabled(selection))
@@ -1580,6 +1596,9 @@ function grab_text(textNode, offset, elemental)
{ {
let selection = window.getSelection(); let selection = window.getSelection();
if(selection_filter_enabled(selection) && selection_rejects_node(selection, textNode, offset))
selection = undefined;
let text = ""; let text = "";
let moreText = ""; let moreText = "";
if(elemental) if(elemental)
@@ -1797,26 +1816,9 @@ function update(event)
catch (err){} catch (err){}
} }
function selection_rejects_node(textNode, offset)
{
let selection = window.getSelection();
if(!selection)
return false;
if(selection + "" == "")
return false;
let range = selection.getRangeAt(0);
try
{
if(!range.isPointInRange(textNode, offset) || !range.isPointInRange(textNode, offset+1))
return true;
}
catch(e){}
return false;
}
if (settings.only_selection) if (settings.only_selection)
{ {
if(selection_rejects_node(textNode, offset)) if(selection_rejects_node(window.getSelection(), textNode, offset))
{ {
lookup_cancel(); lookup_cancel();
return; return;