firefox-kde.patch
changeset 223 4555a5d0d661
parent 221 488440b896fe
child 226 6bf3bb4c115e
equal deleted inserted replaced
221:488440b896fe 223:4555a5d0d661
  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