1202 { &kNS_SHELLSERVICE_CID, false, NULL, nsMacShellServiceConstructor }, |
1202 { &kNS_SHELLSERVICE_CID, false, NULL, nsMacShellServiceConstructor }, |
1203 #endif |
1203 #endif |
1204 diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js |
1204 diff --git a/browser/components/preferences/advanced.js b/browser/components/preferences/advanced.js |
1205 --- a/browser/components/preferences/advanced.js |
1205 --- a/browser/components/preferences/advanced.js |
1206 +++ b/browser/components/preferences/advanced.js |
1206 +++ b/browser/components/preferences/advanced.js |
1207 @@ -716,24 +716,42 @@ var gAdvancedPane = { |
1207 @@ -22,16 +22,22 @@ var gAdvancedPane = { |
1208 var brandBundle = document.getElementById("bundleBrand"); |
1208 if (extraArgs && extraArgs["advancedTab"]){ |
1209 var shellBundle = document.getElementById("bundleShell"); |
1209 advancedPrefs.selectedTab = document.getElementById(extraArgs["advancedTab"]); |
1210 var brandShortName = brandBundle.getString("brandShortName"); |
1210 } else { |
1211 var promptTitle = shellBundle.getString("setDefaultBrowserTitle"); |
1211 var preference = document.getElementById("browser.preferences.advanced.selectedTabIndex"); |
1212 var promptMessage; |
1212 if (preference.value !== null) |
1213 const IPS = Components.interfaces.nsIPromptService; |
1213 advancedPrefs.selectedIndex = preference.value; |
1214 var psvc = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] |
1214 } |
1215 .getService(IPS); |
1215 |
1216 + |
|
1217 + var env = Components.classes["@mozilla.org/process/environment;1"] |
1216 + var env = Components.classes["@mozilla.org/process/environment;1"] |
1218 + .getService(Components.interfaces.nsIEnvironment); |
1217 + .getService(Components.interfaces.nsIEnvironment); |
1219 + var kde_session = 0; |
1218 + var kde_session = 0; |
1220 + if (env.get('KDE_FULL_SESSION') == "true") |
1219 + if (env.get('KDE_FULL_SESSION') == "true") |
1221 + kde_session = 1; |
1220 + kde_session = 1; |
1222 + |
1221 + |
1223 if (!shellSvc.isDefaultBrowser(false)) { |
1222 #ifdef HAVE_SHELL_SERVICE |
1224 promptMessage = shellBundle.getFormattedString("setDefaultBrowserMessage", |
1223 this.updateSetDefaultBrowser(); |
1225 [brandShortName]); |
1224 #endif |
1226 var rv = psvc.confirmEx(window, promptTitle, promptMessage, |
1225 #ifdef MOZ_UPDATER |
1227 IPS.STD_YES_NO_BUTTONS, |
1226 this.updateReadPrefs(); |
1228 null, null, null, null, { }); |
1227 #endif |
1229 - if (rv == 0) |
1228 this.updateOfflineApps(); |
1230 + if (rv == 0) { |
1229 #ifdef MOZ_CRASHREPORTER |
1231 shellSvc.setDefaultBrowser(true, false); |
1230 @@ -705,12 +711,23 @@ var gAdvancedPane = { |
1232 + if (kde_session == 1) { |
1231 /** |
1233 + var shellObj = Components.classes["@mozilla.org/file/local;1"] |
1232 * Set browser as the operating system default browser. |
1234 + .createInstance(Components.interfaces.nsILocalFile); |
1233 */ |
1235 + shellObj.initWithPath("/usr/bin/kwriteconfig"); |
1234 setDefaultBrowser: function() |
1236 + var process = Components.classes["@mozilla.org/process/util;1"] |
1235 { |
1237 + .createInstance(Components.interfaces.nsIProcess); |
1236 var shellSvc = Components.classes["@mozilla.org/browser/shell-service;1"] |
1238 + process.init(shellObj); |
1237 .getService(Components.interfaces.nsIShellService); |
1239 + var args = ["--file", "kdeglobals", "--group", "General", "--key", "BrowserApplication", "MozillaFirefox"]; |
1238 shellSvc.setDefaultBrowser(true, false); |
1240 + process.run(false, args, args.length); |
1239 + if (kde_session == 1) { |
1241 + } |
1240 + var shellObj = Components.classes["@mozilla.org/file/local;1"] |
1242 + } |
1241 + .createInstance(Components.interfaces.nsILocalFile); |
1243 } |
1242 + shellObj.initWithPath("/usr/bin/kwriteconfig"); |
1244 else { |
1243 + var process = Components.classes["@mozilla.org/process/util;1"] |
1245 promptMessage = shellBundle.getFormattedString("alreadyDefaultBrowser", |
1244 + .createInstance(Components.interfaces.nsIProcess); |
1246 [brandShortName]); |
1245 + process.init(shellObj); |
1247 psvc.alert(window, promptTitle, promptMessage); |
1246 + var args = ["--file", "kdeglobals", "--group", "General", "--key", |
1248 } |
1247 + "BrowserApplication", "MozillaFirefox"]; |
|
1248 + process.run(false, args, args.length); |
|
1249 + } |
|
1250 document.getElementById("setDefaultPane").selectedIndex = 1; |
1249 } |
1251 } |
1250 #endif |
1252 #endif |
|
1253 }; |
1251 diff --git a/browser/components/shell/src/Makefile.in b/browser/components/shell/src/Makefile.in |
1254 diff --git a/browser/components/shell/src/Makefile.in b/browser/components/shell/src/Makefile.in |
1252 --- a/browser/components/shell/src/Makefile.in |
1255 --- a/browser/components/shell/src/Makefile.in |
1253 +++ b/browser/components/shell/src/Makefile.in |
1256 +++ b/browser/components/shell/src/Makefile.in |
1254 @@ -51,17 +51,18 @@ endif |
1257 @@ -17,17 +17,18 @@ USE_STATIC_LIBS = 1 |
1255 |
1258 |
1256 ifeq ($(OS_ARCH),WINNT) |
1259 ifeq ($(OS_ARCH),WINNT) |
1257 CPPSRCS = nsWindowsShellService.cpp |
1260 CPPSRCS = nsWindowsShellService.cpp |
1258 else |
1261 else |
1259 ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) |
1262 ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) |
1712 + |
1715 + |
1713 +#endif // nsunixshellservice_h____ |
1716 +#endif // nsunixshellservice_h____ |
1714 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in |
1717 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in |
1715 --- a/browser/installer/package-manifest.in |
1718 --- a/browser/installer/package-manifest.in |
1716 +++ b/browser/installer/package-manifest.in |
1719 +++ b/browser/installer/package-manifest.in |
1717 @@ -500,16 +500,17 @@ |
1720 @@ -521,16 +521,17 @@ |
1718 #ifdef MOZ_SERVICES_SYNC |
|
1719 @BINPATH@/@PREF_DIR@/services-sync.js |
1721 @BINPATH@/@PREF_DIR@/services-sync.js |
|
1722 @BINPATH@/@PREF_DIR@/services-aitc.js |
1720 #endif |
1723 #endif |
1721 @BINPATH@/greprefs.js |
1724 @BINPATH@/greprefs.js |
1722 @BINPATH@/defaults/autoconfig/platform.js |
1725 @BINPATH@/defaults/autoconfig/platform.js |
1723 @BINPATH@/defaults/autoconfig/prefcalls.js |
1726 @BINPATH@/defaults/autoconfig/prefcalls.js |
1724 ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325) |
1727 ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325) |