1166 #ifndef WINCE |
1166 #ifndef WINCE |
1167 { &kNS_FIREFOX_PROFILEMIGRATOR_CID, false, NULL, nsProfileMigratorConstructor }, |
1167 { &kNS_FIREFOX_PROFILEMIGRATOR_CID, false, NULL, nsProfileMigratorConstructor }, |
1168 #if defined(XP_WIN) && !defined(__MINGW32__) |
1168 #if defined(XP_WIN) && !defined(__MINGW32__) |
1169 { &kNS_WINIEPROFILEMIGRATOR_CID, false, NULL, nsIEProfileMigratorConstructor }, |
1169 { &kNS_WINIEPROFILEMIGRATOR_CID, false, NULL, nsIEProfileMigratorConstructor }, |
1170 #elif defined(XP_MACOSX) |
1170 #elif defined(XP_MACOSX) |
|
1171 diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js |
|
1172 --- a/browser/components/preferences/advanced.js |
|
1173 +++ b/browser/components/preferences/advanced.js |
|
1174 @@ -683,24 +683,42 @@ var gAdvancedPane = { |
|
1175 var brandBundle = document.getElementById("bundleBrand"); |
|
1176 var shellBundle = document.getElementById("bundleShell"); |
|
1177 var brandShortName = brandBundle.getString("brandShortName"); |
|
1178 var promptTitle = shellBundle.getString("setDefaultBrowserTitle"); |
|
1179 var promptMessage; |
|
1180 const IPS = Components.interfaces.nsIPromptService; |
|
1181 var psvc = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] |
|
1182 .getService(IPS); |
|
1183 + |
|
1184 + var env = Components.classes["@mozilla.org/process/environment;1"] |
|
1185 + .getService(Components.interfaces.nsIEnvironment); |
|
1186 + var kde_session = 0; |
|
1187 + if (env.get('KDE_FULL_SESSION') == "true") |
|
1188 + kde_session = 1; |
|
1189 + |
|
1190 if (!shellSvc.isDefaultBrowser(false)) { |
|
1191 promptMessage = shellBundle.getFormattedString("setDefaultBrowserMessage", |
|
1192 [brandShortName]); |
|
1193 var rv = psvc.confirmEx(window, promptTitle, promptMessage, |
|
1194 IPS.STD_YES_NO_BUTTONS, |
|
1195 null, null, null, null, { }); |
|
1196 - if (rv == 0) |
|
1197 + if (rv == 0) { |
|
1198 shellSvc.setDefaultBrowser(true, false); |
|
1199 + if (kde_session == 1) { |
|
1200 + var shellObj = Components.classes["@mozilla.org/file/local;1"] |
|
1201 + .createInstance(Components.interfaces.nsILocalFile); |
|
1202 + shellObj.initWithPath("/usr/bin/kwriteconfig"); |
|
1203 + var process = Components.classes["@mozilla.org/process/util;1"] |
|
1204 + .createInstance(Components.interfaces.nsIProcess); |
|
1205 + process.init(shellObj); |
|
1206 + var args = ["--file", "kdeglobals", "--group", "General", "--key", "BrowserApplication", "MozillaFirefox"]; |
|
1207 + process.run(false, args, args.length); |
|
1208 + } |
|
1209 + } |
|
1210 } |
|
1211 else { |
|
1212 promptMessage = shellBundle.getFormattedString("alreadyDefaultBrowser", |
|
1213 [brandShortName]); |
|
1214 psvc.alert(window, promptTitle, promptMessage); |
|
1215 } |
|
1216 } |
|
1217 #endif |
1171 diff --git a/browser/components/shell/src/Makefile.in b/browser/components/shell/src/Makefile.in |
1218 diff --git a/browser/components/shell/src/Makefile.in b/browser/components/shell/src/Makefile.in |
1172 --- a/browser/components/shell/src/Makefile.in |
1219 --- a/browser/components/shell/src/Makefile.in |
1173 +++ b/browser/components/shell/src/Makefile.in |
1220 +++ b/browser/components/shell/src/Makefile.in |
1174 @@ -52,17 +52,18 @@ endif |
1221 @@ -52,17 +52,18 @@ endif |
1175 |
1222 |