meh, Windows tinderbox seems to be stuck, backing out Bug 380347
git-svn-id: svn://10.0.0.236/trunk@250496 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -56,7 +56,6 @@ DIRS += \
|
||||
modules \
|
||||
themes \
|
||||
profile \
|
||||
shell \
|
||||
build \
|
||||
app \
|
||||
$(NULL)
|
||||
|
||||
@@ -247,8 +247,6 @@ pref("browser.feeds.handler", "ask");
|
||||
pref("browser.videoFeeds.handler", "ask");
|
||||
pref("browser.audioFeeds.handler", "ask");
|
||||
|
||||
pref("shell.checkDefaultClient", true);
|
||||
|
||||
pref("app.releaseNotesURL", "chrome://branding/locale/brand.properties");
|
||||
pref("app.vendorURL", "chrome://branding/locale/brand.properties");
|
||||
|
||||
|
||||
@@ -54,7 +54,6 @@ REQUIRES = \
|
||||
necko \
|
||||
nkcache \
|
||||
rdf \
|
||||
shellservice \
|
||||
string \
|
||||
suitebrowser \
|
||||
suitemigration \
|
||||
@@ -67,26 +66,17 @@ CPPSRCS = \
|
||||
nsSuiteModule.cpp \
|
||||
$(NULL)
|
||||
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
OS_LIBS += $(call EXPAND_LIBNAME,ole32 shell32)
|
||||
endif
|
||||
|
||||
LOCAL_INCLUDES += \
|
||||
-I$(topsrcdir)/suite/profile \
|
||||
-I$(topsrcdir)/suite/profile/migration/src \
|
||||
-I$(topsrcdir)/suite/browser/src \
|
||||
-I$(topsrcdir)/suite/shell/src \
|
||||
$(NULL)
|
||||
|
||||
SHARED_LIBRARY_LIBS = \
|
||||
../profile/$(LIB_PREFIX)suiteprofile_s.$(LIB_SUFFIX) \
|
||||
../profile/migration/src/$(LIB_PREFIX)suitemigration_s.$(LIB_SUFFIX) \
|
||||
../browser/src/$(LIB_PREFIX)suitebrowser_s.$(LIB_SUFFIX) \
|
||||
$(NULL)
|
||||
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
SHARED_LIBRARY_LIBS += ../shell/src/$(LIB_PREFIX)shellservice_s.$(LIB_SUFFIX)
|
||||
endif
|
||||
$(NULL)
|
||||
|
||||
# Link to gkgfx for GNOME shell service
|
||||
ifeq ($(MOZ_WIDGET_TOOLKIT), gtk2)
|
||||
|
||||
@@ -49,14 +49,12 @@
|
||||
|
||||
#if defined(XP_WIN)
|
||||
#include "nsUrlWidget.h"
|
||||
#include "nsWindowsShellService.h"
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if defined(XP_WIN)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsUrlWidget, Init)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsWindowsShellService, Init)
|
||||
#endif // Windows
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsSuiteDirectoryProvider)
|
||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsProfileMigrator)
|
||||
@@ -72,10 +70,6 @@ static const nsModuleComponentInfo components[] = {
|
||||
#ifdef XP_WIN
|
||||
{ NS_IURLWIDGET_CLASSNAME, NS_IURLWIDGET_CID,
|
||||
NS_IURLWIDGET_CONTRACTID, nsUrlWidgetConstructor },
|
||||
{ "SeaMonkey Windows Integration",
|
||||
NS_SUITEWININTEGRATION_CID,
|
||||
NS_SUITEWININTEGRATION_CONTRACTID,
|
||||
nsWindowsShellServiceConstructor },
|
||||
#endif // XP_WIN
|
||||
|
||||
{ "nsSuiteDirectoryProvider",
|
||||
|
||||
@@ -191,7 +191,6 @@ bin\components\related.xpt
|
||||
bin\components\satchel.dll
|
||||
bin\components\satchel.xpt
|
||||
bin\components\saxparser.xpt
|
||||
bin\components\shellservice.xpt
|
||||
bin\components\shistory.xpt
|
||||
bin\components\sidebar.xpt
|
||||
bin\components\signonviewer.xpt
|
||||
@@ -274,7 +273,6 @@ bin\components\nsLoginManagerPrompter.js
|
||||
bin\components\nsPostUpdateWin.js
|
||||
bin\components\nsProxyAutoConfig.js
|
||||
bin\components\nsResetPref.js
|
||||
bin\components\nsSetDefault.js
|
||||
bin\components\nsSetDefaultBrowser.js
|
||||
bin\components\nsSidebar.js
|
||||
bin\components\nsSuiteGlue.js
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
preferencesLabel=%S &Preferences
|
||||
safeModeLabel=%S &Safe Mode
|
||||
desktopBackgroundLeafNameWin=Desktop Background.bmp
|
||||
@@ -26,7 +26,6 @@
|
||||
locale/@AB_CD@/communicator/openLocation.dtd (%chrome/common/openLocation.dtd)
|
||||
locale/@AB_CD@/communicator/openLocation.properties (%chrome/common/openLocation.properties)
|
||||
locale/@AB_CD@/communicator/printPreview.dtd (%chrome/common/printPreview.dtd)
|
||||
locale/@AB_CD@/communicator/shellservice.properties (%chrome/common/shellservice.properties)
|
||||
locale/@AB_CD@/communicator/sanitize.dtd (%chrome/common/sanitize.dtd)
|
||||
locale/@AB_CD@/communicator/tasksOverlay.dtd (%chrome/common/tasksOverlay.dtd)
|
||||
locale/@AB_CD@/communicator/typeaheadfind.properties (%chrome/common/typeaheadfind.properties)
|
||||
|
||||
@@ -58,9 +58,6 @@ add_makefiles "
|
||||
suite/profile/migration/Makefile
|
||||
suite/profile/migration/public/Makefile
|
||||
suite/profile/migration/src/Makefile
|
||||
suite/shell/Makefile
|
||||
suite/shell/public/Makefile
|
||||
suite/shell/src/Makefile
|
||||
suite/themes/Makefile
|
||||
suite/themes/modern/Makefile
|
||||
suite/themes/classic/Makefile
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
# ***** 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 the Mozilla Browser code.
|
||||
#
|
||||
# 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):
|
||||
# Brian Ryner <bryner@brianryner.com>
|
||||
#
|
||||
# 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 *****
|
||||
|
||||
DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
DIRS = public
|
||||
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
DIRS += src
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
@@ -1,49 +0,0 @@
|
||||
# ***** 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) 2001
|
||||
# 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 *****
|
||||
|
||||
DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
MODULE = shellservice
|
||||
XPIDL_MODULE = shellservice
|
||||
|
||||
XPIDLSRCS = nsIShellService.idl
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
@@ -1,115 +0,0 @@
|
||||
/* -*- Mode: IDL; tab-width: 2; 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 Shell Service.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Scott MacGregor <mscott@mozilla.org>.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2006
|
||||
* 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 ***** */
|
||||
|
||||
|
||||
#include "nsISupports.idl"
|
||||
|
||||
interface nsIDOMElement;
|
||||
|
||||
[scriptable, uuid(95F53544-F445-48d1-B3A2-D54AA020BC3D)]
|
||||
interface nsIShellService : nsISupports
|
||||
{
|
||||
/**
|
||||
* app types we can be registered to handle
|
||||
*/
|
||||
const unsigned short BROWSER = 0x0001;
|
||||
const unsigned short MAIL = 0x0002;
|
||||
const unsigned short NEWS = 0x0004;
|
||||
|
||||
/**
|
||||
* Determines whether or not SeaMonkey is the "Default Client" for the
|
||||
* passed in app type.
|
||||
*
|
||||
* This is simply whether or not SeaMonkey is registered to handle
|
||||
* the url schemes associated with the app.
|
||||
*
|
||||
* @param aStartupCheck true if this is the check being performed
|
||||
* by the first window at startup,
|
||||
* false otherwise.
|
||||
* @param aApps the application types being tested (Browser, Mail, News)
|
||||
*/
|
||||
boolean isDefaultClient(in boolean aStartupCheck, in unsigned short aApps);
|
||||
|
||||
/**
|
||||
* Registers SeaMonkey as the "Default Client" for the
|
||||
* passed in app types.
|
||||
*
|
||||
* @param aForAllUsers Whether or not SeaMonkey should attempt
|
||||
* to become the default client for all
|
||||
* users on a multi-user system.
|
||||
* @param aClaimAllTypes Register SeaMonkey as the handler for
|
||||
* additional protocols (ftp, chrome etc)
|
||||
* and web documents (.html, .xhtml etc).
|
||||
* @param aApps the application types being tested (Mail, News, Browser)
|
||||
*/
|
||||
void setDefaultClient(in boolean aForAllUsers, in boolean aClaimAllTypes, in unsigned short aApps);
|
||||
|
||||
/**
|
||||
* Used to determine whether or not to show a "Set Default Client"
|
||||
* query dialog. This attribute is true if the application is starting
|
||||
* up and "shell.checkDefaultClient" is true, otherwise it
|
||||
* is false.
|
||||
*/
|
||||
attribute boolean shouldCheckDefaultClient;
|
||||
|
||||
|
||||
/**
|
||||
* Sets the desktop background image using either the HTML <IMG>
|
||||
* element supplied or the background image of the element supplied.
|
||||
*
|
||||
* @param aImageElement Either a HTML <IMG> element or an element with
|
||||
* a background image from which to source the
|
||||
* background image.
|
||||
* @param aPosition How to place the image on the desktop
|
||||
*/
|
||||
|
||||
void setDesktopBackground(in nsIDOMElement aElement, in long aPosition);
|
||||
|
||||
/**
|
||||
* Flags for positioning/sizing of the Desktop Background image.
|
||||
*/
|
||||
const long BACKGROUND_TILE = 1;
|
||||
const long BACKGROUND_STRETCH = 2;
|
||||
const long BACKGROUND_CENTER = 3;
|
||||
|
||||
/**
|
||||
* The desktop background color, visible when no background image is
|
||||
* used, or if the background image is centered and does not fill the
|
||||
* entire screen. An RGB value (r << 16 | g << 8 | b)
|
||||
*/
|
||||
attribute unsigned long desktopBackgroundColor;
|
||||
};
|
||||
@@ -1,39 +0,0 @@
|
||||
DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
MODULE = shellservice
|
||||
FORCE_STATIC_LIB=1
|
||||
|
||||
REQUIRES = \
|
||||
xpcom \
|
||||
string \
|
||||
uriloader \
|
||||
dom \
|
||||
intl \
|
||||
necko \
|
||||
content \
|
||||
imglib2 \
|
||||
gfx \
|
||||
widget \
|
||||
pref \
|
||||
msgMapi \
|
||||
layout \
|
||||
$(NULL)
|
||||
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
CPPSRCS = nsWindowsShellService.cpp
|
||||
OS_LIBS += $(call EXPAND_LIBNAME,ole32 version uuid shell32)
|
||||
|
||||
EXTRA_COMPONENTS = nsSetDefault.js
|
||||
endif
|
||||
|
||||
ifdef CPPSRCS
|
||||
LIBRARY_NAME = shellservice_s
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
/* ***** 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 Default mail
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Scott MacGregor <mscott@mozilla.org>.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2007
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Mark Banner <bugzilla@standard8.demon.co.uk>
|
||||
* Frank Wein <mcsmurf@mcsmurf.de>
|
||||
*
|
||||
* 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 ***** */
|
||||
|
||||
/*
|
||||
* This component handles the startup command line arguments of the form:
|
||||
* -setDefaultBrowser
|
||||
* -setDefaultMail
|
||||
*/
|
||||
|
||||
const nsIShellService = Components.interfaces.nsIShellService;
|
||||
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
|
||||
function nsSetDefault() {
|
||||
}
|
||||
|
||||
nsSetDefault.prototype = {
|
||||
handle: function nsSetDefault_handle(aCmdline) {
|
||||
if (aCmdline.handleFlag("setDefaultBrowser", false)) {
|
||||
var shell = Components.classes["@mozilla.org/suite/shell-service;1"]
|
||||
.getService(nsIShellService);
|
||||
shell.setDefaultClient(true, true, nsIShellService.BROWSER);
|
||||
}
|
||||
else if (aCmdline.handleFlag("setDefaultMail", false)) {
|
||||
var shell = Components.classes["@mozilla.org/browser/shell-service;1"]
|
||||
.getService(nsIShellService);
|
||||
shell.setDefaultClient(true, true, nsIShellService.MAIL);
|
||||
}
|
||||
else if (aCmdline.handeFlag("setDefaultNews", false)) {
|
||||
var shell = Components.classes["@mozilla.org/browser/shell-service;1"]
|
||||
.getService(nsIShellService);
|
||||
shell.setDefaultClient(true, true, nsIShellService.NEWS);
|
||||
}
|
||||
},
|
||||
|
||||
helpInfo: " -setDefaultBrowser Set this app as the default browser client.\n" +
|
||||
" -setDefaultMail Set this app as the default mail client.\n" +
|
||||
" -setDefaultNews Set this app as the default newsreader.\n",
|
||||
|
||||
classDescription: "Set Default Suite Cmdline Handler",
|
||||
contractID: "@mozilla.org/suite/default-browser-clh;1",
|
||||
classID: Components.ID("{A3D5B950-690A-491F-A881-2C2CDCD241CB}"),
|
||||
QueryInterface: XPCOMUtils.generateQI([Ci.nsICommandLineHandler]),
|
||||
_xpcom_categories: [{
|
||||
category: "command-line-handler",
|
||||
entry: "m-setdefault"
|
||||
}]
|
||||
}
|
||||
|
||||
function NSGetModule(compMgr, fileSpec) {
|
||||
return XPCOMUtils.generateModule([nsSetDefault]);
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,92 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 2; 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 Shell Service.
|
||||
*
|
||||
* The Initial Developer of the Original Code is mozilla.org.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Ben Goodger <ben@mozilla.org>
|
||||
* Aaron Kaluszka <ask@swva.net>
|
||||
* Frank Wein <mcsmurf@mcsmurf.de>
|
||||
*
|
||||
* 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 ***** */
|
||||
|
||||
#include "nscore.h"
|
||||
#include "nsIShellService.h"
|
||||
#include "nsStringAPI.h"
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#define NS_SUITEWININTEGRATION_CONTRACTID "@mozilla.org/suite/shell-service;1"
|
||||
|
||||
#define NS_SUITEWININTEGRATION_CID \
|
||||
{0x39b688ec, 0xe308, 0x49e5, {0xbe, 0x6b, 0x28, 0xdc, 0x7f, 0xcd, 0x61, 0x54}}
|
||||
|
||||
typedef struct {
|
||||
char* keyName;
|
||||
char* valueName;
|
||||
char* valueData;
|
||||
|
||||
PRInt32 flags;
|
||||
} SETTING;
|
||||
|
||||
class nsWindowsShellService : public nsIShellService
|
||||
{
|
||||
public:
|
||||
nsWindowsShellService() : mCheckedThisSessionClient(PR_FALSE) {};
|
||||
~nsWindowsShellService() {};
|
||||
NS_HIDDEN_(nsresult) Init();
|
||||
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSISHELLSERVICE
|
||||
|
||||
protected:
|
||||
PRBool IsDefaultClientVista(PRBool aStartupCheck,
|
||||
PRUint16 aApps, PRBool* aIsDefaultClient);
|
||||
PRBool SetDefaultClientVista(PRUint16 aApps);
|
||||
void setKeysForSettings(SETTING aSettings[], PRInt32 aSize);
|
||||
void SetRegKey(const nsString& aKeyName,
|
||||
const nsString& aValueName,
|
||||
const nsString& aValue, PRBool aHKLMOnly);
|
||||
PRBool TestForDefault(SETTING aSettings[], PRInt32 aSize);
|
||||
|
||||
nsresult setDefaultBrowser();
|
||||
nsresult setDefaultMail();
|
||||
nsresult setDefaultNews();
|
||||
|
||||
private:
|
||||
PRBool mCheckedThisSessionClient;
|
||||
nsString mAppLongPath;
|
||||
nsString mAppShortPath;
|
||||
nsString mMapiDLLPath;
|
||||
nsString mUninstallPath;
|
||||
nsString mBrandFullName;
|
||||
nsString mBrandShortName;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user