diff -r 488440b896fe -r 4555a5d0d661 firefox-kde.patch --- a/firefox-kde.patch Sun Jan 23 11:00:33 2011 +0100 +++ b/firefox-kde.patch Wed Jan 26 16:43:00 2011 +0100 @@ -1168,6 +1168,53 @@ #if defined(XP_WIN) && !defined(__MINGW32__) { &kNS_WINIEPROFILEMIGRATOR_CID, false, NULL, nsIEProfileMigratorConstructor }, #elif defined(XP_MACOSX) +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 +@@ -683,24 +683,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); ++ ++ 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); + } + } + #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