summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorClinton Stimpson <clinton@elemtech.com>2014-03-07 06:23:52 (GMT)
committerClinton Stimpson <clinton@elemtech.com>2014-03-11 03:08:43 (GMT)
commit649789a736bb217f818696eae36ee6e6a2e1aa61 (patch)
tree44bd9dd97d0fb97292857c96255366ef0cde3ac3 /Source
parente21ffaf8fe5499426604b4ebb9cd08798ee6107c (diff)
downloadCMake-649789a736bb217f818696eae36ee6e6a2e1aa61.zip
CMake-649789a736bb217f818696eae36ee6e6a2e1aa61.tar.gz
CMake-649789a736bb217f818696eae36ee6e6a2e1aa61.tar.bz2
Unicode: cmake-gui encoding now matches KWSys encoding.
A UTF-8 QTextCodec is used with QString when KWSys is configured to treat strings as UTF-8. This means QString::toLocal8Bit() will convert to UTF-8.
Diffstat (limited to 'Source')
-rw-r--r--Source/QtDialog/CMakeLists.txt5
-rw-r--r--Source/QtDialog/CMakeSetup.cxx8
2 files changed, 13 insertions, 0 deletions
diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt
index 4308a4d..0dd01d8 100644
--- a/Source/QtDialog/CMakeLists.txt
+++ b/Source/QtDialog/CMakeLists.txt
@@ -55,6 +55,11 @@ else()
endif()
endif()
+
+if(WIN32 AND KWSYS_ENCODING_DEFAULT_CODEPAGE MATCHES CP_UTF8)
+ add_definitions(-DKWSYS_CP_UTF8)
+endif()
+
set(SRCS
AddCacheEntry.cxx
AddCacheEntry.h
diff --git a/Source/QtDialog/CMakeSetup.cxx b/Source/QtDialog/CMakeSetup.cxx
index 821121e..995929e 100644
--- a/Source/QtDialog/CMakeSetup.cxx
+++ b/Source/QtDialog/CMakeSetup.cxx
@@ -14,6 +14,7 @@
#include <QDir>
#include <QTranslator>
#include <QLocale>
+#include <QTextCodec>
#include "QMacInstallDialog.h"
#include "CMakeSetupDialog.h"
#include "cmDocumentation.h"
@@ -78,6 +79,13 @@ int main(int argc, char** argv)
QApplication app(argc, argv);
+#if defined(KWSYS_CP_UTF8)
+ QTextCodec* utf8_codec = QTextCodec::codecForName("UTF-8");
+ QTextCodec::setCodecForCStrings(utf8_codec);
+ QTextCodec::setCodecForLocale(utf8_codec);
+ QTextCodec::setCodecForTr(utf8_codec);
+#endif
+
// clean out standard Qt paths for plugins, which we don't use anyway
// when creating Mac bundles, it potentially causes problems
foreach(QString p, QApplication::libraryPaths())