mozilla-kde.patch
changeset 515 0f6539389500
parent 467 a9baaad57fa4
child 517 fa93154734b8
equal deleted inserted replaced
514:ff06037ec39c 515:0f6539389500
   178  
   178  
   179  #ifdef MOZ_WIDGET_ANDROID
   179  #ifdef MOZ_WIDGET_ANDROID
   180  #include "AndroidBridge.h"
   180  #include "AndroidBridge.h"
   181  #endif
   181  #endif
   182  
   182  
   183 @@ -2236,16 +2240,25 @@ nsDownload::SetState(DownloadState aStat
   183 @@ -2233,16 +2237,25 @@ nsDownload::SetState(DownloadState aStat
   184        nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
   184        nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
   185  
   185  
   186        // Master pref to control this function.
   186        // Master pref to control this function.
   187        bool showTaskbarAlert = true;
   187        bool showTaskbarAlert = true;
   188        if (pref)
   188        if (pref)
   204  
   204  
   205          PRInt64 alertIntervalUSec = alertInterval * PR_USEC_PER_MSEC;
   205          PRInt64 alertIntervalUSec = alertInterval * PR_USEC_PER_MSEC;
   206          PRInt64 goat = PR_Now() - mStartTime;
   206          PRInt64 goat = PR_Now() - mStartTime;
   207          showTaskbarAlert = goat > alertIntervalUSec;
   207          showTaskbarAlert = goat > alertIntervalUSec;
   208  
   208  
   209 @@ -2269,19 +2282,20 @@ nsDownload::SetState(DownloadState aStat
   209 @@ -2266,19 +2279,20 @@ nsDownload::SetState(DownloadState aStat
   210                // If downloads are automatically removed per the user's
   210                // If downloads are automatically removed per the user's
   211                // retention policy, there's no reason to make the text clickable
   211                // retention policy, there's no reason to make the text clickable
   212                // because if it is, they'll click open the download manager and
   212                // because if it is, they'll click open the download manager and
   213                // the items they downloaded will have been removed.
   213                // the items they downloaded will have been removed.
   214                alerts->ShowAlertNotification(
   214                alerts->ShowAlertNotification(
   230            NS_SUCCEEDED(fileURL->GetFile(getter_AddRefs(file))) &&
   230            NS_SUCCEEDED(fileURL->GetFile(getter_AddRefs(file))) &&
   231 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
   231 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
   232 --- a/toolkit/content/jar.mn
   232 --- a/toolkit/content/jar.mn
   233 +++ b/toolkit/content/jar.mn
   233 +++ b/toolkit/content/jar.mn
   234 @@ -45,29 +45,33 @@ toolkit.jar:
   234 @@ -45,29 +45,33 @@ toolkit.jar:
   235  *+ content/global/viewZoomOverlay.js          (viewZoomOverlay.js)
   235     content/global/viewZoomOverlay.js          (viewZoomOverlay.js)
   236  *+ content/global/bindings/autocomplete.xml    (widgets/autocomplete.xml)
   236  *+ content/global/bindings/autocomplete.xml    (widgets/autocomplete.xml)
   237  *+ content/global/bindings/browser.xml         (widgets/browser.xml)
   237     content/global/bindings/browser.xml         (widgets/browser.xml)
   238  *+ content/global/bindings/button.xml          (widgets/button.xml)
   238     content/global/bindings/button.xml          (widgets/button.xml)
   239  *+ content/global/bindings/checkbox.xml        (widgets/checkbox.xml)
   239     content/global/bindings/checkbox.xml        (widgets/checkbox.xml)
   240  *+ content/global/bindings/colorpicker.xml     (widgets/colorpicker.xml)
   240     content/global/bindings/colorpicker.xml     (widgets/colorpicker.xml)
   241  *+ content/global/bindings/datetimepicker.xml  (widgets/datetimepicker.xml)
   241     content/global/bindings/datetimepicker.xml  (widgets/datetimepicker.xml)
   242  *+ content/global/bindings/dialog.xml          (widgets/dialog.xml)
   242  *+ content/global/bindings/dialog.xml          (widgets/dialog.xml)
   243 +*+ content/global/bindings/dialog-kde.xml      (widgets/dialog-kde.xml)
   243 +*+ content/global/bindings/dialog-kde.xml      (widgets/dialog-kde.xml)
   244 +% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde
   244 +% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde
   245  *+ content/global/bindings/editor.xml          (widgets/editor.xml)
   245     content/global/bindings/editor.xml          (widgets/editor.xml)
   246  *  content/global/bindings/expander.xml        (widgets/expander.xml)
   246     content/global/bindings/expander.xml        (widgets/expander.xml)
   247  *  content/global/bindings/filefield.xml       (widgets/filefield.xml)
   247  *  content/global/bindings/filefield.xml       (widgets/filefield.xml)
   248  *+ content/global/bindings/findbar.xml         (widgets/findbar.xml)
   248  *+ content/global/bindings/findbar.xml         (widgets/findbar.xml)
   249  *+ content/global/bindings/general.xml         (widgets/general.xml)
   249     content/global/bindings/general.xml         (widgets/general.xml)
   250  *+ content/global/bindings/groupbox.xml        (widgets/groupbox.xml)
   250     content/global/bindings/groupbox.xml        (widgets/groupbox.xml)
   251  *+ content/global/bindings/listbox.xml         (widgets/listbox.xml)
   251  *+ content/global/bindings/listbox.xml         (widgets/listbox.xml)
   252  *+ content/global/bindings/menu.xml            (widgets/menu.xml)
   252     content/global/bindings/menu.xml            (widgets/menu.xml)
   253  *+ content/global/bindings/menulist.xml        (widgets/menulist.xml)
   253     content/global/bindings/menulist.xml        (widgets/menulist.xml)
   254  *+ content/global/bindings/notification.xml    (widgets/notification.xml)
   254     content/global/bindings/notification.xml    (widgets/notification.xml)
   255  *+ content/global/bindings/numberbox.xml       (widgets/numberbox.xml)
   255     content/global/bindings/numberbox.xml       (widgets/numberbox.xml)
   256  *+ content/global/bindings/popup.xml           (widgets/popup.xml)
   256     content/global/bindings/popup.xml           (widgets/popup.xml)
   257  *+ content/global/bindings/preferences.xml     (widgets/preferences.xml)
   257  *+ content/global/bindings/preferences.xml     (widgets/preferences.xml)
   258 +*+ content/global/bindings/preferences-kde.xml (widgets/preferences-kde.xml)
   258 +*+ content/global/bindings/preferences-kde.xml (widgets/preferences-kde.xml)
   259 +% override chrome://global/content/bindings/preferences.xml chrome://global/content/bindings/preferences-kde.xml desktop=kde
   259 +% override chrome://global/content/bindings/preferences.xml chrome://global/content/bindings/preferences-kde.xml desktop=kde
   260  *+ content/global/bindings/progressmeter.xml   (widgets/progressmeter.xml)
   260     content/global/bindings/progressmeter.xml   (widgets/progressmeter.xml)
   261  *+ content/global/bindings/radio.xml           (widgets/radio.xml)
   261     content/global/bindings/radio.xml           (widgets/radio.xml)
   262  *+ content/global/bindings/resizer.xml         (widgets/resizer.xml)
   262     content/global/bindings/resizer.xml         (widgets/resizer.xml)
   263  *+ content/global/bindings/richlistbox.xml     (widgets/richlistbox.xml)
   263     content/global/bindings/richlistbox.xml     (widgets/richlistbox.xml)
   264  *+ content/global/bindings/scale.xml           (widgets/scale.xml)
   264     content/global/bindings/scale.xml           (widgets/scale.xml)
   265  *+ content/global/bindings/scrollbar.xml       (widgets/scrollbar.xml)
   265     content/global/bindings/scrollbar.xml       (widgets/scrollbar.xml)
   266  *+ content/global/bindings/scrollbox.xml       (widgets/scrollbox.xml)
   266     content/global/bindings/scrollbox.xml       (widgets/scrollbox.xml)
   267  *+ content/global/bindings/splitter.xml        (widgets/splitter.xml)
   267     content/global/bindings/splitter.xml        (widgets/splitter.xml)
   268 diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
   268 diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
   269 new file mode 100644
   269 new file mode 100644
   270 --- /dev/null
   270 --- /dev/null
   271 +++ b/toolkit/content/widgets/dialog-kde.xml
   271 +++ b/toolkit/content/widgets/dialog-kde.xml
   272 @@ -0,0 +1,447 @@
   272 @@ -0,0 +1,451 @@
   273 +<?xml version="1.0"?>
   273 +<?xml version="1.0"?>
       
   274 +<!-- This Source Code Form is subject to the terms of the Mozilla Public
       
   275 +   - License, v. 2.0. If a copy of the MPL was not distributed with this
       
   276 +   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
       
   277 +
   274 +
   278 +
   275 +<bindings id="dialogBindings"
   279 +<bindings id="dialogBindings"
   276 +          xmlns="http://www.mozilla.org/xbl"
   280 +          xmlns="http://www.mozilla.org/xbl"
   277 +          xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
   281 +          xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
   278 +          xmlns:xbl="http://www.mozilla.org/xbl">
   282 +          xmlns:xbl="http://www.mozilla.org/xbl">
   719 +</bindings>
   723 +</bindings>
   720 diff --git a/toolkit/content/widgets/preferences-kde.xml b/toolkit/content/widgets/preferences-kde.xml
   724 diff --git a/toolkit/content/widgets/preferences-kde.xml b/toolkit/content/widgets/preferences-kde.xml
   721 new file mode 100644
   725 new file mode 100644
   722 --- /dev/null
   726 --- /dev/null
   723 +++ b/toolkit/content/widgets/preferences-kde.xml
   727 +++ b/toolkit/content/widgets/preferences-kde.xml
   724 @@ -0,0 +1,1373 @@
   728 @@ -0,0 +1,1339 @@
   725 +<?xml version="1.0"?>
   729 +<?xml version="1.0"?>
   726 +
   730 +
   727 +<!DOCTYPE bindings [
   731 +<!DOCTYPE bindings [
   728 +  <!ENTITY % preferencesDTD SYSTEM "chrome://global/locale/preferences.dtd">
   732 +  <!ENTITY % preferencesDTD SYSTEM "chrome://global/locale/preferences.dtd">
   729 +  %preferencesDTD;
   733 +  %preferencesDTD;
  1984 +      </field>
  1988 +      </field>
  1985 +    </implementation>
  1989 +    </implementation>
  1986 +    <handlers>
  1990 +    <handlers>
  1987 +      <handler event="command">
  1991 +      <handler event="command">
  1988 +        // This "command" event handler tracks changes made to preferences by 
  1992 +        // This "command" event handler tracks changes made to preferences by 
  1989 +        // the user in this window. 
  1993 +        // the user in this window.
  1990 +	if (event.sourceEvent)
  1994 +        if (event.sourceEvent)
  1991 +	  event = event.sourceEvent;
  1995 +          event = event.sourceEvent;
  1992 +        this.userChangedValue(event.target);
  1996 +        this.userChangedValue(event.target);
  1993 +      </handler>
  1997 +      </handler>
  1994 +      <handler event="select">
  1998 +      <handler event="select">
  1995 +        // This "select" event handler tracks changes made to colorpicker 
  1999 +        // This "select" event handler tracks changes made to colorpicker 
  1996 +        // preferences by the user in this window.
  2000 +        // preferences by the user in this window.
  2045 +  </binding>
  2049 +  </binding>
  2046 +
  2050 +
  2047 +</bindings>
  2051 +</bindings>
  2048 +
  2052 +
  2049 +# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
  2053 +# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
  2050 +# ***** BEGIN LICENSE BLOCK *****
  2054 +# This Source Code Form is subject to the terms of the Mozilla Public
  2051 +# Version: MPL 1.1/GPL 2.0/LGPL 2.1
  2055 +# License, v. 2.0. If a copy of the MPL was not distributed with this
  2052 +#
  2056 +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
  2053 +# The contents of this file are subject to the Mozilla Public License Version
       
  2054 +# 1.1 (the "License"); you may not use this file except in compliance with
       
  2055 +# the License. You may obtain a copy of the License at
       
  2056 +# http://www.mozilla.org/MPL/
       
  2057 +#
       
  2058 +# Software distributed under the License is distributed on an "AS IS" basis,
       
  2059 +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
       
  2060 +# for the specific language governing rights and limitations under the
       
  2061 +# License.
       
  2062 +#
       
  2063 +# The Original Code is the Preferences System.
       
  2064 +#
       
  2065 +# The Initial Developer of the Original Code is
       
  2066 +# Ben Goodger.
       
  2067 +# Portions created by the Initial Developer are Copyright (C) 2005
       
  2068 +# the Initial Developer. All Rights Reserved.
       
  2069 +#
       
  2070 +# Contributor(s):
       
  2071 +#   Ben Goodger <ben@mozilla.org>
       
  2072 +#   Josh Aas <josh@mozilla.com>
       
  2073 +#
       
  2074 +# Alternatively, the contents of this file may be used under the terms of
       
  2075 +# either the GNU General Public License Version 2 or later (the "GPL"), or
       
  2076 +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
       
  2077 +# in which case the provisions of the GPL or the LGPL are applicable instead
       
  2078 +# of those above. If you wish to allow use of your version of this file only
       
  2079 +# under the terms of either the GPL or the LGPL, and not to allow others to
       
  2080 +# use your version of this file under the terms of the MPL, indicate your
       
  2081 +# decision by deleting the provisions above and replace them with the notice
       
  2082 +# and other provisions required by the GPL or the LGPL. If you do not delete
       
  2083 +# the provisions above, a recipient may use your version of this file under
       
  2084 +# the terms of any one of the MPL, the GPL or the LGPL.
       
  2085 +#
       
  2086 +# ***** END LICENSE BLOCK *****
       
  2087 +
  2057 +
  2088 +#
  2058 +#
  2089 +# This is PrefWindow 6. The Code Could Well Be Ready, Are You?
  2059 +# This is PrefWindow 6. The Code Could Well Be Ready, Are You?
  2090 +#
  2060 +#
  2091 +#    Historical References:
  2061 +#    Historical References:
  3254  
  3224  
  3255    // Now look up our extensions
  3225    // Now look up our extensions
  3256 diff --git a/widget/gtk2/Makefile.in b/widget/gtk2/Makefile.in
  3226 diff --git a/widget/gtk2/Makefile.in b/widget/gtk2/Makefile.in
  3257 --- a/widget/gtk2/Makefile.in
  3227 --- a/widget/gtk2/Makefile.in
  3258 +++ b/widget/gtk2/Makefile.in
  3228 +++ b/widget/gtk2/Makefile.in
  3259 @@ -104,11 +104,14 @@ DEFINES		+= -DCAIRO_GFX -DMOZ_APP_NAME='
  3229 @@ -105,11 +105,14 @@ DEFINES		+= -DCAIRO_GFX -DMOZ_APP_NAME='
  3260  
  3230  
  3261  INCLUDES	+= \
  3231  INCLUDES	+= \
  3262  		-I$(srcdir)/../xpwidgets \
  3232  		-I$(srcdir)/../xpwidgets \
  3263  		-I$(srcdir)/../shared \
  3233  		-I$(srcdir)/../shared \
  3264  		-I$(topsrcdir)/layout/generic \
  3234  		-I$(topsrcdir)/layout/generic \
  3286 +#include <gdk/gdkx.h>
  3256 +#include <gdk/gdkx.h>
  3287  
  3257  
  3288  #include "nsIFileURL.h"
  3258  #include "nsIFileURL.h"
  3289  #include "nsIURI.h"
  3259  #include "nsIURI.h"
  3290  #include "nsIWidget.h"
  3260  #include "nsIWidget.h"
  3291  #include "nsILocalFile.h"
  3261  #include "nsIFile.h"
  3292  #include "nsIStringBundle.h"
  3262  #include "nsIStringBundle.h"
  3293  
  3263  
  3294  #include "nsArrayEnumerator.h"
  3264  #include "nsArrayEnumerator.h"
  3295 @@ -19,16 +20,17 @@
  3265 @@ -19,16 +20,17 @@
  3296  #include "nsNetUtil.h"
  3266  #include "nsNetUtil.h"
  3308  #endif
  3278  #endif
  3309  
  3279  
  3310  using namespace mozilla;
  3280  using namespace mozilla;
  3311  
  3281  
  3312  #define MAX_PREVIEW_SIZE 180
  3282  #define MAX_PREVIEW_SIZE 180
  3313 @@ -253,17 +255,19 @@ nsFilePicker::AppendFilters(PRInt32 aFil
  3283 @@ -252,17 +254,19 @@ nsFilePicker::AppendFilters(PRInt32 aFil
  3314    return nsBaseFilePicker::AppendFilters(aFilterMask);
  3284    return nsBaseFilePicker::AppendFilters(aFilterMask);
  3315  }
  3285  }
  3316  
  3286  
  3317  NS_IMETHODIMP
  3287  NS_IMETHODIMP
  3318  nsFilePicker::AppendFilter(const nsAString& aTitle, const nsAString& aFilter)
  3288  nsFilePicker::AppendFilter(const nsAString& aTitle, const nsAString& aFilter)
  3329    CopyUTF16toUTF8(aFilter, filter);
  3299    CopyUTF16toUTF8(aFilter, filter);
  3330    CopyUTF16toUTF8(aTitle, name);
  3300    CopyUTF16toUTF8(aTitle, name);
  3331  
  3301  
  3332    mFilters.AppendElement(filter);
  3302    mFilters.AppendElement(filter);
  3333    mFilterNames.AppendElement(name);
  3303    mFilterNames.AppendElement(name);
  3334 @@ -358,16 +362,19 @@ nsFilePicker::GetFiles(nsISimpleEnumerat
  3304 @@ -357,16 +361,19 @@ nsFilePicker::GetFiles(nsISimpleEnumerat
  3335    return NS_ERROR_FAILURE;
  3305    return NS_ERROR_FAILURE;
  3336  }
  3306  }
  3337  
  3307  
  3338  NS_IMETHODIMP
  3308  NS_IMETHODIMP
  3339  nsFilePicker::Show(PRInt16 *aReturn)
  3309  nsFilePicker::Show(PRInt16 *aReturn)
  3349    GtkWindow *parent_widget = get_gtk_window_for_nsiwidget(mParentWidget);
  3319    GtkWindow *parent_widget = get_gtk_window_for_nsiwidget(mParentWidget);
  3350  
  3320  
  3351    GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
  3321    GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
  3352    const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE)
  3322    const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE)
  3353                                 ? GTK_STOCK_SAVE : GTK_STOCK_OPEN;
  3323                                 ? GTK_STOCK_SAVE : GTK_STOCK_OPEN;
  3354 @@ -506,8 +513,234 @@ nsFilePicker::Show(PRInt16 *aReturn)
  3324 @@ -505,8 +512,234 @@ nsFilePicker::Show(PRInt16 *aReturn)
  3355      *aReturn = nsIFilePicker::returnCancel;
  3325      *aReturn = nsIFilePicker::returnCancel;
  3356      break;
  3326      break;
  3357    }
  3327    }
  3358  
  3328  
  3359    gtk_widget_destroy(file_chooser);
  3329    gtk_widget_destroy(file_chooser);
  3502 +            PRUint32 count = output.Length();
  3472 +            PRUint32 count = output.Length();
  3503 +            for( PRUint32 i = 0;
  3473 +            for( PRUint32 i = 0;
  3504 +                 i < count;
  3474 +                 i < count;
  3505 +                 ++i )
  3475 +                 ++i )
  3506 +                {
  3476 +                {
  3507 +                nsCOMPtr<nsILocalFile> localfile;
  3477 +                nsCOMPtr<nsIFile> localfile;
  3508 +                nsresult rv = NS_NewNativeLocalFile( output[ i ],
  3478 +                nsresult rv = NS_NewNativeLocalFile( output[ i ],
  3509 +                                      PR_FALSE,
  3479 +                                      PR_FALSE,
  3510 +                                      getter_AddRefs(localfile));
  3480 +                                      getter_AddRefs(localfile));
  3511 +                if (NS_SUCCEEDED(rv))
  3481 +                if (NS_SUCCEEDED(rv))
  3512 +                    mFiles.AppendObject(localfile);
  3482 +                    mFiles.AppendObject(localfile);
  3523 +                mFileURL = nsCString( "file://" );
  3493 +                mFileURL = nsCString( "file://" );
  3524 +                mFileURL.Append( output[ 0 ] );
  3494 +                mFileURL.Append( output[ 0 ] );
  3525 +                }
  3495 +                }
  3526 +            }
  3496 +            }
  3527 +  // Remember last used directory.
  3497 +  // Remember last used directory.
  3528 +  nsCOMPtr<nsILocalFile> file;
  3498 +  nsCOMPtr<nsIFile> file;
  3529 +  GetFile(getter_AddRefs(file));
  3499 +  GetFile(getter_AddRefs(file));
  3530 +  if (file) {
  3500 +  if (file) {
  3531 +    nsCOMPtr<nsIFile> dir;
  3501 +    nsCOMPtr<nsIFile> dir;
  3532 +    file->GetParent(getter_AddRefs(dir));
  3502 +    file->GetParent(getter_AddRefs(dir));
  3533 +    nsCOMPtr<nsILocalFile> localDir(do_QueryInterface(dir));
  3503 +    nsCOMPtr<nsIFile> localDir(do_QueryInterface(dir));
  3534 +    if (localDir) {
  3504 +    if (localDir) {
  3535 +      localDir.swap(mPrevDisplayDirectory);
  3505 +      localDir.swap(mPrevDisplayDirectory);
  3536 +    }
  3506 +    }
  3537 +  }
  3507 +  }
  3538 +        if (mMode == nsIFilePicker::modeSave)
  3508 +        if (mMode == nsIFilePicker::modeSave)
  3539 +            {
  3509 +            {
  3540 +            nsCOMPtr<nsILocalFile> file;
  3510 +            nsCOMPtr<nsIFile> file;
  3541 +            GetFile(getter_AddRefs(file));
  3511 +            GetFile(getter_AddRefs(file));
  3542 +            if (file)
  3512 +            if (file)
  3543 +                {
  3513 +                {
  3544 +                bool exists = false;
  3514 +                bool exists = false;
  3545 +                file->Exists(&exists);
  3515 +                file->Exists(&exists);
  3595  
  3565  
  3596    nsTArray<nsCString> mFilters;
  3566    nsTArray<nsCString> mFilters;
  3597    nsTArray<nsCString> mFilterNames;
  3567    nsTArray<nsCString> mFilterNames;
  3598  
  3568  
  3599  private:
  3569  private:
  3600    static nsILocalFile *mPrevDisplayDirectory;
  3570    static nsIFile *mPrevDisplayDirectory;
  3601 +
  3571 +
  3602 +  bool kdeRunning();
  3572 +  bool kdeRunning();
  3603 +  bool getKdeRunning();
  3573 +  bool getKdeRunning();
  3604 +  NS_IMETHODIMP kdeFileDialog(PRInt16 *aReturn);
  3574 +  NS_IMETHODIMP kdeFileDialog(PRInt16 *aReturn);
  3605 +  NS_IMETHODIMP kdeAppsDialog(PRInt16 *aReturn);
  3575 +  NS_IMETHODIMP kdeAppsDialog(PRInt16 *aReturn);
  3776  ifdef MOZ_PLATFORM_MAEMO
  3746  ifdef MOZ_PLATFORM_MAEMO
  3777  CFLAGS          += $(MOZ_PLATFORM_MAEMO_CFLAGS) $(MOZ_QT_CFLAGS)
  3747  CFLAGS          += $(MOZ_PLATFORM_MAEMO_CFLAGS) $(MOZ_QT_CFLAGS)
  3778 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
  3748 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
  3779 --- a/xpcom/io/nsLocalFileUnix.cpp
  3749 --- a/xpcom/io/nsLocalFileUnix.cpp
  3780 +++ b/xpcom/io/nsLocalFileUnix.cpp
  3750 +++ b/xpcom/io/nsLocalFileUnix.cpp
  3781 @@ -48,16 +48,17 @@
  3751 @@ -49,16 +49,17 @@
  3782  #include "prproces.h"
  3752  #include "prproces.h"
  3783  #include "nsIDirectoryEnumerator.h"
  3753  #include "nsIDirectoryEnumerator.h"
  3784  #include "nsISimpleEnumerator.h"
  3754  #include "nsISimpleEnumerator.h"
  3785  #include "private/pprio.h"
  3755  #include "private/pprio.h"
  3786  
  3756  
  3787  #ifdef MOZ_WIDGET_GTK2
  3757  #ifdef MOZ_WIDGET_GTK
  3788  #include "nsIGIOService.h"
  3758  #include "nsIGIOService.h"
  3789  #include "nsIGnomeVFSService.h"
  3759  #include "nsIGnomeVFSService.h"
  3790 +#include "nsKDEUtils.h"
  3760 +#include "nsKDEUtils.h"
  3791  #endif
  3761  #endif
  3792  
  3762  
  3794  #include <Carbon/Carbon.h>
  3764  #include <Carbon/Carbon.h>
  3795  #include "CocoaFileUtils.h"
  3765  #include "CocoaFileUtils.h"
  3796  #include "prmem.h"
  3766  #include "prmem.h"
  3797  #include "plbase64.h"
  3767  #include "plbase64.h"
  3798  
  3768  
  3799 @@ -1763,44 +1764,51 @@ nsLocalFile::SetPersistentDescriptor(con
  3769 @@ -1760,44 +1761,51 @@ nsLocalFile::SetPersistentDescriptor(con
  3800      return InitWithNativePath(aPersistentDescriptor);
  3770      return InitWithNativePath(aPersistentDescriptor);
  3801  #endif
  3771  #endif
  3802  }
  3772  }
  3803  
  3773  
  3804  NS_IMETHODIMP
  3774  NS_IMETHODIMP
  3805  nsLocalFile::Reveal()
  3775  nsLocalFile::Reveal()
  3806  {
  3776  {
  3807  #ifdef MOZ_WIDGET_GTK2
  3777  #ifdef MOZ_WIDGET_GTK
  3808 -    nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
  3778 -    nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
  3809 -    nsCOMPtr<nsIGnomeVFSService> gnomevfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
  3779 -    nsCOMPtr<nsIGnomeVFSService> gnomevfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
  3810 -    if (!giovfs && !gnomevfs)
  3780 -    if (!giovfs && !gnomevfs)
  3811 -        return NS_ERROR_FAILURE;
  3781 -        return NS_ERROR_FAILURE;
  3812 -
  3782 -
  3860        nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
  3830        nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
  3861        ::CFRelease(url);
  3831        ::CFRelease(url);
  3862        return rv;
  3832        return rv;
  3863      }
  3833      }
  3864      return NS_ERROR_FAILURE;
  3834      return NS_ERROR_FAILURE;
  3865 @@ -1826,16 +1834,23 @@ nsLocalFile::Launch()
  3835 @@ -1823,16 +1831,23 @@ nsLocalFile::Launch()
  3866  
  3836  
  3867      if (nsnull == connection)
  3837      if (nsnull == connection)
  3868        return NS_ERROR_FAILURE;
  3838        return NS_ERROR_FAILURE;
  3869  
  3839  
  3870      if (hildon_mime_open_file(connection, mPath.get()) != kHILDON_SUCCESS)
  3840      if (hildon_mime_open_file(connection, mPath.get()) != kHILDON_SUCCESS)