From d521951ba9c25ffbc25876be9afacea009b8ae7e Mon Sep 17 00:00:00 2001 From: "chanial%noos.fr" Date: Sat, 16 Aug 2003 11:05:21 +0000 Subject: [PATCH] bug 213228: new toolkit independence bug, part 3. create toolkit/obsolete directory obsolete dialogOverlay.xul and remove the need for platformOverlay.xul --- toolkit/obsolete/content/dialogOverlay.js | 98 +++++++++++++++ toolkit/obsolete/content/dialogOverlay.xul | 134 +++++++++++++++++++++ toolkit/obsolete/locale/dialogOverlay.dtd | 44 +++++++ 3 files changed, 276 insertions(+) create mode 100644 toolkit/obsolete/content/dialogOverlay.js create mode 100644 toolkit/obsolete/content/dialogOverlay.xul create mode 100644 toolkit/obsolete/locale/dialogOverlay.dtd diff --git a/toolkit/obsolete/content/dialogOverlay.js b/toolkit/obsolete/content/dialogOverlay.js new file mode 100644 index 000000000000..cefe33e701a7 --- /dev/null +++ b/toolkit/obsolete/content/dialogOverlay.js @@ -0,0 +1,98 @@ +var doOKFunction = 0; +var doCancelFunction = 0; +var doButton2Function = 0; +var doButton3Function = 0; + +// call this from dialog onload() to allow ok and cancel to call your code +// functions should return true if they want the dialog to close +function doSetOKCancel(okFunc, cancelFunc, button2Func, button3Func ) +{ + //dump("top.window.navigator.platform: " + top.window.navigator.platform + "\n"); + + doOKFunction = okFunc; + doCancelFunction = cancelFunc; + doButton2Function = button2Func; + doButton3Function = button3Func; +} + +function doOKButton() +{ + var close = true; + + if ( doOKFunction ) + close = doOKFunction(); + + if (close && top) + top.window.close(); +} + +function doCancelButton() +{ + var close = true; + + if ( doCancelFunction ) + close = doCancelFunction(); + + if (close && top) + top.window.close(); +} + +function doButton2() +{ + var close = true; + + if ( doButton2Function ) + close = doButton2Function(); + + if (close && top) + top.window.close(); +} + +function doButton3() +{ + var close = true; + + if ( doButton3Function ) + close = doButton3Function(); + + if (close && top) + top.window.close(); +} + +function moveToAlertPosition() +{ + // hack. we need this so the window has something like its final size + if (window.outerWidth == 1) { + dump("Trying to position a sizeless window; caller should have called sizeToContent() or sizeTo(). See bug 75649.\n"); + sizeToContent(); + } + + var xOffset = (opener.outerWidth - window.outerWidth) / 2; + var yOffset = opener.outerHeight / 5; + + var newX = opener.screenX + xOffset; + var newY = opener.screenY + yOffset; + + // ensure the window is fully onscreen (if smaller than the screen) + if (newX < screen.availLeft) + newX = screen.availLeft + 20; + if ((newX + window.outerWidth) > (screen.availLeft + screen.availWidth)) + newX = (screen.availLeft + screen.availWidth) - window.outerWidth - 20; + + if (newY < screen.availTop) + newY = screen.availTop + 20; + if ((newY + window.outerHeight) > (screen.availTop + screen.availHeight)) + newY = (screen.availTop + screen.availHeight) - window.outerHeight - 60; + + window.moveTo( newX, newY ); +} + +function centerWindowOnScreen() +{ + var xOffset = screen.availWidth/2 - window.outerWidth/2; + var yOffset = screen.availHeight/2 - window.outerHeight/2; //(opener.outerHeight *2)/10; + + xOffset = ( xOffset > 0 ) ? xOffset : 0; + yOffset = ( yOffset > 0 ) ? yOffset : 0; + window.moveTo( xOffset, yOffset); +} diff --git a/toolkit/obsolete/content/dialogOverlay.xul b/toolkit/obsolete/content/dialogOverlay.xul new file mode 100644 index 000000000000..fa5524a8ce7b --- /dev/null +++ b/toolkit/obsolete/content/dialogOverlay.xul @@ -0,0 +1,134 @@ + +# -*- Mode: HTML -*- +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is mozilla.org toolkit. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 2002 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the NPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# and other provisions required by the GPL or the LGPL. If you do not delete +# the provisions above, a recipient may use your version of this file under +# the terms of any one of the NPL, the GPL or the LGPL. +# +# ***** END LICENSE BLOCK ***** +# +# WARNING!!! This file is obsoleted by the dialog.xml widget +# + + + + + +