mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-24 08:07:30 +09:00
Bug 92737 - Part 5: Set multiple homepage when multiple items are dropped on Home button
Issue #121
This commit is contained in:
parent
eaf424b1c9
commit
8f66070f19
2 changed files with 16 additions and 7 deletions
|
|
@ -2685,8 +2685,10 @@ var homeButtonObserver = {
|
||||||
onDrop: function (aEvent)
|
onDrop: function (aEvent)
|
||||||
{
|
{
|
||||||
// disallow setting home pages that inherit the principal
|
// disallow setting home pages that inherit the principal
|
||||||
let url = browserDragAndDrop.drop(aEvent, {}, true);
|
let links = browserDragAndDrop.dropLinks(aEvent, true);
|
||||||
setTimeout(openHomeDialog, 0, url);
|
if (links.length) {
|
||||||
|
setTimeout(openHomeDialog, 0, links.map(link => link.url).join("|"));
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
onDragOver: function (aEvent)
|
onDragOver: function (aEvent)
|
||||||
|
|
@ -2702,18 +2704,24 @@ var homeButtonObserver = {
|
||||||
function openHomeDialog(aURL)
|
function openHomeDialog(aURL)
|
||||||
{
|
{
|
||||||
var promptTitle = gNavigatorBundle.getString("droponhometitle");
|
var promptTitle = gNavigatorBundle.getString("droponhometitle");
|
||||||
var promptMsg = gNavigatorBundle.getString("droponhomemsg");
|
var promptMsg;
|
||||||
|
if (aURL.includes("|")) {
|
||||||
|
promptMsg = gNavigatorBundle.getString("droponhomemsgMultiple");
|
||||||
|
} else {
|
||||||
|
promptMsg = gNavigatorBundle.getString("droponhomemsg");
|
||||||
|
}
|
||||||
|
|
||||||
var pressedVal = Services.prompt.confirmEx(window, promptTitle, promptMsg,
|
var pressedVal = Services.prompt.confirmEx(window, promptTitle, promptMsg,
|
||||||
Services.prompt.STD_YES_NO_BUTTONS,
|
Services.prompt.STD_YES_NO_BUTTONS,
|
||||||
null, null, null, null, {value:0});
|
null, null, null, null, {value:0});
|
||||||
|
|
||||||
if (pressedVal == 0) {
|
if (pressedVal == 0) {
|
||||||
try {
|
try {
|
||||||
var str = Components.classes["@mozilla.org/supports-string;1"]
|
var homepageStr = Components.classes["@mozilla.org/supports-string;1"]
|
||||||
.createInstance(Components.interfaces.nsISupportsString);
|
.createInstance(Components.interfaces.nsISupportsString);
|
||||||
str.data = aURL;
|
homepageStr.data = aURL;
|
||||||
gPrefService.setComplexValue("browser.startup.homepage",
|
gPrefService.setComplexValue("browser.startup.homepage",
|
||||||
Components.interfaces.nsISupportsString, str);
|
Components.interfaces.nsISupportsString, homepageStr);
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
dump("Failed to set the home page.\n"+ex+"\n");
|
dump("Failed to set the home page.\n"+ex+"\n");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ openFile=Open File
|
||||||
|
|
||||||
droponhometitle=Set Home Page
|
droponhometitle=Set Home Page
|
||||||
droponhomemsg=Do you want this document to be your new home page?
|
droponhomemsg=Do you want this document to be your new home page?
|
||||||
|
droponhomemsgMultiple=Do you want these documents to be your new home pages?
|
||||||
|
|
||||||
# context menu strings
|
# context menu strings
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue