summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demos/spectrum/app/spectrum.sh41
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp4
-rw-r--r--src/corelib/tools/qlocale.cpp1
-rw-r--r--src/corelib/tools/qlocale_symbian.cpp120
-rw-r--r--util/s60theme/main.cpp4
-rw-r--r--util/s60theme/s60themeconvert.cpp25
6 files changed, 126 insertions, 69 deletions
diff --git a/demos/spectrum/app/spectrum.sh b/demos/spectrum/app/spectrum.sh
index 75ad6c2..2a230ed 100644
--- a/demos/spectrum/app/spectrum.sh
+++ b/demos/spectrum/app/spectrum.sh
@@ -1,4 +1,45 @@
#!/bin/sh
+#############################################################################
+##
+## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+## All rights reserved.
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is part of the examples of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## No Commercial Usage
+## This file contains pre-release code and may not be distributed.
+## You may use this file in accordance with the terms and conditions
+## contained in the Technology Preview License Agreement accompanying
+## this package.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 2.1 requirements
+## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## If you have questions regarding the use of this file, please contact
+## Nokia at qt-info@nokia.com.
+##
+##
+##
+##
+##
+##
+##
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
# Shell script for launching spectrum application on Unix systems other than Mac OSX
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp
index 0f85a9e..d00a623 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian.cpp
+++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp
@@ -484,9 +484,9 @@ void QSelectThread::run()
} // end for
// traversed all, so update
+ updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds);
updateActivatedNotifiers(QSocketNotifier::Read, &readfds);
updateActivatedNotifiers(QSocketNotifier::Write, &writefds);
- updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds);
break;
case EINTR: // Should never occur on Symbian, but this is future proof!
@@ -496,9 +496,9 @@ void QSelectThread::run()
break;
}
} else {
+ updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds);
updateActivatedNotifiers(QSocketNotifier::Read, &readfds);
updateActivatedNotifiers(QSocketNotifier::Write, &writefds);
- updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds);
}
m_waitCond.wait(&m_mutex);
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp
index 8d79cb3..5925985 100644
--- a/src/corelib/tools/qlocale.cpp
+++ b/src/corelib/tools/qlocale.cpp
@@ -743,6 +743,7 @@ struct WindowsToISOListElt {
char iso_name[6];
};
+/* NOTE: This array should be sorted by the first column! */
static const WindowsToISOListElt windows_to_iso_list[] = {
{ 0x0401, "ar_SA" },
{ 0x0402, "bg\0 " },
diff --git a/src/corelib/tools/qlocale_symbian.cpp b/src/corelib/tools/qlocale_symbian.cpp
index 2e5daec..806a142 100644
--- a/src/corelib/tools/qlocale_symbian.cpp
+++ b/src/corelib/tools/qlocale_symbian.cpp
@@ -87,71 +87,75 @@ struct symbianToISO {
/*
- Mapping from Symbian to ISO locale
+ Mapping from Symbian to ISO locale.
+ NOTE: This array should be sorted by the first column!
*/
static const symbianToISO symbian_to_iso_list[] = {
- { ELangEnglish, "en_GB" },
- { ELangFrench, "fr_FR" },
- { ELangGerman, "de_DE" },
- { ELangSpanish, "es_ES" },
- { ELangItalian, "it_IT" },
- { ELangSwedish, "sv_SE" },
- { ELangDanish, "da_DK" },
- { ELangNorwegian, "no_NO" },
- { ELangFinnish, "fi_FI" },
- { ELangAmerican, "en_US" },
- { ELangPortuguese, "pt_PT" },
- { ELangTurkish, "tr_TR" },
- { ELangIcelandic, "is_IS" },
- { ELangRussian, "ru_RU" },
- { ELangHungarian, "hu_HU" },
- { ELangDutch, "nl_NL" },
- { ELangBelgianFlemish, "nl_BE" },
- { ELangCzech, "cs_CZ" },
- { ELangSlovak, "sk_SK" },
- { ELangPolish, "pl_PL" },
- { ELangSlovenian, "sl_SI" },
- { ELangTaiwanChinese, "zh_TW" },
- { ELangHongKongChinese, "zh_HK" },
- { ELangPrcChinese, "zh_CN" },
- { ELangJapanese, "ja_JP" },
- { ELangThai, "th_TH" },
- { ELangArabic, "ar_AE" },
- { ELangTagalog, "tl_PH" },
- { ELangBulgarian, "bg_BG" },
- { ELangCatalan, "ca_ES" },
- { ELangCroatian, "hr_HR" },
- { ELangEstonian, "et_EE" },
- { ELangFarsi, "fa_IR" },
- { ELangCanadianFrench, "fr_CA" },
- { ELangGreek, "el_GR" },
- { ELangHebrew, "he_IL" },
- { ELangHindi, "hi_IN" },
- { ELangIndonesian, "id_ID" },
- { ELangLatvian, "lv_LV" },
- { ELangLithuanian, "lt_LT" },
- { ELangMalay, "ms_MY" },
- { ELangBrazilianPortuguese, "pt_BR" },
- { ELangRomanian, "ro_RO" },
- { ELangSerbian, "sr_YU" },
- { ELangLatinAmericanSpanish,"es_MX" }, // TODO: should be es_419
- { ELangUkrainian, "uk_UA" },
- { ELangUrdu, "ur_PK" }, // India/Pakistan
- { ELangVietnamese, "vi_VN" },
+ { ELangEnglish, "en_GB" }, // 1
+ { ELangFrench, "fr_FR" }, // 2
+ { ELangGerman, "de_DE" }, // 3
+ { ELangSpanish, "es_ES" }, // 4
+ { ELangItalian, "it_IT" }, // 5
+ { ELangSwedish, "sv_SE" }, // 6
+ { ELangDanish, "da_DK" }, // 7
+ { ELangNorwegian, "no_NO" }, // 8
+ { ELangFinnish, "fi_FI" }, // 9
+ { ELangAmerican, "en_US" }, // 10
+ { ELangPortuguese, "pt_PT" }, // 13
+ { ELangTurkish, "tr_TR" }, // 14
+ { ELangIcelandic, "is_IS" }, // 15
+ { ELangRussian, "ru_RU" }, // 16
+ { ELangHungarian, "hu_HU" }, // 17
+ { ELangDutch, "nl_NL" }, // 18
+ { ELangBelgianFlemish, "nl_BE" }, // 19
+ { ELangCzech, "cs_CZ" }, // 25
+ { ELangSlovak, "sk_SK" }, // 26
+ { ELangPolish, "pl_PL" }, // 27
+ { ELangSlovenian, "sl_SI" }, // 28
+ { ELangTaiwanChinese, "zh_TW" }, // 29
+ { ELangHongKongChinese, "zh_HK" }, // 30
+ { ELangPrcChinese, "zh_CN" }, // 31
+ { ELangJapanese, "ja_JP" }, // 32
+ { ELangThai, "th_TH" }, // 33
+ { ELangArabic, "ar_AE" }, // 37
+ { ELangTagalog, "tl_PH" }, // 39
+ { ELangBulgarian, "bg_BG" }, // 42
+ { ELangCatalan, "ca_ES" }, // 44
+ { ELangCroatian, "hr_HR" }, // 45
+ { ELangEstonian, "et_EE" }, // 49
+ { ELangFarsi, "fa_IR" }, // 50
+ { ELangCanadianFrench, "fr_CA" }, // 51
+ { ELangGreek, "el_GR" }, // 54
+ { ELangHebrew, "he_IL" }, // 57
+ { ELangHindi, "hi_IN" }, // 58
+ { ELangIndonesian, "id_ID" }, // 59
+ { ELangKorean, "ko_KO" }, // 65
+ { ELangLatvian, "lv_LV" }, // 67
+ { ELangLithuanian, "lt_LT" }, // 68
+ { ELangMalay, "ms_MY" }, // 70
+ { ELangNorwegianNynorsk, "nn_NO" }, // 75
+ { ELangBrazilianPortuguese, "pt_BR" }, // 76
+ { ELangRomanian, "ro_RO" }, // 78
+ { ELangSerbian, "sr_RS" }, // 79
+ { ELangLatinAmericanSpanish,"es_419" }, // 83
+ { ELangUkrainian, "uk_UA" }, // 93
+ { ELangUrdu, "ur_PK" }, // 94 - India/Pakistan
+ { ELangVietnamese, "vi_VN" }, // 96
#ifdef __E32LANG_H__
// 5.0
- { ELangBasque, "eu_ES" },
- { ELangGalician, "gl_ES" },
+ { ELangBasque, "eu_ES" }, // 102
+ { ELangGalician, "gl_ES" }, // 103
#endif
#if !defined(__SERIES60_31__)
- { ELangEnglish_Apac, "en" },
- { ELangEnglish_Taiwan, "en_TW" },
- { ELangEnglish_HongKong, "en_HK" },
- { ELangEnglish_Prc, "en_CN" },
- { ELangEnglish_Japan, "en_JP"},
- { ELangEnglish_Thailand, "en_TH" },
- { ELangMalay_Apac, "ms" }
+ { ELangEnglish_Apac, "en" }, // 129
+ { ELangEnglish_Taiwan, "en_TW" }, // 157 ### Not supported by CLDR
+ { ELangEnglish_HongKong, "en_HK" }, // 158
+ { ELangEnglish_Prc, "en_CN" }, // 159 ### Not supported by CLDR
+ { ELangEnglish_Japan, "en_JP"}, // 160 ### Not supported by CLDR
+ { ELangEnglish_Thailand, "en_TH" }, // 161 ### Not supported by CLDR
+ { ELangMalay_Apac, "ms" }, // 326
#endif
+ { 327/*ELangIndonesian_Apac*/,"id_ID" } // 327 - appeared in Symbian^3
};
/*!
diff --git a/util/s60theme/main.cpp b/util/s60theme/main.cpp
index 7f38d5c..1234fd2 100644
--- a/util/s60theme/main.cpp
+++ b/util/s60theme/main.cpp
@@ -70,9 +70,9 @@ int main(int argc, char *argv[])
const QFileInfo inputInfo(input);
const QString output = QString::fromLatin1(argv[2]);
if (inputInfo.isDir())
- return S60ThemeConvert::convertDefaultThemeToBlob(input, output);
+ return S60ThemeConvert::convertDefaultThemeToBlob(input, output) ? 0 : 1;
else if (inputInfo.suffix().compare(QString::fromLatin1("tdf"), Qt::CaseInsensitive) == 0)
- return S60ThemeConvert::convertTdfToBlob(input, output);
+ return S60ThemeConvert::convertTdfToBlob(input, output) ? 0 : 1;
return help();
}
diff --git a/util/s60theme/s60themeconvert.cpp b/util/s60theme/s60themeconvert.cpp
index 7908055..b1e8022 100644
--- a/util/s60theme/s60themeconvert.cpp
+++ b/util/s60theme/s60themeconvert.cpp
@@ -45,6 +45,8 @@
#include <QtWebKit>
static const int pictureSize = 256;
+static const char* const msgPartNotInTdf = " Warning: The .tdf file does not have a part for ";
+static const char* const msgSvgNotFound = " Fatal: Could not find part .svg ";
void dumpPartPictures(const QHash<QString, QPicture> &partPictures) {
foreach (const QString &partKey, partPictures.keys()) {
@@ -84,6 +86,7 @@ private:
WebKitSVGRenderer::WebKitSVGRenderer(QWidget *parent)
: QWebView(parent)
{
+
connect(this, SIGNAL(loadFinished(bool)), SLOT(loadFinishedSlot(bool)));
setFixedSize(pictureSize, pictureSize);
QPalette pal = palette();
@@ -202,11 +205,19 @@ bool loadThemeFromTdf(const QString &tdfFile,
return false;
const QString tdfBasePath = QFileInfo(tdfFile).absolutePath();
WebKitSVGRenderer renderer;
- foreach(const QString& partKey, parsedPartSvgs.keys()) {
- const QString tdfFullName =
- tdfBasePath + QDir::separator() + parsedPartSvgs.value(partKey);
- if (!QFile(tdfFullName).exists())
- qWarning() << "Could not find part:" << parsedPartSvgs.value(partKey);
+ foreach (const QString &partKey, QS60Style::partKeys()) {
+ qDebug() << partKey;
+ QString tdfFullName;
+ if (parsedPartSvgs.contains(partKey)) {
+ tdfFullName = tdfBasePath + QDir::separator() + parsedPartSvgs.value(partKey);
+ } else {
+ qWarning() << msgPartNotInTdf << partKey;
+ tdfFullName = tdfBasePath + QDir::separator() + partKey + QLatin1String(".svg");
+ }
+ if (!QFile(tdfFullName).exists()) {
+ qWarning() << msgSvgNotFound << QDir::toNativeSeparators(tdfFullName);
+ return false;
+ }
const QPicture partPicture = renderer.svgToQPicture(tdfFullName);
parsedPartPictures.insert(partKey, partPicture);
}
@@ -276,8 +287,8 @@ bool loadDefaultTheme(const QString &themePath,
const QString partFileName = partKey + QLatin1String(".svg");
const QString partFile(dir.absolutePath() + QDir::separator() + partFileName);
if (!QFile::exists(partFile)) {
- qWarning() << "Could not find part:" << partFileName;
- continue;
+ qWarning() << msgSvgNotFound << partFileName;
+ return false;
}
const QPicture partPicture = renderer.svgToQPicture(partFile);
partPictures.insert(partKey, partPicture);