diff -r c0ae7c025b78 -r a9baaad57fa4 firefox-kde.patch --- a/firefox-kde.patch Fri Jun 08 08:05:14 2012 +0200 +++ b/firefox-kde.patch Sat Jun 09 20:36:56 2012 +0200 @@ -1122,7 +1122,7 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn --- a/browser/base/jar.mn +++ b/browser/base/jar.mn -@@ -32,16 +32,18 @@ browser.jar: +@@ -35,16 +35,18 @@ browser.jar: content/browser/abouthome/restore-large.png (content/abouthome/restore-large.png) content/browser/abouthome/mozilla.png (content/abouthome/mozilla.png) content/browser/abouthome/noise.png (content/abouthome/noise.png) @@ -1144,7 +1144,7 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp --- a/browser/components/build/nsModule.cpp +++ b/browser/components/build/nsModule.cpp -@@ -41,17 +41,17 @@ +@@ -8,17 +8,17 @@ #include "nsBrowserCompsCID.h" #include "DirectoryProvider.h" @@ -1163,7 +1163,7 @@ #include "rdf.h" #include "nsFeedSniffer.h" -@@ -65,18 +65,16 @@ using namespace mozilla::browser; +@@ -32,18 +32,16 @@ using namespace mozilla::browser; ///////////////////////////////////////////////////////////////////////////// @@ -1182,7 +1182,7 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer) -@@ -97,17 +95,17 @@ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID) +@@ -64,17 +62,17 @@ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID) #endif NS_DEFINE_NAMED_CID(NS_PRIVATE_BROWSING_SERVICE_WRAPPER_CID); @@ -1204,54 +1204,57 @@ diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js --- a/browser/components/preferences/advanced.js +++ b/browser/components/preferences/advanced.js -@@ -716,24 +716,42 @@ var gAdvancedPane = { - var brandBundle = document.getElementById("bundleBrand"); - var shellBundle = document.getElementById("bundleShell"); - var brandShortName = brandBundle.getString("brandShortName"); - var promptTitle = shellBundle.getString("setDefaultBrowserTitle"); - var promptMessage; - const IPS = Components.interfaces.nsIPromptService; - var psvc = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] - .getService(IPS); -+ +@@ -22,16 +22,22 @@ var gAdvancedPane = { + if (extraArgs && extraArgs["advancedTab"]){ + advancedPrefs.selectedTab = document.getElementById(extraArgs["advancedTab"]); + } else { + var preference = document.getElementById("browser.preferences.advanced.selectedTabIndex"); + if (preference.value !== null) + advancedPrefs.selectedIndex = preference.value; + } + + var env = Components.classes["@mozilla.org/process/environment;1"] + .getService(Components.interfaces.nsIEnvironment); + var kde_session = 0; + if (env.get('KDE_FULL_SESSION') == "true") + kde_session = 1; + - if (!shellSvc.isDefaultBrowser(false)) { - promptMessage = shellBundle.getFormattedString("setDefaultBrowserMessage", - [brandShortName]); - var rv = psvc.confirmEx(window, promptTitle, promptMessage, - IPS.STD_YES_NO_BUTTONS, - null, null, null, null, { }); -- if (rv == 0) -+ if (rv == 0) { - shellSvc.setDefaultBrowser(true, false); -+ if (kde_session == 1) { -+ var shellObj = Components.classes["@mozilla.org/file/local;1"] -+ .createInstance(Components.interfaces.nsILocalFile); -+ shellObj.initWithPath("/usr/bin/kwriteconfig"); -+ var process = Components.classes["@mozilla.org/process/util;1"] -+ .createInstance(Components.interfaces.nsIProcess); -+ process.init(shellObj); -+ var args = ["--file", "kdeglobals", "--group", "General", "--key", "BrowserApplication", "MozillaFirefox"]; -+ process.run(false, args, args.length); -+ } -+ } - } - else { - promptMessage = shellBundle.getFormattedString("alreadyDefaultBrowser", - [brandShortName]); - psvc.alert(window, promptTitle, promptMessage); - } + #ifdef HAVE_SHELL_SERVICE + this.updateSetDefaultBrowser(); + #endif + #ifdef MOZ_UPDATER + this.updateReadPrefs(); + #endif + this.updateOfflineApps(); + #ifdef MOZ_CRASHREPORTER +@@ -705,12 +711,23 @@ var gAdvancedPane = { + /** + * Set browser as the operating system default browser. + */ + setDefaultBrowser: function() + { + var shellSvc = Components.classes["@mozilla.org/browser/shell-service;1"] + .getService(Components.interfaces.nsIShellService); + shellSvc.setDefaultBrowser(true, false); ++ if (kde_session == 1) { ++ var shellObj = Components.classes["@mozilla.org/file/local;1"] ++ .createInstance(Components.interfaces.nsILocalFile); ++ shellObj.initWithPath("/usr/bin/kwriteconfig"); ++ var process = Components.classes["@mozilla.org/process/util;1"] ++ .createInstance(Components.interfaces.nsIProcess); ++ process.init(shellObj); ++ var args = ["--file", "kdeglobals", "--group", "General", "--key", ++ "BrowserApplication", "MozillaFirefox"]; ++ process.run(false, args, args.length); ++ } + document.getElementById("setDefaultPane").selectedIndex = 1; } #endif + }; diff --git a/browser/components/shell/src/Makefile.in b/browser/components/shell/src/Makefile.in --- a/browser/components/shell/src/Makefile.in +++ b/browser/components/shell/src/Makefile.in -@@ -51,17 +51,18 @@ endif +@@ -17,17 +17,18 @@ USE_STATIC_LIBS = 1 ifeq ($(OS_ARCH),WINNT) CPPSRCS = nsWindowsShellService.cpp @@ -1714,9 +1717,9 @@ diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in -@@ -500,16 +500,17 @@ - #ifdef MOZ_SERVICES_SYNC +@@ -521,16 +521,17 @@ @BINPATH@/@PREF_DIR@/services-sync.js + @BINPATH@/@PREF_DIR@/services-aitc.js #endif @BINPATH@/greprefs.js @BINPATH@/defaults/autoconfig/platform.js