зеркало из https://github.com/mozilla/pjs.git
Minimo xul front-end. NPODB
This commit is contained in:
Родитель
c62e35cf5b
Коммит
b028ef10ab
|
@ -42,7 +42,7 @@ VPATH = @srcdir@
|
|||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
DIRS = popuplite softkb
|
||||
DIRS = popuplite softkb chrome
|
||||
|
||||
ifeq (,$(filter windows,$(MOZ_WIDGET_TOOLKIT)))
|
||||
DIRS += ../browser/gtk/src app
|
||||
|
|
|
@ -0,0 +1,242 @@
|
|||
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** 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 code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||
* 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 MPL, 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 MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
const nsIWebNavigation = Components.interfaces.nsIWebNavigation;
|
||||
const nsIWebProgressListener = Components.interfaces.nsIWebProgressListener;
|
||||
|
||||
var gURLBar = null;
|
||||
|
||||
function nsBrowserStatusHandler()
|
||||
{
|
||||
this.init();
|
||||
}
|
||||
|
||||
nsBrowserStatusHandler.prototype =
|
||||
{
|
||||
QueryInterface : function(aIID)
|
||||
{
|
||||
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
|
||||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
|
||||
aIID.equals(Components.interfaces.nsISupports))
|
||||
{
|
||||
return this;
|
||||
}
|
||||
throw Components.results.NS_NOINTERFACE;
|
||||
},
|
||||
|
||||
init : function()
|
||||
{
|
||||
this.urlBar = document.getElementById("urlbar");
|
||||
this.statusbarText = document.getElementById("statusbar-text");
|
||||
this.stopreloadButton = document.getElementById("reload-stop-button");
|
||||
this.statusbar = document.getElementById("statusbar");
|
||||
},
|
||||
|
||||
destroy : function()
|
||||
{
|
||||
this.urlBar = null;
|
||||
this.statusbarText = null;
|
||||
this.stopreloadButton = null;
|
||||
this.statusbar = null;
|
||||
},
|
||||
|
||||
onStateChange : function(aWebProgress, aRequest, aStateFlags, aStatus)
|
||||
{
|
||||
if (aStateFlags & nsIWebProgressListener.STATE_IS_NETWORK)
|
||||
{
|
||||
if (aStateFlags & nsIWebProgressListener.STATE_START)
|
||||
{
|
||||
this.stopreloadButton.image = "chrome://minimo/content/stop.gif";
|
||||
this.stopreloadButton.onClick = "BrowserStop()";
|
||||
this.statusbar.hidden = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (aStateFlags & nsIWebProgressListener.STATE_STOP)
|
||||
{
|
||||
this.stopreloadButton.image = "chrome://minimo/content/reload.gif";
|
||||
this.stopreloadButton.onClick = "BrowserReload()";
|
||||
|
||||
this.statusbar.hidden = true;
|
||||
this.statusbarText.label = "";
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (aStateFlags & nsIWebProgressListener.STATE_IS_DOCUMENT)
|
||||
{
|
||||
if (aStateFlags & nsIWebProgressListener.STATE_START)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (aStateFlags & nsIWebProgressListener.STATE_STOP)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
},
|
||||
|
||||
onProgressChange : function(aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress)
|
||||
{
|
||||
},
|
||||
|
||||
onLocationChange : function(aWebProgress, aRequest, aLocation)
|
||||
{
|
||||
domWindow = aWebProgress.DOMWindow;
|
||||
// Update urlbar only if there was a load on the root docshell
|
||||
if (domWindow == domWindow.top) {
|
||||
this.urlBar.value = aLocation.spec;
|
||||
}
|
||||
},
|
||||
|
||||
onStatusChange : function(aWebProgress, aRequest, aStatus, aMessage)
|
||||
{
|
||||
this.statusbarText.label = aMessage;
|
||||
},
|
||||
|
||||
onSecurityChange : function(aWebProgress, aRequest, aState)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
var gBrowserStatusHandler;
|
||||
function MiniNavStartup()
|
||||
{
|
||||
try {
|
||||
gBrowserStatusHandler = new nsBrowserStatusHandler();
|
||||
var webNavigation = getWebNavigation();
|
||||
webNavigation.sessionHistory = Components.classes["@mozilla.org/browser/shistory;1"]
|
||||
.createInstance(Components.interfaces.nsISHistory);
|
||||
|
||||
var interfaceRequestor = getBrowser().docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor);
|
||||
var webProgress = interfaceRequestor.getInterface(Components.interfaces.nsIWebProgress);
|
||||
webProgress.addProgressListener(gBrowserStatusHandler, Components.interfaces.nsIWebProgress.NOTIFY_ALL);
|
||||
} catch (e) {}
|
||||
|
||||
gURLBar = document.getElementById("urlbar");
|
||||
|
||||
loadURI("http://www.meer.net/~dougt/fonttest.html");
|
||||
}
|
||||
|
||||
function MiniNavShutdown()
|
||||
{
|
||||
if (gBrowserStatusHandler)
|
||||
gBrowserStatusHandler.destroy();
|
||||
}
|
||||
|
||||
function getBrowser()
|
||||
{
|
||||
return document.getElementById("content");
|
||||
}
|
||||
|
||||
function getWebNavigation()
|
||||
{
|
||||
return getBrowser().webNavigation;
|
||||
}
|
||||
|
||||
function InitContextMenu(xulMenu)
|
||||
{
|
||||
// Back determined by canGoBack broadcaster.
|
||||
InitMenuItemAttrFromNode( "context-back", "disabled", "canGoBack" );
|
||||
|
||||
// Forward determined by canGoForward broadcaster.
|
||||
InitMenuItemAttrFromNode( "context-forward", "disabled", "canGoForward" );
|
||||
}
|
||||
|
||||
function InitMenuItemAttrFromNode( item_id, attr, other_id )
|
||||
{
|
||||
var elem = document.getElementById( other_id );
|
||||
if ( elem && elem.getAttribute( attr ) == "true" ) {
|
||||
SetMenuItemAttr( item_id, attr, "true" );
|
||||
} else {
|
||||
SetMenuItemAttr( item_id, attr, null );
|
||||
}
|
||||
}
|
||||
|
||||
function SetMenuItemAttr( id, attr, val )
|
||||
{
|
||||
var elem = document.getElementById( id );
|
||||
if ( elem ) {
|
||||
if ( val == null ) {
|
||||
// null indicates attr should be removed.
|
||||
elem.removeAttribute( attr );
|
||||
} else {
|
||||
// Set attr=val.
|
||||
elem.setAttribute( attr, val );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function loadURI(uri)
|
||||
{
|
||||
getWebNavigation().loadURI(uri, nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null);
|
||||
}
|
||||
|
||||
function BrowserLoadURL()
|
||||
{
|
||||
try {
|
||||
loadURI(gURLBar.value);
|
||||
}
|
||||
catch(e) {
|
||||
}
|
||||
}
|
||||
|
||||
function BrowserBack()
|
||||
{
|
||||
getWebNavigation().goBack();
|
||||
}
|
||||
|
||||
function BrowserForward()
|
||||
{
|
||||
getWebNavigation().goForward();
|
||||
}
|
||||
|
||||
function BrowserStop()
|
||||
{
|
||||
getWebNavigation().stop(nsIWebNavigation.STOP_ALL);
|
||||
}
|
||||
|
||||
function BrowserReload()
|
||||
{
|
||||
getWebNavigation().reload(nsIWebNavigation.LOAD_FLAGS_NONE);
|
||||
}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
<?xml version="1.0"?> <!-- -*- 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 Communicator client code, released
|
||||
March 31, 1998.
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Netscape Communications Corporation.
|
||||
Portions created by the Initial Developer are Copyright (C) 1998-2000
|
||||
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 MPL, 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 MPL, the GPL or the LGPL.
|
||||
|
||||
***** END LICENSE BLOCK ***** -->
|
||||
|
||||
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://minimo/content/minimo.css" type="text/css"?>
|
||||
|
||||
|
||||
<!DOCTYPE window [
|
||||
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
|
||||
%brandDTD;
|
||||
<!ENTITY % minimoDTD SYSTEM "chrome://minimo/locale/minimo.dtd" >
|
||||
%minimoDTD;
|
||||
]>
|
||||
|
||||
<window id="main-window"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
orient="vertical"
|
||||
title="Minimo"
|
||||
onload="MiniNavStartup()"
|
||||
onunload="MiniNavShutdown()">
|
||||
|
||||
<script type="application/x-javascript" src="chrome://minimo/content/minimo.js"/>
|
||||
|
||||
<toolbox>
|
||||
<toolbar id="nav-bar">
|
||||
<toolbarbutton id="back-button" image="chrome://minimo/content/back.gif" onclick="BrowserBack()"/>
|
||||
<toolbarbutton id="forward-button" image="chrome://minimo/content/forward.gif" onclick="BrowserForward()"/>
|
||||
<toolbarbutton id="reload-stop-button" image="chrome://minimo/content/reload.gif" onclick="BrowserReload()"/>
|
||||
<textbox id="urlbar" flex="100%" onkeypress="if( event.keyCode == 13 ) { BrowserLoadURL(); }"/>
|
||||
|
||||
</toolbar>
|
||||
</toolbox>
|
||||
|
||||
<hbox flex="1" >
|
||||
<hbox id="appcontent" flex="100%">
|
||||
<hbox id="browser" context="context" flex="1">
|
||||
<tabbrowser context="context" type="content-primary" id="content" src="about:blank" flex="1"/>
|
||||
</hbox>
|
||||
</hbox>
|
||||
</hbox>
|
||||
|
||||
<statusbar id="statusbar" hidden="false">
|
||||
<statusbarpanel id="statusbar-text" label="Minimo" flex="1" crop="right"/>
|
||||
<statusbarpanel id="security" label="" style="display: none"/>
|
||||
</statusbar>
|
||||
</window>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
minimo.jar:
|
||||
content/minimo/contents.rdf (content/contents.rdf)
|
||||
content/minimo/minimo.js (content/minimo.js)
|
||||
content/minimo/minimo.xul (content/minimo.xul)
|
||||
content/minimo/back.gif (skin/back.gif)
|
||||
content/minimo/forward.gif (skin/forward.gif)
|
||||
content/minimo/reload.gif (skin/reload.gif)
|
||||
content/minimo/stop.gif (skin/stop.gif)
|
||||
locale/en-US/minimo/minimo.dtd (locale/en-US/minimo.dtd)
|
||||
locale/en-US/minimo/contents.rdf (locale/en-US/contents.rdf)
|
||||
content/minimo/minimo.css (skin/minimo.css)
|
||||
skin/classic/minimo/contents.rdf (skin/contents.rdf)
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 845 B |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 845 B |
|
@ -0,0 +1,62 @@
|
|||
/* ***** 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 JSIRC Library.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* New Dimensions Consulting, Inc.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1999
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Robert Ginda, rginda@ndcico.com, original author
|
||||
*
|
||||
* 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 MPL, 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 MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
window {
|
||||
width: 240px;
|
||||
height: 320px;
|
||||
}
|
||||
|
||||
#back-button
|
||||
{
|
||||
list-style-image : url("chrome://minimo/content/back.gif");
|
||||
}
|
||||
|
||||
#forward-button
|
||||
{
|
||||
list-style-image : url("chrome://minimo/content/forward.gif");
|
||||
}
|
||||
|
||||
#stop-button
|
||||
{
|
||||
list-style-image : url("chrome://minimo/content/stop.gif");
|
||||
}
|
||||
|
||||
#reload-button
|
||||
{
|
||||
list-style-image : url("chrome://minimo/content/reload.gif");
|
||||
}
|
||||
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 844 B |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 843 B |
Загрузка…
Ссылка в новой задаче