thunderbird 31.0 and lang pkg splitted

This commit is contained in:
AlmAck 2014-08-02 19:18:20 +00:00
parent 5b93c34868
commit abac026aec
6 changed files with 306 additions and 360 deletions

View File

@ -1,11 +1,12 @@
pkgname=thunderbird-i18n
pkgver=24.6.0
pkgver=31.0
pkgrel=1
pkgdesc="Language pack for Thunderbird"
arch=('any')
url="http://www.mozilla.com/"
license=('MPL' 'GPL')
depends=("thunderbird-kde>=$pkgver")
_languages=(
'ar "Arabic"'
'ast "Asturian"'
@ -18,17 +19,17 @@ _languages=(
'da "Danish"'
'de "German"'
'el "Greek"'
'en-GB "English (United Kingdom)"'
'en-US "English (United States)"'
'en-GB "English (British)"'
'en-US "English (US)"'
'es-AR "Spanish (Argentina)"'
'es-ES "Spanish (Spain)"'
'et "Estonian"'
'eu "Basque"'
'fi "Finnish"'
'fr "French"'
'fy-NL "Frisian (Netherlands)"'
'fy-NL "Frisian"'
'ga-IE "Irish"'
'gd "Gaelic"'
'gd "Gaelic (Scotland)"'
'gl "Galician"'
'he "Hebrew"'
'hr "Croatian"'
@ -40,17 +41,17 @@ _languages=(
'ja "Japanese"'
'ko "Korean"'
'lt "Lithuanian"'
'nb-NO "Norwegian (Bokmal)"'
'nb-NO "Norwegian (Bokmål)"'
'nl "Dutch"'
'nn-NO "Norwegian (Nynorsk)"'
'pa-IN "Punjabi"'
'pl "Polish"'
'pt-BR "Brazilian Portuguese"'
'pt-PT "Portuguese"'
'pt-BR "Portuguese (Brazilian)"'
'pt-PT "Portuguese (Portugal)"'
'rm "Romansh"'
'ro "Romanian"'
'ru "Russian"'
'si "Sinhalese"'
'si "Sinhala"'
'sk "Slovak"'
'sl "Slovenian"'
'sq "Albanian"'
@ -60,83 +61,94 @@ _languages=(
'tr "Turkish"'
'uk "Ukrainian"'
'vi "Vietnamese"'
'zh-CN "Chinese (simplified)"'
'zh-TW "Chinese (traditional)"'
'zh-CN "Chinese (Simplified)"'
'zh-TW "Chinese (Traditional)"'
)
md5sums=('22d08fc8d7c0757fdc0282e9cbc9aa94'
'1be8cb1c1a4742597608f412c6586a33'
'3a043ba0deb2e06cad504d5cc4052dc7'
'47c41062fa9dae8119b9eb0d7cba0533'
'0f0e17696a8c83df4d384814eaf8282d'
'a0a7880482e6c4b016cf8be3503a554f'
'c7bd66290332fa33777743921df1ae04'
'fcec46c7e3ac19082cb1cd753ad423f0'
'33fe2e1d772858873fc85856b57d6585'
'd29fb5d0a1c65216dd7ebaa9527c5eb8'
'71f12e69504b13a3923ef9528bac1909'
'7acf14bd8696441dd9d2f424151fab53'
'26330915701543a62a5eac05d6a506d4'
'2b89692a44b29e62dc0ab23ea2b07730'
'972f2ea55b2900ef1a10d97de7b3f6b3'
'61f760d0d146a005493f7774041fb7f5'
'e733851a083d00c80797239a4d4a7fc0'
'651ae46d6ffd84feadaa895bfb386362'
'23d83d45385cf7c306266ec8729f2fc5'
'2241bd8ce56c7d81c73fe84d452cc3d8'
'dc957087783db0071d078c90925be301'
'd654c648cce57fc8de333a63c44fe5cb'
'508ab96006cda5f419742f9e4798d91b'
'689a6205ce28a93154264dd4b12ea2cc'
'c8e544a7e465014fdfb0f5ef411a7ea3'
'483350d07e400108ebfb6e2adbaefde0'
'11736e42656e7ac6133e641fb15e586f'
'88fab021ca882207030befc1a208f8e2'
'3bbe1a56dbf137e35635ae0595f97dac'
'8ea81b70dae6bc4bdf55f842be5b2a3b'
'22092a11f0ae1a85d6de86bb4a84acbf'
'48d86606dd8f5140766de57f6e6281c7'
'54b2e562abb4fc0e58fad6a8e2727e88'
'09ebb8ac240c0654fa0918e4127b1337'
'719f6c7ca6b94460f082f82b746badc8'
'8106dc24ca84b77ace301b941fc711bb'
'ed5d93e69c66017f32a4a04dccee9ccd'
'fd787aab6b7788ab98b9fd245b08a5a6'
'90c558c408990bdc64661260a4d1a748'
'b9e83631a8b9e4e9a282afbb6b685408'
'00b6784a00bb2f4b010b5d783caf2c42'
'2f49eaf754160cbcbd1a5d0e5e082d91'
'72cf274c6f08779a8e9cfd17e2be163e'
'5d99189e9a11072e71485a3db18e011b'
'8bf82324e03c7dfdeef556fcee595c5c'
'3195bdf99aa9b08f1a97ccc4005482f3'
'5148493c2e8cc65f8b3f1571c0d73551'
'12339a7ee348129327a911f1a0d8e46c'
'b598ddb7bea0a250dc7939b3108c0963'
'4a80833c6fe28062cab93f6423a3e303'
'5e78681b5117809a826be18c9101b3ee'
'73af2a0354efa3d0b6c0fb78d6179635'
'1ba1d7724fafda28dd4e975f5d2b2acc'
'941463886ed5addb87fcab090a14c238'
'2734f58a6203094425122994265f29c7')
md5sums=('17bde4d1d364775b2ee1703fa2feb229'
'8d8b275b316f25be498f2c14abd2ec68'
'1763b371dd00f902af7299ea7e9fc574'
'3ca9f2b4c3fbe27dc7c1d8f4c0ec5d97'
'96db7a319aa8658e0a9a08b11f9dcfe0'
'd7644420a4b26e9d64a44d22e22641d0'
'15738bb05d4b9b096268a8d3089149d5'
'3aa388c8f4fcdc930c9f75f51112dbae'
'61de52f1fbf717b575d091b60fc07ff7'
'81748e80ca61455060d5db8b89aa314f'
'6b0cf80a15ef445cf0e328ab5c9038ca'
'b636938b6752939e0f36830867961ec1'
'd54841c678657d9725ab6329ddbde2ea'
'609b2485ece9f8d4b9d7144ace149c53'
'db0585d3f4ec60c7f5f146d22d6842e3'
'cff6f7cdf386911c3f3f797ecdf7246e'
'e8b1b67732297206e5074293e06c6860'
'2ad5b23230fdce0332795e3eda935ee5'
'648c8aa11d9943289a18198ab1cb393e'
'8f74a8f9ce0d65cfa2671bade57f111b'
'a974f9b12eec55335dc6f8c3f77cbce3'
'2ee93708f204fe5a99edc5bf7c05d4bd'
'6804e24eaf9dcba87b077c67fc4794f0'
'e498c260deeec23119d1ff13ade225d3'
'575415c3363f2396a0adf83fd7f8e8a7'
'735edcdb58f8ee0b18b3c59df2a41784'
'2ec4f96840776c27abd1a81fa172d246'
'443455edfc731e86f2dc0a51d1234642'
'7b91898f93bb12311c15351659c4ebd1'
'5c9322ac54bb92bc692ebac08423fd0e'
'4a89384448d027d72ecb2909e23ad683'
'87aa196d8585285a149ca03b12b9676b'
'53be975b7c418860d40c7c92309974af'
'c4208b228abb90640d2c49684e8574e0'
'f0313dd1abf8fd0a1d06bc0a6a6bf28a'
'7a85f4982a8d3940b1d01698fd23dce2'
'26b1754fc14cee9cb0e67b0b5bb280d5'
'32dfa38695fc20a9ecaeaf35bf5436eb'
'b6e4e2f4db2868996bbed4f2cac432b1'
'bf9e4757cd6a56ac1576a5d160471f97'
'7b0127c1e4f6d038505966871db51392'
'61907fcb7ce920a43e6f1d0b370bbb07'
'45a57af59c17ae89c9ac02c05cf1f8ec'
'1f5ee88343c85d94340b4f06d67f8b79'
'4f45b3388a36d86044f199d87fe67070'
'939042b9677b0b0b3623374838563fb8'
'7c6743e0efb65a7ce5142413f27fb2b3'
'ec62353e65c1cabc94327eea096cd350'
'28695dbb530fbf4e0ad5052bbb1ee76d'
'ea0fdc5cb2bf6e9ebbf61b1558e3d3cf'
'cb0ab3f7a7addf9011ddc4e2849d8793'
'16c19c21def75316a7e6f279bac1841e'
'08064811d0a66e4707cff28c26d55ab8'
'a1a03570fe349f1a454fe8388424c15c'
'b8f8fa6cce5d3879d3a448b4a42ab12e')
pkgname=()
source=()
_url=https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/linux-x86_64/xpi
_url=https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/linux-i686/xpi
for _lang in "${_languages[@]}"; do
_locale=${_lang%% *}
_pkgname=thunderbird-i18n-${_locale,,}
pkgname+=($_pkgname)
source+=("thunderbird-i18n-$pkgver-$_locale.xpi::$_url/$_locale.xpi")
eval "package_$_pkgname() {
_package $_lang
}"
done
# Don't extract anything
noextract=(${source[@]%%::*})
package() {
for _lang in "${_languages[@]}"; do
_locale=${_lang%% *}
install -Dm644 thunderbird-i18n-$pkgver-${_locale}.xpi \
"$pkgdir/usr/lib/thunderbird/extensions/langpack-${_locale}@thunderbird.mozilla.org.xpi"
done
package_thunderbird-i18n() {
pkgdesc="Transition package to split build"
depends=("thunderbird-kde=${pkgver}" "thunderbird-langpack=${pkgver}")
}
_package() {
pkgdesc="$2 language pack for Thunderbird"
provides=("thunderbird-langpack=${pkgver}")
conflicts=("thunderbird-i18n<31.0")
install -Dm644 thunderbird-i18n-$pkgver-$1.xpi \
"$pkgdir/usr/lib/thunderbird/extensions/langpack-$1@thunderbird.mozilla.org.xpi"
}

View File

@ -1,7 +1,7 @@
# Maintainer: AlmAck <almack@chakra-project.org>
pkgname=thunderbird-kde
pkgver=24.7.0
pkgver=31.0
pkgrel=1
provides=(thunderbird=${pkgver})
conficts=(thunderbird)
@ -12,7 +12,7 @@ license=('MPL' 'GPL')
url="http://www.mozilla.org/thunderbird/"
depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'nss' 'sqlite3' 'startup-notification' 'nspr' 'kdelibs')
makedepends=('unzip' 'zip' 'pkg-config' 'python2' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13'
'gstreamer0.10-base-plugins' 'xorg-server')
'gstreamer0.10-base-plugins' 'xorg-server-xvfb')
optdepends=('thunderbird-i18n: for multilanguage support'
'libcanberra: for sound support')
install=thunderbird.install
@ -26,17 +26,17 @@ source=(ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/sourc
vendor.js
kde.js)
options=(!emptydirs)
md5sums=('7804283cb4f5c1bbec711b470afe2472'
'1d674019505aa9ec1654cba08debf61d'
md5sums=('195ea7d3887eb49402ea7b3875b7ce15'
'60580fb138d2bcc7008d20f8207624a1'
'af3e5b344d2edf1c7d61bb0a5a96de9a'
'1c6f47b315a5d7830f8e901b1f723cfc'
'1aa96187c06a79785c4aec590baa4428'
'28f61de31540e20522aefdbe88a83fa8'
'2cc82c1c60f6c97cb5a9d895d85a9ff3'
'2cf60e12551d93c9f028208bb7890564'
'5b786bc0f2e998d201f53fd307bc573f'
'5a53179d14ae9631b7afe5e4d0fc0b25'
'75df0f88cc7a7fa7d522459e4ff82cc5')
prepare(){
cd comm-esr24
cd comm-esr*
patch -Np1 -i "$srcdir/thunderbird-install-dir.patch"
pushd mozilla
@ -52,7 +52,7 @@ prepare(){
}
build() {
cd comm-esr24
cd comm-esr*
export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/thunderbird"
export PYTHON="/usr/bin/python2"
@ -74,7 +74,7 @@ build() {
}
package() {
cd comm-esr24
cd comm-esr*
make -f client.mk DESTDIR="$pkgdir" install
install -Dm644 "$srcdir"/vendor.js "$pkgdir/usr/lib/thunderbird/defaults/preferences/vendor.js"
@ -93,5 +93,5 @@ package() {
ln -sf /usr/share/hyphen "$pkgdir/usr/lib/thunderbird/hyphenation"
# We don't want the development stuff
#rm -r "$pkgdir"/usr/{include,lib/thunderbird-devel,share/idl}
rm -r "$pkgdir"/usr/{include,lib/thunderbird-devel-*,share/idl}
}

View File

@ -32,6 +32,7 @@ ac_add_options --disable-updater
ac_add_options --disable-tests
ac_add_options --disable-mochitest
ac_add_options --disable-installer
ac_add_options --disable-debug-symbols
# Optimization
ac_add_options --enable-optimize

View File

@ -7,27 +7,26 @@ Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
diff --git a/modules/libpref/src/Makefile.in b/modules/libpref/src/Makefile.in
--- a/modules/libpref/src/Makefile.in
+++ b/modules/libpref/src/Makefile.in
@@ -49,14 +49,15 @@ endif
# Optimizer bug with GCC 3.2.2 on OS/2
ifeq ($(OS_ARCH), OS2)
nsPrefService.$(OBJ_SUFFIX): nsPrefService.cpp
$(REPORT_BUILD)
@$(MAKE_DEPS_AUTO_CXX)
$(ELOG) $(CCC) $(OUTOPTION)$@ -c $(COMPILE_CXXFLAGS:-O2=-O1) $(_VPATH_SRCS)
@@ -21,13 +21,15 @@ endif
ifdef MOZ_SERVICES_HEALTHREPORT
ifneq (android,$(MOZ_WIDGET_TOOLKIT))
grepref_files += $(topsrcdir)/services/healthreport/healthreport-prefs.js
else
grepref_files += $(topsrcdir)/mobile/android/chrome/content/healthreport-prefs.js
endif
endif
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
+
greprefs.js: $(grepref_files)
$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(PREF_PPFLAGS) $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) $^ > $@
$(call py_action,preprocessor,$(PREF_PPFLAGS) $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) $^ -o $@)
libs:: greprefs.js
$(INSTALL) $^ $(DIST)/bin/
diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferences.cpp
--- a/modules/libpref/src/Preferences.cpp
+++ b/modules/libpref/src/Preferences.cpp
@@ -23,16 +23,17 @@
#include "nsIStringEnumerator.h"
@@ -27,16 +27,17 @@
#include "nsIZipReader.h"
#include "nsPrefBranch.h"
#include "nsXPIDLString.h"
@ -35,6 +34,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
#include "nsCOMArray.h"
#include "nsXPCOMCID.h"
#include "nsAutoPtr.h"
#include "nsPrintfCString.h"
+#include "nsKDEUtils.h"
#include "nsQuickSort.h"
@ -44,7 +44,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
#include "prefread.h"
#include "prefapi_private_data.h"
@@ -972,16 +973,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
@@ -1134,16 +1135,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
static nsresult pref_LoadPrefsInDirList(const char *listId)
{
@ -62,7 +62,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
+
+ if (nsKDEUtils::kdeSession()) {
+ for(int i = 0;
+ i < NS_ARRAY_LENGTH(specialFiles);
+ i < MOZ_ARRAY_LENGTH(specialFiles);
+ ++i ) {
+ if (*specialFiles[ i ] == '\0') {
+ specialFiles[ i ] = "kde.js";
@ -79,7 +79,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
return NS_OK;
bool hasMore;
@@ -997,17 +1016,17 @@ static nsresult pref_LoadPrefsInDirList(
@@ -1159,17 +1178,17 @@ static nsresult pref_LoadPrefsInDirList(
nsAutoCString leaf;
path->GetNativeLeafName(leaf);
@ -89,7 +89,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
ReadExtensionPrefs(path);
else
- pref_LoadPrefsInDir(path, nullptr, 0);
+ pref_LoadPrefsInDir(path, specialFiles, NS_ARRAY_LENGTH(specialFiles));
+ pref_LoadPrefsInDir(path, specialFiles, MOZ_ARRAY_LENGTH(specialFiles));
}
return NS_OK;
}
@ -98,7 +98,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
{
nsZipItemPtr<char> manifest(jarReader, name, true);
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
@@ -1101,28 +1120,40 @@ static nsresult pref_InitInitialObjects(
@@ -1263,26 +1282,38 @@ static nsresult pref_InitInitialObjects(
/* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
static const char* specialFiles[] = {
#if defined(XP_MACOSX)
@ -113,8 +113,6 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
#elif defined(_AIX)
, "aix.js"
#endif
#elif defined(XP_OS2)
"os2pref.js"
#elif defined(XP_BEOS)
"beos.js"
#endif
@ -122,7 +120,7 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
+ if(nsKDEUtils::kdeSession()) { // TODO what if some setup actually requires the helper?
+ for(int i = 0;
+ i < NS_ARRAY_LENGTH(specialFiles);
+ i < MOZ_ARRAY_LENGTH(specialFiles);
+ ++i ) {
+ if( *specialFiles[ i ] == '\0' ) {
+ specialFiles[ i ] = "kde.js";
@ -184,25 +182,24 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
diff --git a/toolkit/components/downloads/Makefile.in b/toolkit/components/downloads/Makefile.in
--- a/toolkit/components/downloads/Makefile.in
+++ b/toolkit/components/downloads/Makefile.in
@@ -23,9 +23,11 @@ ifndef MOZ_SUITE
DISABLED_EXTRA_COMPONENTS = \
nsDownloadManagerUI.js \
nsDownloadManagerUI.manifest \
$(NULL)
endif
@@ -1,9 +1,9 @@
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(topsrcdir)/config/rules.mk
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
+
CXXFLAGS += $(TK_CFLAGS)
-
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
--- a/toolkit/components/downloads/nsDownloadManager.cpp
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
@@ -38,16 +38,20 @@
@@ -43,16 +43,20 @@
#ifdef XP_WIN
#include <shlobj.h>
#include "nsWindowsHelpers.h"
#ifdef DOWNLOAD_SCANNER
#include "nsDownloadScanner.h"
#endif
@ -218,9 +215,9 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
#ifdef MOZ_WIDGET_ANDROID
#include "AndroidBridge.h"
using namespace mozilla::widget::android;
#endif
@@ -2609,16 +2613,25 @@ nsDownload::SetState(DownloadState aStat
@@ -2722,16 +2726,25 @@ nsDownload::SetState(DownloadState aStat
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
// Master pref to control this function.
@ -246,22 +243,22 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
int64_t goat = PR_Now() - mStartTime;
showTaskbarAlert = goat > alertIntervalUSec;
@@ -2645,19 +2658,20 @@ nsDownload::SetState(DownloadState aStat
// retention policy, there's no reason to make the text clickable
@@ -2759,19 +2772,20 @@ nsDownload::SetState(DownloadState aStat
// because if it is, they'll click open the download manager and
// the items they downloaded will have been removed.
alerts->ShowAlertNotification(
NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
message, !removeWhenDone,
mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
mDownloadManager, EmptyString(), NS_LITERAL_STRING("auto"), EmptyString());
mDownloadManager, EmptyString(), NS_LITERAL_STRING("auto"),
EmptyString(), nullptr);
- }
+ }
}
}
+ }
#if defined(XP_WIN) || defined(XP_MACOSX) || defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GTK2)
#if defined(XP_WIN) || defined(XP_MACOSX) || defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GTK)
nsCOMPtr<nsIFileURL> fileURL = do_QueryInterface(mTarget);
nsCOMPtr<nsIFile> file;
nsAutoString path;
@ -271,7 +268,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
@@ -50,29 +50,33 @@ toolkit.jar:
@@ -58,29 +58,33 @@ toolkit.jar:
content/global/viewZoomOverlay.js (viewZoomOverlay.js)
*+ content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
content/global/bindings/browser.xml (widgets/browser.xml)
@ -293,7 +290,7 @@ diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
content/global/bindings/menulist.xml (widgets/menulist.xml)
content/global/bindings/notification.xml (widgets/notification.xml)
content/global/bindings/numberbox.xml (widgets/numberbox.xml)
content/global/bindings/popup.xml (widgets/popup.xml)
* content/global/bindings/popup.xml (widgets/popup.xml)
*+ content/global/bindings/preferences.xml (widgets/preferences.xml)
+*+ content/global/bindings/preferences-kde.xml (widgets/preferences-kde.xml)
+% override chrome://global/content/bindings/preferences.xml chrome://global/content/bindings/preferences-kde.xml desktop=kde
@ -309,7 +306,7 @@ diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/di
new file mode 100644
--- /dev/null
+++ b/toolkit/content/widgets/dialog-kde.xml
@@ -0,0 +1,451 @@
@@ -0,0 +1,449 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
@ -342,7 +339,7 @@ new file mode 100644
+ <xul:button dlgtype="cancel" class="dialog-button"/>
+ <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
+#elif XP_UNIX
+ pack="end">
+ >
+ <xul:button dlgtype="help" class="dialog-button" hidden="true"/>
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
+ <xul:spacer anonid="spacer" flex="1" hidden="true"/>
@ -729,8 +726,6 @@ new file mode 100644
+ </implementation>
+
+ <handlers>
+ <handler event="keypress" keycode="VK_ENTER"
+ group="system" action="this._hitEnter(event);"/>
+ <handler event="keypress" keycode="VK_RETURN"
+ group="system" action="this._hitEnter(event);"/>
+ <handler event="keypress" keycode="VK_ESCAPE" group="system">
@ -765,7 +760,7 @@ diff --git a/toolkit/content/widgets/preferences-kde.xml b/toolkit/content/widge
new file mode 100644
--- /dev/null
+++ b/toolkit/content/widgets/preferences-kde.xml
@@ -0,0 +1,1339 @@
@@ -0,0 +1,1333 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE bindings [
@ -1340,9 +1335,8 @@ new file mode 100644
+ <children includes="prefpane"/>
+ </xul:deck>
+ </xul:hbox>
+ <xul:hbox anonid="dlg-buttons" class="prefWindow-dlgbuttons"
+ <xul:hbox anonid="dlg-buttons" class="prefWindow-dlgbuttons" pack="end">
+#ifdef XP_UNIX_GNOME
+ >
+ <xul:button dlgtype="disclosure" class="dialog-button" hidden="true"/>
+ <xul:button dlgtype="help" class="dialog-button" hidden="true" icon="help"/>
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
@ -1351,16 +1345,14 @@ new file mode 100644
+ <xul:button dlgtype="cancel" class="dialog-button" icon="cancel"/>
+ <xul:button dlgtype="accept" class="dialog-button" icon="accept"/>
+#elif XP_UNIX
+ pack="end">
+ <xul:button dlgtype="help" class="dialog-button" hidden="true" icon="help"/>
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
+ <xul:spacer anonid="spacer" flex="1"/>
+ <xul:button dlgtype="accept" class="dialog-button" icon="accept"/>
+ <xul:button dlgtype="extra1" class="dialog-button" hidden="true"/>
+ <xul:button dlgtype="cancel" class="dialog-button" icon="cancel"/>
+ <xul:button dlgtype="disclosure" class="dialog-button" hidden="true"/>
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
+ <xul:spacer anonid="spacer" flex="1"/>
+ <xul:button dlgtype="accept" class="dialog-button" icon="accept"/>
+ <xul:button dlgtype="extra1" class="dialog-button" hidden="true"/>
+ <xul:button dlgtype="cancel" class="dialog-button" icon="cancel"/>
+ <xul:button dlgtype="help" class="dialog-button" hidden="true" icon="help"/>
+ <xul:button dlgtype="disclosure" class="dialog-button" hidden="true"/>
+#else
+ pack="end">
+ <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
+ <xul:spacer anonid="spacer" flex="1"/>
+ <xul:button dlgtype="accept" class="dialog-button" icon="accept"/>
@ -1389,6 +1381,8 @@ new file mode 100644
+#ifdef XP_MACOSX
+ // no buttons on Mac except Help
+ cancelButton.hidden = true;
+ // Move Help button to the end
+ document.getAnonymousElementByAttribute(this, "anonid", "spacer").hidden = true;
+ // Also, don't fire onDialogAccept on enter
+ acceptButton.disabled = true;
+#else
@ -1507,7 +1501,7 @@ new file mode 100644
+
+ this._selector.selectedItem = document.getAnonymousElementByAttribute(this, "pane", aPaneElement.id);
+ if (!aPaneElement.loaded) {
+ function OverlayLoadObserver(aPane)
+ let OverlayLoadObserver = function(aPane)
+ {
+ this._pane = aPane;
+ }
@ -1808,9 +1802,10 @@ new file mode 100644
+ <handlers>
+ <handler event="dialogaccept">
+ <![CDATA[
+ if (!this._fireEvent("beforeaccept", this))
+ return;
+
+ if (!this._fireEvent("beforeaccept", this)){
+ return false;
+ }
+
+ if (this.type == "child" && window.opener) {
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch);
@ -1873,6 +1868,8 @@ new file mode 100644
+ .getService(Components.interfaces.nsIPrefService);
+ psvc.savePrefFile(null);
+ }
+
+ return true;
+ ]]>
+ </handler>
+ <handler event="command">
@ -2069,7 +2066,8 @@ new file mode 100644
+ </handlers>
+ </binding>
+
+ <binding id="panebutton" extends="chrome://global/content/bindings/radio.xml#radio">
+ <binding id="panebutton" role="xul:listitem"
+ extends="chrome://global/content/bindings/radio.xml#radio">
+ <resources>
+ <stylesheet src="chrome://global/skin/preferences.css"/>
+ </resources>
@ -2077,15 +2075,6 @@ new file mode 100644
+ <xul:image class="paneButtonIcon" xbl:inherits="src"/>
+ <xul:label class="paneButtonLabel" xbl:inherits="value=label"/>
+ </content>
+ <implementation implements="nsIAccessible">
+ <property name="accessibleType" readonly="true">
+ <getter>
+ <![CDATA[
+ return Components.interfaces.nsIAccessibleProvider.XULListitem;
+ ]]>
+ </getter>
+ </property>
+ </implementation>
+ </binding>
+
+</bindings>
@ -2125,9 +2114,9 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
NS_DECL_ISUPPORTS
NS_DECL_NSISYSTEMPROXYSETTINGS
nsUnixSystemProxySettings() {}
nsresult Init();
@@ -35,16 +37,17 @@ private:
nsUnixSystemProxySettings()
: mSchemeProxySettings(5)
@@ -38,16 +40,17 @@ private:
nsCOMPtr<nsIGSettingsService> mGSettings;
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection> mSchemeProxySettings;
@ -2139,13 +2128,13 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
+ nsresult GetProxyFromKDE(const nsACString& aScheme, const nsACString& aHost, PRInt32 aPort, nsACString& aResult);
};
NS_IMPL_ISUPPORTS1(nsUnixSystemProxySettings, nsISystemProxySettings)
NS_IMPL_ISUPPORTS(nsUnixSystemProxySettings, nsISystemProxySettings)
NS_IMETHODIMP
nsUnixSystemProxySettings::GetMainThreadOnly(bool *aMainThreadOnly)
{
// dbus prevents us from being threadsafe, but this routine should not block anyhow
@@ -496,16 +499,19 @@ nsUnixSystemProxySettings::GetProxyFromG
@@ -504,16 +507,19 @@ nsUnixSystemProxySettings::GetProxyFromG
nsresult
nsUnixSystemProxySettings::GetProxyForURI(const nsACString & aSpec,
@ -2165,7 +2154,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
if (mGConf)
return GetProxyFromGConf(aScheme, aHost, aPort, aResult);
@@ -531,8 +537,34 @@ static const mozilla::Module::ContractID
@@ -539,8 +545,34 @@ static const mozilla::Module::ContractID
static const mozilla::Module kUnixProxyModule = {
mozilla::Module::kVersion,
@ -2203,27 +2192,26 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
@@ -38,18 +38,20 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
@@ -43,17 +43,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
GENERATED_SOURCES += [
'moc_nsNativeAppSupportQt.cpp',
]
SOURCES += [
'nsNativeAppSupportQt.cpp',
'nsQAppInstance.cpp',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'os2':
CPP_SOURCES += [
'nsNativeAppSupportOS2.cpp',
]
elif CONFIG['MOZ_ENABLE_GTK']:
+ EXPORTS += ['nsKDEUtils.h']
CPP_SOURCES += [
UNIFIED_SOURCES += [
+ 'nsKDEUtils.cpp',
'nsNativeAppSupportUnix.cpp',
+ 'nsKDEUtils.cpp'
]
else:
CPP_SOURCES += [
UNIFIED_SOURCES += [
'nsNativeAppSupportDefault.cpp',
]
if CONFIG['MOZ_X11']:
CPP_SOURCES += [
diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
new file mode 100644
--- /dev/null
@ -2624,11 +2612,11 @@ new file mode 100644
diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
--- a/uriloader/exthandler/Makefile.in
+++ b/uriloader/exthandler/Makefile.in
@@ -86,9 +86,10 @@ EXTRA_COMPONENTS = \
# we don't want the shared lib, but we want to force the creation of a static lib.
FORCE_STATIC_LIB = 1
include $(topsrcdir)/config/config.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk
@@ -6,9 +6,10 @@
ifdef MOZ_ENABLE_DBUS
OS_INCLUDES += $(TK_CFLAGS) $(MOZ_DBUS_CFLAGS)
endif
include $(topsrcdir)/config/rules.mk
ifneq (,$(filter qt gtk2 gtk3, $(MOZ_WIDGET_TOOLKIT)))
@ -2638,25 +2626,26 @@ diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
--- a/uriloader/exthandler/moz.build
+++ b/uriloader/exthandler/moz.build
@@ -68,16 +68,18 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
pass
@@ -80,17 +80,19 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
else:
CPP_SOURCES += [
'nsOSHelperAppService.cpp',
# These files can't be built in unified mode because they force NSPR logging.
SOURCES += [
osdir + '/nsOSHelperAppService.cpp',
]
if CONFIG['MOZ_ENABLE_GTK']:
CPP_SOURCES += [
+ 'nsCommonRegistry.cpp',
+ 'nsKDERegistry.cpp',
'nsGNOMERegistry.cpp',
'nsMIMEInfoUnix.cpp',
UNIFIED_SOURCES += [
+ 'unix/nsCommonRegistry.cpp',
'unix/nsGNOMERegistry.cpp',
+ 'unix/nsKDERegistry.cpp',
'unix/nsMIMEInfoUnix.cpp',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
CPP_SOURCES += [
'nsMIMEInfoAndroid.cpp',
'nsAndroidHandlerApp.cpp',
'nsExternalSharingAppService.cpp',
UNIFIED_SOURCES += [
'android/nsAndroidHandlerApp.cpp',
'android/nsExternalSharingAppService.cpp',
'android/nsExternalURLHandlerService.cpp',
'android/nsMIMEInfoAndroid.cpp',
diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandler/unix/nsCommonRegistry.cpp
new file mode 100644
--- /dev/null
@ -2874,7 +2863,7 @@ new file mode 100644
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
@@ -16,30 +16,33 @@
@@ -10,30 +10,33 @@
#include <QString>
#if (MOZ_ENABLE_CONTENTACTION)
#include <contentaction/contentaction.h>
@ -2903,39 +2892,42 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
- nsresult rv = nsGNOMERegistry::LoadURL(aURI);
+ nsresult rv = nsCommonRegistry::LoadURL(aURI);
#if (MOZ_PLATFORM_MAEMO == 5) && defined (MOZ_ENABLE_GNOMEVFS)
if (NS_FAILED(rv)){
HildonURIAction *action = hildon_uri_get_default_action(mSchemeOrType.get(), nullptr);
if (action) {
nsAutoCString spec;
aURI->GetAsciiSpec(spec);
if (hildon_uri_open(spec.get(), action, nullptr))
@@ -67,22 +70,22 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
{
// if mDefaultApplication is set, it means the application has been set from
#ifdef MOZ_WIDGET_QT
if (NS_FAILED(rv)) {
nsAutoCString spec;
aURI->GetAsciiSpec(spec);
if (QDesktopServices::openUrl(QUrl(spec.get()))) {
rv = NS_OK;
}
@@ -50,24 +53,24 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
// either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to
// give the GNOME answer.
if (mDefaultApplication)
return nsMIMEInfoImpl::GetHasDefaultHandler(_retval);
*_retval = false;
- nsRefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromType(mSchemeOrType);
+ nsRefPtr<nsMIMEInfoBase> mimeInfo = nsCommonRegistry::GetFromType(mSchemeOrType);
if (!mimeInfo) {
nsAutoCString ext;
nsresult rv = GetPrimaryExtension(ext);
if (NS_SUCCEEDED(rv)) {
- mimeInfo = nsGNOMERegistry::GetFromExtension(ext);
+ mimeInfo = nsCommonRegistry::GetFromExtension(ext);
if (mClass == eProtocolInfo) {
- *_retval = nsGNOMERegistry::HandlerExists(mSchemeOrType.get());
+ *_retval = nsCommonRegistry::HandlerExists(mSchemeOrType.get());
} else {
- nsRefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromType(mSchemeOrType);
+ nsRefPtr<nsMIMEInfoBase> mimeInfo = nsCommonRegistry::GetFromType(mSchemeOrType);
if (!mimeInfo) {
nsAutoCString ext;
nsresult rv = GetPrimaryExtension(ext);
if (NS_SUCCEEDED(rv)) {
- mimeInfo = nsGNOMERegistry::GetFromExtension(ext);
+ mimeInfo = nsCommonRegistry::GetFromExtension(ext);
}
}
if (mimeInfo)
*_retval = true;
}
if (mimeInfo)
*_retval = true;
if (*_retval)
return NS_OK;
@@ -130,16 +133,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
@@ -102,16 +105,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
ContentAction::Action::defaultActionForFile(uri, QString(mSchemeOrType.get()));
if (action.isValid()) {
action.trigger();
@ -2969,7 +2961,7 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
nsCOMPtr<nsIIOService> ioservice = do_GetService(NS_IOSERVICE_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIURI> uri;
@@ -157,17 +177,17 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
@@ -129,17 +149,17 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
/* Fallback to GnomeVFS */
nsCOMPtr<nsIGnomeVFSMimeApp> app;
if (NS_SUCCEEDED(gnomevfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
@ -3010,7 +3002,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
#include "nsXPIDLString.h"
#include "nsIURL.h"
#include "nsIFileStreams.h"
@@ -1157,29 +1157,29 @@ nsresult nsOSHelperAppService::OSProtoco
@@ -1146,26 +1146,26 @@ nsresult nsOSHelperAppService::OSProtoco
ContentAction::Action::defaultActionForScheme(QString(aProtocolScheme) + ':');
if (action.isValid())
@ -3021,9 +3013,6 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
// Check the GConf registry for a protocol handler
- *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme);
+ *aHandlerExists = nsCommonRegistry::HandlerExists(aProtocolScheme);
#if (MOZ_PLATFORM_MAEMO == 5) && defined (MOZ_ENABLE_GNOMEVFS)
*aHandlerExists = nsMIMEInfoUnix::HandlerExists(aProtocolScheme);
#endif
#endif
return NS_OK;
@ -3040,14 +3029,14 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
#endif
}
nsresult nsOSHelperAppService::GetFileTokenForPath(const PRUnichar * platformAppPath, nsIFile ** aFile)
nsresult nsOSHelperAppService::GetFileTokenForPath(const char16_t * platformAppPath, nsIFile ** aFile)
{
@@ -1266,17 +1266,17 @@ nsOSHelperAppService::GetFromExtension(c
@@ -1252,17 +1252,17 @@ nsOSHelperAppService::GetFromExtension(c
mime_types_description,
true);
if (NS_FAILED(rv) || majorType.IsEmpty()) {
#ifdef MOZ_WIDGET_GTK
LOG(("Looking in GNOME registry\n"));
nsRefPtr<nsMIMEInfoBase> gnomeInfo =
@ -3061,14 +3050,14 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt),
majorType,
@@ -1389,17 +1389,17 @@ nsOSHelperAppService::GetFromType(const
@@ -1372,17 +1372,17 @@ nsOSHelperAppService::GetFromType(const
#ifdef MOZ_WIDGET_GTK
nsRefPtr<nsMIMEInfoBase> gnomeInfo;
if (handler.IsEmpty()) {
// No useful data yet. Check the GNOME registry. Unfortunately, newer
// GNOME versions no longer have type-to-extension mappings, so we might
// get back a MIMEInfo without any extensions set. In that case we'll have
// to look in our mime.types files for the extensions.
// to look in our mime.types files for the extensions.
LOG(("Looking in GNOME registry\n"));
- gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType);
+ gnomeInfo = nsCommonRegistry::GetFromType(aMIMEType);
@ -3080,38 +3069,38 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
#endif
// Now look up our extensions
diff --git a/widget/gtk2/Makefile.in b/widget/gtk2/Makefile.in
--- a/widget/gtk2/Makefile.in
+++ b/widget/gtk2/Makefile.in
@@ -67,11 +67,14 @@ DEFINES += -DCAIRO_GFX -DMOZ_APP_NAME='
diff --git a/widget/gtk/Makefile.in b/widget/gtk/Makefile.in
--- a/widget/gtk/Makefile.in
+++ b/widget/gtk/Makefile.in
@@ -3,11 +3,13 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(topsrcdir)/config/rules.mk
CFLAGS += $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_STARTUP_NOTIFICATION_CFLAGS)
INCLUDES += \
-I$(srcdir)/../xpwidgets \
-I$(srcdir)/../shared \
-I$(topsrcdir)/layout/generic \
-I$(topsrcdir)/layout/xul/base/src \
-I$(topsrcdir)/other-licenses/atk-1.0 \
$(NULL)
+
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
+
ifdef MOZ_X11
INCLUDES += -I$(srcdir)/../shared/x11
endif
diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
--- a/widget/gtk2/nsFilePicker.cpp
+++ b/widget/gtk2/nsFilePicker.cpp
@@ -1,31 +1,33 @@
CFLAGS += $(TK_CFLAGS)
CXXFLAGS += $(TK_CFLAGS)
diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
--- a/widget/gtk/nsFilePicker.cpp
+++ b/widget/gtk/nsFilePicker.cpp
@@ -1,32 +1,34 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "mozilla/Util.h"
#include "mozilla/Types.h"
#include <gtk/gtk.h>
+#include <gdk/gdkx.h>
#include "nsGtkUtils.h"
#include "nsIFileURL.h"
#include "nsIURI.h"
#include "nsIWidget.h"
@ -3128,14 +3117,14 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
#include "nsFilePicker.h"
+#include "nsKDEUtils.h"
#if (MOZ_PLATFORM_MAEMO == 5)
#include <hildon-fm-2/hildon/hildon-file-chooser-dialog.h>
#endif
using namespace mozilla;
#define MAX_PREVIEW_SIZE 180
@@ -242,17 +244,19 @@ nsFilePicker::AppendFilters(int32_t aFil
nsIFile *nsFilePicker::mPrevDisplayDirectory = nullptr;
void
@@ -226,17 +228,19 @@ nsFilePicker::AppendFilters(int32_t aFil
return nsBaseFilePicker::AppendFilters(aFilterMask);
}
@ -3156,7 +3145,7 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
mFilters.AppendElement(filter);
mFilterNames.AppendElement(name);
@@ -366,16 +370,32 @@ nsFilePicker::Show(int16_t *aReturn)
@@ -351,16 +355,32 @@ nsFilePicker::Show(int16_t *aReturn)
NS_IMETHODIMP
nsFilePicker::Open(nsIFilePickerShownCallback *aCallback)
@ -3189,7 +3178,7 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE)
@@ -567,8 +587,235 @@ nsFilePicker::Done(GtkWidget* file_choos
@@ -539,8 +559,235 @@ nsFilePicker::Done(GtkWidget* file_choos
if (mCallback) {
mCallback->Done(result);
mCallback = nullptr;
@ -3425,10 +3414,10 @@ diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
+ return NS_OK;
+ }
+
diff --git a/widget/gtk2/nsFilePicker.h b/widget/gtk2/nsFilePicker.h
--- a/widget/gtk2/nsFilePicker.h
+++ b/widget/gtk2/nsFilePicker.h
@@ -67,11 +67,17 @@ protected:
diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
--- a/widget/gtk/nsFilePicker.h
+++ b/widget/gtk/nsFilePicker.h
@@ -66,11 +66,17 @@ protected:
nsString mDefault;
nsString mDefaultExtension;
@ -3449,13 +3438,13 @@ diff --git a/widget/gtk2/nsFilePicker.h b/widget/gtk2/nsFilePicker.h
diff --git a/xpcom/components/Makefile.in b/xpcom/components/Makefile.in
--- a/xpcom/components/Makefile.in
+++ b/xpcom/components/Makefile.in
@@ -28,9 +28,10 @@ LOCAL_INCLUDES = \
FORCE_STATIC_LIB = 1
@@ -2,9 +2,10 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(topsrcdir)/config/rules.mk
DEFINES += -D_IMPL_NS_COM
ifdef MOZ_WIDGET_GTK
CXXFLAGS += $(TK_CFLAGS)
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
@ -3463,7 +3452,7 @@ diff --git a/xpcom/components/Makefile.in b/xpcom/components/Makefile.in
diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
--- a/xpcom/components/ManifestParser.cpp
+++ b/xpcom/components/ManifestParser.cpp
@@ -30,16 +30,17 @@
@@ -31,16 +31,17 @@
#include "nsTextFormatter.h"
#include "nsVersionComparator.h"
#include "nsXPCOMCIDInternal.h"
@ -3481,7 +3470,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
const char* directive;
int argc;
@@ -397,16 +398,17 @@ ParseManifest(NSLocationType type, FileL
@@ -398,16 +399,17 @@ ParseManifest(NSLocationType type, FileL
NS_NAMED_LITERAL_STRING(kPlatform, "platform");
NS_NAMED_LITERAL_STRING(kContentAccessible, "contentaccessible");
NS_NAMED_LITERAL_STRING(kApplication, "application");
@ -3499,9 +3488,9 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
NS_NAMED_LITERAL_STRING(kXPCNativeWrappers, "xpcnativewrappers");
nsAutoString appID;
@@ -444,41 +446,46 @@ ParseManifest(NSLocationType type, FileL
@@ -445,42 +447,47 @@ ParseManifest(NSLocationType type, FileL
CopyUTF8toUTF16(s, abi);
abi.Insert(PRUnichar('_'), 0);
abi.Insert(char16_t('_'), 0);
abi.Insert(osTarget, 0);
}
}
@ -3510,24 +3499,25 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
nsAutoString osVersion;
+ nsAutoString desktop;
#if defined(XP_WIN)
#pragma warning(push)
#pragma warning(disable:4996) // VC12+ deprecates GetVersionEx
OSVERSIONINFO info = { sizeof(OSVERSIONINFO) };
if (GetVersionEx(&info)) {
nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(),
nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"),
info.dwMajorVersion,
info.dwMinorVersion);
}
+ desktop = NS_LITERAL_STRING("win");
#pragma warning(pop)
#elif defined(MOZ_WIDGET_COCOA)
SInt32 majorVersion, minorVersion;
if ((Gestalt(gestaltSystemVersionMajor, &majorVersion) == noErr) &&
(Gestalt(gestaltSystemVersionMinor, &minorVersion) == noErr)) {
nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(),
majorVersion,
minorVersion);
}
SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor();
SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor();
nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(),
majorVersion,
minorVersion);
+ desktop = NS_LITERAL_STRING("macosx");
#elif defined(MOZ_WIDGET_GTK)
nsTextFormatter::ssprintf(osVersion, NS_LITERAL_STRING("%ld.%ld").get(),
nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"),
gtk_major_version,
gtk_minor_version);
+ desktop = nsKDEUtils::kdeSession() ? NS_LITERAL_STRING("kde") : NS_LITERAL_STRING("gnome");
@ -3535,7 +3525,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
bool isTablet = false;
if (mozilla::AndroidBridge::Bridge()) {
mozilla::AndroidBridge::Bridge()->GetStaticStringField("android/os/Build$VERSION", "RELEASE", osVersion);
isTablet = mozilla::AndroidBridge::Bridge()->IsTablet();
isTablet = mozilla::widget::android::GeckoAppShell::IsTablet();
}
+ desktop = NS_LITERAL_STRING("android");
#endif
@ -3546,7 +3536,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
char *token;
char *newline = buf;
@@ -560,24 +567,26 @@ ParseManifest(NSLocationType type, FileL
@@ -562,24 +569,26 @@ ParseManifest(NSLocationType type, FileL
TriState stOsVersion = eUnspecified;
TriState stOs = eUnspecified;
TriState stABI = eUnspecified;
@ -3557,7 +3547,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
bool contentAccessible = false;
+ TriState stDesktop = eUnspecified;
while (NULL != (token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) && ok) {
while (nullptr != (token = nsCRT::strtok(whitespace, kWhitespace, &whitespace)) && ok) {
ToLowerCase(token);
NS_ConvertASCIItoUTF16 wtoken(token);
@ -3573,7 +3563,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
#if defined(MOZ_WIDGET_ANDROID)
bool tablet = false;
if (CheckFlag(kTablet, wtoken, tablet)) {
@@ -606,16 +615,17 @@ ParseManifest(NSLocationType type, FileL
@@ -608,16 +617,17 @@ ParseManifest(NSLocationType type, FileL
}
if (!ok ||
@ -3591,36 +3581,14 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
if (directive->regfunc) {
if (GeckoProcessType_Default != XRE_GetProcessType())
diff --git a/xpcom/io/Makefile.in b/xpcom/io/Makefile.in
--- a/xpcom/io/Makefile.in
+++ b/xpcom/io/Makefile.in
@@ -43,17 +43,17 @@ include $(topsrcdir)/ipc/chromium/chromi
DEFINES += -D_IMPL_NS_COM
ifeq ($(OS_ARCH),Linux)
ifneq (,$(findstring lib64,$(libdir)))
DEFINES += -DHAVE_USR_LIB64_DIR
endif
endif
-LOCAL_INCLUDES += -I..
+LOCAL_INCLUDES += -I.. -I$(topsrcdir)/toolkit/xre
ifeq ($(MOZ_PLATFORM_MAEMO),5)
CFLAGS += $(MOZ_DBUS_CFLAGS)
CXXFLAGS += $(MOZ_DBUS_CFLAGS)
endif
ifdef MOZ_PLATFORM_MAEMO
CFLAGS += $(MOZ_PLATFORM_MAEMO_CFLAGS) $(MOZ_QT_CFLAGS)
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
--- a/xpcom/io/nsLocalFileUnix.cpp
+++ b/xpcom/io/nsLocalFileUnix.cpp
@@ -50,16 +50,17 @@
#include "prproces.h"
@@ -43,16 +43,17 @@
#include "nsIDirectoryEnumerator.h"
#include "nsISimpleEnumerator.h"
#include "private/pprio.h"
#include "prlink.h"
#ifdef MOZ_WIDGET_GTK
#include "nsIGIOService.h"
@ -3634,7 +3602,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
#include "prmem.h"
#include "plbase64.h"
@@ -1753,44 +1754,51 @@ nsLocalFile::SetPersistentDescriptor(con
@@ -1816,46 +1817,52 @@ nsLocalFile::SetPersistentDescriptor(con
return InitWithNativePath(aPersistentDescriptor);
#endif
}
@ -3653,6 +3621,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
if (NS_FAILED(IsDirectory(&isDirectory)))
return NS_ERROR_FAILURE;
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
if (isDirectory) {
- if (giovfs)
- return giovfs->ShowURIForInput(mPath);
@ -3660,6 +3629,8 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
- /* Fallback to GnomeVFS */
- return gnomevfs->ShowURIForInput(mPath);
+ url = mPath;
} else if (giovfs && NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
return NS_OK;
} else {
nsCOMPtr<nsIFile> parentDir;
nsAutoCString dirPath;
@ -3682,7 +3653,6 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
+ }
+
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
+ nsCOMPtr<nsIGnomeVFSService> gnomevfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
+ if (!giovfs && !gnomevfs)
+ return NS_ERROR_FAILURE;
@ -3691,7 +3661,6 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
+ return giovfs->ShowURIForInput(url);
+ else
+ return gnomevfs->ShowURIForInput(url);
+
#elif defined(MOZ_WIDGET_COCOA)
CFURLRef url;
if (NS_SUCCEEDED(GetCFURL(&url))) {
@ -3700,15 +3669,15 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
return rv;
}
return NS_ERROR_FAILURE;
@@ -1816,16 +1824,23 @@ nsLocalFile::Launch()
@@ -1863,16 +1870,23 @@ nsLocalFile::Reveal()
return NS_ERROR_FAILURE;
#endif
}
if (nullptr == connection)
return NS_ERROR_FAILURE;
if (hildon_mime_open_file(connection, mPath.get()) != kHILDON_SUCCESS)
return NS_ERROR_FAILURE;
return NS_OK;
#else
NS_IMETHODIMP
nsLocalFile::Launch()
{
#ifdef MOZ_WIDGET_GTK
+ if( nsKDEUtils::kdeSupport()) {
+ nsTArray<nsCString> command;
+ command.AppendElement( NS_LITERAL_CSTRING("OPEN") );

View File

@ -1,4 +1,4 @@
From: Wolfgang Rosenauer
From: Luca Giambonini <almack@chakraos.org> (Original author: Wolfgang Rosenauer)
Subject: Do not use gconf for proxy settings if not running within Gnome
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
@ -9,16 +9,10 @@ retrieving revision 1.1
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
@@ -50,24 +50,28 @@ nsUnixSystemProxySettings::GetMainThread
// dbus prevents us from being threadsafe, but this routine should not block anyhow
*aMainThreadOnly = true;
return NS_OK;
}
@@ -58,13 +58,17 @@ nsUnixSystemProxySettings::GetMainThread
nsresult
nsUnixSystemProxySettings::Init()
{
- mSchemeProxySettings.Init(5);
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
- if (mGSettings) {
- mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
@ -29,7 +23,6 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
+ // only use GSettings if that is a GNOME session
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
+ if (sessionType && !strcmp(sessionType, "gnome")) {
+ mSchemeProxySettings.Init(5);
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
+ if (mGSettings) {
+ mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
@ -40,9 +33,4 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
+ }
}
return NS_OK;
}
bool
nsUnixSystemProxySettings::IsProxyMode(const char* aMode)
{
return NS_OK;

View File

@ -1,47 +1,23 @@
diff -upr comm-release.orig/config/baseconfig.mk comm-release/config/baseconfig.mk
--- comm-release.orig/config/baseconfig.mk 2012-11-21 03:19:15.000000000 +0200
+++ comm-release/config/baseconfig.mk 2012-11-21 03:20:35.000000000 +0200
@@ -1,9 +1,9 @@
INCLUDED_AUTOCONF_MK = 1
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
diff -upr comm-esr31.orig/config/baseconfig.mk comm-esr31/config/baseconfig.mk
--- comm-esr31.orig/config/baseconfig.mk 2014-07-22 09:44:23.000000000 +0300
+++ comm-esr31/config/baseconfig.mk 2014-07-22 09:46:30.000000000 +0300
@@ -1,6 +1,6 @@
includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
+includedir := $(includedir)/$(MOZ_APP_NAME)
+idldir = $(datadir)/idl/$(MOZ_APP_NAME)
+installdir = $(libdir)/$(MOZ_APP_NAME)
+sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
MOZILLA_SRCDIR = $(topsrcdir)/mozilla
MOZDEPTH = $(DEPTH)/mozilla
DIST = $(MOZDEPTH)/dist
diff -upr comm-release.orig/mozilla/config/baseconfig.mk comm-release/mozilla/config/baseconfig.mk
--- comm-release.orig/mozilla/config/baseconfig.mk 2012-11-21 03:19:16.000000000 +0200
+++ comm-release/mozilla/config/baseconfig.mk 2012-11-21 03:19:20.000000000 +0200
@@ -1,9 +1,9 @@
INCLUDED_AUTOCONF_MK = 1
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
diff -upr comm-esr31.orig/mozilla/config/baseconfig.mk comm-esr31/mozilla/config/baseconfig.mk
--- comm-esr31.orig/mozilla/config/baseconfig.mk 2014-07-22 09:44:22.000000000 +0300
+++ comm-esr31/mozilla/config/baseconfig.mk 2014-07-22 09:46:45.000000000 +0300
@@ -4,7 +4,7 @@
# whether a normal build is happening or whether the check is running.
includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
+includedir := $(includedir)/$(MOZ_APP_NAME)
+idldir = $(datadir)/idl/$(MOZ_APP_NAME)
+installdir = $(libdir)/$(MOZ_APP_NAME)
+sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
DIST = $(DEPTH)/dist
# We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
diff -upr comm-release.orig/mozilla/js/src/config/baseconfig.mk comm-release/mozilla/js/src/config/baseconfig.mk
--- comm-release.orig/mozilla/js/src/config/baseconfig.mk 2012-11-21 03:19:15.000000000 +0200
+++ comm-release/mozilla/js/src/config/baseconfig.mk 2012-11-21 03:19:20.000000000 +0200
@@ -1,7 +1,7 @@
INCLUDED_AUTOCONF_MK = 1
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
+installdir = $(libdir)/$(MOZ_APP_NAME)
+sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
ifneq (,$(filter /%,$(TOP_DIST)))
DIST = $(TOP_DIST)
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
ifndef TOP_DIST
TOP_DIST = dist